(Not 3D Printer) Brushless motor questions!
Apologies for the absence, as for all it's been a weird few months since late feb, but thankfully my family remains healthy so very grateful for that, and remain hopeful that we escape the worst that the lurgy can deliver. Hope the community on here can say the same.
(Edit: Phaedux has since made me aware of some sad news regarding one of our community members while I've been off the forum.)
I'm looking at a couple of applications for Brushless DC motors (BLDC) motors I realise they are very similar in principle to stepper motors. I can't discuss the application until I've decided what the best way to proceed. Grant funding proposals are a very steep learning curve for me. I'm hoping at least one application will form the basis of an open source competition.
Assuming the bog-standard radio control model (RC) style speed controllers are purely open loop, I would like to babysit the motors. I'm planning to watch the temperature of the motor at the mount point. That is limited low by my printed mount, so 40C ish while I use PLA, and more like 60C when I reprint in PETG. I'll have direct fans trying to force cool to keep below those limits. 100C would see the permanent magnets loose strength. Peak RPM will be from watching the step frequency with a low pass filter to cut out the assumed high frequency modulation. I also plan to watch the current consumed by the ESC and limit the maximum consumption.
Is the max RPM (as predicted by Kv * battery voltage) zero torque output, and so not practically achievable? Would the electrical-mechanical efficiency at this point also be 0%? Is the speed for peak efficiency mechanical/electrical design specific or predicable?
How do BLDC controllers (as found on RC vehicles) throttle the motor? Is it by having a 0-100% duty on a modulated signal that is at least an order of magnitude higher than the maximum step frequency of the controller? Is this far too higher frequency to consider a current chopper style drive like we have for printer stepper motors?
With that amount of baby sitting are there open source speed controllers kicking about which are cost effective (ie <£40 for a >30A rated controller) that could save me trying to discover rpm from additional sensors and just read straight from the speed controllers micro controller? Perhaps have a current consumption monitor / limit too?
@DocTrucker ESC speed controllers for RC stuff have safety features built in. When you power them up, they will not spin the motor until you give them the right pulse sequence at the input to the ESC. That is done to prevent helicopter blades from chopping people up when they connect the battery to the ESC with the power switch in the on position. You can get BLDC drivers that have PWM inputs and don't have that sort of protective behavior, so they are much easier to use.
If you want closed loop control, you're probably best off getting a servomotor. You can get integrated servos with built in drivers and encoders for about $100: https://www.aliexpress.com/item/32918424461.html Those are not closed loop steppers- they are real servomotors.
I am currently experimenting with a pair of those motors in my 3D printer, but having some trouble at the moment getting the necessary accuracy. They were great in my sand table...
Note that the torque spec for a servomotor is not the same as the torque spec for a stepper. Servos are much stronger than they seem if you just compare the torque specs. Make sure you use a high current power supply for the servomotor(s). Unlike steppers, peak torque is much higher than the spec value and they will suck as much current as they need to follow the input commands. I'm using 200W power supplies on 78W servos and have managed to shut down the power supplies a few times by driving the motors too hard (high acceleration, high speed).
DocTrucker last edited by
I think full closed loop control is likely to make the problem more complex than necessary. I'm biting off a fair chunk of work to get the concept demo working.
My chosen power choice is a Li-Po battery 14.8V 5Ah 60C, so it should be capable of draw of up to 300A. As mentioned the max draw (sustained rather than instantaneous) is more like 100A. I suspect basic physics will prevent the draw from remaining at that level for long.
The waters predictably muddy a little. The specs on the motor I have are limited the basic spec sheets just give basic values of:
Max Current: 25A
Max Efficiency: 96%
Voltage Range: 6-18V
But then I find another site with a VERY similar looking motor and rated specs (as best I can tell from the badly presented site) of:
Rated Voltage: 11.1V
Rated Current: 3.8A
Rated Power: 80W
Rated Speed: 55500rpm
Now I get that the max current of 25A can't be continuous as the three flying wires attached to the motor are only 1mm dia core, or roughly 18AWG and so rated for about 16A continuous. Yes as we know from east Asian import printers they often skimp on wires but using a 16A wire for 25A would seem excessive. The other thing that doesn't make sense with these rated specs is the Rated Speed would be no load with 11.1V, (5000*11.1=55500), and so can't possibly be outputting 80W, unless this is saying my no-load current at 11.1V is 3.8A and 80W power draw?
Regards speed controllers the previous linked ones seemed a little short on max currents but the following controller looks great, open source and would allow me to swap to bigger &/or sensored motors at a later date:
These are based on the VESC project:
Their genuine articles are far to massive for my application, but I would be looking to contribute via the optional donation when downloading the configuration tool.
Edit: Some inductance and coil resistance details on the following site, but no details on the source of the information. I presume it was tested/measured:
Just a thought, but that CAN port could mean the VESCs would play well with Duet 3!
Brushless motors designed for airplanes are very small and light and take enormous current. The motor is cooled by the prop wash that it is creating, so yes, even a very small motor may be rated for 80-100W. If you look at the construction of the typical out-runner, the coils consist of just a few turns of wire which keeps inductance and resistance very low.
Wire current capacity is determined by the temperature rise and insulation material. They typically use silicone to insulate motor leads so the allowable temperature rise, and therefore current capacity, is much higher that it would be for a vinyl insulated wire.
The life of ball bearings spinning at 50k rpm is usually measured in hours.
achrn last edited by
I would endorse the observation that RC brushless put scary amounts of current and power through scary small motors and wires, but only do it for very short periods of time.
However, my main observation is to return to the comment well up the thread "Assuming the bog-standard radio control model (RC) style speed controllers are purely open loop" - this is not necessarily a valid assumption. Even bog-standard brushless controllers can be quite intelligent and airborne ones often have a governor mode that tries to maintain a constant RPM even as load fluctuates - mainly used in helicopters to try and maintain a fixed head speed.
You could read the source: https://github.com/bitdump/BLHeli (but it's beyond me). BL-Heli and its derivatives are pretty high-spec brushless speed controller code targeting helicopter and drone usage and have varying degrees of open-source-ness.
Finally, I observe that if you're using controllers intended for propeller (or similar, eg rotors, fans, etc) applications, they don't necessarily reverse well - they might anticipate variable pitch and variable load, but they pretty much all assume they will only turn one way and some either won't reverse (without going through a reconfiguration process) or are slow (like, distinctly pause at stationary) to reverse direction.
This will be in no way helpful to the OP (sorry @DocTrucker!), but I'm slowly trying to demystify the dizzying variety of 'brushless motor and ESC' choices for a small project I have; converting a kid's PowerWheels car. It originally came (it was a 'hedge find') with 6V battery (dead) and 550 motor (also seemingly dead), but I'd like to convert it to brushless for a bit more oomph, and fun. Torque and speed of brushless motors seems to be defined by the number of turns; 12T motors seem to be for speed, 60T (or more) for torque. I'm narrowing down the range of motor I need, but I'm completely at a loss with the ESC (not RC controlled, just an on/off throttle pedal, and ideally want one I can turn down while the little one gets used to it!), and to some extent the battery, to power it. I had considered a hoverboard conversion, but they're pretty expensive too. Any suggestions?
QuintBrand last edited by
@mrehorstdmd is your servo xperiment on your website or can I find it somewhere else? That sounds interesting. Is it an encoder problem or cog?
@QuintBrand The sand table stuff is here: https://drmrehorst.blogspot.com/2020/04/the-spice-must-flow-gets-servo-motors.html
I don't have anything written up on the 3D printer install yet, but there's a thread with some photos here: https://forum.duet3d.com/topic/17970/configuring-for-servomotors/13
QuintBrand last edited by
Thank you very much for sharing those links. Very very informative and very cool to see your application!
Your accuracy seems mainly bounded by the encoders die what I read and understand. Are you planning on getting new encoders?
@QuintBrand I'm not 100% sure what the problem is yet- it may just involve tuning the driver parameters. I would not try to shoe-horn a different encoder into the motors- the driver firmware is written for the encoders that are there and it would take a miracle for some other randomly selected encoder to work with the existing driver/firmware. I can't even figure out how to tune the existing stuff, never mind trying to tune for a completely different piece of hardware.
@droftarts Brushless motors tend to be high rpm motors. You're going to need some torque to push a kid around in a car, which means you'll need some gearing to reduce rpm and multiply the torque. Maybe you can pick up an old electric drill and use it with a bigger battery. It will have a gearbox built in, though maybe not sufficient for the moving masses involved.
@droftarts Did you get any where with your project? If it's not resolved yet I found a fair few links on Brushless motor theory that helped me understand them a little better. There are many similarities with stepper motors, but also much confusion!
You can get some slow motors. Brusless tend to be specced by a constant that determines how many RPM the motor will reach per drive volt - Kv. So my little 5000 Kv motors are likely to reach up to 71,000rpm if unloaded. That's never going to be achieved as the torque is zero at this level, and I will be interested in finding out how close I get! There are other contstants such as the torque constant that help you understand what teh motor will be capable of, but the links will be far better at explaining that than me.
Many low Kv motors used in marine applications, some folk convert car alternators to brushless motors, and there is also people looking at open source speed controllers for things like electric skate boards etc.
I had a similar vehicle given to me by my inlaws who found it in the skip. Thankfully in my case it was just dead charger. I did think about rebuilding it to something better but the drive components just didn't look strong enough to take much else. I think I'll just go electric go-kart when my son's ready for a shared build!
@DocTrucker haven’t progressed it, as my eldest (4) is about to start school, so it’s rather a busy time. I was inspired by this video: https://youtu.be/Ycfv3QIqvco where he ripped the motor, controller and battery out of an RC car. There’s a few other videos of similar swaps, just haven’t had time to go through them all! Thanks for the info, I’ll see if I can get further with it over once I get more time!