Sunday, July 1, 2018

Printing unit of ASR 33 in fairly good shape after cleaning and lubrication; built RS232 to current loop adapter


A teletype uses a current loop where a current (20ma or 60ma) is called a MARK and the absence of current is a SPACE condition. When a line is idle, it delivers a steady MARK signal.I held the selector magnet armature in the MARK position and rotated the motor by hand until the printer cleared the prior selected character and all the clutches unlatched. In this condition, the motor spins without any printing action taking place.

If the line is disconnected (e.g. the armature is in the up or SPACE position) then the mechanism detects the space as a start bit and latches the selector clutch to take a cycle decoding what it believes is an incoming character. Since the magnet stays in the SPACE condition, all eight bits of the character are interpreted as 0, which is the "blank" character.

A blank causes the printer to partially print, but the hammer does not actually strike a character. This is the chattering that a teletype will make when the line is disconnected  A blank is different from a "space" character which advances the carrier one column to the right, although both of them cause the partial movement of the hammer called a non-print.

Selector clutch to convert serial input to parallel codebars
If I am careful and slow I can swing the magnet armature at the proper times in a character cycle to set up each intended character. I should see the selector mechanism set the levers and follow the printer either typing a character or performing a function request.

Push levers for each of the incoming bits
Based on the adjustments manual, there is an easier way. Set the magnet to MARK, trip the clutch and rotate so that near the end it has all eight blocking bars raided. Then I would use a springhook to move some levers back to the SPACE state.

Blocking levers above, codebars below at right angles
When typing a character, the selection code causes the type cylinder to rotate and move upwards to place the selected character in line with the ribbon in front of the paper and 180 degrees from the point where the rubber hammer will strike.

If the ASCII encodes a function request such as line feed, the machine establishes a non-print condition to block the hammer from hitting the type cylinder, but also causes a function bar for the requested function to drop into a slot and trigger the function clutch. That would move other bars and levers to cause the printer to feed a line, return the carrier, ring the bell, or other implemented function.
Codebar, function and printing clutches
I worked out the encoding for a few test characters - A, R, bell, new line and carriage return. If the printer unit seems to perform these properly it is a very good sign that it will be quickly restored to full operation. I can do a bit of cleaning and relubrication, put everything back together and begin testing under power.

However, I can see that the selector mechanism sets up the 'blocking arms' correctly for the MARK and SPACE bits of the incoming character, but it should then trigger the code block mechanism to move the code bars left or right depending on their received value. This is not occurring. With the code bars stuck in their off position, every incoming character appears to be a NULL/Blank.

I did a bit of general cleaning, spraying alcohol to rise off dirt near parts that need oil, then applying fresh oil. I can see that the code bar and function clutches work properly, as does the selector clutch. Even the Answer-Back drum clutch works properly, cycling the drum through all the characters that are encoded on it by removing tabs then stopping.

One area that I had to focus on was the distributor - this is a unit that rotates once to serialize input that comes from the keyboard, the Answer-Back drum or the paper tape reader. It keeps turning, even when the Answer-Back drum is at its idle point. I have to figure out what needs to be lubricated and feed so that the distributor clutch also sits at a stop position until needed.

Who Are You drum to encode and send a string back to inquirer
It turns out that the keyboard mechanism will hold the distributor clutch trip arm up, but without the keyboard attached it droops and triggers constant cycles. This will not be a problem when the unit is reassembled - I can see it stop when I manually hold the lever in the proper position.

I tried to set up the first test character - an A - through hand cycling and use of a spring hook. Once I can get the code set up, I would trip the code bar cycle. The goal was to see the right combination on the code bars.

Getting the timing right on the selector cycle is important because the machine is designed to select the next character while the code bar cycle is configuring the print wheel or function rods. Thus, by the end of a cycle I think the character value is locked into position and I can't manipulate it.

I really don't know exactly where I am supposed to pull with the spring hook nor at what time precisely. Until I figure this out I can't fire off character codes and test the remainder of the printer unit.

I was cleaning the punch unit and found a broken bit which initially looked like a segment of a toothed wheel. That worried me because spare parts are difficult to find. After studying the parts manual I realized this was a projection onto which a spring is hooked; the projection had snapped off. This allows setting the tape guide pressure by moving the end of the spring to one of the grooves on the projection.

Broken part I discovered in punch unit
Location where the projection broke off
With the one broken part discovered above, and three external parts that were missing on my unit, I decided to contact the king of teletype spare parts, RTTY Electronics, to see if he has the parts available. I don't have the front plate and the knob to operate the Local/Off/Line switch. I am also missing the knob on the platen.

I never did figure out the technique with the spring hooks during the manual selector cycle, but I was able to toggle the selector magnet armature as I very, very slowly advanced the cycle. It gave me a few printable characters, allowing me to confirm that the hammer does slam the type cylinder into the ribbon and paper.

The last 3-4 tests I would like to accomplish is to trigger function operations instead of typing characters. I want to try out 'space', 'bell', 'line feed' and 'carrier return' as these exercise most of the rest of the printer mechanism. If they work, I think this unit will be ready for power-on testing after reassembly of the entire ASR 33.

What I discovered is that some of the code bars are too sticky to work reliably. I will continue to clean, reoil and exercise them until they work as they should. It is not yet ready to go, but I will keep at it tomorrow. 


I whipped up a quick prototype board of a circuit to connect a regulation RS232 (+/- 12V) interface with the two 20ma current loop connections in an ASR 33 teletype. Four transistors, one diode and 9 resistors were soldered to a small board and made ready to wire up as needed to test the ASCII teletypes (model 33).

This will work well with various minicomputers and the Altairduino recreation of an Altair, but can also be used with PC based serial links as long as we insert a voltage translation board to seperate the TTL from the RS232 voltage levels.

For my Altairduino, I had constructed a box which connects over Bluetooth to the Altairduino and presents real RS232 - I used it with one of my HP minicomputer terminals. This will work fine with my teletype and the simple current loop interface. Might have to adapt to the connector I put on the bluetooth box.

No comments:

Post a Comment