2. Stepping Motor Physics

Part of Stepping Motors
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science


In any presentation covering the quantitative physics of a class of systems, it is important to beware of the units of measurement used! In this presentation of stepping motor physics, we will assume standard physical units:

EnglishCGS MKS
MASS slug gram kilogram
FORCE pound dyne newton
DISTANCEfoot centimetermeter
TIME second second second
ANGLE radian radian radian
A force of one pound will accelerate a mass of one slug at one foot per second squared. The same relationship holds between the force, mass, time and distance units of the other measurement systems. Most people prefer to measure angles in degrees, and the common engineering practice of specifying mass in pounds or force in kilograms will not yield correct results in the formulas given here! Care must be taken to convert such irregular units to one of the standard systems outlined above before applying the formulas given here!


For a motor that turns S radians per step, the plot of torque versus angular position for the rotor relative to some initial equilibrium position will generally approximate a sinusoid. The actual shape of the curve depends on the pole geometry of both rotor and stator, and neither this curve nor the geometry information is given in the motor data sheets I've seen! For permanent magnet and hybrid motors, the actual curve usually looks sinusoidal, but looks can be misleading. For variable reluctance motors, the curve rarely even looks sinusoidal; trapezoidal and even assymetrical sawtooth curves are not uncommon.

For a three-winding variable reluctance or permanent magnet motors with S radians per step, the period of the torque versus position curve will be 3S; for a 5-phase permanent magnet motor, the period will be 5S. For a two-winding permanent magnet or hybrid motor, the most common type, the period will be 4S, as illustrated in Figure 2.1:

Figure 2.1 
                 ---   |             ---
               /     \ |           /     \
              /       \|          /       
       -3S  /     -S   |\  +S   /    +3S
     \     /           | \     /
       ---             |   ---

Again, for an ideal 2 winding permanent magnet motor, this can be mathematically expressed as:
T = -h sin( ((π / 2) / S) θ )
T -- torque
h -- holding torque
S -- step angle, in radians
θ = shaft angle, in radians
But remember, subtle departures from the ideal sinusoid described here are very common.

The single-winding holding torque of a stepping motor is the peak value of the torque versus position curve when the maximum allowed current is flowing through one motor winding. If you attempt to apply a torque greater than this to the motor rotor while maintaining power to one winding, it will rotate freely.

It is sometimes useful to distinguish between the electrical shaft angle and the mechanical shaft angle. In the mechanical frame of reference, 2π radians is defined as one full revolution. In the electrical frame of reference, a revolution is defined as one period of the torque versus shaft angle curve. Throughout this tutorial, θ refers to the mechanical shaft angle, and ((π/2)/S)θ gives the electrical angle for a motor with 4 steps per cycle of the torque curve.

Assuming that the torque versus angular position curve is a good approximation of a sinusoid, as long as the torque remains below the holding torque of the motor, the rotor will remain within 1/4 period of the equilibrium position. For a two-winding permanent magnet or hybrid motor, this means the rotor will remain within one step of the equilibrium position.

With no power to any of the motor windings, the torque does not always fall to zero! In variable reluctance stepping motors, residual magnetization in the magnetic circuits of the motor may lead to a small residual torque, and in permanent magnet and hybrid stepping motors, the combination of pole geometry and the permanently magnetized rotor may lead to significant torque with no applied power.

The residual torque in a permanent magnet or hybrid stepping motor is frequently referred to as the cogging torque or detent torque of the motor because a naive observer will frequently guess that there is a detent mechanism of some kind inside the motor. The most common motor designs yield a detent torque that varies sinusoidally with rotor angle, with an equilibrium position at every step and an amplitude of roughly 10% of the rated holding torque of the motor, but a quick survey of motors from one manufacturer (Phytron) shows values as high as 23% for one very small motor to a low of 2.6% for one mid-sized motor.

Half-Stepping and Microstepping

So long as no part of the magnetic circuit saturates, powering two motor windings simultaneously will produce a torque versus position curve that is the sum of the torque versus position curves for the two motor windings taken in isolation. For a two-winding permanent magnet or hybrid motor, the two curves will be S radians out of phase, and if the currents in the two windings are equal, the peaks and valleys of the sum will be displaced S/2 radians from the peaks of the original curves, as shown in Figure 2.2:

