Stepper motors are inherently open-loop devices. They don’t require feedback because each pulse of current delivered by the drive equals one step of the motor (or a fraction of a step, in the case of microstepping). And with small step sizes, or step angles, the motor’s position can be determined very precisely without the need for a feedback device and complicated control schemes.
So, if a stepper motor’s position can be determined in an open-loop system, why would you add the cost and complexity of closed-loop control to a stepper motor?
Because precise knowledge of the motor’s position only occurs if the motor never loses steps. And in the real world, there are multiple situations that can cause the motor to lose or miss steps — for example, a machine jam that prevents the motor shaft from rotating.
To deal with these possibilities, stepper motors are often oversized to handle torque spikes, stalls, or other anomalies that would otherwise cause the motor to miss steps. But when lost steps can be detrimental to the application or process, another solution is to operate the stepper motor in a closed-loop system, with position feedback to detect and correct positioning errors.
There are generally three types of closed-loop control for stepper motors, each offering a different level of positioning control and complexity.
Step-loss compensation: Reactive position correction at the end of the move
The most common type of closed-loop stepper system is based on step-loss compensation, also referred to as step-loss control or stepper position maintenance. In this setup, the drive operates in microstepping mode, and an encoder tracks the shaft (or load) position. If lost steps are detected, based on the commanded position (number of steps multiplied by step angle) versus the actual position read by the encoder, the controller commands additional steps so the motor (or load) reaches the desired position.
Step-loss compensation is the simplest closed-loop scheme for stepper motors, and as mentioned-above, is the most widely adopted, but its primary drawback is that it only compensates for missed steps at the end of a move, not continuously throughout the move profile.
Load position control: Continuous, real-time position correction without complex controls
Load position control, also referred to as closed-loop microstepping, continuously monitors the shaft (or load) position and generates an error signal. The controller uses this error signal to adjust the commands in real-time, during the entire move profile.
With load position control, the system still operates as a stepper system in microstepping mode, but the move profile is more precisely followed, rather than allowing the motor to deviate during the move and issuing a single position compensation command at the end of the move.
Servo control: Complete control of torque and position
The most advanced closed-loop control method is to operate the stepper motor as a 2-phase brushless (BLDC) motor. (Note that stepper motors have two phases, offset by 90 degrees, whereas brushless DC motors have three phases, offset by 120 degrees.) This method is referred to as closed-loop stepper control or servo stepper.
With servo control for stepper motors, instead of the drive providing full current to the motor to produce movement, feedback from an encoder detects the shaft position, and a control loop (typically a PID loop) determines the exact torque that is needed for the shaft to follow the move profile. In other words, the motor is driven by a torque command rather than by pulses of current.
Because it delivers only the current required to achieve the move profile, the servo control method yields greater efficiency than other stepper control methods. And greater efficiency means less heat and longer motor life. Servo control also eliminates resonance issues that plague other control methods, provides high torque at low speeds, and allows the motor to use its full rated torque without the limitations of pullout torque. And although more complex than an open-loop system, implementing servo control for a stepper motor is still less demanding than implementing a full servo system.
Note that there is another method of closed-loop stepper control, often referred to as sensorless control. In this method, there is no feedback device; instead, the controller uses an indirect means, such as measuring back-EMF, to determine the rotor position. Sensorless control, however, is difficult to implement and doesn’t provide a high level of certainty regarding the motor’s estimated position.
Stepper motor systems using closed-loop control represent a small percentage of stepper motor applications, but if loss of position could be catastrophic to the application, yet the system requires high torque at low speed, relatively simple architecture, and relatively low cost (compared to a true servo motor system), a closed-loop stepper might be the most appropriate solution.
Feature image credit: JVL International