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:
  1. 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.
  2. Use a IC-chip logic inverter on the strobe line rather than the RTL I'm currently using.
  3. Build a real cable to plug it into the M100, rather than using a bunch of clips.
  4. Place the Perf board into a circuit box.