Saturday, December 2, 2023

Installation of new console loader on museum's 1130 system

REPLACEMENT FOR CUMBERSOME RELAY BOARD BASED LOADER

The first version of the loader, which was a quick and dirty design at the request of another museum, required three relay boards (2@8 plus 1@4 relays), an Arduino Mega 2560 and a board with resistors, all of which were stuffed under the desktop, in front of the keyboard and behind the typewriter panel. 

I recently designed a version using optical isolated switches where all of the switch functions plus the resistors easily fit on a PCB the same outline as the Arduino. Plugged in as a 'shield', the stack is not much taller than the Arduino itself.

I designed and manufactured the shield PCB with connectors for cables that run to the rest of the machine, to simplify maintenance on the 1130 in the future. The Arduino stack will sit behind the 1053 front panel, under the typewriter mechanism, thus being completely out of sight. A set of sixteen wires run up to the console entry switches (CES) on the same front panel and end in a connector to hook to the board.

CES switches, Prog Start and Load IAR buttons

Another smaller cable with a connector to the Arduino stack runs out of the front of the 1053 alongside the IBM cable for the CES signal lines, underneath the desktop. That cable is hooked to the Program Start and Load IAR buttons, as well as bringing 12V to the Arduino stack. 

Exit notch bottom right for IBM cable, USB cable and my wires

I first disassembled the existing relay board implementation before wiring in the two cables that will hook to the Arduino stack. The area looked much neater already.

WIRING SIXTEEN CONSOLE ENTRY SWITCHES

The CES toggle switches have sixteen wires running down to the 1130's logic cages, where the electronics can read the state of the switches. +12V feeds to the common terminal of all the switches and the normally open contact has a 470 ohm resistor in series to the wire running to the 1130 electronics. 

I soldered my wires to the 16 normally open connections such that my loader can deliver +12V through 470 ohm resistors to the 1130 electronics to virtually set the CES to a 1. I installed the connector and verified connectivity from the CES switch to the proper contact on the connector of the Arduino shield.

WIRING THE PUSHBUTTONS AND POWER

This design will activate as soon as the IBM 1130 powers up, but will not take control of the machine unless requested by a specific command code over the USB Serial link. When idle, not controlling the 1130, it provides the +12V to the common terminal of the Program Start pushbutton, replacing a wire connection to 12V installed by IBM. 

When the loader is activated by the special command character, it removes the +12V to the common terminal of Program Start. The normally closed and normally open contacts are powered alternatively by my shield to indicate button up or button pressed conditions. Thus, my shield drops 12V from normally closed and delivers it to normally open as a virtual button push. 

The Load IAR button is only fed +12V power to the common terminal when the rotary mode switch on the machine is set to either Load or Display mode. The normally open contact runs down to the 1130 electronics to trigger the setting of the IAR from the contents of the CES when the button is pushed. 

My shield will route the connection from the rotary mode control that is soldered to the common terminal of Load IAR, taking it to my shield and returning the output of the optical switch to the normally open contact of the Load IAR button. Thus, when I connect the two wires from that button, the shield is virtually pressing the Load IAR button. 

I grabbed +12V and ground from the power supply of the 1130 and delivered it over the cable to the Arduino stack. Thus, when the machine powers up, the Arduino will come up and go into its idle state, delivering +12V to the Program Start common terminal so that the operator can push this manually. When activated we disable Program Start button and instead virtually push it, plus virtually push the Load IAR button and virtually set the 16 CES. 

MOUNTED IN PLACE INSIDE TYPEWRITER CONSOLE PRINTER

I found a good location to mount the Arduino stack. There is an empty volume behind the 1053 front panel, where the stack will fit underneath the typewriter mechanism. I only needed a few inches deep and high while the existing area is comfortably larger than my needs. 

I mounted the Arduino stack on a bracket which itself is mounted to the back surface of the 1053 front panel. This panel is removed from the rest of the 1053 in order to move the typewriter mechanism for service while keeping the panel with its CES close to the electronics. Thus, when the front panel mounts on the bottom are unscrewed from the 1053 base, the panel is pulled forward and upward to move it away from the rest of the 1053. The two connectors to the CES and pushbuttons can stay attached as the move with the front panel.

I simply drilled a couple of holes in the front panel, low enough to be hidden by the table top when closed. The bracket is mounted and fits exactly as I envisioned.

Inside 1053, rear view of front panel, top view looking towards keyboard

The final mounting decision was for the USB connector. When someone wants to control the 1130 and load memory, they plug into the USB connector and open a serial connection to the Arduino. The command lines that are sent over that link command the loader to set CES and push buttons, but require an activation command character to start the process and a second transmission of that command to deactivate at the end of a loading session so that the Prog Start button is again functional. 

I found that the USB cable would route out of the front panel near the bottom along with the IBM and my signal wires, then it can lie alongside the right side of the console printer cover, low where it won't be seen. The cord is hung behind the 1130 so that it can be picked up and plugged into the serial communications device when it is time to use the loader. 

No comments:

Post a Comment