Reverse engineering the Strobe model 100 plotter interface and operation

The inside of the Strobe model 100 is pretty simple, consisting of nine GE 40C4 power transistors driving the two stepper motors and the pen up/down solenoid. Each stepper has four lines, a specific one of which is grounded at a chosen time to activate a step. The solenoid is 24V and is simply on or off. The power supply delivers 24V for the steppers/solenoids and regulated 5V to produce TTL signals reflecting the status of various switches and buttons on the cover.

The stepper motors are uniphase 4 pole motors working at 24V. Each of the four poles are offset from the other three so that the rotor is pointing at one of the poles which is conducting, call them N, E, S, and W, and when the power is switched to the next moving around the 'compass', the rotor will swing to that pole. However, the poles are actually a ring with 25 teeth on them, each tooth being 14.4 degrees from its neighbors. The four poles (rings of teeth) are offset slightly so that the tooth of the E ring is 3.6 degrees past the tooth of the N ring, but 3.6 degrees behind the tooth of the W ring and off 7.2 degrees from the teeth of the south ring. If power is switched from N to E, that drags the magnet on the rotor from the tooth on the N pole to the nearest tooth on the E ring, in this case 3.6 degrees clockwise rotation. If the power had switched from N to W, then the magnet would have pulled to the tooth 3.6 degrees away in counterclockwise direction. Thus, moving around the 'compass' of the four poles will move the magnet 3.6 degrees on each change.

They should be controlled by a four bit circular shift register initialized with exactly one of the four bits at logical 1 and the other three at logical 0. Whatever bit is 1 will have its pole activated, the other three are off. A shift to one direction rotates the stepper motor 3.6 degrees clockwise, a shift to the other direction moves the stepper motor counterclockwise 3.6 degrees.

One stepper motor moves the pen left and right across the drum. The other stepper motor moves the drum paper forward or backward (up and down the paper if it were flat on a table, versus the left to right that the pen will travel). The solenoid moves the pen nib onto the paper so that it releases ink. If the pen is down when a stepper is moved, a line is drawn a distance corresponding to 3.6 degrees of rotation, times the scaling factor caused by the belt and cogs linking a stepper motor to the part it moves.

A switch on the cover is labeled 'motor release' - that deactivates the one pole of each stepper motor that is under power from the 1 bit in its shift register, allowing the human operator to move the drum or pen by hand. Four buttons on the cover are arranged in a up/down/left/right matrix and cause steps of the pen or drum in the appropriate direction when they are depressed. A button in the center of these is labeled 'fast' and I presume it means to shift the stepper register at a faster pace. Another switch is labeled 'pen up/down' and would override the state of the pen solenoid, although I suspect it actually works like the motor release, forcing the pen up regardless of the state of the computer output, but will not put the pen down unless the computer has the pen signal activated. Finally, there is a button labeled 'start/enter' that is read by the driver software and/or application program.

The cable between the S-100 interface board and plotter is a 20 wire ribbon cable using a 10 pin by 2 row header. Pins 1, 2, 4 and 5 are not connected, pin 3 is the ground return. The other pins are the nine outputs from the computer that control the steppers and pen solenoid, and six inputs to the computer (of the eight buttons/switches on the cover. I speculate that the 'pen up/down' is actually just a switch to block the pen down solenoid from working when flipped to 'up' and allows the output from the computer to control the pen solenoid when it is flipped to 'down' - i.e. not actually commanding the pen down but instead 'down' means allow pen to move up and down by program control while 'up' means keep the pen up off the paper. Thus, that switch effects its function wholly within the plotter itself and does not need to be sent to the computer. In the same way, the motor release switch can achieve its goal by cutting the 24V to the two stepper motors, entirely locally in the plotter.

The four directional buttons need to go to the computer, because the plotter does not have enough logic inside it to know which pole is currently active and which should take its place to move a given step. The 'fast' button as well must be provided to the driver so that it can choose a rate of shifting of the stepper motor control. The start/enter button has to be sent to the computer since its implied use requires the software to see its state.

The S-100 interface board contains an 8255A interface chip which is operated in its mode 0 - thus each group of four lines to it can be set up as input or output. The lines are PA0-3, PA4-7, PC0-3, PB0-3, PB4-7, and PC4-7. The order I listed them is because PC0-3 is actually part of group A along with the 8 PAx lines; PC4-7 is part of group B. Given the actual lines connected to the ribbon cable header, this chip cannot be operating in its alternate modes 1 or 2.

The cable pin assignments are:

pin 3 - ground return
pin 6 - PA5
pin 7 - PA4
pin 8 - PA3
pin 9 - PA2
pin 10 - PA1
pin 11 - PA0
pin 12 - PB4
pin 13 - PC3
pin 14 - PC2
pin 15 - PC1
pin 16 - PC0
pin 17 - PB3
pin 18 - PB2
pin 19 - PB1
pin 20 - PB0

PC0-3 is the right number of lines to be the four poles of one of the stepper motors. PBx seems to be the other stepper motor (PB0-3 and the remaining PB4 is most likely the pen solenoid). I will verify these with an ohmmeter tomorrow. PA0-5 are the six input signals and I will also determine which are the four directional buttons and the 'fast' button using the ohmmeter tomorrow. I can ignore the sixth as the 1130 does not see any signals from its 1627 plotter.

The board also has a dip switch with six independent SPST switches on it, each connected to a line of a DIP resistor pack and to the control logic of this card, undoubtedly to set the address range for which this device will respond on the S-100 bus. The card also has a 7805 regulator to provide clean 5V to the chips and the signals to the plotter.

The signal lines from the plotter have 4700 ohm pullup resistors to 5V, thus the switches drag the signal to ground when activated (inverted TTL logic for the input). The driver transistors are conducting the power from the stepper pole or solenoid to ground - they are low side drivers - and they will conduct when the driving signal from the computer is +5V, not conduct when it is low (near 0). The use 4700 ohm resistors in series with the transistor base, the transistor has a minimum current multiplier of 10,000 and an ability to sink up to 6.25W, about a quarter amp at the 24V operating voltage. The collectors of the transistors go through relatively high wattage resistors mounted in a cage outside the back of the plotter, perhaps halving the 24V supply to the 12V that the steppers were designed to run on.

There is a small indicator light on the cover marked 'line' that lights when power is on in the plotter.

The only remaining task before building the extremely simple interface logic to the 1130 is to identify the specific motors served by PBx and by PCx, and to identify which pins correspond to the directional and speed buttons I care about. Frankly, I can apply power and solve this rapidly tomorrow, if it is not straightforward to check with the ohmmeter.

UPDATE - I have powered up and tested everything. PB0-3 is for the pen left-right stepper motor, PC0-3 is for the drum forward-back stepper motor, PB4 is the pen down solenoid, PA5 is the Start/Enter button, PA4 is the Fast speed button on the cover, PA3 is pen right, PA2 is pen left, PA1 is paper forward, and PA0 is paper backwards. All works well, ready to design, test and build the interface for the 1130.

2 comments:

  1. Why are you reverse engineering the Strobe 100? Did you do this recently? Missing documentation? The heart of this plotter was the software driver that ran it with S100 bus computers, Apple II, Radio Shack TRS-80 and Commodore Pet's. The manual had the source code in it.

    ReplyDelete
  2. I received the plotter as a gift from someone who did not have the manual or other documentation. I searched the web and posted requests at several retro and classic computing sites, but found nothing.

    ReplyDelete