Edited by Zak Khan || Stepper-motor current limiting serves a few functions. Stepper-motor overcurrent can cause overheating as detailed in FAQ: Aren’t heat and noise common stepper motor problems? At its most extreme, overcurrent can cause rotor demagnetization. Recall that current effects acceleration — as in FAQ: What are the requirements for stepper motor acceleration? So any design that uses microstepping needs current limiting, as different windings require different current levels.
Options for current limiting abound. The simplest to use a resistor. This option is easy to implement but has drawbacks. It causes significant heating and (because factors such as motor inductance change with rotor position and frequently go undocumented) can be difficult to implement.
Another option — linear current limiters — employ a pair of power resistors. They offer better performance than simple limiters using a single resistor. Instead of limiting current linearly as resistor circuits, they limit current asymptotically … and usually the limit is far above a motor’s rated current. Both types of current limiters are automatic. However, they generate heat.
Still other methods exist to set current limit as part of open-loop systems.
One is to use a voltage boost at the beginning of startup. The controller delivers almost the entire supply voltage early. At the target current, the voltage drops down to only what’s necessary to maintain target current. Use of a dual-voltage supply is also possible. Here the drive applies high voltage until the current reaches the target level, then it switches to operating voltage and the high voltage switches off.
One caveat: This scheme can pose a problem if the drive applies the high voltage applies too long — as that can risk of burning out the motor or demagnetizing it. If the design uses software control to run this circuit and the programmer is unfamiliar with the application, the software may not prevent this situation.
Pulse-width modulation or chopping is another option. Here as current increases, the controller holds supply input to 100% duty cycle.
At target current, duty cycle drops to whatever is necessary to maintain operation. While effective, this method’s drawback is torque ripple. This can cause high-pitched noise in smaller motors. In larger motors, this can create ac voltages on nearby lines. To reduce ripple, designs will often increase the chopper frequency … but this can only go so far before losses are excessively high.
Another method to holding current is to use a potentiometer. These are easily adjustable and work well enough for small to medium applications. But because they dissipate power directly, they have some of the same drawbacks as linear limiters and resistors — including the generation of heat and the fact the dissipated power may quickly match whatever it takes to power the load.
Closed-loop operation with feedback can solve most of these issues with monitoring and compensation. But because the main draw of stepper motors is how they run open-loop, weigh the motor and drive options and decide which method works best for a given system — and always consult the manufacturer if questions arise.
For more information, read Current Limiting for Stepping Motors. by Douglas W. Jones of the University of Iowa • RepRap.org Setting Motor Currents