ELM312 Stepper Motor Controller Description Features 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. • • • • • 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 VDD 1 8 VSS A 2 7 B Dir 3 6 C Step 4 5 D Block Diagram 20msec Startup Timer ELM312DSB 2 A 7 B Inhibit Dir 3 CW 6 C Step 4 Step 5 D Elm Electronics – Circuits for the Hobbyist < http://www.elmelectronics.com/ > 1 of 5 ELM312 Pin Descriptions VDD (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). 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. 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. VSS (pin 8) Circuit common is connected to this pin. This is the most negative point in the circuit. 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 VDD with respect to VSS............ 0 to +7.5V 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. Voltage on any other pin with respect to VSS........................... -0.6V to (VDD + 0.6V) 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 Minimum Typical Supply Voltage, VDD 3.0 5.0 VDD rate of rise 0.05 Average Supply Current, IDD Maximum Units 5.5 V V/ms 1.0 Conditions 2.4 mA see note 2 VDD = 5V Input low voltage VSS 0.15 VDD V see note 3 Input high voltage 0.85 VDD VDD V see note 3 0.6 V Current (sink) = 8.7mA V Current (source) = 5.4mA Output low voltage Output high voltage VDD - 0.7 Direction Input Setup Time (Tsu) Hold Time (Th) 2 0 - µsec µsec see note 4 see note 4 Step Pulse Width (Tp) 10 - µsec see note 4 Delay Between Steps (Td) 30 - µsec see note 4 Step Inhibit on Power-up 10 30 msec see note 5 20 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 Td Tp Tsu Dir Th A B C D Figure 1. Circuit Timing Output Logic Level Step A B C D 1 H L L L 2 H H L L 3 L H L L 4 L H H L 5 L L H L 6 L L H H 7 L L L H 8 H L L 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. connected from Drain to Source internally. This diode helps to control inductive kick-back when a winding is deenergized. 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. 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. 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. 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. 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. 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 +12V R Stepper Motor Bk * G W * Br +5V 1 8 5 4 2 7 6 3 3 6 7 2 4 5 8 1 Clockwise * * +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