Figure 2.2 
                    -- |                --
                  /    |              /
                 |--  -||            |--
     |\        /|   /\ | |\        /|   /\
     | \-3S   / |  /  \| | \+1S   / |  /
      |  \  /  | /-1S  |\ |  \  /  | /+3S
     \|   \/   |/      | \|   \/   |/
       \--  --/        |   \--  --/
        \    /         |    \    /
          --           |      --

This is the basis of half-stepping. The two-winding holding torque is the peak of the composite torque curve when two windings are carrying their maximum rated current. For common two-winding permanent magnet or hybrid stepping motors, the two-winding holding torque will be:
h2 = 20.5 h1
h1 -- single-winding holding torque
h2 -- two-winding holding torque
This assumes that no part of the magnetic circuit is saturated and that the torque versus position curve for each winding is an ideal sinusoid.

Most permanent-magnet and variable-reluctance stepping motor data sheets quote the two-winding holding torque and not the single-winding figure; in part, this is because it is larger, and in part, it is because the most common full-step controllers always apply power to two windings at once.

If any part of the motor's magnetic circuits is saturated, the two torque curves will not add linearly. As a result, the composite torque will be less than the sum of the component torques and the equilibrium position of the composite may not be exactly S/2 radians from the equilibria of the original.

Microstepping allows even smaller steps by using different currents through the two motor windings, as shown in Figure 2.3:

Figure 2.3 
                    -                   -
                 -/-  \|             -/-  \
      \        / /   \-\--         / /   \-
       \-3S   / /  /  \|\  \+1S   / /  /  \
      \  \  / /  /-1S  |\ \  \  / /  /+3S
     \ \   /-/--       | \ \   /-/--
       -\-  /          |   -\-  /
          -                   -

For a two-winding variable reluctance or permanent magnet motor, assuming nonsaturating magnetic circuits, and assuming perfectly sinusoidal torque versus position curves for each motor winding, the following formula gives the key characteristics of the composite torque curve:
h = ( a2 + b2 )0.5
x = ( S / (π / 2) ) arctan( b / a )
a -- torque applied by winding with equilibrium at 0 radians.
b -- torque applied by winding with equilibrium at S radians.
h -- holding torque of composite.
x -- equilibrium position, in radians.
S -- step angle, in radians.
In the absence of saturation, the torques a and b are directly proportional to the currents through the corresponding windings. It is quite common to work with normalized currents and torques, so that the single-winding holding torque or the maximum current allowed in one motor winding is 1.0.

Friction and the Dead Zone

The torque versus position curve shown in Figure 2.1 does not take into account the torque the motor must exert to overcome friction. Note that frictional forces may be divided into two large categories, static or sliding friction, which requires a constant torque to overcome, regardless of velocity, and dynamic friction or viscous drag, which offers a resistance that varies with velocity. Here, we are concerned with the impact of static friction. Suppose the torque needed to overcome the static friction on the driven system is 1/2 the peak torque of the motor, as illustrated in Figure 2.4.

Figure 2.4 
                 ---   |             ---
     _ _ _ _ _ / _ _ \ | _ _ _ _ _ / _ _ \
              /       \|          /       
     _ -3S _/_ _ _-S _ |\_ +S_ _/_ _ +3S _
     \     /           | \     /
       ---             |   ---

The dotted lines in Figure 2.4 show the torque needed to overcome friction; only that part of the torque curve outside the dotted lines is available to move the rotor. The curve showing the available torque as a function of shaft angle is the difference between these curves, as shown in Figure 2.5:
Figure 2.5 
            | |  ---  |||       | |  ---
               /     \ |           /     \  
     \ -3S /      -S   | \ +S  /     +3S 
       ---  | |       |||  ---  | |

Note that the consequences of static friction are twofold. First, the total torque available to move the load is reduced, and second, there is a dead zone about each of the equilibria of the ideal motor. If the motor rotor is positioned anywhere within the dead zone for the current equilibrium position, the frictional torque will balance the torque applied by the motor windings, and the rotor will not move. Assuming an ideal sinusoidal torque versus position curve in the absence of friction, the angular width of these dead zones will be:
d = 2 ( S / (π / 2)) arcsin( f / h ) = ( S / (π / 4)) arcsin( f / h )
d -- width of dead zone, in radians
S -- step angle, in radians
f -- torque needed to overcome static friction
h -- holding torque

