# Stepper motor IC

#### aconz2

Joined Feb 8, 2010
16
Could anybody recommend a stepper motor driver IC or circuit that would be controlled using a parallel port? I know this can be achieved using 4 transistors one for each coil, but I would like to utilize existing software that would use a step and direction signal.

Thanks for the help.

#### VoodooMojo

Joined Nov 28, 2009
495
credit where credit is due:
http://neil.fraser.name/hardware/stepper/cpu.html

untried by me:

Computer Control of a Stepper Motor

There are several methods of controlling a stepper motor from a computer. The simplest method is to use a direct connection to the parallel port, as shown in the schematic to the left.
Each of the four lines from the parallel port (pins 2, 3, 4 and 5) are used to switch an NPN power transistor that controls a coil in the motor. The transistors are protected from excessive current flow by the 1k resistors, and they are protected from the coils' backlash current by the shorting diodes.

All the parts needed to build this simple circuit are available at Radio Shack, but be aware that Radio Shack's prices for components are literally quadruple that of other electronics stores.

PartTypeQty.R.S. #
NPN pwr. transistor 10Watt 4 x 276-2017
Diode 1Amp 4 x 276-1102
Resistor 1k 4 x 271-1321
Male connector DB-25 1 x 276-1547

The following BASIC program demonstrates how to drive the motor from the computer. It will run a stepper motor at any speed in either direction.

10 REM Stepper Motor Controller
20 PORT = &H3BC
30 STATE = STATE + DIRECTION
40 IF STATE > 4 THEN STATE = 1
50 IF STATE < 1 THEN STATE = 4
60 PRINT STATE,
70 IF STATE = 1 THEN OUT PORT, 3: REM 1100
80 IF STATE = 2 THEN OUT PORT, 6: REM 0110
90 IF STATE = 3 THEN OUT PORT, 12: REM 0011
100 IF STATE = 4 THEN OUT PORT, 9: REM 1001
110 FOR W = 1 TO DELAY: NEXT W
120 X$= INKEY$
130 IF X$= "<" THEN DIRECTION = -1: REM Backwards 140 IF X$ = ">" THEN DIRECTION = 1: REM Forwards
150 IF X$= "?" THEN DIRECTION = 0: REM Stop-locked 160 IF X$ = "-" THEN DELAY = DELAY + 100: REM Slow down
170 IF X$= "+" THEN DELAY = DELAY - 100: REM Speed up 180 IF X$ <> CHR\$(27) THEN GOTO 30
190 OUT PORT, 0: REM 0000 (Stop-free)

Up to three stepper motors may be attached to one parallel port in this manner. The second motor would be connected to the other half of the data register (pins 6, 7, 8 and 9). The third motor would use the parallel port's control register (pins 1, 14, 16 and 17).

Last edited:

#### SgtWookie

Joined Jul 17, 2007
22,201
Such drivers exist, but you need to give specifications of your particular stepper motor(s) before you will get any kind of useful response.

Are/is they/it unipolar or bipolar stepper motors?

What is the rated voltage, current, and winding resistance?

Posting the datasheet for the motor(s) will help a lot for us to suggest possibilities for you.

#### SgtWookie

Joined Jul 17, 2007
22,201
credit where credit is due:
(snip)
Interesting and perhaps useful for many, but unfortunately it completely disregards the OP's original request.

The circuit is incapable of satisfying our OP's requirements.

BTW, a ULN2804 would replace all of the discrete transistors, resistors and diodes in the circuit you posted.

#### VoodooMojo

Joined Nov 28, 2009
495
Could anybody recommend a stepper motor driver IC or circuit that would be controlled using a parallel port? I know this can be achieved using 4 transistors one for each coil, but I would like to utilize existing software that would use a step and direction signal.

Thanks for the help.
sorry Sgt, I saw the "or circuit" part and jumped the gun!

#### BMorse

Joined Sep 26, 2009
2,675
Check out Allegro's website they have a variety of Stepper motor controller IC's such as the A3982 DMOS Bipolar stepper driver IC That can handle up to 2 amps of current draw (Used for Bipolar steppers of course, so if using Unipolar type look for compatible IC on their site for driving them....

#### SgtWookie

Joined Jul 17, 2007
22,201
I'm not the one you need to apologize to. However, once our OP, aconz2, posts their motor specifications, you can effect an apology by producing a few appropriate circuits.

#### aconz2

Joined Feb 8, 2010
16
Wow thanks for the speedy replies, I do not have the motors because I am trying to plan the motors and drivers together so I only have to buy stuff once. This is in the ballpark of what I would be using. Thanks again.

http://www.probotix.com/specs/HT23-166-6.pdf

#### BMorse

Joined Sep 26, 2009
2,675
I would use the SLA7062M IC to drive the stepper as a unipolar (Unipolar will give you more RPM's, but lower torque), this IC can handle upto 3 amps, which is more than adequate for the motor (unipolar draws 2 amps/ phase), or if you wire it as a bipolar ( you get more torque at lower speeds, but not as many RPM's) you can use the A3982 which can handle the current loads for the motor (1.4 Amps / phase in bipolar)

SLA7062M >>> http://www.allegromicro.com/en/Products/Part_Numbers/97060/

here is a circuit for the SLA7062M (It is not mine, found at CNC Zone)
View attachment STEP_SCH SLA7062.pdf

A3982 >>> http://www.allegromicro.com/en/Products/Part_Numbers/3982/

here is a circuit for the A3982 (Not mine either, for a better circuit go to the RepRap Wiki and look up the Mendel stepper driver board schematics which is based on this IC...)
View attachment A3982 Driver Simple Schematic.pdf

My .02

#### aconz2

Joined Feb 8, 2010
16
Great find and a great resource, thank you!

#### BMorse

Joined Sep 26, 2009
2,675
Great find and a great resource, thank you!

I like building CNC machines so I like to keep up with the trends
Been really thinking of building me a RepRap CNC, just can't get myself to use their "motherboard", I am thinking of just building mine all from scratch and the only thing I would use of theirs is the software on the PC for making "thingies"