Why microstepping in stepper motors isn’t as good as you think

Article By : Pete Millett

When designing a motion control system using stepper motors, do not assume that the holding torque of motor still applies when microstepping.

Stepper motors are often used for positioning since they are cost-effective, easy to drive, and can be used in open-loop systems—meaning that they don’t require position feedback like servo motors. Steppers are used in small industrial machines such as laser engravers, 3D printers, and office equipment like laser printers.

There is a wide array of options when it comes to stepper motors. For industrial applications, 2-phase, hybrid stepper motors with 200 steps per revolution are very common. For these motors, “hybrid” refers to how they use a permanent magnet and a toothed iron rotor—for instance, a variable reluctance motor—and “200 steps” means that the motor moves 1.8° between each step. These steps are a function of the number of teeth on the rotor and stator.

This article will focus on 2-phase hybrid stepper motors since they are the most common. Figure 1 shows a typical 2-phase hybrid motor.

Figure 1 Here is how a typical 2-phase hybrid stepper motor looks like. Source: Monolithic Power Systems

How microstepping works

It’s possible to move a stepper motor less than a full step. This process, called microstepping, is accomplished by modulating the current through the windings so that the rotor can be positioned between full steps. Designers can designate almost any size for a microstep, as the step is only limited by the resolution of the digital-to-analog converters (DACs) and amplifiers that drive the winding current. Resolutions of 1/256—and even 1/1024—are not uncommon.

In reality, for most mechanical systems, such fine microstepping doesn’t always improve positioning accuracy. A number of additional factors negatively affect performance.

There are a few sources of angular errors in microstepping. One is the imperfections of the motor itself—mechanical and magnetic—as motors don’t have a perfectly sinusoidal current-to-position transfer function. Even if you apply a perfect sine and cosine current to the motor, the motion is not perfectly linear.

Another error source is the stepper motor controller’s current regulation accuracy. Typical stepper ICs are accurate to about 5% of the full-scale current. Additionally, the current regulation matching between the two channels may not be perfect. The result of these inaccuracies reduces positioning accuracy.

Stepper motor torque

Stepper motors are rated with a holding torque. Holding torque is the torque required to pull the motor away from a full-step position, and is also the torque that the motor can generate when moving one full step. After each full step, the teeth are aligned with the smallest magnetic path, which results in a strong torque.

When microstepping, the holding torque is reduced since the rotor is being held between the full-step positions and the magnetic paths are longer. This incremental holding torque can be calculated with Equation (1):

Incremental holding torque = (Full-step holding torque) x sin (90°/X)        (1)

Where X is the number of microsteps

For example, with a 1/8 step, the incremental torque is about 20% of the full-step torque. For a 1/32 step, the incremental torque is only 5% of the full-step torque.

What does this mean for a motion control system? It means that to actually attain the expected position when performing a microstep, the torque load on the motor must be a fraction of the motor’s rated holding torque.

Lab measurements

To test position accuracy while microstepping, several experiments were performed. The lab set-up used a first-surface mirror mounted to the stepper motor shaft and a laser. The beam was reflected from the mirror to the opposite end of the lab, at a distance of about 9 m. The elevation of the laser beam was then measured, and the angle was calculated. Accuracy measurements were limited mostly by the measurement accuracy of the beam height; at ±1mm, this corresponds to an accuracy of ±0.006°.

The motor used for the experiments was a typical hybrid motor commonly used in products such as 3D printers. It’s a 1.8° bipolar motor with a rated current of 2.8 A and a holding torque of 1.26 Nm.

The first experiment measured the accuracy of the motor on its own. It used accurate DC current sources to drive the two phases, and no torque load was applied to the motor shaft. Instead, only the mirror was on the shaft (Figure 2).

Figure 2 The mirror is placed on stepper shaft. Source: Monolithic Power Systems

The results from this set-up showed small nonlinearities, but in general, angular accuracy was good; it was about ±0.03° and the motion was monotonic (Figure 3). That is, the motor never moved in the wrong direction or failed to move. These errors indicate the inherent errors in the motor itself, plus a measurement error. Note that a 1/32 step corresponds to 0.056°.

