Control of Stepping Motors

A Tutorial

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

This material expands on material originally posted to the rec.railroad newsgroup in 1990. Significant parts of this material have been republished as sections 5.2.10, 10.8, 10.9 and 10.10 of the Handbook of Small Electric Motors edited by W. H. Yeadon and A. W. Yeadon, McGraw-Hill, 2001.

Copyright © 1995, Douglas W. Jones; major revision 1998. This work may be transmitted or stored in electronic form on any computer attached to the Internet or World Wide Web. Individuals may make single copies for their own use. All other rights are reserved.



This tutorial covers the basic principles of stepping motors and stepping motor control systems, including both the physics of steppers, the electronics of the basic control systems, and software architectures appropriate for motor control.


Stepping motors can be viewed as electric motors without commutators. Typically, all windings in the motor are part of the stator, and the rotor is either a permanent magnet or, in the case of variable reluctance motors, a toothed block of some magnetically soft material. All of the commutation must be handled externally by the motor controller, and typically, the motors and controllers are designed so that the motor may be held in any fixed position as well as being rotated one way or the other. Most steppers, as they are also known, can be stepped at audio frequencies, allowing them to spin quite quickly, and with an appropriate controller, they may be started and stopped "on a dime" at controlled orientations.

For some applications, there is a choice between using servomotors and stepping motors. Both types of motors offer similar opportunities for precise positioning, but they differ in a number of ways. Servomotors require analog feedback control systems of some type. Typically, this involves a potentiometer to provide feedback about the rotor position, and some mix of circuitry to drive a current through the motor inversely proportional to the difference between the desired position and the current position.

In making a choice between steppers and servos, a number of issues must be considered; which of these will matter depends on the application. For example, the repeatability of positioning done with a stepping motor depends on the geometry of the motor rotor, while the repeatability of positioning done with a servomotor generally depends on the stability of the potentiometer and other analog components in the feedback circuit.

Stepping motors can be used in simple open-loop control systems; these are generally adequate for systems that operate at low accelerations with static loads, but closed loop control may be essential for high accelerations, particularly if they involve variable loads. If a stepper in an open-loop control system is overtorqued, all knowledge of rotor position is lost and the system must be reinitialized; servomotors are not subject to this problem.

Stepping motors are known in German as Schrittmotoren, in French as moteurs pas à pas, and in Spanish as motor paso paso.

Other Sources of Information

Web Sites

Other Motor Control Web Pages

Motor Manufacturers



Surplus and Hobbyist Suppliers

Motor Design, Selection and Prototype Fabricaton Services

Consulting Services

Other Web Pages


Handbook of Small Electric Motors
William H. Yeadon and Alan W, Yeadon, eds.
McGraw-Hill, c2001.
LC number: TK2537 .H34 2001

Stepping motors: a guide to modern theory and practice
Acarnley, P. P.
P. Peregrinus on behalf of the IEE, 1984, c1982.
LC number: TK2537 .A28 1984
A third edition has recently been released.

Stepping motors and their microprocessor controls
Kenjo, Takashi
Oxford University Press, c1984.
LC number: TK2785 .K4 1984

Last Modified:Wednesday, 11-Dec-2002 11:22:58 CST. Valid HTML 4.01!