Micro-stepping

Home | Articles | Forum | Glossary | Books

AMAZON multi-meters discounts AMAZON oscilloscope discounts


Microstepping serves two purposes. First, it allows a stepping motor to stop and hold a position between the full or half-step positions; second, it largely eliminates the jerky character of low-speed stepping-motor operation and the noise at intermediate speeds; and third, it reduces problems with resonance.

Although some microstepping controllers offer hundreds of intermediate positions between steps, it is worth noting that microstepping does not generally offer great precision, both because of linearity problems and because of the effects of static friction.

Sine-Cosine Microstepping

For an ideal two-winding variable-reluctance or permanent-magnet motor, the torque-shaft angle curve is determined by the following formulas:

h (a^ 2  b^ 2 ) ^0.5

x  (S /  /2) arctan b/a

where a  torque applied by winding with equilibrium at angle 0

b  torque applied by winding with equilibrium at angle S h  holding torque of composite

x  equilibrium position

S  step angle This formula is quite general, but it offers little in the way of guidance for how to select appropriate values of the current through the two windings of the motor. A common solution is to arrange the torques applied by the two windings so that their sum h has a constant magnitude equal to the single-winding holding torque. This is referred to as sine-cosine microstepping.

a = h1 sin (  /2/ S ) b = h1cos (  /2/ S )

where

h1  single-winding holding torque

 /2 / S  electrical shaft angle Given that none of the magnetic circuits are saturated, the torque and the current are linearly related. As a result, to hold the motor rotor to angle 0, we set the cur-rents through the two windings as

Ia  Imax sin (  /2/ S )

Ib  Imax cos (  /2/ S )

where Ia  current through winding with equilibrium at angle 0

Ib  current through winding with equilibrium at angle S

Imax  maximum allowed current through any motor winding Keep in mind that these formulas apply to two-winding pm or hybrid stepping motors. Three-pole or five-pole motors have more complex behavior, and the magnetic fields in variable-reluctance motors do not add according to the simple rules that apply to the other motor types.

Limits of Microstepping

The utility of microstepping is limited by at least three considerations. First, if there is any static friction in the system, the angular precision achievable with microstep-ping will be limited. This effect is discussed in more detail in Sec. 5.2.10, in the discussion of friction and the dead zone.

Detent Effects. The second problem involves the nonsinusoidal character of the torque-shaft angle curves on real motors. Sometimes this is attributed to the detent torque on pm and hybrid motors, but in fact, both detent torque and the shape of the torque-angle curves are products of poorly understood aspects of motor geometry-specifically, the shapes of the teeth on the rotor and stator. These teeth are almost always rectangular, and this author is aware of no detailed study of the impact of different tooth profiles on the shapes of these curves.

Most commercially available microstepping controllers provide a fair approximation of the sine-cosine drive current that would drive an ideal stepping motor to uniformly spaced steps. Ideal motors are rare, and when such a controller is used with a real motor, a plot of the actual motor position as a function of the expected position will generally look something like the plot shown in Ill. 66.

Note that the motor is at its expected position at every full step and at every half step, but that there is significant positioning error in the intermediate positions. The curve shown is the curve that would result from a perfect sine-cosine microstepping controller used with a motor that had a torque-position curve that included a significant fourth harmonic component, usually attributed to the detent torque.

ILL. 66 Actual position versus expected position of a microcontrolled stepping motor.

Quantization. The third problem arises because most applications of microstepping involve digital control systems; thus, the current through each motor winding is quantized, controlled by a digital-to-analog converter. Furthermore, if typical PWM current-limiting circuitry is used, the current through each motor winding is not held perfectly constant, but rather oscillates around the current-control circuit's set point.

As a result, the best a typical microstepping controller can do is approximate the desired currents through each motor winding.

The effect of this quantization is easily seen if the available current through one motor winding is plotted on the X axis and the available current through the other motor winding is plotted on the Y axis. Ill. 67 shows such a plot for a motor controller offering only four uniformly spaced current settings for each motor winding. Of the 16 available combinations of currents through the motor windings, 6 combinations lead to roughly equally spaced microsteps. There is a clear trade-off between minimizing the variation in torque and minimizing the error in motor position, and the best available motor positions are hardly uniformly spaced. Use of higher-precision digital-to-analog conversion in the current-control system reduces the severity of this problem, but it cannot eliminate it.

