Introduction
Stepper Motors have several features which distinguish them from AC Motors, and DC Servo Motors.
- Brushless – Steppers are brushless. Motors with contact brushes create sparks, undesirable in certain environments. (Space missions, for example.)
- Holding Torque – Steppers have very good low speed and holding torque. Steppers are usually rated in terms of their holding force (oz/in) and can even hold a position (to a lesser degree) without power applied, using magentic ‘detent’ torque.
- Open loop positioning – Perhaps the most valuable and interesting feature of a stepper is the ability to position the shaft in fine predictable increments, without need to query the motor as to its position. Steppers can run ‘open-loop’ without the need for any kind of encoder to determine the shaft position. Closed loop systems- systems that feed back position information, are known as servo systems. Compared to servos, steppers are very easy to control, the position of the shaft is guaranteed as long as the torque of the motor is sufficient for the load, under all its operating conditions.
- Load Independent – The rotation speed of a stepper is independent of load, provided it has sufficient torque to overcome slipping. The higher rpm a stepper motor is driven, the more torque it needs, so all steppers eventually poop out at some rpm and start slipping. Slipping is usually a disaster for steppers, because the position of the shaft becomes unknown. For this reason, software usually keeps the stepping rate within a maximum top rate. In applications where a known RPM is needed under a varying load, steppers can be very handy.
Types of steppers
Stepper Motors come in a variety of sizes, and strengths, from tiny floppy disk motors, to huge machinery steppers rated over 1000 oz in. There are two basic types of steppers– bipolar and unipolar. The bipolar stepper has 4 wires. Unipolar steppers have 5,6 or 8 wires. This document will discuss control of Unipolar Steppers.
Motor Basics
The Unipolar Stepper motor has 2 coils, simple lengths of wound wire. The coils are identical and are not electrically connected. Each coil has a center tap – a wire coming out from the coil that is midway in length between its two terminals. You can identify the separate coils by touching the terminal wires together– If the terminals of a coil are connected, the shaft becomes harder to turn. Because of the long length of the wound wire, it has a significant resistance (and inductance). You can identify the center tap by measuring resistance with a suitable ohm-meter (capable of measuring low resistance <10 ohm) The resistance from a terminal to the center tap is half the resistance from the two terminals of a coil. Coil resistance of half a coil is usually stamped on the motor; for example, ‘5 ohms/phase’ indicates the resistance from center tap to either terminal of a coil. The resistance from terminal to terminal should be 10 ohms.
Motor Control Circuitry
Current flowing through a coil produces a magnet field which attracts a permanent magnet rotor which is connected to the shaft of the motor. The basic principle of stepper control is to reverse the direction of current through the 2 coils of a stepper motor, in sequence, in order to influence the rotor. Since there are 2 coils and 2 directions, that gives us a possible 4-phase sequence. All we need to do is get the sequencing right and the motor will turn continuously. You may wonder how the stepper can achieve such fine stepping increments with only a 4-phase sequence. The internal arrangement of the motor is quite complex- the winding and core repeating around the perimeter of the motor many times. The rotor is advanced only a small angle, either forward or reverse, and the 4-phase sequence is repeated many times before a complete revolution occurs.
Let us return to the 4-phase sequence of reversing the current though the 2 coils. A Bipolar stepper controller achieves the current reversal by reversing the polarity at the two terminals of a coil. The Unipolar controller takes advantage of the center tap to achieve the current reversal with a clever trick — The center tap is tied to the positive supply, and one of the 2 terminals is grounded to get the current flowing one direction. The other terminal is grounded to reverse the current. Current can thus flow in both directions, but only half coils are energized at a time. Both terminals are never grounded at the same time, which would energize both coils, achieving nothing but a waste of power.
Conceptual Model of Unipolar Stepper Motor
With center taps of the windings wired to the positive supply, the terminals of each winding are grounded, in sequence, to attract the rotor, which is indicated by the arrow in the picture. (Remember that a current through a coil produces a magnetic field.) This conceptual diagram depicts a 90 degree step per phase.
In a basic “Wave Drive” clockwise sequence, winding 1a is de-activated and winding 2a activated to advance to the next phase. The rotor is guided in this manner from one winding to the next, producing a continuous cycle. Note that if two adjacent windings are activated, the rotor is attracted mid-way between the two windings.
The following table describes 3 useful stepping sequences and their relative merits. The sequence pattern is represented with 4 bits, a ‘1’ indicates an energized winding. After the last step in each sequence the sequence repeats. Stepping backwards through the sequence reverses the direction of the motor.
Sequence | Name | Description |
0001 0010 0100 1000 | Wave Drive, One-Phase | Consumes the least power. Only one phase is energized at a time. Assures positional accuracy regardless of any winding imbalance in the motor. |
0011 0110 1100 1001 | Hi-Torque, Two-Phase | Hi Torque – This sequence energizes two adjacent phases, which offers an improved torque-speed product and greater holding torque. |
0001 0011 0010 0110 0100 1100 1000 1001 | Half-Step | Half Step – Effectively doubles the stepping resolution of the motor, but the torque is not uniform for each step. (Since we are effectively switching between Wave Drive and Hi-Torque with each step, torque alternates each step.) This sequence reduces motor resonance which can sometimes cause a motor to stall at a particular resonant frequency. Note that this sequence is 8 steps. |
Identifying Stepper Motors
Stepper motors have numerous wires, 4, 5, 6, or 8. When you turn the shaft you will usually feel a “notched” movement. Motors with 4 wires are probably Bipolar motors and will not work with a Unipolar control circuit. The most common configurations are pictured above. You can use an ohm-meter to find the center tap – the resistance between the center and a leg is 1/2 that from leg to leg. Measuring from one coil to the other will show an open circuit, since the 2 coils are not connected. (Notice that if you touch all the wires together, with power off, the shaft is difficult to turn!)
Shortcut for finding the proper wiring sequence
Connect the center tap(s) to the power source (or current-Limiting resistor.) Connect the remaining 4 wires in any pattern. If it doesn’t work, you only need try these 2 swaps…
1 2 4 8 – (arbitrary first wiring order)
1 2 8 4 – switch end pair
1 8 2 4 – switch middle pair
You’re finished when the motor turns smoothly in either direction. If the motor turns in the opposite direction from desired, reverse the wires so that ABCD would become DCBA.
Stepper Motor Ratings
Manufacturers rate stepper motors with at least two of the familiar electrical terms: voltage, current, resistance. When one of these terms is missing it can be derived using the formula: Voltage = Current x Resistance. If only the current rating is known, the resistance rating can be found by carefully measuring a half coil (center-tap to either terminal) with an ohmmeter.
In the rating nomenclature, a ‘phase’ refers to the minimum operational coil, which is a half-coil for unipolar motors. For example, ‘5 ohms/phase’ indicates the half-coil resistance. A current rating (i.e. 2 amps/phase) specifies the maxium current the motor can sustain through a half-coil for an extended period without overheating.
The current rating is usually taken as the ideal operating current.
Selecting a current limiting resistor
It is important that neither the motor nor controller exceed their rated currents. There is a precise relationship between the Voltage, Resistance, and Current ratings of both the motor and controller which must be understood before experimenting with motors.
The most straightforward way of reducing current to a motor is to reduce the voltage. With power supplied to the motor at its rated voltage, calculations are easy– the motor will draw the rated current.
There may be times, however, when the rated motor voltage is not available and you need to reduce current to the motor, or you simply wish to run the motors below the rated current. (There is a benefit of running motors at much higher than rated voltages with proper current-limiting — the motors can achieve higher RPMs.)
A current-limiting resistor in series with the motor can be used to effectively limit current to the motor, at the cost of wasted power. The resistor used is a special “power resistor” which must dissipate heat. Ideally, the resistor should be a non-inductive type so as not to interfere with the inductance of the motor and control circuit (especially when current-limiting to achieve higher RPMs).
The value of a current-limiting resistor in series with a motor coil can be derived from the following equality…
Vresistor = (Vsupply – Vmotor – Vdrop) = IR
Where…
Vsupply = Power supply voltage
Vmotor = Motor voltage rating
Vresistor = Voltage developed across the power resistor
Vdrop = Voltage drop due to transistors (0v for FETs, 1-2v otherwise)
Vmotor and I are fixed attributes of the motor. R is selected based on the power supply voltage that will be used. (This resistor also has a power rating.)
First, calculate Vresistor…
Vresistor = Vsupply – Vmotor – Vdrop
Then solve for R based on the desired current…
R = Vresistor / I
Minimum resistor wattage = Vresistor * I
For example, Using a power supply of 12 volts, what current limiting resistor should be chosen to deliver 1 amp of current to a motor with a voltage rating of 5v? Assume 1 volt drop due to the transistors used.
Vresistor = (12v – 5v – 1v) = 6v
R = 6V / 1 amp = 6 ohm
What will the voltage be across this resistor? 6v
What current will flow through this resistor? (same as motors current rating) = 1a
What power rating should this resistor be? 6v * 1a = 6 watt, minimum.
In practice, the wattage rating of the power resistor should be at least twice the calculated minimum. In addition, heat sinking may be required for power resistors.
Ideally, two matched current limiting resistors should be used, one in series with each of the 2 motor coil center taps.
The unipolar driver can share a single power resistor when the motor center taps are tied together, as in the 5-wire configuration. This single resistor can be thought of as two calculated resistors with terminals shorted, so they operate in parallel. The value of the single resistor is then half the calculated ohm value, with twice the calculated wattage rating. This works best in HI-Torque mode.
Power Supply Considerations
The current drawn by a single motor, holding in Hi-Torque mode is twice the rated current. Therefore the power supply must have a current rating of at least twice the motor current rating times the number of motors. This current requirement is the same regardless of operating voltage. (Don’t forget the power resistors when the power supply voltage exceeds the motor voltage.)
In summation, make your calculations carefully, and always apply caution when making any kind of modification to a circuit. Check the circuit often for over-heating.
Heat Considerations
Over-heating can be an early indicator of a problem or need for additional heat sinking. This is true of both the controller and motors. Components can be warm, even hot to the touch, but not so hot that you can’t leave your finger on them for a few seconds.
- Current Control of Stepper Motors
- Unipolar Stepper Motor and Control
- Microstepping of Stepper Motors
- Bipolar Stepper Motor and Control
Motors are designed to be mounted in such a way that heat is drawn away from the motors. This is usually accomplished with a metal mounting bracket. Motors that are not yet mounted may require some type of temporary heat sinking. Motors heat more running at the LOW speeds or in Hold Mode.
If a component or motor is running too hot, try using the Wave Drive stepping mode only, if it still runs too hot, try heat sinking, and/or a fan. If it still runs too hot, something is wrong.
This is the end of the Unipolar Stepper Motor Tutorial. At this time, please refer to the documentation that accompanies your particular project for precautions and further information.