LED's flickering when white.

Status
Not open for further replies.

gavspav

Well-known member
I'm building an OctoWs2811 matrix. It will have up to 8 strings of 500 pixels

I'm getting a weird flicker when the pixels are white though. Its not OctoWs2811 or teensy specific as I got it with the arduino/neopixel library as well.
Initially I thought it was a power supply issue but here is the weird part - even if I set the pixels to dim white (eg 50,50,50) it still occurs.

I think I read somewhere something about PWM and peaks occurring simultaneously but I didn't understand it and can't find it anyway!

Has anyone had any experience of this?

Oh and I should say I'm using 300W 12v power supplies. Injecting power every 200 pixels. Its about 5m from the teensy to the first pixel - but this behaviour occurred before even when I had the Arduino at the first pixel!

I wonder if it is signal noise. That will be the next think I look at probably.

Or I'll just avoid white - looks rubbish anyway!
 
Perhaps try measuring DC voltage between ground points. Get extra long extension wires for your multimeter, if necessary.

In a perfect world, all GND points would be exactly the same, so you'd measure 0 volts between any 2 points. My guess is you'll see more than 0 volts in some combinations.
 
Suggestion is to put a block of white pixels on the end of your strands and see if that flickers since a 50% white will still be drawing the full white current a lot of the time:

http://softsolder.com/2015/11/27/neopixel-current-vs-arduino-power-supply-voltage/

If supply droop is suspected then you need to set most of the LEDS to 0,0,0.

Another test is to just stop updating the LEDS after the first display cycle. they will stay with the last set values so if they can display 50,50,50 steadily while not being updated then it's a data corruption causing the flicker (which may still tie back to grounding problems). If even with no data being sent things are still odd then it's time to look closely at the power supply system, cable sizes and filtering arrangements.
 
Perhaps try measuring DC voltage between ground points. Get extra long extension wires for your multimeter, if necessary.

In a perfect world, all GND points would be exactly the same, so you'd measure 0 volts between any 2 points. My guess is you'll see more than 0 volts in some combinations.

I measured the difference between ground points across 600 pixels and my cheap multimeter reported a peak of 0.12 volts.

Didn't seem significant really?
 
Another test is to just stop updating the LEDS after the first display cycle. they will stay with the last set values so if they can display 50,50,50 steadily while not being updated then it's a data corruption causing the flicker (which may still tie back to grounding problems). If even with no data being sent things are still odd then it's time to look closely at the power supply system, cable sizes and filtering arrangements.

Hmm ok I tried this and voila no flicker. So that means its data corruption. Not sure how to proceed but I'll start off by testing with one length of 500 pixels with shorter wire lengths and take it from there.
 
Ok here's a weird thing - if I try to do a colorwipe with white I get flickering, even if as I said it is less than full power eg 0x808080
But if I change the definition of white to 0x808081 or 0xFFFFFE then no flicker.
It seems as if I only get flicker if the R,G and B components are identical.
How weird is that? Is there a scientific explanation?
 
Try this measurement with both DC and AC voltage measurement modes.

Tried it with AC but my meter's lowest range is 200v and it read out as 0.0.
I am intrigued by the fact that it only seems to occur with identical r,g and b values though.
Any ideas?
I am redesigning my matrix so as to make all cable runs shorter. I'll see if that has any effect.
 
Status
Not open for further replies.
Back
Top