ILL. 67 Plot of actual versus ideal winding currents.

Plotting the actual rotor position of a motor using the microstep plan outlined in Ill. 67 versus the expected position gives the curve shown in Ill. 68.

It is very common for the initial microsteps taken away from any full-step position to be larger than the intended microstep size, and this tends to give the curve a staircase shape, with the downward steps aligned with the full-step positions where only one motor winding carries current. The sign of the error at intermediate positions tends to fluctuate, but generally, the position errors are smallest between the full-step positions, when both motor windings carry significant current.

Another way of looking at the avail-able microsteps is to plot the equilibrium position on the horizontal axis, in fractions of a full step, while plotting the torque at each available equilibrium position on the vertical axis. If we assume a 4-bit analog-to-digital converter, giving 16 current levels for each motor winding, there are 256 equilibrium positions. Of these, 52 offer holding torques within 10 percent of the desired value, and only 33 are within 5 percent; these 33 points are shown in bold in Ill. 69.

If torque variations are to be held within 10 percent, it is fairly easy to select eight almost uniformly spaced microsteps from among those shown in Ill. 69; these are boxed in the figure. The maximum errors occur at the 1/.4 -step points; the maximum error is 0.008 step or 0.06 microstep. This error will be irrelevant if the dead zone is wider than this.

If 10 microsteps are desired, the situation is worse. The best choices, still holding the maximum torque variation to 10 percent, gives a maximum position error of 0.026 step or 0.26 microstep. Doubling the allowable variation in torque approximately halves the positioning error for the 10-microstep example, but does nothing to improve the 8-microstep example.

One option which some motor control system designers have explored involves the use of nonlinear digital-to-analog converters (DACs). This is an excellent solution for small numbers of microsteps, but building converters with essentially sinusoidal transfer functions is difficult if high precision is desired.

ILL. 68 Plot of actual versus expected rotor position of a microcontrolled stepping motor.

ILL. 69 Holding-torque position.

Typical Control Circuits

As typically used, a microstepping controller for one motor winding involves a current-limited H-bridge or unipolar drive circuit, where the current is set by a reference voltage. The reference voltage is then determined by an analog-to-digital converter, as shown in Ill. 70.

Ill. 70 assumes a current-limited motor controller such as is shown in Ill. 10.59, 10.60, 10.62, and 10.63. For all of these drivers, the state of the X and Y inputs determines whether the motor winding is on or off and, if on, the direction of the current through the winding. The V0 through Vn inputs determine the reference volt-age and thus the current through the motor winding.

Practical Examples. There are a fair number of nicely designed integrated circuits combining a current-limited H-bridge with a small DAC to allow microstepping control of motors drawing under 2 A per winding. The PBL3717 and PBL3770 from Ericsson Microelectronics are excellent examples; the latter is also available as the UC3770 from Unitrode. These chips integrate a 2-bit DAC with a PWM-controlled H bridge, packaged in either 16-pin power-DIP format or in surface-mountable form. The 3717 is a slightly cleaner design, good for 1.2 A, while the 3770 is good for up to 1.8 or 2 A, depending on how the chip is cooled. The 3955 from Allegro Microsystems incorporates a 3-bit nonlinear DAC and handles up to 1.5 A; this is available in 16-pin power DIP or small-outline integrated-circuit (SOIC) formats.

The nonlinear DAC in this chip is specifically designed to minimize step-angle errors and torque variations using 8 microsteps per full step.

The LMD18245 from National Semiconductor is a good choice for microstepped control of motors drawing up to 3 A. This chip incorporates a 4-bit linear DAC, and an external DAC can be used if higher precision is required. As indicated by the data shown in Ill. 69, a 4-bit linear DAC can produce 8 reasonably uniformly spaced microsteps, so this chip is a good choice for applications that exceed the power levels supported by the Allegro 3955.

ILL. 70 Microstepping controller circuit.

Top of Page

PREV: Current Limiting for Stepping Motors | NEXT: Brushless DC Motor Drive Schemes Guide Index | HOME