Best Frequency for PWM - DC motors
Ron Czapala
Posts: 2,418
I have read various comments from various web sites on what frequency is best for PWM speed control of DC motors but no conclusive results...
One recommendation was in the 10 to 15 KHz range.
I have been experimenting with Beau Schwabe's PWM_32 Propeller object and using a PWM.Duty period value of 100 yields a 10 KHz frequency according to my Parallax oscilloscope.
Does anyone have any recommendations regarding the frequency and related issues like heat buildup, power consumption, torque loss, etc?
Thanks,
- Ron
One recommendation was in the 10 to 15 KHz range.
I have been experimenting with Beau Schwabe's PWM_32 Propeller object and using a PWM.Duty period value of 100 yields a 10 KHz frequency according to my Parallax oscilloscope.
Does anyone have any recommendations regarding the frequency and related issues like heat buildup, power consumption, torque loss, etc?
Thanks,
- Ron
Comments
AFAIK there is no one optimum frequency. It would depend on several factors including the inductance of the windings, armature material, motor type (permanent magnet, series wound, parallel wound) etc.
Like most things in life it is a trade off.
http://www.vantec.com/manuals.htm
Another place to check is with the OSMC group on Yahoo.
http://groups.yahoo.com/group/osmc/
Of course, plain old servos and even my old Hero 2000 drive motors are pulsed in the 5-10 hz range and they work just fine. I have used LM556 ICs to scratch-build such low-frequency motor drivers for PM DC motors and IMHO they are infinitely superior in that they allow full motor torque at ultra low speeds.
I wish I had a strain gauge to check it with. It seems i am re-living my college physics and geometry classes.
I bought compasses, protractors, graph paper, etc to faciliate building this robot.
Ah - the good ol' days...
http://www.sci-spot.com/Mechanical/dyno.htm
(The page has additional interesting applications in it, including hacking a mouse scroll wheel for the tach.)
Still, lots of work for what you could calculate empirically. You're basically after the highest torque at the lowest amps. Other worries such as motor heating will more or less follow. As your motors aren't the tear-off-your-arms type, you could probably test them with a lever and a fish scale (trout size for small motors, tuna size for bigger motors).
If you have some heat-resistant cloth you could make a variable clamp for the motor. Mount a flywheel where the wheel would go, apply the clamp, tighten it to provide the load you'd like to test, and measure amps on your meter. Play with the PWM frequencies and plot the results.
The story goes that Edison once determined just how strong the packing crates needed to be in order to ship his phonograph players and still withstand if they got dropped off the train station platform. He used no math to determine things like density of the wood, elongation at break, and all that other nonsense. He just chucked a bunch of filled crates off a three-foot riser until he found the crate design that worked.
-- Gordon
Great idea! I was wondering where I could get a gauge without spending alot. They probably don't qualify as scientific measurment devices but would certainly suffice for comparing different PWM frequencies.
After I get my encoder/driver logic working I'll check out the sporting goods stores...
Thanks,
Ron
http://cgi.ebay.com/VH612-Mini-1000-x-0-1-Gram-Digital-Pocket-Jewelry-Scale-/160522155673?pt=LH_DefaultDomain_0&hash=item255fddb699
And does anyone know offhand if the motor PWM frequency of standard servos is standard? It's that ~10 hz frequency that servos buzz at when holding position.
While R/C servos are commonly said to use PWM, in actuality they don't. It's more a system of pulse duration. Whether the servo can handle a higher refresh rate depends on the servo. On many, going much above 70 or 80 Hz can cause it to lock up. You can get improved holding torque at the higher rates, as long as you're careful about not overheating the motor, and providing it adequate amps.
This is fundamentally how digital servos work. They convert the standard 50 Hz pulses to 300-400 Hz. They're more power hungry because of it.
-- Gordon
I'd be interested in your tests -- maybe you could hook up a servo horn to make/break an opto switch, and then measure the number of pulses in a second. Just for your efforts, no matter what the result, I'd gladly treat you to a #1 at In-and-Out. Even upsize the drink! Science deserves its rewards, you know.
-- Gordon