This is another one of Wayne's
electronics projects that is
work in progress on.
Modular Stepper Motor Control
A number of my
manufacturing projects are based around using
some stepper motors. This electronics project is
a modular stepper motor control for a PC with a
parallel port and simple TTL integrated circuits.
These days, I am pretty convinced that the least
expensive and most flexible way to control one
or more stepper motors is to use a programmable
microcontroller. However, the use of microcontrollers
entails building or buying a microcontroller programmer,
writing and debugging the microcontroller program, etc.
For now, I am willing to spend a little more on sme
the basic stepper motor control using simple circuits.
So what do I mean by modular? Well basically, I
have a bunch of modules that can be plugged together
either via ribbon cable or by just laying end-to-end
on a single printed circuit board (PCB) and connecting
the appropriate traces.
Here is the list modules that have been implemented
so far (last board modification was at 1999-03-19@14:48:55):
-
Dual Unipolar Stepper Motor Driver Module
-
This module can be used to drive two
independent unipolar stepper motors.
It takes 8-bits as its input, where
each bit can be used to activate an
individual coil in one of the stepper
motors. With this module it is possible
to activate 0, 1, 2, 3, or 4 coils at
the same time; although it rarely makes
sense to activate more than two coils
at the same time.
-
Small Decoder Module
-
This simple module takes 8-bits as its
input and allows 2-bit pairs to control
control the stepper motor. This module
in conjunction with a pair of the driver
modules allows up to four steppers to
be controlled.
-
Printer Adaptor Module
-
The parallel port interface connects to
a parallel port on a PC and produces
8-bits as its `output'.
-
DC Power Module
-
The power supply module supplies power
to the rest of the modules.
-
Bus Monitor Module
-
The debug module is just a bunch of
LED's and a button that can be sliced
into module chain to see what is going
on. It is a very light weight front
pannel.
-
Printer Emulator Module
-
A bunch of switches and LED's that emulate
a parallel port on a computer. This module
is used to debug the rest of the system by
providing inputs to the Printer Adaptor
Module without incurring any risk of frying
anything on an actual computer.
The following modules have not been
built yet:
-
Large Decoder Module
-
This module takes 8-bits as its input
and allows the control of up 16 independent
stepper motors.
-
Micro-stepper Module
-
This module takes 8-bits as its input
and allows for micro-stepping of the
2 stepper motors by varying the duty
cycle of the of coil drivers.
-
Counter Module
-
The counter module allows for independent
incrementing and decrementing of the
stepper motor positions. The counter
module has inputs to prevent stepping
past limits.
-
Front Panel Module
-
The front panel module allows the user
to manually simulate computer control
via a simple front panel. It has
a selector that allows control to be
passed to and from the parallel port
module.
-
Dual Bipolar Stepper Motor Driver Module
-
This module can be used to drive two
independent bipolar stepper motors.
Like the bipolar driver, it takes 8-bits
as its input, but pairs of bits are used
to drive current either one way or the
other through each individual stepper
motor coil. Basically, each coil is
inserted into the middle of an `H'
bridge.
-
AC Power Module
-
The AC power module takes 110 VAC in and
produces +5V DC for the logic and 5-12V
DC for the stepper motors. The two power
supplies are kept separate to minimize
cross-coupling of current spikes induced
by the stepper motors onto the logic
power supply.
-
Unipolar Monitor
-
A stepper motor monitor shows which coils
on a unipolar stepper motor have been
energized. In addition, it provides a
way of simulating when a limit switch
has been triggered.
-
Printer Monitor
-
A board that monitors the signals running
over printer cable.
Status
The first set of modules have been fabricated
and assembled into one 4 unipolar stepper motor
system. I have the following notes:
-
I should have thought more carefully about
the mounting holes. They are currently
too small for even #2 hardware and they
are placed somewhat randomly. It would be
a good idea to:
-
make the holes larger,
-
make sure that all the holes are ground
safe, and
-
try to arrange the holes on some sort of
grid so that the board can easily be
mounted on one another.
-
It would be nice to have the AC power module.
I have fried the boards a couple of times
by accidently running 12 volts into the 5
volt supply lead. Installing a 5.5 V zener
clamp diode on the DC power supply would be
a pretty good idea as well.
-
The lack of unipolar monitor boards made it
difficult to test whether or not the sense
switch circuitry is working.
Copyright (c) 1995-1998 by
Wayne C. Gramlich All rights reserved.