Help needed with our LED-Wall (flickering Pixels)

Status
Not open for further replies.

clockdiv

Member
Dear Community,

I'm running out of ideas on how to get our LED-Wall (1200 WS2812B LEDs) to work.

Issue:
- When starting up, everything looks fine.
- After a while (sometimes one minute, sometimes 20-30 minutes) single LEDs drop out (therefore the whole strip). After a longer period, some more drop out.
- Turning everything off and on again, same LEDs have issues
- Turning it on the next day, everything is okay. Different LEDs than the day before start to drop out after a while again.
--> I replaced some misbehaving LEDs, it helps for the moment, but other LEDs start to act weired again.

Have a look at the video, weired behaviour starts at around 0:50 and is obvious from 1:30 on:
https://www.youtube.com/watch?v=0haWijzcMh4

How it's built:
- Teensy 4.1 with the OctoWS2811 example controls four blocks of LEDs (on Pins 28, 29, 30, 31)
- each block has 300 LEDs (6 rows with 50 LEDs each)
- four blocks with 300 LEDs each = 1200 LEDs
- each 50-LED-row gets power from both sides, also a capacitor (100uF 25V) is added on both sides. So each 50-LED-row has two caps.
- Signal cables: a shielded and grounded CAT6-cable goes to a connector at the bottom of the LED Wall, from there a shielded cables goes to each block.
- Logic levels are shiftet with a 74AHCT125N before the signal enters the CAT6-cable.
- The Teensy and the 74AHCT125N run with a separate power supply on 4.8V, the LED Wall power supply is adjusted to 4.9V.


What I think is not the issue:
- Power. I read a lot of power issues, but I don't think/hope that's the problem here. Power supply has 90A, we have two lines with 4 AWG (20mm²) going into both ends of each of the strips. We have stable 5V in "all four corners" and I also could not detect any voltage drops with the oscilloscope.

What could be the issue:
- Simply poor quality of the cheap LEDs, like Paul Stoffregen mentions in several posts. I already replaced around 1% of the LEDs (10 out of 1200), but they keep "dying" (or, well, they live the next day öÖ)
- Overheating? But touching them, they don't get hot at all. They're glued on with hotglue.
- Electromagnetic interferences? I still wonder how this Pixels even work without shielded signal cables. And why would it effect a single LED?
- I'm using the WS2811 library. Would the WS2812B make any difference here?

Code
Simple as it is, it's the example from the library with other pin numbers:

Code:
#include <OctoWS2811.h>
const int numPins = 4;
byte pinList[numPins] = {28, 29, 30, 31};

const int ledsPerStrip = 300;

DMAMEM int displayMemory[ledsPerStrip * numPins * 3 / 4];
int drawingMemory[ledsPerStrip * numPins * 3 / 4];

const int config = WS2811_GRB | WS2811_800kHz;

OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config, numPins, pinList);

void setup() {
  leds.begin();
}

#define RED    0xFF0000
#define GREEN  0x00FF00
#define BLUE   0x0000FF
#define YELLOW 0xFFFF00
#define PINK   0xFF1088
#define ORANGE 0xE05800
#define WHITE  0xFFFFFF
#define BLACK  0x000000


void loop() {
  int microsec = 2000000 / leds.numPixels();  // change them all in 2 seconds

  colorWipe(RED, microsec);
  colorWipe(GREEN, microsec);
  colorWipe(BLUE, microsec);
  colorWipe(YELLOW, microsec);
  colorWipe(PINK, microsec);
  colorWipe(ORANGE, microsec);
  colorWipe(WHITE, microsec);
}

void colorWipe(int color, int wait)
{
  for (int i = 0; i < leds.numPixels(); i++) {
    leds.setPixel(i, color);
    leds.show();
    delayMicroseconds(wait);
  }
}

Here also some pictures:
Screenshot 2021-07-29 at 22.39.20.jpgScreenshot 2021-07-29 at 22.39.05.jpgScreenshot 2021-07-29 at 22.39.37.jpgScreenshot 2021-07-29 at 22.39.47.jpgScreenshot 2021-07-29 at 22.40.54.jpgScreenshot 2021-07-29 at 22.38.55.jpg

So far, so good/bad. I would highly appreciate any thought and say thanks in advance.
all the best,
clockdiv
 
Do you have a schematic?

You have power and ground in loops? I would think a single point, star configuration would be better. Loops have always caused me grief.
 
Thanks for your answer. Attached you see the schematic and yes, the power and ground is in loop.

