This page is about my enterprising attempt to build a circuit that can
allow a 22 23-year old laptop to control my expensive, delicate
telecope.
So, like any good geek with an M100,
I set off the build my own. The M100 has a unidirectional parallel
port which works great for controlling a stepper motor. A program
can push out the pattern "1, 2, 4, 8" on the port again and again; all
that's needed is a circuit to hold the values and amplify them. To
repeat this experiment, you will need wirewrap wire
(preferably several colors), a power source (drawing +5V on barcode
VDD works, but kills M100 batteries), and a wirewrap gun. You'll also need these
electronic components or their equivalents:
1. Perf board - About 2 inches by 5; Gives enough room to space
components out, and also possibly add lines for D4 through D7 at a
later date.
2. IC holders - At least 5 of the 14-pin holders.
3. Two CD4013 ICs - These are the heart of the system.
4. Some sort of inverter - TTL, RTL, NOT gate, whatever's on
hand. I just used two resistors and an NPN.
5. Four NPN transistors able to take at least 25 or 30 volts C-B and
rated for ~60mA continuous current (I used ZTX-450s).
6. Four 4K resistors
7. Four diodes or four resistors to use as snubbers.
8. A stepper motor with a common ground pin (Look for the R/W head
mover in a 5.25 Floppy drive). If you intend to use it for delicate
operations, such as telescope control, get one with a lot of steps/rotation.
Having a voltmeter to track down the B-C-E of the transistors is
probably required, and an oscilloscope to see exactly what's going on
is nice. In particular, the transistors I used are not normal - B-C
voltage is not higher than B-E when measured with a voltmeter! That
caused quite a bit of consternation until I got fed up and looked up
the datasheet.
I've scanned in my original circuit diagram, which I will eventually
replace with a computer-drawn one. I apologize if this is a bit of a
mess. Click
Here to open a new window with the diagram. I have created
a computer-drawn image that has an 'outline' of the circuit,
describing the setup for one data line Here. Much
easier to read.
You'll probably want to review the CD4013 datasheet datasheet
or the tutorial-like description at Doctronics, or
similar information about the D-type you're going to use. The CD4013
series is old, and I used it because I happened to have them laying
around. Since this circuit is unlikely to be run at anything higher
than a few kilohertz (M100 parallel port top speed = 5000 char/sec),
anything should go.
Well, there it is - an stepper motor controllor circuit. It is also
possible to control far more than a stepper with this device: it's
outputs can use used to directly drive more logic circuits, or each
can control a motor or other output device. You may have noticed that there is space in the perf board to install
another set of controllers to utilize all 8 data lines (possibly
controlling two steppers at once!).
The next step after this is building a geardown box to interface the
stepper motor with the telescope, and writing the software to control
the device. So I'm 1/3 done.
Possible improvements:
- Use another means of snubbing the back EMF when a pole is turned
off. The simplest solution is to replace the resistors with diodes,
allowing the energy to dissipate over 75 Ohms instead of 675. Some
people on the M100 mailing list suggested dropping the power onto a
large capacitor and then bleeding it off with a resistor. That would
offer ideal performance, but it seems rather excessive for such a small
circuit.
- Use a IC-chip logic inverter on the strobe line rather than the
RTL I'm currently using.
- Build a real cable to plug it into the M100, rather than
using a bunch of clips.
- Place the Perf board into a circuit box.