Unipolar Stepper Motor
ULN2003 IC - stepper motor driver
DB25 Male connector
Voltage: 12 -
is an easy to build stepper motor driver that will
allow you to precisely control a unipolar stepper
motor through your computer's parallel port. With
a stepper motor you can build a lot of interesting
gadgets such as robots, elevator, PCB drilling mill,
camera panning system, automatic fish feeder, etc.
If you have never worked with stepper motors before
you will surely have a lot of fun with this project.
Stepper Motor Works?
motors are very different from a regular DC motors.
Instead of spinning like DC motors do, stepper
motor steps at a specific resolution for each
pulse. The motor that we are using needs 48 steps
/ pulses just to complete a single revolution!
That should be enough to tell about its precision.
Another advantage of stepper motors is the fact
that their speed of rotation can be achieved almost
instantly even if you change the spinning direction.
Stepper motor consists of a rotor
- the permanent magnet that rotates inside, and
stator - four coils (north, east,
south, west) that are part of the case, and which
don't move. Rotor can be moved
by sequentially applying a pulsed DC voltage to
one or two coils at a time.
able to move the rotor you will need a driver.
Driver is a circuit that applies a voltage to
any of the four stator coils. Driver can be built
with IC such as ULN2003 (pictured on the circuit
diagram), four darlington transistors or four
power transistors such as 2N3055.
motor should have five or six connections
depending on the model. If the motor has
six connections like the one pictured
above, you have to join pins 1 and 2 (red)
together and connect them to a (+) 12-24V
voltage supply. The remaining pins; a1
(yellow), b1 (black), a2 (orange), b2
(brown) should be connected to a driver
(ULN2003) as shown on the schematic.
are several stepping modes that you can use
to drive the stepper motor.
Single Stepping - the simplest mode
turns one coil ON at a time. 48 pulses are needed
to complete one revolution. Each pulse moves
rotor by 7.5 degrees. The
following sequence has to be repeated 12 times
for motor to complete one revolution.
2. High Torque Stepping - high
power / precision mode turns ON two coils on
at a time. 48 pulses are needed to complete
one revolution. Each pulse moves rotor by 7.5
degrees. The following
sequence has to be repeated 12 times for motor
to complete one revolution.
Half Stepping - stepping is
motor needs 96 pulses to complete one revolution.
Each pulse moves rotor by approximately 3.75
degrees. Notice the mix of single stepping mode
(lighter green) and high torque mode (darker
- single stepping mode, normal
- high torque mode, high strength, slightly
Motor Controller Software
drivers might also come with a frequency
generator / timer that is used to control
a rotation speed (LM555 / NE555) and
digital IC such as 74LS194 that will
use pulses to generate a stepping mode.
In this project, on the other hand we
will use computer and a program to perform
that functionality. By using a computer
you will be able to do much more with
your stepper motor and most importantly
visualize how current is flowing through
program also includes features such
as easy to use graphical user interface,
allows you to precisely control the
motor speed and direction in real-time
and it also allows you to use different
stepping modes, such as single stepping,
high torque stepping and half stepping
program will work on any version of Windows
(98/ME/2000/XP). If it doesn't work than
you have to download and install Microsoft
The Stepper Motor Controller can
be downloaded from the download