How do you feel about this article? Help us to provide better content for you.
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
What do you think of this article?
Inside the machine: the printing carriage is on the left, mechanical serialiser/deserialiser on the right. The box on the right keeps fingers away from the 80V signalling voltage present on the contacts of the cam-driven switches inside. The horizontal drum on the lower left contains a clock spring that’s wound up as the printer head moves across the paper. At about column 60 that big neon lamp is turned on to warn the operator that the end-of-line is approaching. The Carriage Return code releases the carriage which flies back, powered by that clock spring. An air dash-pot under the machine base then brings the carriage to a soft stop. A problem is that the carriage doesn’t have time to return fully before the next character is ready for printing. The user manual states that a Line Feed code must always follow a Carriage Return to provide that time.
The Creed 75 was designed as a communication device, but adapted for use as a computer console on many early British computers. The aim of this project is the construction of an adapter to interface the high-voltage Baudot-coded serial data signals of the teleprinter, to ASCII-coded RS-232 voltage signals acceptable to a modern microcomputer. In Part 1 I presented an overview of the machine and showed that it possesses no on-board electronics (apart from a few inductors and capacitors for EMI suppression). Even the serial-parallel conversion is performed by rotating camshafts and mechanical switches!
Basic teleprinter communications
Before delving into the ins and outs of turning a teleprinter into a computer terminal, here is a brief explanation of how it worked in its original role. Take a look at Figure 1a, which shows a simplified comms system with two teleprinters that could be miles apart.
Sending messages from a keyboard
The keyboard unit encodes letters, numbers and symbols into a 5-bit digital format. The code is then sent serially over a single wire to the remote teleprinter where it is decoded and converted into a printed character on a paper roll. The switch in the diagram is just one of a number forming the Serialiser, illustrated in Part 1, which generates an asynchronous serial signal with a Start bit followed by 5 Data bits, and 1.5 Stop bits. While idling, the line is held in a Mark (logic 1) state of -80Vdc; a Space (logic 0) state of +80Vdc indicates the start of a character transmission. The Stop bits (Mark) provide a minimum time limit before another character can be sent, necessary because electromechanical logic is a lot slower than electronic! You will notice that the serial output from keyboard A appears to drive the printer magnet of remote printer B directly. This was in fact the case: the high signalling voltages being used to achieve a reasonable signalling rate over long transmission lines.
So, a minimum of three electrical connections is all that is necessary to get the transmission side of the teleprinter working (excluding the mains ac power for the motor): power supply inputs defining the signal voltage levels, and the asynchronous format, Baudot-coded signal output itself.
Receiving and printing the messages
The only electromechanical component in the printer section is the bipolar electromagnet described in Part 1. Depending on the data, its armature may have to move – very quickly - between the Marking and Spacing positions up to 75 times per second. This level of performance is achieved by:
- Using high signalling voltages to help retain the fast edges of the electrical pulses over a long transmission line.
- Providing two ‘centring’ springs to ensure equal forces on the armature for both Mark and Space conditions.
- Keeping the actual distance moved by the armature as small as possible – about 1mm each way.
Close-up of the electromagnet’s armature (the black bar), and its centring or bias springs. The magnet itself is on the left.
If the keyboard side only requires three electrical connections, the printing side only needs two: Ground and a bipolar data input signal with exactly the same format as that of the keyboard data output.
From Teleprinter to Computer Terminal
Figure 1b gives an idea of the circuit functions required to turn a teleprinter into a computer terminal. First of all, the keyboard doesn’t need to be supplied with ±80Vdc because it’s no longer driving the printer magnet directly. I’ve decided to use +3.3V for Mark and 0V for Space instead. The keyboard’s serial data line will now drive a 3.3V microcontroller GPIO input without the need for a level-changer. A low-pass line filter is included to remove induced high-frequency noise from the motor, and the electromagnet when it switches.
The magnet driver circuit
In the communications system, one end of the electromagnet’s coil is grounded while the other is connected to the signal line. For the magnet to move from, say, its Spacing position with a line voltage of +80V, to Marking, the line is switched to -80V, reversing the direction of the current through the coil. Because we’re not driving the magnet via a long telegraph cable, a bit of electronics can be used to eliminate the need for that -80V rail. A ‘bridge’ circuit (Figure 2) provides the necessary reversals of coil current from a single-rail supply.
It looks rather similar to the classic ‘H-Bridge’ circuit used to drive PMDC motors, except that the two transistors forming the upper arms of the ‘H’ have been replaced with high-power resistors R1 and R2. The H-Bridge provides two ‘off’ states not needed here because the magnet is on permanently with current always flowing in one direction or the other. TR3 inverts the GPIO signal from the MCU making TR1 on for the Marking state, or TR2 on for Spacing. Pull-up resistor R7 ensures that the interfaces powers-up in a line-idle condition (Marking) for the brief interval required for the MCU program to initialise and set the GPIO port as an output and in a logic 1 state. This avoids a lot of noisy chattering from the printer when the interface is first switched on.
Diodes D1 and D2 protect the transistors from the usual high-voltage spikes associated with abrupt changes in inductor current. D3 and D4 shield TR3 and the MCU from 80V should either TR1 or TR2 fail short-circuit. D3 and D4 also raise the turn-on voltage for Darlington transistors TR1 and TR2to over 2V thus making the circuit less susceptible to noise. The Darlingtons have a current gain of over 10000, so switch easily with the 3V logic signal from the MCU.
Work in progress with the interface box. The large item, top right, is a 150VA autotransformer British Amateur Radio Teleprinter Group (BARTG) long ago and now I assume unavailable. It should be possible to find alternatives though. The rectangular hole in the case wall on the right will take a period ‘Jones’ series 300 12-way socket for the teleprinter data signal connection. These ancient connectors are still manufactured today! So far, the circuit board is populated with the 80Vdc power supply and the magnet driver. But does it work?providing the 115Vac supply needed by the governed motor of my particular Creed 75. Below it is a conventional mains transformer with two secondary windings: 65 – 0 - 65Vac for the +80Vdc rail and 12 – 0 – 12Vac for the +12Vdc supply. It’s a ‘special’ made for the
Testing the magnet driver
I planned to use a PIC24 in the interface, and my trusty Forth-based Clicker 2 MCU board as a test ‘host’ computer just as I did with the TRM250 paper tape reader project. There is a not-insurmountable problem though: the UARTs in modern MCUs cannot work with the 5-bit plus 1.5 stop bit asynchronous serial format. So, two GPIO pins were set up on the Clicker 2 to drive the printer directly: one for serial input, the other for output, with serial data in the correct format at 75bps ‘bit-banged’ in Forth. Eventually, the PIC24 will handle that task and the conversion to ‘normal’ ASCII serial code. This set the printer printing something, just not the characters I expected. After a lot of investigation, I located a misadjusted crank in the depths of the machine. The experience confirmed three things:
- Never attempt to get one of these machines working without access to the technical manual.
- As frighteningly complex as they are, the Creed teleprinters were designed to be maintained and repaired when necessary. Loosening a few screws allows complete sub-assemblies to be taken off, gaining access to seemingly ‘buried’ components.
- A set of spring hook tools is an essential part of your tool kit - there are so many tiny springs in awkward locations.
I’ll go over the ‘bit-banged’ UART software, the keyboard interface and power supplies.
If you're stuck for something to do, follow my posts on Twitter. I link to interesting articles on new electronics and related technologies, retweeting posts I spot about robots, space exploration and other issues. To see my back catalogue of recent DesignSpark blog posts type “billsblog” into the Search box above.