The important thing to note about the dead zone is that it limits the ultimate positioning accuracy. For the example, where the static friction is 1/2 the peak torque, a 90° per step motor will have dead-zones 60° wide. That means that successive steps may be as large as 150° and as small as 30°, depending on where in the dead zone the rotor stops after each step!

The presence of a dead zone has a significant impact on the utility of microstepping! If the dead zone is x° wide, then microstepping with a step size smaller than x° may not move the rotor at all. Thus, for systems intended to use high resolution microstepping, it is very important to minimize static friction.

This entire discussion of static friction is oversimplified because we assumed that the force needed to overcome static friction is a constant that is independent of velocity. This is a useful approximation, but real sliding contact frequently exhibits another phenomonon, sometimes described as stiction. In real systems, there is frequently a near constant static friction, independent of velocity, so long as the velocity is nonzero. When the velocity falls sufficiently close to zero, however, the frictional force rises because the sliding surfaces stick.


Each time you step the motor, you electronically move the equilibrium position S radians. This moves the entire curve illustrated in Figure 2.1 a distance of S radians, as shown in Figure 2.6:

Figure 2.6 
                 ---  ---            ---
      \        /    /\ |  \        /    /\
       \      /    /  \|   \      /    /    
      -3S\  /    /  old|\ new\  /    /+3S
     \    \/    /      | \    \/    /
       ---  ---        |   ---  ---

The first thing to note about the process of taking one step is that the maximum available torque is at a minimum when the rotor is halfway from one step to the next. This minimum determines the running torque, the maximum torque the motor can drive as it steps slowly forward. For common two-winding permanent magnet motors with ideal sinusoidal torque versus position curves and holding torque h, this will be h/(20.5). If the motor is stepped by powering two windings at a time, the running torque of an ideal two-winding permanent magnet motor will be the same as the single-winding holding torque.

It shoud be noted that at higher stepping speeds, the running torque is sometimes defined as the pull-out torque. That is, it is the maximum frictional torque the motor can overcome on a rotating load before the load is pulled out of step by the friction. Some motor data sheets define a second torque figure, the pull-in torque. This is the maximum frictional torque that the motor can overcome to accelerate a stopped load to synchronous speed. The pull-in torques documented on stepping motor data sheets are of questionable value because the pull-in torque depends on the moment of inertia of the load used when they were measured, and few motor data sheets document this!

In practice, there is always some friction, so after the equilibrium position moves one step, the rotor is likely to oscillate briefly about the new equilibrium position. The resulting trajectory may resemble the one shown in Figure 2.7:

Figure 2.7 
        0 |---. 
 Shaft    |   :\     ___
 Angle  S |   :.\.../...\....._---___
          |      \_/      ---
          |    Time --->

Here, the trajectory of the equilibrium position is shown as a dotted line, while the solid curve shows the trajectory of the motor rotor.


The resonant frequency of the motor rotor depends on the amplitude of the oscillation; but as the amplitude decreases, the resonant frequency rises to a well-defined small-amplitude frequency. This frequency depends on the step angle and on the ratio of the holding torque to the moment of inertia of the rotor. Either a higher torque or a lower moment will increase the frequency!

Formally, the small-amplitude resonance can be computed as follows: First, recall Newton's law for angular acceleration:

T = µ A
T -- torque applied to rotor
µ -- moment of inertia of rotor and load
A -- angular acceleration, in radians per second per second
We assume that, for small amplitudes, the torque on the rotor can be approximated as a linear function of the displacement from the equilibrium position. Therefore, Hooke's law applies:
T = -k θ
k -- the "spring constant" of the system, in torque units per radian
θ -- angular position of rotor, in radians
We can equate the two formulas for the torque to get:
µ A = -k θ
Note that acceleration is the second derivitive of position with respect to time:
A = d2θ/dt2
so we can rewrite this the above in differential equation form:
d2θ/dt2 = -(k/µ) θ
To solve this, recall that, for:
f( t ) = a sin bt
The derivitives are:
df( t )/dt = ab cos bt
d2f( t )/dt2 = -ab2 sin bt = -b2 f(t)
Note that, throughout this discussion, we assumed that the rotor is resonating. Therefore, it has an equation of motion something like:
θ = a sin (2π f t)
a = angular amplitude of resonance
f = resonant frequency
This is an admissable solution to the above differential equation if we agree that:
b = 2π f
b2 = k
Solving for the resonant frequency f as a function of k and µ, we get:
f = ( k/µ )0.5 / 2π
It is crucial to note that it is the moment of inertia of the rotor plus any coupled load that matters. The moment of the rotor, in isolation, is irrelevant! Some motor data sheets include information on resonance, but if any load is coupled to the rotor, the resonant frequency will change!

