Bipolar stepper motors are used in many applications, from driving paper through a printer to moving an XY stage in industrial equipment. Typically, the motors are driven and controlled by inexpensive and dedicated stepper motor driver ICs. Unfortunately, most of these ICs use a simple current control method that causes imperfections in the motor current waveforms and results in less-than-optimal motion quality. Implementing internal, bi-directional current sensing inside a stepper motor driver IC results in improved motion quality with lower system cost than legacy solutions.
Bipolar stepper motor basics
A bipolar stepper motor contains two windings. The motor is moved by driving varying currents sequentially through the two windings. To make the motor move smoothly, the two windings can be driven with sinusoidal currents that are 90° out of phase – sine and cosine.
Usually, steppers are not driven with analog linear amplifiers; they are driven using a PWM current-regulating driver with discrete current values that break the sine wave into straight segments. This is called microstepping. The sine wave may be broken up into any number of segments, and the waveform approaches a true sine wave as the number of segments increases. In practice, the number of segments varies from 4 to 2048 or more, with most IC stepper drivers implementing between 4 and 64 segments. Since one sine wave generates four steps (mechanical states in a stepper motor), a 64-segment sequence is called a ⅛ step operation (see Figure 1).
Figure 1: Microstepping Current Waveforms
Why current-control accuracy is important
The position of a bipolar stepper motor’s rotor is dependent on the magnitude of the currents flowing thorough the two windings. Normally, if a stepper motor is being used, there is a requirement for accurate mechanical positioning or accurate speed control of some mechanical system. So it is only logical that the accuracy of the motion is determined in part by the accuracy of the winding currents