Figure 3 The 1/32 step no-load accuracy ensures monotonic motion. Source: Monolithic Power Systems

Next, the motor was coupled to a magnetic particle brake, which applied a frictional torque load to the motor (Figure 4).

Figure 4 The brake set-up applies a frictional torque load to the motor. Source: Monolithic Power Systems

The same measurements were repeated using DC current sources, with approximately 0.1 Nm of torque applied to the motor shaft. Figure 5 shows that these results were significantly different, as every other step resulted in no motion.

Figure 5 The 1/32 step with added torque shows significantly different results. Source: Monolithic Power Systems

This behavior is in line with the calculated incremental torque for this motor. The incremental torque for a 1/32 microstep is about 5% of the holding torque. In this case, with a holding torque of 1.26 Nm, the expected torque generated by one microstep is about 0.06 Nm. However, that is not enough to overcome the frictional load, so it takes two microsteps before the torque is high enough to overcome the load.

If we increase torque to 0.9 Nm—about 70% of the stall torque—it takes even more microsteps to raise the torque to the point that the motor moves (Figure 6).

Figure 6 The 1/32 step with 0.9 Nm torque takes even more microsteps to move the motor. Source: Monolithic Power Systems

Two similar experiments were performed using MPS’s MP6500 stepper motor driver IC. The MP6500 driver IC uses accurate PWM current regulation, and can operate from a full step to a 1/8 step. Figure 7 shows the MP6500’s block diagram.

Figure 7 The MP6500 stepper motor driver employs the PWM-based current regulation. Source: Monolithic Power Systems

To test whether the accuracy using a traditional stepper motor driver IC is different than when using DC current sources, the first test was conducted with 0.1 Nm torque and 1/8 step mode. The torque produced by 1/8 step is about 20% of a full step, or 0.25Nm, more than the 0.1 Nm torque applied. Figure 8 shows the results, which indicates that the actual angle tracked the ideal angle.

Figure 8 In the first test, MP6500 stepper motor driver IC used a 1/8 step with 0.1 Nm torque. Source: Monolithic Power Systems

For the second test, 0.4 Nm of torque was applied. This is more than the 1/8 step’s incremental holding torque (0.25 Nm). As expected, microsteps are skipped (Figure 9).

Figure 9 In the second test, MP6500 used a 1/8 step with 0.4 Nm torque. Source: Monolithic Power Systems

Mechanical considerations

To obtain the desired accuracy when microstepping, designers must closely watch the mechanical system.

There are a few methods to utilize a stepper motor to create linear motion. The first method is to couple the motor to the moving member using a belt and pulley. In this scenario, rotation is translated to a linear motion. The distance moved is a function of the angle of motor movement and the pulley’s diameter.

The second method is to use a leadscrew or ball screw. The stepper motor is directly coupled to the end of the screw, so as the screw rotates, a nut travels in a linear fashion.

In both cases, whether there is actually linear motion as the result of a single microstep depends on the frictional torque. This means that for best accuracy, the frictional torque must be minimized.

For example, many leadscrew and ball screw nuts have some preload adjustability. Preload is a force that is used to prevent backlash, which causes some play in the system. However, increasing the preload decreases backlash, but it also increases the friction. As a result, there is a trade-off between the backlash and friction.

Watch out when microstepping

When designing a motion control system using stepper motors, do not assume that the rated holding torque of the motor still applies when microstepping, as the incremental torque is reduced substantially. This can result in unexpected positioning errors, which were demonstrated by the tests shown above. In some cases, increasing the microstep resolution does not improve system accuracy.

To overcome these limitations, it is recommended to minimize the torque load on the motor, or to use a motor that has a higher rated holding torque. Oftentimes, the best solution is to design the mechanical system to use larger step increments, and not to rely on fine microstepping. Stepper motor drivers can use a 1/8-step to provide the same mechanical performance as traditional, costlier microstepping drivers.

This article was originally published on EDN.

Pete Millett is staff technical marketing engineer at Monolithic Power Systems (MPS).


Leave a comment