In practice, this oscillation can cause significant problems when the stepping rate is anywhere near a resonant frequency of the system; the result frequently appears as random and uncontrollable motion.

Resonance and the Ideal Motor

Up to this point, we have dealt only with the small-angle spring constant k for the system. This can be measured experimentally, but if the motor's torque versus position curve is sinusoidal, it is also a simple function of the motor's holding torque. Recall that:

T = -h sin( ((π / 2) / S) θ )
The small angle spring constant k is the negative derivitive of T at the origin.
k = -dT / dθ = - (- h ((π / 2) / S) cos( 0 ) ) = (π / 2)(h / S)
Substituting this into the formula for frequency, we get:
f = ( (π / 2)(h / S) / µ )0.5 / 2π = ( h / ( 8π µ S ) )0.5
Given that the holding torque and resonant frequency of the system are easily measured, the easiest way to determine the moment of inertia of the moving parts in a system driven by a stepping motor is indirectly from the above relationship!
µ = h / ( 8π f 2 S )
For practical purposes, it is usually not the torque or the moment of inertia that matters, but rather, the maximum sustainable acceleration that matters! Conveniently, this is a simple function of the resonant frequency! Starting with the Newton's law for angular acceleration:
A = T / µ
We can substitute the above formula for the moment of inertia as a function of resonant frequency, and then substitute the maximum sustainable running torque as a function of the holding torque to get:
A = ( h / ( 20.5 ) ) / ( h / ( 8π f 2 S ) ) = 8π S f 2 / (20.5)
Measuring acceleration in steps per second squared instead of in radians per second squared, this simplifies to:
Asteps = A / S = 8π f 2 / (20.5)
Thus, for an ideal motor with a sinusoidal torque versus rotor position function, the maximum acceleration in steps per second squared is a trivial function of the resonant frequency of the motor and rigidly coupled load!

For a two-winding permanent-magnet or variable-reluctance motor, with an ideal sinusoidal torque-versus-position characteristic, the two-winding holding torque is a simple function of the single-winding holding torque:

h2 = 20.5 h1
h1 -- single-winding holding torque
h2 -- two-winding holding torque
Substituting this into the formula for resonant frequency, we can find the ratios of the resonant frequencies in these two operating modes:
f1 = ( h1 / ... )0.5
f2 = ( h2 / ... )0.5 = ( 20.5 h1 / ... )0.5 = 20.25 ( h1 / ... )0.5 = 20.25 f1 = 1.189... f1
This relationship only holds if the torque provided by the motor does not vary appreciably as the stepping rate varies between these two frequencies.

In general, as will be discussed later, the available torque will tend to remain relatively constant up until some cutoff stepping rate, and then it will fall. Therefore, this relationship only holds if the resonant frequencies are below this cutoff stepping rate. At stepping rates above the cutoff rate, the two frequencies will be closer to each other!

Living with Resonance

If a rigidly mounted stepping motor is rigidly coupled to a frictionless load and then stepped at a frequency near the resonant frequency, energy will be pumped into the resonant system, and the result of this is that the motor will literally lose control. There are three basic ways to deal with this problem:

Controlling resonance in the mechanism

Use of elastomeric motor mounts or elastomeric couplings between motor and load can drain energy out of the resonant system, preventing energy from accumulating to the extent that it allows the motor rotor to escape from control.

Or, viscous damping can be used. Here, the damping will not only draw energy out of the resonant modes of the system, but it will also subtract from the total torque available at higher speeds. Magnetic eddy current damping is equivalent to viscous damping for our purposes.

