Electronic – Charlieplexing: a LED producing light very slightly, although it shoudln’t, based on its forward voltage

led

I have a display of a few LEDs, using charlieplexing:

enter image description here

The display devices don't have any other parts, and don't have any space to place any parts either. The resistors are on the wires A, B and C between the controller and the display device.

When only device 1 is connected, in the configuration A = tristate, B = 0, C = 1, the green LED 3 lights up just as it should. However, the red LED 1 also produces a very faint light. It's barely visible, but it's there. There seems to flow some small current through the LEDs 5 and 1, although the forward voltages of LED 5 + LED 1 are much higher than of the LED 3.

All red and all green LEDs are of the same make, the reds having a forward voltage of approx 2.1 Volt, and the greens 3.9 Volt.

When I also connect the Device 2, the glowing of LED 1 becomes slightly stronger. It's understandable, because we just "doubled" LED 5.

How can I eliminate or at least strongly diminish this effect? I cannot place any new parts inside the devices (although I could flip the LEDs and change the software of the controller accordingly), the only place I could insert new parts are the cables: cut an individual cable and put a serial component there.

I managed to diminish the effect of using both devices together, by putting two parallel, reverse-polarized diodes on one of the wires of device 2.

All LEDs are driven by a PWM of appox 300 Hz, if this is provides any additional useful information.

Are there any other approaches I could consider?

Best Answer

For some reason, red LED's are faintly visible even with very small currents flowing through them. In the past, I have had this problem before, and used a parallel resistor to suppress it. Basically, you put a resistor in parallel with the LED. This gives the current an alternate pathway, and lowers the forward voltage to the point that the LED does not glow.

For you this translates to putting a resistor from A to B. This may not work, because adding a resistor from A to B could create other problems. But it is worth a try. You may need to fine-tune the resistor value. If the resistor is too small, it may cause green LED 5 to turn on. And if it is too large, it may not solve the problem. And depending on what other configurations you have (with A, B and C) it could cause other problems.

If possible, I suggest you measure the current, and use that to help pick a starting resistor value. If that is too difficult, just experiment with a range. Maybe try 100k to start, and work downward if that does not do the trick. If this is a production design, you should explore the effects of temperature before you finalize the design. If you are only making one or two, then it is less critical to determine full working envelope.

Good luck!