WS2812 Strip voltage drop

Hi Everyone,

I have a similar problem as posted in this thread:
http://forum.arduino.cc/index.php?topic=267046.0

The original poster said he found a solution for his problem but unfortunately didn't mention how :frowning:
I'm running 15 WS2812 strips (900 LEDs in total) around my ceiling that are powered by a 100W 5V power source.

As in the referenced post, I'm having problems with the voltage drop along the pixel strips. I already connected the strips to both 5V and GND lines at several positions along the strip - and also back to the power source since it's all running around the ceiling once. because of the sensors I'm using the Arduino I'm using needs to be further away from the power source.

Now the real problem is that my Arduino which is also connected to these 5V lines is affected by the voltage drop along the lines. When I start up one of the demos that comes with the neopixel library, it starts lighting up the first few hundred pixels properly. At one point, the program stops and the Arduino reboots. When I measure the voltage that's on the VIN and GND Pins on the board it drops down to around 3.7V as more and more pixels light up.
When I measure the voltage at the power source it stays at a constant 5V. So I tried running another line from the source directly to the Arduino. But the same problem still exists.

The source itself is capable of running the whole strip which I could verify in a test setup. Only here the Arduino was directly attached to the source.

Can anyone point me towards the right direction? Apparently there's some mistake in my train of thought: The voltage on the lines from the power source should always be 5V no matter how long these are (okay, there's some drop due to the wire resistance). But after all, if everything is connected in parallel, it should always stay at the same voltage?

If I definitely need another power source for the Arduino, that would be an option but I would like to avoid extra hardware and wires.

Hello.

900 leds could draw up to 900 x 3 x 20mA = 54A

Your PSU is only rated for 20A.

Could this explain the voltage drop and the Arduino resetting?

What type of Arduino are you using? An Uno has only 2K RAM, so can only control maybe 600 leds. Mega has more RAM and should be OK.

How have you wired the Arduino to the PSU and leds? Its important not to have all that current flowing through the Arduino board.

Paul

Hi Paul,

Im using the arduino mega - I already figured out that the uno will not me enough for all LEDs.
And also I wired the arduino in parallel to the strips. So the current here should not be a problem (I also attached a schematic to the original post)

With the power source you have a point. My calculation was based on 20mA per LED but I didn't take into consideration that all three channels will draw 20mA. So I will look into that one again.

But nevertheless I was able to run the Neopixel demo (strandtest) with 600 LEDs at the same time (though not all of them at full white as the demo only does color swipes)
I just don't understand why the voltage deep also affects the arduino when it's connected in parallel...

hummerbaendiger:
I just don't understand why the voltage deep also affects the Arduino when it's connected in parallel...

Because the power supply is not rated for sufficient current, and it shuts down.

That's why!

Paul__B:
Because the power supply is not rated for sufficient current, and it shuts down.

But that's the thing... the power source itself doesn't shutdown. When the program starts, the LEDs start lighting up one after the other. At about a 250 the program "freezes". Meaning the LEDs that were lit up are still lit. after a few seconds (the boot time of the Arudino) the program starts again.
If the power source would shut down, the LEDs would go black instantly since they wouldn't get power as well.
Also it contradicts with my test setup where I had 600 LEDs up and running at the same time without problems.

With the current power source rating it should at least be possible to set all LEDs to red without problems (900 * 20mA * 1 Channel = 18A) - not ideal but it should work.

It's just the voltage drop that doesn't make sense...

Having the Arduino in one corner of the room and the supply in the opposite corner doesn't make sense if the Arduino runs off the LED strip supply.
You didn't mention the parallel wire size. Did you calculate the roundtrip resistances.
Voltdrop could be enough to reset the Arduino.
I would supply the Mega with a 9volt plugpack on the DC socket, and remove the 5volt link between LED supply and Mega. Leave the shared ground ofcourse, and add a resistor in the data line to stop phantom power problems.
Leo..