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

Pete Soper pete at soper.us
Tue Oct 5 11:54:50 CDT 2021


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> 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
>     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/
>     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> 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) 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).
>         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)
>         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
>         List info:
>         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
>
>
>
>     -- 
>     --------------------------------------------------------------
>     Carl J. Nobile (Software Engineer/API Design)
>     carl.nobile at gmail.com
>     --------------------------------------------------------------
>     _______________________________________________
>     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 <http://TriEmbed.org>
>     To unsubscribe, click link and send a blank message:
>     mailto:unsubscribe-TriEmbed at bitser.net?subject=unsubscribe
>
>
> _______________________________________________
> 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/20211005/38d513a4/attachment.htm>


More information about the TriEmbed mailing list