Circuit - prototype models

First generation - supports both computer & manual control through a small hand-held controller.  These are easily identified by the 10-way edge PCB edge connector.  The circuit actually consists of two boards stacked together - interface and motor drivers.



I've generally been referring to these boards as "prototype" models because they relate to an article published in ETI September-October, 1981 describing this arrangement as a prototype.

The board is unique to later generations because it contains on-board logic drive control for the motors, and hence allows it to support a manual controller.   The board can also be configured to be Direct-Drive which is essentially the same as all later generations in which the microcomputer must sequence the stepper motor patterns.

Component Layout

1. Interface




IC1 - IC2 74LS125 Quad 3-State Buffer
IC3 74LS04 Hex Inverter
IC4 74LS123 Retriggerable Monostable Multivibrator
IC5 74LS366 Hex Inverter/Buffer 3-State
IC6 74LS138 1-OF-8 DECODER/DEMULTIPLEXER
IC7 - IC12 74LS175 Quad D Flip Flop


2. Motor Driver




IC1 CD4551 Quad 2-Input Analogue Multiplexer / Demultiplexer
IC2 CD4013 Dual D Type Flip Flop
IC3 CD4070 Quad 2 Input Exclusive Or Gate
IC4 40109 CMOS Quad Low-to-High Voltage Level Shifter
IC5 VQ1000CS 4 N channel VMOS power FET
IC6 555

Not Shown 7805 Power Regulator (+5v)

NOTE - VQ1000CS or VQ1000J are obsolete, getting hold of replacements/spares might be problematic. Otherwise, all other chips should be relatively easy to source.

Direct Drive configuration

Driver circuitry can be configured using PCB interconnects to be Direct Drive (computer control only), or use on-board Motor Drive Logic (manual / computer control).

To configure Direct Drive, you need to connect the interface channel outputs C1 - C6 directly to inputs J4 - J9 on the driver board. This requires 4-bits per channel, so any 4-way ribbon cable with suitable connectors will do.

This also makes IC1 - IC3 and IC6 redundant on the driver board and can be removed. Don't be surprised if your board is missing some chips.

Alternatively, when configured to use Motor Drive Logic (which is the case with my Armdroid), you only need 2-bits per channel from C1 - C6 feeding J1 - J3. The upper bits are unused and simply ignored.

Full Stepping and Half Stepping The Motors

The following tables (taken from the manual) indicate the waveform/pulse sequence required for stepping the motors clockwise or counter-clockwise:

FULL STEPPING SEQUENCE
QA QB QC QD STEP
1 0 1 0 1
1 0 0 1 2
0 1 0 1 3
0 1 1 0 4

HALF STEPPING SEQUENCE
QA QB QC QD STEP
1 0 1 0 1
1 0 0 0 1.5
1 0 0 1 2
0 0 0 1 2.5
0 1 0 1 3
0 1 0 0 3.5
0 1 1 0 4
0 0 1 0 4.5

NOTE: When writing programs that directly drive the arm, QB and QC output bits should be reversed, so that the top four bits are:

D8 = QA
D7 = QC
D6 = QB
D5 = QD

This is because the hardware switches these two lines. I believe this is true for both prototype and production models.

Motor Assignments & Ribbon Cable Connections

See Stepper Motor Connections