Sunday, March 10, 2024

New console loader - issue encountered and a design change made

NEW CONSOLE LOADER USES OPTICAL SWITCHES RATHER THAN RELAYS

My first version of the console loader made use of DPDT relay boards to switch the connections, which kept the wires from both the NC and NO sides of the Prog Start switch connected, but flipped them when activated. My new version made use of SPST style optical relays thus I wired it up a bit differently. I expected it to be electrically equivalent to the working relay board version. 

NOTICED 'SWITCH BOUNCE' WHEN TESTING ON THE MACHINE

When I loaded a value into memory, by simulating a push of the Prog Start pushbutton after setting the console entry switches virtually with the data value, I saw that the machine actually stored the value in a group of adjacent addresses acting as if I had pushed the button perhaps half a dozen times. 

The IBM circuitry does contain switch debouncing to deal with contact bounce, so this had to be a more subtle issue. I began checking everything on the machine when I stumbled upon a surprise. I did resistance and continuity measurements when I noticed a strange behavior from the pushbutton switches. After a day of further investigation, I realized there are sneak paths that made me see 1K resistances on all the switches I tested. When they were disconnected, however, they were ordinary switches. 

TWEAKING THE CONSOLE LOADER DESIGN ANYWAY

I developed a modification to adapt the Console Loader to what I believed the IBM switches did to the circuits. Even though the rationale for the change was incorrect, I still like the new approach so I implemented it. It involves cutting two traces on the PCB and bridging a pad to an existing trace. The wiring from the Console Loader to the 1130 pushbuttons changes as well. 

I would remove the CPU wire from the NC contact of the Prog Start switch. That wire, along with a wire from the NC contact, are two of the wires going to the loader. This creates a switch to route the +12V available on the NC contact to the CPU, but not to route it when we are logically pushing down on the Prog Start button since that disconnects the NC from the +12V. 

The Common terminal of the Prog Start key is reconnected to the +12V chain of wires. Too, we retain the +12V and ground wires to the loader. 

The other wires going to the loader remain intact (two to connect the terminals of the the Load IAR button and one to deliver +12V to the NO contact of the Prog Start button when we logically push it down).

One of the photoisolators, which in the design had connected +12V to the common contact of the switch is now unused. I removed the resistor so that the Arduino can not activate it. 

Another photoisolator which in the design had connected +12V to the NC contact of the switch, now connects +12V to the NO contact. The optoisolater which had connected +12V to the common terminal of the Prog Start button is now the switch that routes the NC contact as the source end and the wire we removed from the NC contact as the destination end. 

The photoisolator which connects the C and NO contacts of the Load IAR button remains the same. 

No comments:

Post a Comment