[TriEmbed] Designing a brushless motor controller during the chip shortage

Rick nm3g at triad.rr.com
Thu Oct 7 11:48:27 CDT 2021


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 
> <triembed at triembed.org <mailto:triembed at triembed.org>> 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
>     <triembed at triembed.org <mailto:triembed at triembed.org>> 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
>         <triembed at triembed.org <mailto:triembed at triembed.org>> 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
>>             <triembed at triembed.org <mailto:triembed at triembed.org>> 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 <triembed at triembed.org
>>                 <mailto:triembed at triembed.org>> 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: TriEmbed at triembed.org
>>                     <mailto:TriEmbed at triembed.org>
>>                     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:unsubscribe-TriEmbed at bitser.net
>>                     <mailto:unsubscribe-TriEmbed at bitser.net>?subject=unsubscribe
>>
>>
>>
>>                 -- 
>>                 --------------------------------------------------------------
>>                 Carl J. Nobile (Software Engineer/API Design)
>>                 carl.nobile at gmail.com <mailto:carl.nobile at gmail.com>
>>                 --------------------------------------------------------------
>>                 _______________________________________________
>>                 Triangle, NC Embedded Computing mailing list
>>
>>                 To post message: TriEmbed at triembed.org
>>                 <mailto:TriEmbed at triembed.org>
>>                 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:unsubscribe-TriEmbed at bitser.net
>>                 <mailto:unsubscribe-TriEmbed at bitser.net>?subject=unsubscribe
>>
>>
>>             _______________________________________________
>>             Triangle, NC Embedded Computing mailing list
>>
>>             To post message:TriEmbed at triembed.org  <mailto:TriEmbed at triembed.org>
>>             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:unsubscribe-TriEmbed at bitser.net?subject=unsubscribe  <mailto:unsubscribe-TriEmbed at bitser.net?subject=unsubscribe>
>>
>             _______________________________________________
>             Triangle, NC Embedded Computing mailing list
>
>             To post message: TriEmbed at triembed.org
>             <mailto:TriEmbed at triembed.org>
>             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:unsubscribe-TriEmbed at bitser.net
>             <mailto:unsubscribe-TriEmbed at bitser.net>?subject=unsubscribe
>
>
>
>         -- 
>         --------------------------------------------------------------
>         Carl J. Nobile (Software Engineer/API Design)
>         carl.nobile at gmail.com <mailto:carl.nobile at gmail.com>
>         --------------------------------------------------------------
>         _______________________________________________
>         Triangle, NC Embedded Computing mailing list
>
>         To post message: TriEmbed at triembed.org
>         <mailto:TriEmbed at triembed.org>
>         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:unsubscribe-TriEmbed at bitser.net
>         <mailto:unsubscribe-TriEmbed at bitser.net>?subject=unsubscribe
>
>     _______________________________________________
>     Triangle, NC Embedded Computing mailing list
>
>     To post message: TriEmbed at triembed.org <mailto:TriEmbed at triembed.org>
>     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:unsubscribe-TriEmbed at bitser.net
>     <mailto:unsubscribe-TriEmbed at bitser.net>?subject=unsubscribe
>
>
>
> -- 
> Best regards,  Mike
>
> _______________________________________________
> Triangle, NC Embedded Computing mailing list
>
> To post message: TriEmbed at triembed.org
> 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:unsubscribe-TriEmbed at bitser.net?subject=unsubscribe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20211007/29d4d39d/attachment.htm>


More information about the TriEmbed mailing list