An overview of stepper motors, and some common users for them
Stepper motors are ideal for situations where you need to accurately control (and determine) the position of something attached to a motor in a consistent, predictable, repeatable fashion. They get their name from the fact that they work by rotating over a fixed-number of 'steps' (for example, many motors have 200 or 400 'steps' in one 360° rotation). By counting the number of steps in any direction, you can keep track of exactly where the motor is currently set, and return to any point by moving the required number of steps in the opposite direction. One of the most common household uses of stepper motors is in your printer. The printer head needs to be precisely moved to a specific location in a consistent, repeatable fashion to produce an even and accurate print ... exactly the job stepper motors are made for.
One of the main advantages of stepper motors (other than being precise and repeatable) is that -- unlike servo or DC motors -- they require no maintenance because they have few moving parts. Stepper motors have electromagnets arranged in a fixed pattern, and are actually moved by precisely energising the different electromagnets in the motor (whereas servos or normal DC motors turn as soon as you apply an appropriate voltage). To make the shaft turn, the electromagnets are energised in a clock-wise or counter-clock-wise fashion (depending on which direction you want to move), which 'pulls' the shaft one step in the appropriate direction.
If you require even more precise control of your stepper motor, some circuits that are designed to control stepper motors support something called 'microstepping'. What this allows you to do, in essence, is to move in fractions of a step (hence the name microstepping). For example, if you have a stepper motor with 200 steps per 360° rotation (1.8° per step, which is probably the most common configuration for commercial stepper motors), you could use microstepping to achieve the following fine-grain movements (at the cost of reduced speed since you need to send up to 8x times as many pulses to the motor to move the same distance):
Microstepping (with a 200 step motor)
|Microstepping Speed ||Steps per 360° Rotation ||Degrees per Step |
|Full Step ||200 ||1.8° |
|1/2 Steps ||400 ||0.9° |
|1/4 Steps ||800 ||0.45° |
|1/8 Steps ||1600 ||0.225° |
Uses for Stepper Motors
While stepper motors can be used for a wide-variety of applications, they obviously excel in positioning systems (such as in the pick and place machines that precisely place the components on commercially produced PCBs). Some simple illustrations (courtesy Tamagawa Seiki Co.) of how stepper motors might be used in a commercial or industrial application can be seen below:
We've put together a basic reference design
for controlling small stepper motors and have a working prototype (based on the Allegro A3967
stepper motor controller). We'll put the schematics and some sample code here once we can kick it in a bit, and are sure that the design is trustworthy. Check back every now and then, or drop us a line
to kick us in the pants if you think we're taking too long!