This page features simple and inexpensive, stand alone BIPOLAR stepper motor driver using parts that are available from many sources.
The driver is designed for medium and low speed applications with motors that draw up to 1.0 ampere per phase.
This driver provides only basic control functions such as: Forward, Reverse, Stop and has a calculated Step rate adjustment range of 0.72 (1.39 sec) to 145 steps per second. (Slower and faster step rates are also possible. - See notes.)
The only step angle for this driver is the design step angle of the motor itself. 'Half-stepping' is not possible.
A 74194 - Bidirectional Universal Shift Register from the 74LS or 74HC - TTL families of logic devices to produce the stepping pattern.
The following schematic is for the printed circuitboard version of the 2008 stepper motor driver.
The direction is selected by an ON-OFF-ON toggle switch.
The stepping rate is shown being set by a 1 Megohm potentiometer (RT). Using the component values shown for R1, RT, R2 and C1, the calculated step rate range is between 0.72 steps per second (1.39 seconds) to 145 steps per second.
Each time the output of the LM555 timer goes HIGH (positive) the HIGH state at the OUTPUT terminals of the 74194 (PIN's 12, 13, 14, 15) is shifted either UP or DOWN by one place.
For the bipolar motor driver, two of the outputs are HIGH and two of the outputs are LOW at all times. The driver circuit produces four reversible combinations at the 'X' and 'Y' outputs:
1 - 0 & 1 - 0, 0 - 1 & 1 - 0, 0 - 1 & 0 - 1 and 1 - 0 & 0 - 1
Each clock pulse cause the sequences to shift one place to the right or left, depending on the direction control's setting.
The direction of the output shifting is controlled by switch S1. When S1 is in the OFF position (centre) the HIGH output state will remain at its last position and the motor will be stopped.
Switch S1 controls the direction indirectly through transistors Q2 and Q3.
When the base of Q2 is LOW the output shifting of IC 2 will be pins 15 - 14 - 13 - 12 - 15; .etc.
When the base of Q3 is LOW the output shifting of IC 2 will be pins 12 - 13 - 14 - 15 - 12; .etc.
The direction of the output's shifting determines the direction of the motor's rotation.
The four outputs of the 74194 are fed to one of the driver segments of a SN754410NE - H Bridge driver IC (IC 3).
When an input of a SN754410NE segment is HIGH, its output will be HIGH.
When an input of a SN754410NE segment is LOW, its output will be LOW.
The outputs of the SN754410NE are used in pairs that change their polarities on alternate clock pulses.
The following diagram shows the stepping order for the outputs of the SN754410NE (IC 3) as compared to the input and output of the 74194 (IC 2). The output is shown stepping in one direction only.
NOTE: In the diagram above, the order of the outputs of the 74194 does not correspond directly to the outputs of the SN754410NE. This is because two of the connections between these ICs are crossed on the circuitboard so that the circuitboards output terminals are arranged in an X1 - X2 - Y1 - Y2 order.
IC 1 - LM555 Timer - Normally configured as an astable oscillator but can be used a monostable timer for 1 step at a time operation or can be used as a buffer between external inputs and IC 2. (See later Diagrams.)
IC 2 - 74194 - 4-Bit Bidirectional Universal Shift Register. The shift register provides the logic that controls the direction of the drivers output steps.
This circuit can use either the 74LS194 or the 74HC194 shift register IC. Their logic functions are identical but the 74HC194 IC is a CMOS type that can be damaged by static electricity discharges. Antistatic precautions should be used when handling the 74HC194 to avoid damage.
If you are purchasing your own parts use the 74LS194 IC if it is available.
IC 3 - SN754410NE - Quad - Half H bridge, motor driver IC. Each segment can handle currents of up to 600 milliamps and voltages up to 36 volts. In this circuit 2 output segments are used for each motor phase to form a full H bridge for each coil of the motor.
IC 4 - LM7805 - Positive 5 Volt Regulator. Provides low voltage power to the driving circuitry and can also power external control circuits.
It is not the purpose of this page to provide full explanations of how these devices work. Detailed explanations can be found through datatsheets that are available from many source on the internet.
Due to the lack of error detection and limited step power, this circuit should not be used for applications that require accurate positioning. (The driver is designed for hobby and learning uses.)
There are links to other stepper motor related web pages further down the page. These may be helpful in understanding stepper motor operation and control.
For the parts values shown on the schematic, if the external potentiometer (RT) is set to "ZERO" ohms, the calculated CLOCK frequency will be approximately 145 Hz and a motor will make 145 steps per second. This step rate should be slow enough for most motors to operate properly.
The maximum RPM at which stepper motors will operate properly is low when compared to other motor types and the torque the motor produces drops rapidly as its speed increases. Testing may be needed to determine the minimum values for RT and C1 to produce the maximum CLOCK frequency for any given motor. Data sheets, if available, will also help determine this frequency.
If RT is set to 1 Megohm, the calculated step rate will be 0.73 Hz and the motor would make 1 step every 1.39 seconds.
There is no minimum step speed at which stepper motors cannot operate. Therefore, in theory, the values for RT and C1 can be as large as desired but there are practical limitations to these values. The main limitation is the 'leakage' current of electrolytic capacitors.
External CLOCK pulses can also be used to control the driver by passing them through IC 1 via the "T2" terminal of the circuitboard. Using IC 1 as an input buffer should eliminate "noise" that could cause the 74194's output to go into a state where more than one output is HIGH.
If stepping rates greater than 145 per second are needed, capacitor C1 can be replaced with one of lower value.
A 0.47uF capacitor would give a calculated range of 1.5 to 310 steps per second.
A 0.33uF capacitor would give a calculated range of 2.2 to 441 steps per second.
Alternately, capacitor C1 can be removed from the circuitboard and an external clock source connected at terminal 'T2'. With C1 removed, the practical limit on the step rate is the motor itself.
In the above items the "calculated" minimum and maximum CLOCK frequencies are valid for the nominal part values shown. Given the tolerances of actual components and the leakage currents of electrolytic capacitors the actual CLOCK rates may be lower or higher.
The direction of the motor can be controlled by another circuit or the parallel output port of a PC. This will work as long as the voltage at the bases of Q2 and Q3 can be made lower than 0.7 volts. Additional NPN transistors may be required to achieve this result, depending on the method used.
If the bases of both Q2 and Q3 are made LOW at the same time the SN74194 will go into a RESET mode. This will cause the step sequence to stop and on the next clock pulse pins 15 and 14 will go to a HIGH state.
Making the bases of both Q2 and Q3 LOW at the same time can be used to reset the SN74194 to its starting position without having to remove the circuit power.
The outputs of the L293 driver (IC 3) can be disabled if desired. For more information; see the section further down this page.
Each stepper motor will have its own power requirements and as there is a great variety of motors available. This page cannot give information in this area. Users of this circuit will have to determine motor phasing and power requirements for themselves.
Power for the motors can be regulated or filtered and may range from 12 to 24 volts with currents up to 600 milliamps per phase, depending on the particular motor.
Motors that operate at voltages lower than 12 volts can also be used with this driver but a separate supply of of 9 to 12 volts will be needed for the control portion of the circuit in addition to the low voltage supply for the motor.
A LED connected to the output of the LM555 timer (IC 1) flashes at the CLOCK frequency. If a direction has been selected, The motor will move one step every time the led turns ON.
There is no CLOCK output terminal on the circuitboard but there is a pad to the right of the LED that can be used if a clock output signal is required. This pad is connected to pin 3 of the LM555 IC.
The LM7805, positive 5 volt regulator used on the circuitboard can also be used to provide power for external control circuits. The regulator can easily dissipate up to 1 watt.
For a 12 volt supply, external circuits can draw up to 100 milliamps.
For a 24 volt supply, external circuits can draw up to 25 milliamps.
The photo of the circuitboard shows the tab of the 7805 regulator cut off, this is an option that is available on request.
When power is applied to the 74194 Stepper Driver circuit there is a very short delay before stepping of the outputs can begin. The delay is controlled by Capacitor C2, resistor R4 and transistor Q1.
The function of the delay is to allow the outputs of IC 2 to be set with pins 12 and 13 in a HIGH state and pins 14 and 15 in a LOW state before direction control becomes active. The delay also prevents IC 1 from oscillating until IC 2 has been set.
If the power to the circuit is turned off, there should be a pause of at least 10 seconds before it is reapplied. The pause is to allow capacitor C2 to discharge through R4 and D2.
If the initialization delay were not used, IC 3 could have: none, any or all of its outputs in a high state when stepping is started. This would cause the motor to move incorrectly or not at all during normal operation.
The stepper motor driver is ready to start operation as soon as the the initialization delay is complete.
|Qty.||Part #||DigiKey Part #||Description|
|1||-||IC 1||-||LM555CNFS-ND||-||555 TIMER SINGLE 0-70DEG C 8-DIP|
|1||-||IC 2*||-||296-9183-5-ND||-||74194 - BI-DIR SHIFT REGISTER 16-DIP|
|1||-||IC 3||-||296-9911-5-ND||-||SN754410NE - QUAD HALF-H DRVR 16-DIP|
|1||-||IC 4||-||LM7805ACT-ND||-||7805 REG POS 1A 5V +/-2% TOL TO-220|
|3||-||Q1, 2, 3||-||2N3904FS-ND||-||2N3904 - NPN SS GP 200MA TO-92|
|1||-||D1||-||160-1712-ND||-||LED 3MM GREEN DIFFUSED|
|1||-||D2||-||1N4148FS-ND||-||DIODE SGL JUNC 100V 4.0NS DO-35|
|1||-||D3||-||1N4001FSCT-ND||-||DIODE GEN PURPOSE 50V 1A DO41|
|4||-||R1, 2, 8, 9||-||3.3KQBK-ND||-||RES 3.3K OHM 1/4W 5% CARBON FILM|
|3||-||R4, 6, 7||-||10KQBK-ND||-||RES 10K OHM 1/4W 5% CARBON FILM|
|1||-||R3, 5||-||470QBK-ND||-||RES 470 OHM 1/4W 5% CARBON FILM|
|1||-||C1||-||P5174-ND||-||CAP 1.0UF 50V ALUM LYTIC RADIAL|
|2||-||C2, 3||-||P5177-ND||-||CAP 4.7UF 50V ALUM LYTIC RADIAL|
|1||-||C4||-||P5168-ND||-||CAP 470UF 35V ALUM LYTIC RADIAL|
|4||-||-||ED1602-ND||-||TERMINAL BLOCK 5MM VERT 3POS|
The following picture is of an assembled circuitboard for the Bipolar Stepper Motor Driver. The board measures 2 inches by 3.8 inches and has been commercially made. The board is not tinned or silkscreened.
The relative positions of the terminal blocks at the sides and ends of the circuitboard correspond with those in the schematic diagram and the control circuit examples.
The photo of the circuitboard shows the tab of the 7805 regulator cut off, this is an option that is available on request.
The price for 1 circuitboard is 11.50 dollars US plus postage.
The price for 1 kit of parts and a circuit board is 24.00 dollars US plus postage.
The price for 1 Assembled circuitboard is 26.00 dollars US plus postage.
If you are interested in a circuitboard and parts for this circuit please send an email to the following address: email@example.com
Bipolar Stepper Driver circuitboards sold: 31
Due to delays in acquiring 74LS194 type ICs, the assembled circuitboards and kits will use the 74HC194 - CMOS type IC. The 74HC194 will be mounted in a socket to eliminate soldering this device during assembly.
Although the 74HC194 is sensitive to damage from static discharge, once it is installed in its socket the IC is very safe as all of its pins are connected to the 5 volt supply or to common through low impedance paths.
When handling the board, avoid nonconductive surfaces such as plastics or glass. If the circuit board is to be placed in a plastic case, do the assembly work on a wood or metal surface that is connected to earth. Also avoid carpeted areas during assembly.
A good practice is to touch the work surface before touching the circuitboard.
The step and direction controls for the Bipolar motor driver are the same as those for the Unipolar motor driver . To avoid duplication, the diagrams from the Unipolar driver web page have been reused on the Bipolar driver page.
The connections in the following diagram will allow the motor to make single steps. A toggle switch could be used to select between single and continuous steps if the 1 Megohm potentiometer was included in the circuit.
In most cases the 74194 stepper driver circuits can be directly controlled from the parallel ports of computers that have 0 and 5 volt output states.
This also applies to other logic devices with 0 and 5 volt output states. Consult the particular device's datasheet for their specifications.
The use of optoisolators provides complete isolation between the driver and the external control circuit.
The circuit above replaces the direction control switch with a "window" type voltage comparator circuit. Potentiometer "R IN" could be a temperature or light sensing circuit.
When the voltage at the centre tap of R IN is between the HIGH and LOW voltages set by resistors R1, R2, and R3 the motor will be stopped.
When the voltage at the centre tap of R IN is above the HIGH voltage between R1 and R2 the motor will be step in the FWD direction.
When the voltage at the centre tap of R IN is below the LOW voltage between R2 and R3 the motor will be step in the REV direction.
In a practical application the direction of the motors load, a heating duct damper for example, would bring the temperature represented by the voltage at R IN back to the range between the HIGH and LOW voltage setpoints.
The limit switches at the outputs of the comparators are used to prevent the damper from going beyond its minimum and maximum positions by to stopping the motor.
Also see Voltage Comparator Information And Circuits - Voltage Window Detector Circuit.
Additional capacitance can be added to the IC 1 circuit to provide slower motor step rates. There is a limit to this approach as control of the step rate becomes less accurate as the capacitance increases and at some point the timer will stop working due to the leakage currents of the capacitors.
An external clock with a step rate greater than 145 steps per second can be connected to the driver circuit by removing capacitor C1. There is no limit on how slow the clock input can be.
The following circuits allow the direction of the motor to be controlled by as single, ON-OFF input. The maximum input voltage is 5 Volts.
The L293 motor driver IC has outputs that can be disabled by connecting pins 1 and 9 to ground. Disabling the outputs will allow the motor to turn freely and can be used conserve power if the motor is not needed for a period of time.
The SN754410NE's drivers are enabled in pairs, the 'Y' coil's drivers enabled via pin 1 and 'X' coil's drivers enabled via pin 9.
When an enable input is high, the associated drivers are active and their outputs are in phase with their inputs. When the enable input is low, the associated drivers are inactive, their outputs are off and in a high-impedance or open-circuit state.
When the drivers are disabled, only the power to the motor is turned off, the rest of the circuit remains active.
The disable connections for IC 3 have not been brought out to a terminal block but provision has been made on the circuit board to allow connections directly to the board without having to drill new holes.
To use the 'disable' inputs of the L293 , the section of copper trace between pins 1 and 16 of IC 3 must be cut and a jumper connected between pins 1 and 9. Pads have been provide have been provided on the circuitboard for the jumper.
A wire is then connected to the board that is used to connect pins 1 and 9 to the circuits common through a switch, transistor or optoisolator. A pad is provided for this connection as well.
The disable control can be a switch, transistor of optoisolator just the same as in the control circuits shown in the sections above.
The following schematic shows how the basic circuit is modified to allow the outputs of the IC 3 to be disabled.
The following diagram shows how the disable jumper between pins 1 and 9 of IC 3 and the lead to the disable switch (S2) are connected to the circuitboard. Also shown is the cut trace between pins 1 and 16 of IC 3.
The next circuit uses TIP125 and TIP126 Darlington type transistors to increase the current capacity of the 74194 driver circuit to 5 amps per winding.
Depending on the current required for the motor, small heatsinks may be needed for the transistors.
Animated operation of stepper motors.
The following links are for stepper motor related pages that have information on other types of driver circuits and motors.
The explanations for the circuits on these pages cannot hope to cover every situation on every layout. For this reason be prepared to do some experimenting to get the results you want. This is especially true of circuits such as the "Across Track Infrared Detection" circuits and any other circuit that relies on other than direct electronic inputs, such as switches.
If you use any of these circuit ideas, ask your parts supplier for a copy of the manufacturers data sheets for any components that you have not used before. These sheets contain a wealth of data and circuit design information that no electronic or print article could approach and will save time and perhaps damage to the components themselves. These data sheets can often be found on the web site of the device manufacturers.
Although the circuits are functional the pages are not meant to be full descriptions of each circuit but rather as guides for adapting them for use by others. If you have any questions or comments please send them to the email address on the Circuit Index page.
24 November, 2010