Is there any reason you don't purchase an in-stock BLDC motor driver such as:

https://www.mouser.com/ProductDetail/Texas-Instruments/DRV10983SQPWPRQ1?qs=%2Fha2pyFadujPwfH%2FXzivpU8AHrIO6U7ALudxKfjNJze3U2dD%2F68jly3tmYweXSYm


Mouser shows 66 in stock, and at $4.61 each.


I'm only showing the one device rated to 2 amps that I filtered from all the parts currently available and am not endorsing.


Hope this helps.


Rick

On 10/7/2021 2:32 AM, Mike Lisanke via TriEmbed wrote:
Charlie,

You can commutate the motor phase from a rotary encoder. No need for Hall effect sensors. Just phase lock to a zero point and know (measure) the 120 degree phase angles. I did much open loop motor control at IBM. It wasn't difficult and we did it with very simple controllers. It does pay to have a watchdog timer power-off all op amps in-case your SW debug locks up or runs away. I had our HW tech eventually create a socketed linear amp. Our HW engineer was an audiophile and said my SW brought tears to his eyes (not in a good way).

BTW, linear motes and steppers with microstepping can all be encoder-commutated and driven off 1 sinusoid table at 3 offsets.

On Wed, Oct 6, 2021 at 9:44 PM Charles West via TriEmbed <[email protected] <mailto:[email protected]>> wrote:

    @Pete:
    When you were working on it, did the motor you were using have
    hall effect sensors in it?  That's about all that makes me willing
    to try this.  In the worse case, I should be able to fall back to
    trapezoidal control based off of the hall effect sensors without
    any sort of fancy estimation.  I hope I can do better than that
    though.

    @Carl&Rodney:
    I've been actively looking through motor control gate drivers
    trying to find something that is simple enough I can work with it,
    available and capable enough.  So far, the best I've found is the
    STDRIVE101
    
