Wednesday, February 20, 2019

Suffered minor failures in display PCB, requiring exhaustive testing, rework and wasting time

DSKY SUBSTITUTE FOR THE AGC

Display

With the acrylic panels frosted with too thick a layer for good viewing of the display underneath, I had to either clean off a panel for repainting or buy some new ones. I chose to buy new ones, picked them up and now need to experiment to get a very thin but still even layer of frosting.

My attempts with spray paint are not coming out well. To get an even looking coating requires so much paint mist that the surface is too opaque. I have ordered some smoked tinted acrylic to see if it will give me the effect I want.

Meanwhile, for some reason, the COMP ACTY LEDs stopped illuminating. At first I though this was a programming problem, but then realized something had gone wrong with the board. I began debugging the path from code to the LEDs themselves. I could light the LEDs manually and had continuity to the +5V supply and to the net connecting all four current limiting resistors.

Moving backwards, I had to determine if the path from the resistors back to the Arduino connector was intact. This is the problem! Somehow I have no connectivity where I did before. I can follow the signal line vertically on the bottom of the board from the Arduino connector up to a via that routes the signal up to the top layer.

From that via, it runs across horizontally and directly to the four current limiting resistors. There is connectivity up from the Arduino to the via but nothing from that point to the resistors. This line runs under the light dams which I glued down, making me thing that the pressure of gluing caused the failure.

If this line has failed, what else might not work properly anymore? This is a serious problem that I must resolve since the input and output circuits for the AGC might have been compromised and the DSKY rendered unusable. I need to carefully and thoroughly test out the board again.

To check this out, I produced several test sheet with all the pin connections to allow me to test everything. I would check the AGC inputs, then the AGC outputs, then the circuit that blanks the display when +14V from the AGC is not present, and then some miscellaneous circuits

I tested 23 input circuits, verifying that the related Arduino pin jumps between +5 and ground as the inputs are pulled down to ground through a 2K resistor while feeding 28V to the circuits. All responded correctly.

I tested the output circuits that would be fed by the keyboard PCB, ensuring that each would toggle the relays on the display board and pull the relevant output pin down to ground through 2K ohms or float high. These too worked flawlessly. I was getting a bit less discouraged at this point.

I know that the seven segment displays, the signs, and the 14 indicator side lights are working correctly because I can see them. Similarly, I know the VERB, NOUN, and PROG legend lights are working properly. I haven't yet wired the electroluminescent wire drive board and my yet to be built power converter to the +14V supply from the AGC, but that testing will be deferred until I I complete the board and installation.

I then tested the 14V input from the AGC to see that the VERB, NOUN, and PROG legend lights turn on and off with the blanking. To do this, I needed two power supplies, one at 5V and one at 14V.
My first try wasn't successful.

The way this section should work, the 14V input is first dropped to 5V with a pair of voltage divider resistors, then that is delivered to pin 38 of the Arduino for sensing. The Arduino logically reverses the input from pin 38, driving the output on pin 37.

Thus, when 14V is present, the output of pin 37 is zero and when the AGC drops 14V, the Arduino should deliver 5V on pin 37. The relay circuit that powers the VERB, NOUN and PROG LEDs is driven by a transistor that fires if its input drops near zero and releases the relay when the input jumps up near 5V.

I first checked continuity to the voltage divider pair from the 14V input pin and then continuity of the output of the divider to pin 38 of the Arduino socket. The first part was good and when I apply +14V to this divider circuit I get the +5V I expect from the output. However, I have no connection down to the Arduino pin 38 from this divider.

This signal runs somewhere near the area where I lost the COMP ACTY signal continuity. I had a via in the path of the voltage divider output down to the Arduino, so I did more continuity testing. The path is good from the via down to the Arduino connector, but not between the voltage divider output and the via.

This can be fixed with a small bit of wire added as a rework. I will do this at the same time as I add a wire to bridge my COMP ACTY LED resistors to its good via. The challenge is to find wire small enough on the scale of the vias and pads where I am soldering. Normal hookup wire is gigantic by comparison.

I was able to make the first jumper installation, for the 14V voltage divider line to the Arduino and verified its operation. Next up was the tougher connection to the COMP ACTY LEDs since these run underneath the existing epoxied light dams.

Jumper installed from 14V divider network over to working via
Repair must run from circled via on left, to circled pad on right, yellow indicates connection
While I can reach the left side via from either the top or the bottom, there is no path into the opening on the right for the COMP ACTY LEDs. This poses a major problem. I will probably have to drill an opening, which puts even more stress on an area of the board where I have just had two failures. I will have to work on this later in the week.

Now that the 14V sense works and the Arduino could do its job, the next step was to check the continuity from pin 37 to the transistor driver circuit, validate all that circuitry and the path out to the relay coil. Too, I had to check that the relay contacts will switch +5V to the switched LED power plane.

I found a missing base resistor for the driver to the relay. I replaced it and the circuit works perfectly when I drive it with 0V, forcing on the relay and illuminating the VERB, NOUN and PROG legend lights.

I did take note of a design risk I took, where I was using the digital I/O pin of the Arduino to directly sink the current from the four LEDs. My original concept had higher value resistors which would have kept the current from the LEDs down to 5ma, thus with four I would match the 20ma capacity of an Arduino.

However, in matching perceived intensity of the LEDs to the 7-segment displays, I dropped the resistance to 680 ohms. That increased the draw of each LED to 6.5ma, bringing the group of four up to 26ma. Thus, there is a risk that the ATMEL chip on the Arduino could be damaged such that the I/O pin no longer worked.

I will change out the resistors for 1K values just to avoid future damage. Unfortunately, light dams and the mask are already glued in place, making this a more challenging microscopic repair task. After some time working away at them, I was able to get the four 680 ohm resistors removed and the pads prepared.
Old resistors removed and pads prepared for install of new 1K parts
The original pads were set up for 1206 sized surface mount resistors, but I made use of much smaller 0603 components to give me good access to the pads in the narrow canyon in which I was working. These parts are able to dissipate 100mw but in this circuit we will have about a fifth of that flowing, and the COMP ACTY light is intermittent anyway.

After installation, I tested with the VOM to be sure I had good continuity. All the remains is to install the jumper to restore the connection between these resistors and the Arduino. That would return this light to operation.

As part of the extensive circuit testing, I checked all the signal lines and pin assignments on the connectors. I discovered an egregious flaw that might require rework of the board to correct. The supply voltage I connected to the cable down to the keyboard PCB is dangerously wrong. That board requires +5V to operate, but for some reason I had routed +28V on the line. The first time I cabled the two up and tested, I would have blown out my PCB.

I  believe the easier solution for the mismatched power supply is to custom build the cable so that it brings pin 9 of the cable over to a source of +5V instead of using the 28V supplied on pin 9 of the connector. This will correct the problem and allow safe interconnections. I will glue over the opening to pin 9 on the connector to insure that the 28V is never fed to the cable if it is accidentally plugged in reversed.

No comments:

Post a Comment