Charles,
I’d be happy to help with the analog aspects a bit- you can PM me.  The big 
thing with FET drivers is to keep inductance (loop areas in your layout) small 
and use the fattest tracks you can or a ground plane.  The peak currents going 
into a gate or on the order of amps and fast, any inductance wreaks havoc.  
Watch ground paths and supply paths and how these currents will flow- you want 
it to flow back to to a low impedance point with nothing sensitive up stream- 
usually a star ground/star supply with bulk capacitance.  If you’re going 
small, there are drivers with integrated FET’s from Toshiba, Freescale, 
Infineon, On.  Generally go up to about 1 amp/phase or so- pretty available.  
Make life easy if you follow their layout rules.
 
Regards,
John M. Wettroth
(984) 329-5420 (home)
(919) 349-9875 (cell) 
 
From: TriEmbed <[email protected]> On Behalf Of Charles West via 
TriEmbed
Sent: Wednesday, October 6, 2021 9:43 PM
To: Carl Nobile <[email protected]>
Cc: TriEmbed <[email protected]>
Subject: Re: [TriEmbed] Designing a brushless motor controller during the chip 
shortage
 
@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).
  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
 
~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
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 
<[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) 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: [email protected] <mailto:[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] <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
TriEmbed web site: 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
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] <mailto:[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] <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
TriEmbed web site: 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]
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