Figure 2.8 illustrates the use of elastomeric couplings and viscous damping in two typical stepping motor applications, one using a lead screw to drive a load, and the other using a tendon drive:

Figure 2.8 
   |       |  _b         ___        _
   | motor |=|_|=/=/=/=/|___|/=/=/=|_|
   |_______|           |_____|c     d
       |___|a         e |___| 
       ___        -----------------
      / b_\__________________________d
     | (o)_|_______________________(o)
      \___/            |_____|c      
      |___|a          e |___| 

In Figure 2.8, elastomeric moter mounts are shown at a and elastomeric couplings between the motor and load are shown at b and c. The end bearing for the lead screw or tendon, at d, offers an opportunity for viscous damping, as do the ways on which the load slides, at e. Even the friction found in sealed ballbearings or teflon on steel ways can provide enough damping to prevent resonance problems.

Controlling resonance in the low-level drive circuitry

A resonating motor rotor will induce an alternating current voltage in the motor windings. If some motor winding is not currently being driven, shorting this winding will impose a drag on the motor rotor that is exactly equivalent to using a magnetic eddy current damper.

If some motor winding is currently being driven, the AC voltage induced by the resonance will tend to modulate the current through the winding. Clamping the motor current with an external inductor will counteract the resonance. Schemes based on this idea are incorporated into some of the drive circuits illustrated in later sections of this tutorial.

Controlling resonance in the high-level control system

The high level control system can avoid driving the motor at known resonant frequencies, accelerating and decelerating through these frequencies and never attempting sustained rotation at these speeds.

Recall that the resonant frequency of a motor in half-stepped mode will vary by up to 20% from one half-step to the next. As a result, half-stepping pumps energy into the resonant system less efficiently than full stepping. Furthermore, when operating near these resonant frequencies, the motor control system may preferentially use only the two-winding half steps when operating near the single-winding resonant frequency, and only the single-winding half steps when operating near the two-winding resonant frequency. Figure 2.9 illustrates this:

Figure 2.9 
          |                  Resonances
          |  Two Winding      |     |
          |xxxxxxxxxxxxxxxxxxxxxxx  |
          |                   |   - |
   Torque |------------------   -_ |  _
          |  One Winding     | |  xxxx -_
          |                  | |   | |xx -_
          |                  | |   | |  xx
          |                  | |   | |    x
          |        Speed

The darkened curve in Figure 2.9 shows the operating torque achieved by a simple control scheme that delivers useful torque over a wide range of speeds despite the fact that the available torque drops to zero at each resonance in the system. This solution is particularly effective if the resonant frequencies are sharply defined and well separated. This will be the case in minimally damped systems operating well below the cutoff speed defined in the next section.

Torque versus Speed

An important consideration in designing high-speed stepping motor controllers is the effect of the inductance of the motor windings. As with the torque versus angular position information, this is frequently poorly documented in motor data sheets, and indeed, for variable reluctance stepping motors, it is not a constant! The inductance of the motor winding determines the rise and fall time of the current through the windings. While we might hope for a square-wave plot of current versus time, the inductance forces an exponential, as illustrated in Figure 2.10:

Figure 2.10 
 1 |      ........_______
   |ideal :    _--       :\
   |      :  /           : \
   |      : /5v          :  \_
 0 |______:/             :....--____
   |    Time --->

The details of the current-versus-time function through each winding depend as much on the drive circuitry as they do on the motor itself! It is quite common for the time constants of these exponentials to differ. The rise time is determined by the drive voltage and drive circuitry, while the fall time depends on the circuitry used to dissipate the stored energy in the motor winding.

At low stepping rates, the rise and fall times of the current through the motor windings has little effect on the motor's performance, but at higher speeds, the effect of the inductance of the motor windings is to reduce the available torque, as shown in Figure 2.11:

Figure 2.11 
 T |------              --- Running Torque
   |      |\_  Resonant Speed
   |      |  \ |
   |      |    |
   | Cutoff   | |\_    Max Speed
   |  Speed        \_  |
   |           V     \_|
 0 |       Speed

