[thanks to Andy Kunz] When you feed PWM to a DC motor, you might think that you are saving power as you turn down the motor speed. It is true that less mechanical work is being done, but more power is being wasted in the winding resistance. This is because the same average current needs to flow (if the frictional torque remains the same). If we have a motor that generates 10v of back emf at full speed and has 1 ohm of winding resistance, then with 12v PWM at 100% duty cycle, we have a continuous 2 amps flowing, we are using 24 watts of electrical power,and doing 20 watts of mechanical work (approximately, assuming that the transfer of power due to back EMF is purely mechanical). The efficiency is 20/24 = 83%
If we now drop to 50% duty cycle, we still need an average current of 2 amps to oppose the friction,so we have 4 amps flowing during the on time. That's 48 watts of power for 50% of the time,or,again,24 watts of average electrical power. However, the back emf is now only 8v ( 12-8=4, 4/1ohm = 4 amps),so we are only doing 8*4=32 watts for half the time, or 16 watts mechanical work. The efficiency is now only 67%,and it reaches 0% when the duty cycle gets so low that the resistance doesn't allow enough current to flow to oppose the friction (in this case, we couldn't operate the motor below 16% duty cycle). As we decrease the duty cycle, the speed vs. duty cycle curve is nonlinear and drops expecially fast as we near 16%.
With a switcher, however, we could forget PWM and just supply a continuous variable voltage to the motor. The current would stay the same and the RPM would linearly follow the voltage. The efficiency would not change much over the whole RPM range. This essentially consists of using PWM whilst providing a series inductor and commutation diode. The commutation diode(s) may already be part of an H-bridge or if the FETs may be operated "backwards", they may function as such. The easiest way to implement this would be to use a digital pot on the voltage sense/feedback divider available in some switch mode controllers. Either that or a bipolar/fet across the voltage set resistor. Normal digital pots won't go higher then 5V so a discretes solution is required. I guess rolling your own 8 bit, 256 step resistor array is the only way to go for better precision...
The disadvantages are that reversing the motor would still require a H bridge, response time would be slower and you won't be able to drive the motor at very slow speeds. (You could still pulse the SMPS output like a H bridge but response will be slower) Other then that, u'd have the best of 3 worlds, variable voltage, PWM motor controller and efficient use of batteries!
Also, this is a largely theoretical argument. It is trying to create a first order model, to see the major factors involved. Frictional loading will be largely proportional to speed, therefore reduction in speed gives a reduction in frictional loading. Work = force x distance, less distance (rotations) = less work There are of course many other factors, -Magneto striction, -Air flow drag, -Viscosity of lubricant, -Temperature of lubricant, -etc.
A no-load motor will pull a relatively constant current across the RPM range for a small motor. When you get into the performance category, things change.
As RPM increases, it isn't uncommon to see the current rise significantly as "other things" come into play. Other things include (but not limited to):
Knowing this, the typical way to help rate a motor is to find the no-load current (it's easier to measure) at a particular RPM and use that as the basis for efficiency. That way we can work out the approximate efficiency under load, knowing the loaded RPM and the loaded current. I usually set my motors up for 9A no-load current. 9A vs. 240mA!
David Cary responds:
The above analysis implies that the efficiency goes to zero when the motor is stopped -- but that's true of both of them. No matter how you drive it, when the motor is stopped, the ouput mechanical power is zero, so the efficiency = output/input is zero.
Comparing a switching voltage regulator vs. PWM drive of a motor, I don't see much difference.
+12 +12 | | ^diode | | | +-----( Motor )---+ | PWM--|[FET | GND
vs. DC from switching voltage regulator:
+12 +12 | | ^diode | | | +--(inductor)-+-( Motor )--+ | | PWM--|[FET capacitor | | GND GND
(I've left out the tachometer feedback on the PWM and the voltage feedback on the regulator to focus on the power-carrying components). (I've also left out the current-sense sensor, identical on both of them).
Sure, you could replace the diode with a FET to improve efficiency, but you could do that on both of them. Once you've done that, you have half an H bridge on the left.
You could also put the other half of an H bridge on the right, so you could reverse the motor (and enable "regenerative braking"). But you could also do that on both of them.
So the only difference is the inductor and the capacitor, right?
If we neglect the capacitor, then (since the motor windings act like a big inductor) the effect is that the FET is just driving a slightly larger inductance. If the net inductance has not significantly increased (if the L of the inductor is insignificant compared to the L of the motor), then there is no significant difference between the 2 circuits.
If we do consider the capacitor, it is possible that the switching voltage regulator might possibly be more efficient, if the "extra" inductor has a better Q than the inductor in the motor. I think this is the assumption used in the analysis above.
But the switching voltage regulator might be less efficient, if the "extra" inductor has a worse Q than the inductor in the motor.