(https://www.mouser.com/ProductDetail/STMicroelectronics/STDRIVE101?qs=xZ%2FP%252Ba9zWqYdY88AYx%252Blxg%3D%3D
    
<https://www.mouser.com/ProductDetail/STMicroelectronics/STDRIVE101?qs=xZ%2FP%252Ba9zWqYdY88AYx%252Blxg%3D%3D>).
    I'm bumbling my way through designing a test circuit for it now,
    but I would be the first to admit that I am rather terrible at
    analog electronics.

    Thanks,
    Charlie


    On Tue, Oct 5, 2021 at 3:35 PM Carl Nobile via TriEmbed
    <[email protected] <mailto:[email protected]>> wrote:

        So my bad, I read Charlie's email and missed the brushless
        part. I must have brushes in my mind.

        So brushless DC motors are actually 3 phase synchronous AC
        motors, So three different PWM modulators are needed for each
        motor. Each PWM is 120 degrees out of sync with the others.
        and there can be absolutely no overlay on the others. There
        are special MCUs that are made for these motors. See the link
        below, it's for an older 8 bit MCU, but will give you an idea
        as to what needs to be done.
        
http://ww1.microchip.com/downloads/en/devicedoc/atmel-7710-8-bit-microcontroller-at90pwm216-316_datasheet-summary.pdf
        
<http://ww1.microchip.com/downloads/en/devicedoc/atmel-7710-8-bit-microcontroller-at90pwm216-316_datasheet-summary.pdf>

        ~Carl

        On Tue, Oct 5, 2021 at 12:55 PM Pete Soper via TriEmbed
        <[email protected] <mailto:[email protected]>> wrote:

            I once got the idea I could control a brushless motor by
            being "clever" controlling set of drivers. I was mistaken.
            Without some means of sensing the behavior of the motor,
            whether it be back EMF or some other feedback it's about
            99% of hopeless. Which is to say I was too stubborn to
            give up and managed to see the motor (from a server disk
            drive) spin, but if I squinted at it there was
            misbehavior.  A truly silly waste of time.

            -Pete

            On 10/5/21 12:45, R Radford via TriEmbed wrote:
            Carl, Charles is looking for a brushless controller, not
            just a DC motor driver. Brushless motors are closer to a
            stepper motor than a regular DC motor, but the 'steps'
            are controlled by sensing hall effect sensors to know
            when to step to keep the motor running smoothly.

            They are great as they have less mechanical issues over
            time (no brushes to replace) and also produce less
            electrical noise.

            The circuit you show is a nice DC to PWM circuit that is
            similar to one I did many years ago, but now most (all?)
            microprocessors have built in hardware assist PWM so that
            part is already handled. The first time I used a similar
            circuit was controlling a robot from a 286 PC based robot
            where I used the parallel port to drive an R2R D/A
            circuit comparing against a triangle wave similar to your
            circuit. It worked great at the time, but now would not
            be needed. I still have that old hardware somewhere -
            perhaps I should pull it out and upgrade it.

            On Tue, Oct 5, 2021 at 12:02 PM Carl Nobile via TriEmbed
            <[email protected] <mailto:[email protected]>> wrote:

                Charly,

                There are a few solutions to the controller problem.
                I designed an analog PWM circuit using op-amps and
                comparators that works great. You would also need an
                H-Bridge you would then need just one MCU board to
                control the PWM circuits then then control the
                H-Bridge circuits.
                My design is at:
                https://github.com/cnobile2012/VoltageControlledPWM
                <https://github.com/cnobile2012/VoltageControlledPWM>
                My motors are fairly low current and voltage so the
                H-Bridges I'm using won't work for you, however
                MPJA.com has one in the link below, that will handle
                higher currents.
                
https://www.mpja.com/Dual-H-Bridge-DC-Motor-Driver/productinfo/35567+MP/
                
<https://www.mpja.com/Dual-H-Bridge-DC-Motor-Driver/productinfo/35567+MP/>
                It will handle two motors and is only $22.95 ea. They
                give full docs on their site.
                My PWM board shou interface with it fine.

                ~Carl

                On Sun, Oct 3, 2021 at 11:16 PM Charles West via
                TriEmbed <[email protected]
                <mailto:[email protected]>> wrote:

                    Hello all!

                    For the past 5 years or so, I've been working on
                    a open source low cost sidewalk delivery robot. 
                    The current draft (prototype picture:
                    http://goodbot.ai/lib/exe/fetch.php?media=mk3draft1.jpg
                    <http://goodbot.ai/lib/exe/fetch.php?media=mk3draft1.jpg>)
                    has 4 hoverboard style motors in a skid steer
                    arrangement.  Each robot will need 4 motor
                    controllers, which is one the big cost drivers
                    right now (even prior to the covid shortage, the
                    controller cost more than the motors).

                    My last stab at designing a brushless motor
                    controller failed spectacularly and the covid
                    parts shortage has also made the central parts of
                    that design completely unavailable.  In addition,
                    the bulk price for the motor controllers I've
                    been using jumped from $56 per to ~$100 per.

                    Given that, I thought it might be time to get
                    back to the drawing board.  However, I am not an
                    expert at this sort of thing, so I thought it
                    might be good to post what I am thinking and see
                    if I am completely off the reservation.

                    I'm currently using off-brand VESC motor
                    controllers (schematic for normal ones here:
                    
https://vesc-project.com/sites/default/files/Benjamin%20Posts/VESC_6.pdf
                    
<https://vesc-project.com/sites/default/files/Benjamin%20Posts/VESC_6.pdf>).
                    They are great but do way more than I need.  They
                    can handle sensored and sensorless motors and be
                    reconfigured with MANY different options using a
                    desktop application.  I don't need to make
                    something that is easy to make work for lots of
                    different motors and I don't need to support
                    sensorless operation.  I just need to make
                    something that works for my motors.

                    The approach that the VESC takes is a central
                    microcontroller which talks with a (not currently
                    available) DRV8301 chip.  This chip in turn
                    senses voltage/current across each motor coil and
                    drives 6 N-channel mosfets to control the motor
                    (3 high side, 3 low side).  It does FOC control,
                    which I believe is state of the art in terms of
                    smooth motor control. It also integrates the 3
                    halls sensors that sensored motors have if they
                    are available.

                    I'm having trouble finding any of these 6 mosfet
                    motor controller optimized gate drivers, so I am
                    thinking that I will just get some high side/low
                    side mosfet drivers (like maybe these:
                    
https://www.mouser.com/ProductDetail/STMicroelectronics/SRK2000A?qs=WHlX%252B%252B9%2FRwCG%2FkukabfLqA%3D%3D
                    
<https://www.mouser.com/ProductDetail/STMicroelectronics/SRK2000A?qs=WHlX%252B%252B9%2FRwCG%2FkukabfLqA%3D%3D>)
                    and some nice mosfets.  Particularly without
                    dedicated chips being available, I'm not going to
                    try to do current or voltage sensing.  I am
                    thinking that I would just PWM the 3 half bridges
                    and try to do sinusoidal motor control using a
                    STM32 microcontroller to drive it and the hall
                    sensors in the motors to estimate position
                    relative to the coils.

                    If I may ask, does this sound reasonable or am I
                    totally off base?

                    Thanks,
                    Charlie
                    _______________________________________________
                    Triangle, NC Embedded Computing mailing list

                    To post message: [email protected]
                    <mailto:[email protected]>
                    List info:
                    
http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
                    
<http://mail.triembed.org/mailman/listinfo/triembed_triembed.org>
                    TriEmbed web site: http://TriEmbed.org
                    <http://TriEmbed.org>
                    To unsubscribe, click link and send a blank
                    message: mailto:[email protected]
                    <mailto:[email protected]>?subject=unsubscribe



-- --------------------------------------------------------------
                Carl J. Nobile (Software Engineer/API Design)
                [email protected] <mailto:[email protected]>
                --------------------------------------------------------------
                _______________________________________________
                Triangle, NC Embedded Computing mailing list

                To post message: [email protected]
                <mailto:[email protected]>
                List info:
                http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
                
<http://mail.triembed.org/mailman/listinfo/triembed_triembed.org>
                TriEmbed web site: http://TriEmbed.org
                <http://TriEmbed.org>
                To unsubscribe, click link and send a blank message:
                mailto:[email protected]
                <mailto:[email protected]>?subject=unsubscribe


            _______________________________________________
            Triangle, NC Embedded Computing mailing list

            To post message:[email protected]  
<mailto:[email protected]>
            List info:http://mail.triembed.org/mailman/listinfo/triembed_triembed.org 
 <http://mail.triembed.org/mailman/listinfo/triembed_triembed.org>
            TriEmbed web site:http://TriEmbed.org  <http://TriEmbed.org>
            To unsubscribe, click link and send a blank 
message:mailto:[email protected]?subject=unsubscribe  
<mailto:[email protected]?subject=unsubscribe>

            _______________________________________________
            Triangle, NC Embedded Computing mailing list

            To post message: [email protected]
            <mailto:[email protected]>
            List info:
            http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
            <http://mail.triembed.org/mailman/listinfo/triembed_triembed.org>
            TriEmbed web site: http://TriEmbed.org <http://TriEmbed.org>
            To unsubscribe, click link and send a blank message:
            mailto:[email protected]
            <mailto:[email protected]>?subject=unsubscribe



-- --------------------------------------------------------------
        Carl J. Nobile (Software Engineer/API Design)
        [email protected] <mailto:[email protected]>
        --------------------------------------------------------------
        _______________________________________________
        Triangle, NC Embedded Computing mailing list

        To post message: [email protected]
        <mailto:[email protected]>
        List info:
        http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
        <http://mail.triembed.org/mailman/listinfo/triembed_triembed.org>
        TriEmbed web site: http://TriEmbed.org <http://TriEmbed.org>
        To unsubscribe, click link and send a blank message:
        mailto:[email protected]
        <mailto:[email protected]>?subject=unsubscribe

    _______________________________________________
    Triangle, NC Embedded Computing mailing list

    To post message: [email protected] <mailto:[email protected]>
    List info:
    http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
    <http://mail.triembed.org/mailman/listinfo/triembed_triembed.org>
    TriEmbed web site: http://TriEmbed.org <http://TriEmbed.org>
    To unsubscribe, click link and send a blank message:
    mailto:[email protected]
    <mailto:[email protected]>?subject=unsubscribe



--
Best regards,  Mike

_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
TriEmbed web site: http://TriEmbed.org
To unsubscribe, click link and send a blank message: 
mailto:[email protected]?subject=unsubscribe

_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
TriEmbed web site: http://TriEmbed.org
To unsubscribe, click link and send a blank message: 
mailto:[email protected]?subject=unsubscribe

Reply via email to