Design work first week of March

Although I was traveling, I could still do some design work that doesn't involve physical access to any hardware, but couldn't do experiments, prototypes or or testing except when I was home. After arriving home from the first trip, I found my replacement parts had arrived for the typewriter as well as some ICs needed to build most of the punched card reader interface board.

New parts for the Electronic Typewriter model 50

I put together a quick test circuit with an op-amp (operational amplifier) to produce meaningful voltage swings from the photodiodes, using an ADTL082A op-amp with the + input offset from ground by a 2M resistor and a 2M resistor from output to -, the photodiode connected with cathode on the - input and setting the power rails to +12V and -12V. I didn't light the LEDs I had installed, but used my lamps at my workspace to vary the illumination to levels that seemed similar. I got nice swings from less than a hundredth of a volt for dark to about 2V when the sensor was well illuminated.

This will work well for the reader, allowing me to interface directly to the mcp23017 operating it at 3.3V supplies if I get the resistor values right. I will add a 3.3v zener diode to protect the inputs from excess voltage, with a 1K resistor in series between the op amp output and the zener diode (and multiplexer chip input).

I will begin designing the interface board for the PT reader, implementing the 9 channels of photodiode detection as above, plus the reed switch input signal that defines when the holes should be sampled. Outputs supported are the solenoid to move the tape forward, plus a control relay driver that will power the 110V motor and the 5V LEDs. This will be multiplexed over an MCP23017 that will combine the 10 inputs and the 2 outputs in a single chip. It will operate at 3.3V, not requiring any level shifting.

If I am able to figure out the Tally tape punch in time, I might combine the interface duties for both onto a single larger card, but a working input device is the most important of the two. I wouldn't want to wait more than a couple of weeks for the punch investigation if the reader design is ready to send to the fab.

IBM 1055 paper tape punch

Bob Rosenbloom suggested constructed a realistic appearing 2501 card reader based around the Documation, and will allow me to measure and photograph the real 2501 in his collection. I will also measure and photograph his 1627 plotter (or the Calcomp original that IBM rebadged) while there, and if he has any of the other peripherals such as the 1055, 1134, 1132, or 1403, might as well get them measured for my files.

The orientation of the card input hopper and output stacker differ between the Documation M600 and IBM 2501, which will pose the major barrier to authentic appearance. I have the control panel assembly coming from a scrapped 2501, I can create an enclosure the same shape, but if the card entry and exits are quite different, it will spoil the illusion.

The IBM machine has a nearly vertical card hopper, with the cards sitting face down, the long edge running left to right as viewed by the operator and the short edge running front to back. The documation hopper also has the long edge of the card running left to right viewed from the reader front, but the short edge of the card runs nearly vertically, the front of the cards are facing the operator. In essence, the stack of cards as they would lie in a box of cards is tilted up at the rear of the stack to about a 15 degree angle on the Documation but to almost a 90 degree angle with the 2501.

The stacker for cards after they have passed through the reader is in the same orientation and at the same tilt as the input hopper for the Documation. The 2501, on the other hand, stacks the cards with the long edge running vertically, the short edge running front to back and the front of the card facing the left side of the reader. The card moves through the 2501 mechanism in the same orientation as the input hopper then is rotated 90 degrees to end up in the stacker. The Documation moves the cards in the same orientation and does not rotate them for stacking.

It is possible that the Documation reader mechanism will work correctly if it is rotated to approximate the tilt of the IBM 2501, but there are probably mechanical and physical issues that would conflict with the 2501 size and shape. I need to carefully measure both, then look for possible ways to fit them together.

The documation blows a high volume of air onto the first half inch of the input hopper, the cards closest to the operator and first to be read. This air makes them flutter and separate from each other -  a very clever design that minimizes problems with cards sticking together and also makes it easier to pick up just one card at a time.

On the readers like the 2501, the width of the entry slot is carefully set to allow one card but block two together from entering. This means that cards that have swollen from humidity or that have some minor edge damage that is common with well used decks may not make it through the slot. It also increases the risk of a jam that could damage a card.

A rubber shoe with many pinpoint holes has a vacuum applied to the holes, pulling the bottom card down onto the shoe, which then rotates to pull the card into the rollers of the Documation reading transport mechanism. The vacuum and shoe should have no problem with a change in tilt, but the fluttering of the cards may change if the remainder of the stack is pressing down upon them more firmly due to the tilt. I will need to experiment.

