Sub-Microstepping Explanation


A standard stepper drive has a fixed set of resolutions where each full step location of the motor is chopped to a smaller set of steps, known as microsteps. This means that a motor with a step angle of 1.8 degrees will have 2000 stopping locations with most ten microstep drives and will have noticeable pulsing at low speed. If a motor is being run at high speed this will not make a difference, but it can make or break a design at low speed.
The GM215 and the G214 are different; every microstep is further broken up into an additional 32 Sub-Microsteps (for the GM215) or a variable resolution upscale (on the G214). This gives a step motor the smoothness of a servo with a 16,000 line encoder on it while operating off of the same frequency as a normal 10 microstep drive. Low speed jittering is nonexistent with the GM215 and G214 which, combined with high speed full step morphing, will result in the smoothest motor movement possible without sacrificing motor torque.
Figure 1 shows a normal 10-microstep motor current waveform set at 3.6 Amps per phase at a motor speed of 400 microsteps per second (12 RPM). Distinct changes in current (steps) can be seen for every input microstep pulse; this step change in phase current will cause motor vibration at very low speeds.
normal 10-microstep motor current waveform screenshot

Figure 2 shows a linearly interpolated 10-microstep waveform. The space between each step change in current is now linearly “filled in” with 32 sub-microsteps to give the motor an effective 320 microstep smoothness. A normal 320-microstep drive requires a 3.2 MHz step pulse frequency to get 3,000 RPM from the motor. The GM215 and G214 require only a 0.1 MHz step pulse frequency to get the same speed while operating at 10 microstep.

sub microstepping lineraly interpolated waveform screenshot

Figure 3 shows the individual sub-microsteps over a small range of the Figure 4 waveform. Each cycle of the yellow trace is the 10-microstep input step pulse. There are 16 sub-microsteps seen per input period; the other phase winding's sub-microsteps are interleaved for a total of 32 sub-microsteps.

individual sub-microsteping vs. input waveform screenshot

The GM215's FPGA measures every step input period and then divides the measured time period by 16. The result goes to a timing circuit that produces exactly 16 evenly spaced pulses over the span of every input pulse period. The G214 will change the level of sub-microstepping based on the resolution setting for best performance. With a maximum resolution of 256 microstep it will operate smoothly at all resolution settings because of this feature without any rough stepping at lower resolutions.

Categories: Application Notes Step Drives