ELM312
Stepper Motor Controller
Description
The ELM312 is an interface circuit for use
between high speed logic and four phase stepper
motor driver circuits. All of the logic required to
provide stepping in two directions is contained in this
one 8 pin package.
This circuit supports only the half-step mode of
operation. This mode provides eight distinct phase
control output signals for driving a variety of motors.
For dual mode operation, the ELM310 should be
considered.
The ELM312 can be controlled by a wide variety
of circuits, due to its fully static operation. In addition
to using high speed microprocessor control, suitably
debounced mechanical switches or continuously
running oscillator circuits could also be used.
Features
• Low power CMOS design - typically 1mA at 5V
• Wide supply range - 3.0 to 5.5 volt operation
• Two inputs control Half step motion
• No external timing components
• Completely static operation - will maintain a step
position indefinitely
• High current drive outputs - up to 25 mA
• Very high speed - up to 25000 steps per second
Connection Diagram
PDIP and SOIC
(top view)
Applications
• Stepper motor drive logic
• Process sequencing
• Sequential left/right LED driver
V
DD
A
Dir
Step
1
2
3
4
8
7
6
5
V
SS
B
C
D
Block Diagram
20msec
Startup
Timer
2
A
Inhibit
7
B
Dir
3
CW
6
C
Step
4
Step
5
D
ELM312DSB
Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
1 of 5
ELM312
Pin Descriptions
V
DD
(pin 1)
This pin is the positive supply pin, and should
always be the most positive point in the circuit.
Internal circuitry connected to this pin is used to
provide power on reset of the microprocessor, so
an external reset signal is not required. Refer to
the Electrical Characteristics section for further
information.
A (pin 2)
This is the active high output drive signal for the
(first) phase A winding. Normally, this output
would be the first to be energized when starting a
stepping sequence, and is always the first state
entered into internally on powerup. After powerup,
however, the ELM312 treats this pin specially,
maintaining it at a low level until the first step
command is received. This in effect keeps the
motor off until selected by control circuitry.
Dir (pin 3)
This pin determines the sequence that the outputs
will be energized in. A high input on the Dir pin
while the step input is pulsed will cause a single
clockwise step, while a low level will cause a
counter-clockwise step. (Refer to Figures 1 & 2).
Dir must be at a stable level prior to the low to
high transition of Step in order to be recognized
(refer to the Tsu specification).
D (pin 5)
This is the active high output drive signal for the
(fourth) phase D winding.
C (pin 6)
This is the active high output drive signal for the
(third) phase C winding.
B (pin 7)
This is the active high output drive signal for the
(second) phase B winding.
V
SS
(pin 8)
Circuit common is connected to this pin. This is
the most negative point in the circuit.
Step (pin 4)
This input is used to control the motion of the
motor. Outputs will change to their next state on
the high to low transition of this input. Step is
normally maintained at a low level, and is only
brought high then low to cause a step to occur.
The Step input is ignored for about 20ms after
power-up to allow sufficient time for external
circuits to stabilize.
Ordering Information
These integrated circuits are available in either the 300 mil plastic DIP format, or in the 200 mil SOIC surface
mount type of package. To order, add the appropriate suffix to the part number:
300 mil Plastic DIP............................... ELM312P
200 mil SOIC..................................... ELM312SM
All rights reserved. Copyright ©1999 Elm Electronics.
Every effort is made to verify the accuracy of information provided in this document, but no representation or warranty can be
given and no liability assumed by Elm Electronics with respect to the accuracy and/or use of any products or information
described in this document. Elm Electronics will not be responsible for any patent infringements arising from the use of these
products or information, and does not authorize or warrant the use of any Elm Electronics product in life support devices and/or
systems. Elm Electronics reserves the right to make changes to the device(s) described in this document in order to improve
reliability, function, or design.
ELM312DSB
Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
2 of 5
ELM312
Absolute Maximum Ratings
Storage Temperature....................... -65°C to +150°C
Ambient Temperature with
Power Applied....................................-40°C to +85°C
Voltage on V
DD
with respect to V
SS
............ 0 to +7.5V
Voltage on any other pin with
respect to V
SS
........................... -0.6V to (V
DD
+ 0.6V)
Note:
Stresses beyond those listed here will likely damage
the device. These values are given as a design
guideline only. The ability to operate to these levels
is neither inferred nor recommended.
Electrical Characteristics
All values are for operation at 25°C and a 5V supply, unless otherwise noted. For further information, refer to note 1 below.
Characteristic
Supply Voltage, V
DD
V
DD
rate of rise
Average Supply Current, I
DD
Input low voltage
Input high voltage
Output low voltage
Output high voltage
Direction Input Setup Time (Tsu)
Hold Time (Th)
Step Pulse Width (Tp)
Delay Between Steps (Td)
Step Inhibit on Power-up
Minimum
3.0
0.05
Typical
5.0
Maximum Units
5.5
V
V/ms
Conditions
see note 2
V
DD
= 5V
see note 3
see note 3
Current (sink) = 8.7mA
Current (source) = 5.4mA
see note 4
see note 4
see note 4
see note 4
see note 5
1.0
V
SS
0.85 V
DD
2.4
0.15 V
DD
V
DD
0.6
mA
V
V
V
V
V
DD
- 0.7
2
0
10
30
10
20
-
-
-
-
30
µsec
µsec
µsec
µsec
msec
Notes:
1. This integrated circuit is produced with a Microchip Technology Inc.’s PIC12C5XX as the core embedded
microcontroller. For further device specifications, and possibly clarification of those given, please refer to the
appropriate Microchip documentation.
2. This spec must be met in order to ensure that a correct power on reset occurs. It is quite easily achieved
using most common types of supplies, but may be violated if one uses a slowly varying supply voltage, as
may be obtained through direct connection to solar cells, or some charge pump circuits.
3. This IC is uses CMOS technology so input currents to the logic are negligible. Each input does have internal
diode protection circuits, however, which may cause up to 1µA of leakage currents to flow.
4. Operation of the ELM312 is completely static, so there is no maximum time for any of these parameters.
Each of the values is graphically displayed in Figure 1 on page 4.
5. The Step input will initially be blocked for this time, to allow external circuits time to stabilize.
ELM312DSB
Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
3 of 5
ELM312
Timing Diagrams
Step
Dir
A
B
C
D
Td
Tp
Tsu
Th
Figure 1. Circuit Timing
Output Logic Level
Step
1
2
3
4
5
6
7
8
A
H
H
L
L
L
L
L
H
B
L
H
H
H
L
L
L
L
C
L
L
L
H
H
H
L
L
D
L
L
L
L
L
H
H
H
Figure 2. Stepping Sequence (Clockwise Direction)
ELM312DSB
Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
4 of 5
ELM312
Example Application
Figure 3 shows the ELM312 used in a circuit to
control a four phase stepper motor. The motor shown
here is typical of the type often found in computer disk
drives, and are readily available on the surplus market.
This particular motor requires +12V at 160mA per phase
to operate, and has a resolution of 3.6° per step.
Momentary action pushbuttons are used as control
inputs in this case. This allows the user to experiment
with the operation of the motor. An ELM410 is used to
debounce the switches, so that the mechanical
bouncing of the switches does not cause multiple steps
of the motor armature.
Both integrated circuits are powered from a 5 volt
supply, not shown on this diagram. This supply could be
derived from the 12V for the motor, but is not
necessarily, as the user may want to separate the two
due to noise from the motor.
The motor is directly driven by IRF511 power
MOSFETS in this design, because they were readily
available, but many other devices would be suitable.
The main criteria, as well as voltage and current
capabilities, is that the MOSFET be fully switched by the
logic signal available (in this case 5V). Some of the
‘logic level’ HEXFETs would be well suited in this case
(IRLZ14 or IRL510 for example).
The main advantages of power MOSFETs over
bipolar types are their ability to be driven directly from
CMOS logic, and their inherent reverse biased diode
*
G
W
connected from Drain to Source internally. This diode
helps to control inductive kick-back when a winding is de-
energized. Optional resistors (50-100Ω) are shown in the
circuit to dampen resonances due to wiring inductance
and gate capacitance. They should be used if the
transistors are mounted any more than a few inches from
the ELM312.
Operation of the circuit is straight-forward. The motor
advances one step each time the step button is released.
If the clockwise input is also pressed, the windings will be
energized in the order A-AB-B-BC-C-CD-D-DA. Recall
that when power is first applied, no winding is energized,
to provide a means to sequence the start-up of several
motors in larger systems. For this reason, no output will
appear until the first step command is issued.
This circuit demonstrates the operation of a stepper
motor, and can easily be modified for further
experimentation. One change that could be made is the
addition of an oscillator in the place of the ELM410, to
provide continuous motion. Another might be the direct
connection of the ELM312 to a computer port for
robotics, and the incorporation of sensors for feedback to
the computer.
R
Stepper
Motor
+12V
Bk
*
+5V
1
5
4
3
2
1
2
3
4
8
7
Br
Clockwise
6
7
8
6
5
*
*
+5V
*
- see text
Step
0.1µF
Figure 3. Manual Control of a Stepper Motor
ELM312DSB
Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
5 of 5