IBM 2501 card reader showing hopper and stacker orientation
It might be possible to design a mechanism that flips the stacked cards to the 2501 orientation, but I suspect it will be a bit difficult to pull off. The output stack might work when tilted vertically, the way that the IBM 082 and 083 card sorters stacked cards after reading, but experimentation is needed and it would NOT look like the 2501's stacker. I might have dummy cards entering a dummy stacker while the actual cards are in the tilted stacker hidden inside the enclosure covers.

A dealer that I buy parts from had this in inventory, it had been painted by a prior owner and was not in salable condition, but he gave it me along with some buttons/lights I recently bought. I will try to clean it up and use it as a part of the 2501 enclosure. I do have the lights and enough spare switches to get this panel to reasonable appearance and functionality.

Scrap control panel from 2501 in bad condition
I soldered the leveraged input interface board to carry 18 input signals over a two wire interface for the card reader. There are 18 signals that are emitted by the reader, 12 card rows, index marker, busy, ready, hopper check, motion check and error, and I have populated the board, using twin MCP23017 multiiplexors to carry the 18 spread across the 32 channel capacity of the dual chips.

As I thought about my needs for tying the card reader to the adapter built to connect to an IBM 2501, I realized that I had both too much and too little status information. I didn't have enough to definitively report the various error conditions that could occur on the 2501, since several 2501 errors were lumped together as the one 'error' signal of the Documation, and several other 2501 errors were lumped together under 'motion check'. I will have to make some arbitrary assignments of the physical reader status to certain 2501 conditions.

To support up to 24 signals requires 2 MCP23017 and five level shifter 4050 chips. The fully populated board holds 2 23017, 6 4050 and 6 mc14490 debouncers. The Documation gives me clean signals, no need for debouncers, so I used wirewrap to bridge the signals over the pads that would have held the MC14490 chips. I also bridged to ground the inputs of the 23017 that come from the sixth 4050, which did not get put on the board as I am not implementing the final group of 8 signals possible.
Input board partially populated, able to carry 24 signals

Jumpers to eliminate debouncer chips as readers inputs are digital sources.
My output needs to the reader are for a single TTL control signal - pick - that tells it to grab a card and read. I will use an IO pin from the fpga board, rather than hanging another MCP23017 as an output demultiplexor, which would be justified if there were several output signals I had to transport. I built a quick prototype board that will level shift the fpga 'pick' signal up to the 5V TTL levels demanded by the Documation, and will tap some of the status conditions before they are sent into the FPGA. These will be used to light the chosen indicator lamps on the mock 2501 control panel, so that I don't need to send them as outputs from the 1130, conserving fpga I/Os. I will probably stick with this board as I can extend it once I decide which 2501 lights I am illuminating for various status conditions of the Documation. I used some simple PNP transistor drivers circuits to drive 30ma through the LEDs and 10ma to the pick signal, all of them at 5V, with a 3.3V load of no more than 1.7 to 3ma depending on the circuit involved.


I finalized the design of the PCB while on the trip and once the testing proves out the design, will commit the production version of the card. It involves about 15 chips and a slightly larger number of capacitors and resistors, but with surface mount parts this can still be quite compact. On the other hand, I might have all the DIP versions(original size chips with pins that insert through holes in a PCB) and be able to pop this together more quickly on the hybrid breadboard/PCB blanks I have on hand.

PCB design for plotter board autorouted by design software

Quick and dirty diagram of the plotter interface design

My quick and dirty diagram has the initialization delay circuit drawn incorrectly. The RC connection is +5V to resistor, other end of resistor to capacitor and inverter input, other end of capacitor to ground. This was put together during my flight home as a quick way of sharing the design process based on the last post describing the considerations that went into this interface. As well, I have the JK flip flop misconnected in regards to the clear and inverted output pins. Still, it shows the overall concept and ties to the writeup.

 Initially the shift registers and edge detectors were not working properly. Once I hauled out an oscilloscope and put it onto the clock signal, two problems were highlighted. The cause of the malfunction was that the load of the shift registers is enough to bog down the clock circuit if hooked directly to the three inverters generated the clock, but I had an unused inverter on the same chip which I used to redrive the clock signal.