The power rails on the right side could easily be unplugged. But the connectors at the end of the LED-Strips (to easily plug in the next one) also connect the 5V power, which creates a loop again. I have to find a not-too-destructive-way to detach this to give it a try.

Could you give a keywoard on what happens when I loop the power? We did it because of the hint given on the teensy website:
"If longer strips are used, both ends should be connected by wires directly to the power supply."

btw, resistors: directly after the 74AHCT125N each line has a 100 Ohm resistor. Each single Pixel has a resistors (on the data line, value?) and a capacitor (between gnd and 5v, value?) as well.

LEDWall schematic.jpg
 
I wouldn't necessarily rule out heat being a factor, I've messed up the LEDs on these same exact breakout boards from taking too long when soldering wires to them. If they get too hot when you solder wires to the boards it can still work when you first install them and then when they reach a certain temperature they will start dying even if it doesn't feel hot to you they were already compromised from the soldering iron.
 
- After a while (sometimes one minute, sometimes 20-30 minutes) single LEDs drop out (therefore the whole strip). After a longer period, some more drop out.

Any chance temperature is a factor? Maybe try a couple box fans blowing air or running in a room with AC turned on high... not necessarily as a solution, but just to experiment whether temperature and maybe self-heating in the LEDs is playing a role in this problem.
 
Temperature could be, yes, though they don't feel hot when I touch them. The strips were already soldered, but maybe if the soldering machine in the factory was set up too hot..? who knows.
Unfortunately we don't have an AC, but I'll give it a try with some fans or other cooling methods.
(My update on this post will take a while as I can't enter the space with the led-wall for the next two weeks. But it's definitly not gonna be colder mid-august ;).)

Thank you very much for your answers and enjoy the weekend,
clockdiv
 
OK, you ready for some fun?

First thing you can try - use your voltmeter, checking ground differentials.

Connect black lead of your Fluke (I hope you have a decent meter with DC mV readout) to the Teensy ground (right on a ground pin), and leave it there. Then probe the circuit ground points at the power supplies, and all around the loop. Ideally, it's 0.00V. Look for min & max, under your use case.

Then do same thing, with o'scope. Looking for noise of any frequency (sharp spikes on signals, droops on power line, etc).

I've seen a few hundred mV ground differences causing issues with signals on sensitive inputs. Mostly due to unintentional ground loops, current was running thru shielded cables. Ideally your shielded cables have the shield tied to ground on one side only, to prevent such current paths.

Also, if you have an unhappy LED, look at power/signal from the LED's POV - tie your scope ground at/near the LED and look at 5V and the signal line. Compare to other happy LEDs at the start of the chain, tie scope ground at/near the LED.

Another possibility is you might have oscillating currents on the ground loop, and/or the power loop. If true, then the loop inductance (see calculator ) could be generating lots of EMI and chokes/inductors will be needed. A current probe for your o'scope would be handy.

You have 2 AC/DC 5V power supplies, are they isolated? (Measure DC output relative to AC Ground, it should be floating if isolated). You may want to tie the 1A and 90A supply with a DC ground wire between them.

All your high current connections are crimped? No solder right?
 
Thank you very much, TeensyWolf, the project is getting more adventurous from day to day. Always great to learn something new and I begin to understand the problem with ground-loops... I'll check this out as soon as I can enter the space with the LED-Wall again.

The high current connections from the cables to the copper-rails are crimped and additonally soldered as well, see picture (take care, it looks dangerous!).
At the power-supply, they're only crimped.

Untitled.jpg
 
Your symptoms sound like a thermal issue to me. The only real difference between a short power cycle which doesn't fix the issue and a long one which does, is that the components have time to cool down. The fact that the problem occurs in different places each time seems to indicate that it isn't specific LEDs that are at fault such as getting too hot from soldering, but rather a system wide issue of some sort. Replacing individual LEDs probably won't get you anywhere.

Some of these types of LEDs are constructed with a heatsink built into the package and others are not. Even through the LED doesn't feel hot, the die may still be getting a bit toasty, causing erratic operation.

You might try reducing the brightness quite a bit to reduce the thermal load and see if it takes longer for the issue to appear or if it goes away entirely. That would help to identify if it is in fact a thermal issue or perhaps a power issue since it will reduce the power requirements as well. It it still occurs after about the same amount of time, then it would start to feel like a digital noise issue or something along those lines.

Another option to rule thermals in/out is to arm yourself with a can of freeze mist and a heat gun. Cooling the LEDs in the chain where the issue starts should allow them to start working again. Similarly, heating LEDs should allow you to induce the same fault on demand.
 
Status
Not open for further replies.
Back
Top