The motor's maximum speed is defined as the speed at which the available torque falls to zero. Measuring maximum speed can be difficult when there are resonance problems, because these cause the torque to drop to zero prematurely. The cutoff speed is the speed above which the torque begins to fall. When the motor is operating below its cutoff speed, the rise and fall times of the current through the motor windings occupy an insignificant fraction of each step, while at the cutoff speed, the step duration is comparable to the sum of the rise and fall times. Note that a sharp cutoff is rare, and therefore, statements of a motor's cutoff speed are, of necessity, approximate.

The details of the torque versus speed relationship depend on the details of the rise and fall times in the motor windings, and these depend on the motor control system as well as the motor. Therefore, the cutoff speed and maximum speed for any particular motor depend, in part, on the control system! The torque versus speed curves published in motor data sheets occasionally come with documentation of the motor controller used to obtain that curve, but this is far from universal practice!

Similarly, the resonant speed depends on the moment of inertia of the entire rotating system, not just the motor rotor, and the extent to which the torque drops at resonance depends on the presence of mechanical damping and on the nature of the control system. Some published torque versus speed curves show very clear resonances without documenting the moment of inertia of the hardware that may have been attached to the motor shaft in order to make torque measurements.

The torque versus speed curve shown in Figure 2.11 is typical of the simplest of control systems. More complex control systems sometimes introduce electronic resonances that act to increase the available torque above the motor's low-speed torque. A common result of this is a peak in the available torque near the cutoff speed.

Electromagnetic Issues

In a permanent magnet or hybrid stepping motor, the magnetic field of the motor rotor changes with changes in shaft angle. The result of this is that turning the motor rotor induces an AC voltage in each motor winding. This is referred to as the counter EMF because the voltage induced in each motor winding is always in phase with and counter to the ideal waveform required to turn the motor in the same direction. Both the frequency and amplitude of the counter EMF increase with rotor speed, and therefore, counter EMF contributes to the decline in torque with increased stepping rate.

Variable reluctance stepping motors also induce counter EMF! This is because, as the stator winding pulls a tooth of the rotor towards its equilibrium position, the reluctance of the magnetic circuit declines. This decline increases the inductance of the stator winding, and this change in inductance demands a decrease in the current through the winding in order to conserve energy. This decrease is evidenced as a counter EMF.

The reactance (inductance and resistance) of the motor windings limits the current flowing through them. Thus, by ohms law, increasing the voltage will increase the current, and therefore increase the available torque. The increased voltage also serves to overcome the counter EMF induced in the motor windings, but the voltage cannot be increased arbitrarily! Thermal, magnetic and electronic considerations all serve to limit the useful torque that a motor can produce.

The heat given off by the motor windings is due to both simple resistive losses, eddy current losses, and hysteresis losses. If this heat is not conducted away from the motor adequately, the motor windings will overheat. The simplest failure this can cause is insulation breakdown, but it can also heat a permanent magnet rotor to above its curie temperature, the temperature at which permanent magnets lose their magnetization. This is a particular risk with many modern high strength magnetic alloys.

Even if the motor is attached to an adequate heat sink, increased drive voltage will not necessarily lead to increased torque. Most motors are designed so that, with the rated current flowing through the windings, the magnetic circuits of the motor are near saturation. Increased current will not lead to an appreciably increased magnetic field in such a motor!

Given a drive system that limits the current through each motor winding to the rated maximum for that winding, but uses high voltages to achieve a higher cutoff torque and higher torques above cutoff, there are other limits that come into play. At high speeds, the motor windings must, of necessity, carry high frequency AC signals. This leads to eddy current losses in the magnetic circuits of the motor, and it leads to skin effect losses in the motor windings.

Motors designed for very high speed running should, therefore, have magnetic structures using very thin laminations or even nonconductive ferrite materials, and they should have small gauge wire in their windings to minimize skin effect losses. Common high torque motors have large-gauge motor windings and coarse core laminations, and at high speeds, such motors can easily overheat and should therefore be derated accordingly for high speed running!

It is also worth noting that the best way to demagnetize something is to expose it to a high frequency-high amplitude magnetic field. Running the control system to spin the rotor at high speed when the rotor is actually stalled, or spinning the rotor at high speed against a control system trying to hold the rotor in a fixed position will both expose the rotor to a high amplitude high-frequency field. If such operating conditions are common, particularly if the motor is run near the curie temperature of the permanent magnets, demagnetization is a serious risk and the field strengths (and expected torques) should be reduced accordingly!