Often, getting to the bottom of the cause of undesirable results requires tools - scopes and logic analyzers among them - and of course learning how to operate and interpret these tools was another dividend of this project. Recall that one of the objectives was to be a forcing function for learning many aspects of electronics and other arts, because of the very broad range of tasks that would arise. For example, I was forced to learn how to diagnose and service Selectric typewriters, to airbrush, to design for 3D printing, and to make printed circuit boards using surface mount components.

The minor issue I found in the initial tests of the plotter prototype circuit was caused by my use of 74HCT technology for the inverter - this is a family of high speed CMOS logic that has input pins compatible with TTL logic levels, in particular there is a lower threshold than with CMOS chips. Since the outputs of the chips are at CMOS levels, the use of the 74HCT04 inverter chip in the circuit gave me an uneven duty cycle for the clock - much shorter off time than on time, where an ideal clock output would be evenly divided between on and off times.

 I swapped in a 74HC04 chip, which is fine because none of the input lines on this chip are connected to TTL signals, they call pass through CMOS or are direct wired to 1 or 0 levels. This gave me the 50% duty cycle I was seeking and the extra inverter yielded reliable shift register operation at 1KHz, ten times the speed that it would be operated in my circuit. I chose 1KHz because it was easy to create by temporarily swapping the resistors in my oscillator.

I am building up towards connecting the breadboard prototype to the Strobe model 100 and testing for correct behavior of the directional keys, fast button, and startup initialization. The process of soldering the sections of the circuit together is slow and tedious work, but I have to be careful if I want it to work properly and reliably. I completed the wiring Sunday evening but didn't have time to set up for a test.

I will begin looking for knobs that can be used to implement the rotary momentary contact switches on the 1627, as are visible in the picture below.

IBM 1627 plotter

With the spare parts in hand, I brought the typewriter back to my workspace and did the installation and adjustments. I needed to pick up a small hex key to fit the available space in the carrier assembly, but that was easy to buy at a local hardware store. When I fired up the Arduino based tester, the output was flawless! I am so relieved that the only problem was the worn out malfunctioning pin block and rotate cam. I can now focus on building the realistic enclosure for the console printer and finishing the 1130 adapter to typewriter interface logic testing.

The fab house has shipped my printed circuit boards for the keyboard interface, due to arrive on Monday while I am away on a trip. When I return I can install the components and do a full test of the functionality.

I picked up a DEC RK-05 drive from a recycler, a unit listed as not working/for parts but that was because it would not power on when plugged in. Had it turned on the power lamp, it would have been listed as used/working - this is the way with many of these sellers on ebay. A drive listed that way is listed for $2,800, a ridiculous price given the lack of actual testing of functionality. My drive was far, far cheaper because of the status. It is being shipped from the east coast and will take a few weeks to get here.

The RK-05 is almost identical to the IBM drive in the 1130, although the implementation is slightly different. The actual disk cartridge, disk platter and heads appear identical, as are the specs for the capacity, organization and other details. The way it seeks is different and quieter than the 1130, which in my case is actually a downside. I will look to see if I can restore the grunting sound so well known to 1130 users, without impairing its functionality. That is, of course, under the huge assumption that I can get it working.

However, at worst case I will use it for realism, inserting one of my two disk cartridges into the slot, flipping the power switch, but using a more modern technology hidden in the cabinet instead of the actual disk drive. Best case, it will be used for all the disk reading and writing.

I have heard that the way the drive is formatted is slightly different, with the most important factor being the markers that divide the rotational area into eight sections. The 1130 drive ignores every other marker, organizing each cylinder as four sectors, with a special marker at the beginning of cylinder. If the DEC packs are given different index markers, and particularly if they are sensing the markers in a different way than IBM, I may have more challenges with cross compatibility of disk packs to drive, but in any case I should be able to map one scheme onto the other.

The internal drive in an 1130.
Picture of an RK-05 disk drive by DEC, design licensed from IBM

I met with Bob Rosenbloom on Sunday to measure and take pictures of his 2501 card reader and a Calcomp plotter resold as the IBM 1627.
The 2501 being measured and photographed
Capturing details of the plotter for designing my replica

I got as much done as I could with the remainder of Sunday. I will begin a road trip Monday morning to Southern California on business, but with the secondary purpose of picking up a card punch I bought from a recycler down in Ventura, saving on the freight charges and palleting by tossing it in the back of the car.

No comments:

Post a Comment