Electronic – LEDs have a low glow “noise”

bjtled

Interim conclusion edit at bottom.

I'm driving a stack of 5mm LEDs off 24volts as in the diagram below. I have four stacks of these, two have 5 white LEDs and share their base drive, one has 7 red, and one has 7 yellow and each of those is driven off a different output.

What I'm noticing is that they glow very very gently, and flicker as they do so (almost like an imitation of a candle-flame, which might be cute if I wanted it). Unfortunately, it's critical to the purpose of this design that these LEDs be totally dark when off.

I notice that the LEDs are not all glowing the same amount, some seem to be more alive than others (though which ones is repeatable). I guess this is because they have slightly different characteristics, and whatever current is running down that stack is intermittently enough to make the most sensitive glow while still doing nothing to the others?

Originally, the resistor and capacitor from the base to ground were not in the circuit. I first added the capacitor because I could see some high frequency (in the MHz range) noise on my scope, but that made no difference, then I added the pull-down resistor on a whim. That too made no difference. The scope shows the voltage at the bases of the transistors is essentially zero, and the noise peaks are perhaps 15 mV.

So the question is, what's causing the glowing, and how do I fix it. Is it perhaps a leakage current/noise thing in the transistor? They're 2N2222. Again, what would be a good course of action. Do I need to use a FET instead of a BJT? I went with a BJT so I could control the current through the LEDs even when a stack of them might have had significantly different forward voltages, which differences would be potentially exacerbated by having more of them. (3v3 at the base minus the 0.7 forward BE junction puts 2v6 on the 150R and should give me a pretty predictable 17 mA through the LEDs, and the worst case voltage on the transistor still results in a pretty modest power dissipation. Well, that was the plan!)

One thing I know I don't know is what is the lowest current level that will make an LED emit some level of light.

Edits: These include a little more info, and answers to some of the questions so far raised:

  1. The flicker is so faint that it is undetectable unless in a dark
    room (but this matters to me!)
  2. The transistors' bases are driven directly of the digital output of a NodeMCU
  3. It still flickers with a hard ground on the base and the CPU removed
  4. I can't put R1 between the collector and the diode, as that would lose my current control
  5. There's no mains noise on the base lines. Noise is very random,
    looks very white (to the naked eye), and around 15 mV peak.
  6. Putting the scope on base and then the emitter both show essentially
    0v (suggesting "low" leakage through that 150R)
  7. There is between 2v and 3v2 on the various LEDs in the stack. I think this tells me that it really is a leakage current issue. I had hoped to see the collector sitting at 24 V (supply rail) but it's not, it's about +10 V.

Edit 2: Interim conclusion.
So, based on extensive and very generous help in the answers and comments, I believe this really is leakage. I have experimented a little with the idea of adding resistors across the diodes which helped some, and it's quite possible that more experimentation might have found a good solution. The circuit proposed by MicroservicesOnDDD looks fascinating, but to be honest, it's more complex than I was hoping, and I admit I've not tried it (though I might get to it at some point).

The two things that I've done at this point are:

  1. I added an additional LED (making six in the white stack, and eight in the red and orange stacks). This made a distinct improvement.
  2. In a burst of "crude, but effective", I added a simple relay and am now turning the 24 volt power for these LEDs off entirely when they're not wanted. The current relay is 240 volt capable, which is simply what I had in stock and so has higher current draw than it likely needs. However, it does, of course, entirely suppress the glow. So for now at least, this is my solution. Not terribly elegant, but provided the "click" that it makes when turning on isn't a problem, absolutely effective.

schematic

simulate this circuit – Schematic created using CircuitLab

Best Answer

This is likely not due to a flaw in the driver, or in the signal source, since only some flicker. Because LED's are not absolutely identical, the voltage across each in a series string will not be equal for DC due to differing leakage currents, and for AC this would be exacerbated by differing capacitance wihin each device and from device to ground. Therefore, a signal not providing enough voltage to light all could cause a few to glow feebly.

The easiest fix is to put equalizing resistors across each LED. perhaps 100 kΩ as a first try. 10 nF caps across them might also be needed, if the resistors aren't enough to make the LED strings completely dark when nominally off.