Thursday, June 18, 2020

EL Panel wired to Relay module, Relay Module wired to transistor driver breadboard, breadboard hooked to Arduino

PROCESS OF CONNECTING RELAY MODULE CONTACTS TO EL PANEL CONNECTOR

There are 44 segments of the EL Panel Module that are switched on and off by the relay contacts in the Relay Module in order to display the two digit PROG, two digit VERB, two digit NOUN, and the sign for the R1 row. The segments for an individual digit are in a contiguous block of pins on the EL panel, but scattered across the Relay Module connector. 

I thus had first wired the segments on the EL panel and grouped them in sets of seven (one digit's segments), six of those groupings plus a pair of wires for the horizontal and vertical sign segments. I then took each group, stripped the end of the wires and used a continuity checker (beeped them) to make sure I knew exactly which segment belonged to the wire. 

After doing the wire-wrap connection, all 44 wires were hooked to their corresponding points on the Relay Module. Previously I had wired up a group of pins that provide the 275VAC 800 Hz power that causes the segments to glow. In addition, I had wired the 20 signals that select individual relays and cause them to latch or unlatch, selected in a matrix with some lines fed +14V and others pulled to ground to cause just one relay's coil to activate. 

EL Panel wired to Relay Module

PROCESS OF CONNECTING RELAY MODULE TO TRANSISTOR DRIVER BOARD

I had designed and built a board that sinks current to ground to select each of the six digits or the two sign segments, as a row. Also on that board were twelve two-transistor circuits that would source +14V to either the latch or the unlatch side of a relay column. These needed to be connected to an Arduino to switch on those transistor circuits, and the output connected to the appropriate pin on the Relay Module.

The wire used to wrap the pins on the connectors of the EL Panel and Relay Module have a square tail so that as the wire is wrapped it bends and grips tightly. I did not, however, have such tails on the breadboard nor on the Arduino, so other connection methods had to be arranged.

The Arduino was easy - I used male to male cables with pins that fit both the breadboard holes and the Arduino connectors. One cable had eight lines for the row select, two others had six lines each for the column set and the column unset function. An Arduino Mega 2560 was easily able to accommodate the number of I/O pins. 

I first tried sticking in a connector post of the same type that fits into an Arduino, then doing a wirewrap on the pin. I found that the round shape of the connector post did not form that good tight grip that is possible with square tails. 

I decided on a hybrid approach. I got some hookup wire that would fit decently in the breadboard holes but also slid into the wirewrap tool. I then wrapped the wires coming from the Relay Module onto bits of bared hookup wire, soldering the connection in place and snipping off that small section. It was inserted into the breadboard for each of the twenty blue wires coming from the Relay Module.

Transistor driver circuits, Arduino cable on right and blue wires inserted on outputs

VERIFYING THE OPERATION OF THE DRIVER BOARD ACTIVATING RELAYS

There is so much wiring to this project and a dangerous mix of high voltage AC, 14V DC and TTL level voltages. With 137 pin locations on the Relay Module and 160 locations on the EL Panel, the opportunity for error was high. Further, any inadvertent shorts might connect the AC onto the control lines and blow out my driver circuits. 

I therefore plan a set of checks and tests before full scale operation to mitigate those risks above. The first test was done by providing +14V to the transistor driver board, manually touching a +5V lead to the inputs that will eventually be driven by the Arduino, and listening for the barely audible click of the relays latching and unlatching. This let me check for proper voltages, ensure that the Arduino won't be damaged by +14V backflow, and see that all the relays click away as expected.

I selected each of the six digit rows, then while that was active I touched the latch and unlatch columns one by one to ensure I was getting switching of the relay it controlled. I then selected each of the sign segments and while it was active did a latch and unlatch of the relay. All was good.

WRITING ARDUINO CODE TO HELP DRIVE THE DISPLAY

Each digit is chosen by setting a specific pattern of latched and unlatched relays in that row. There are five columns, since the DSKY uses a five bit code to pick the value 0-9 or blank. This means that each time I want to change one of the digits, I have to select a row and then latch/unlatch five relays to choose the digit value. Doing this manually would be tedious, thus the desire to write a program for the Arduino.

I will issue simple text commands at the terminal monitor, such as PROG 63 or SIGN +, which will select each of the two digit rows and set the code in the five columns. Pretty easy for me and not much of a program for the Arduino. I am mostly done with the code, thus once it is debugged fully I can hook up the Arduino and cause digit values to be set into the Relay Module, changing them rapidly.

No comments:

Post a Comment