Stepper Motor Circuits

From Mech
Revision as of 13:37, 30 June 2006 by Stephens (talk | contribs)
Jump to navigationJump to search


Basics

To control a stepper motor, you have to energize each winding individually in a specific and timed order. The energizing is accomplished by a driver circuit (an amplifier). The timing is performed by an indexer circuit and the objective (go forward, go backward, brake, coast, etc.) is controlled by some external user interface, such as a computer or joystick. The figure below shows this process.

Stepper motor block diagram.jpg


Drivers

The circuits for driving unipolar and bipolar stepper motors differ because bipolar stepper motors don't have a "center tap." However, it is possible to use bipolar drivers to drive unipolar steppers after some small modifications.

Care must be taken in the driver circuit to protect against voltage spikes. Because the motor windings are inductors, switching off the power to the winding produces a short burst of voltage. To protect against this, always put a diode in parallel with the winding, making sure the diode can handle the winding current. This is shown in the following figure.

Winding diagram.jpg

Unipolar Stepper Driver Circuit

The basic drive circuitry for a single unipolar winding is shown in the following figure.

Unipolar driver digram.jpg

For the switches, any kind of switching technology can be used. The following figure shows two such switches. The first one uses a power darlington transistor and the second one uses a power field effect transistor.

Unipolar switch circuits.jpg

For driving a full stepper motor, with multiple coils, you can either build each of the above circuits individually, or you can use a integrated chip. One such chip is the DS2003, which is a darlington array, and is shown below. This chip can be used when the total current to each winding is less than 500 milliamps.

Ds2003.png

Bipolar Stepper Driver Circuit

Bipolar stepper drivers use H-bridges to energize the windings of the motor. H-bridges allow you to chose the direction of the current through the winding. Using an H-bridge configuration, there are four transistors for each winding as shown in the first figure below. However, most of the time they are prewired together so that only two inputs are needed. This makes generating pulses easier and also serves to protect against short circuits. This circuit is shown in the second figure below.

Bipolar4input.png Bipolar2input.png

The table below shows the result of each possible control input.

XY ABCD Mode
00 0000 coast
01 1001 forward
10 0110 reverse
11 1111 brake


Indexing

Integrated Circuits

MC3479

The MC3479 is a single-chip stepper motor driver that can handle 350mA per winding. There are several high-level digital inputs that control the speed and direction of the motor. The first figure below shows the pinout and internal circuitry and the second picture shows a typical setup.

Mc3479.png Mc3479 circuit.png


References