Multiplexing/Smart addressing LED strips to reduce power consumption?

I am looking to use around 130 RGB LEDs from an addressable strip (probably WS2812B / 5050). This will obviously consume a significant amount of power at up to 60mA per LED.

Is there any reason why I cant simply break the LED strip into say 10x 13 LEDs with different or shared and multiplexed data-line and cycle through these in quick succession?

Another method I thought of would be to simply multiplex by addressing every 10th LED and "multiplex"them in this fashion (ie. 1,11,21 then 2,12,22 then 3,13,23 etc…).

Are there preferred method of achieving something like this or am I on the right track. Any gotchas to watch out for?

What is your goal, reduced power consumption or are you aiming for some persistence of vision effects?

Breaking up the strip (by breaking the connection from one DOut to the following DIn) basically into smaller strips means each smaller strip will need its own data line to the board. Unless you mean you want each smaller strip to always do the exact same thing.

The WS2812B's don't refresh super fast, I think any attempt to save power usage by all that chopping and plexing is the same end result as simply lowering the brightness, since the multiplexing will lower the brightness.

The primary goal being to reduce the current consumption.

Assuming that I want to be able to visibly see all 130 LED's white, each consuming 60mA so power consumption is 7.8 A.

What I was getting at is that I could say light one half, and then the other half in quick succession therefore appearing to be all on and thus roughly halving the power consumed?

Would this have the same effect as simply driving the LED's at half power via the chips brightness control via serial?

In theory, roughly yes. But these LEDs don’t switch that fast so the question is moot.

Do an experiment:
Write a short code that switches just between the first two LEDs at white, and see if the back and forth switching looks like constant on to you.

Because these types of LEDs are already PWM controlled, all you need to do is reduce the pulse width by sending them a smaller color value. Multiplexing these makes no sense at all. If they were "dumb" tri-color LEDs then you would be on the right track.

I think they’re slow switching because each led is getting 3 bytes of data that are temporally spaced while being arranged serially.

Here’s the experiment I’m talking about. You’ll see a flicker even if it switches as fast as it can.

void loop() {
 leds[0] = CRGB(200,200,200);
 leds[1] = CRGB(0,0,0);
 FastLED.show();
 leds[0] = CRGB(0,0,0);
 leds[1] = CRGB(200,200,200);
 FastLED.show();
}

Thank you, that makes perfect sense. My supply is limited to 5A so i will make sure to never allow all 130 LEDs on at more than half brightness.

I just did a little experimenting.

I hooked up my 256 WS2812B LEDs to a 5v 2A supply.

The whole panel could light up in a single color to a 180 value, at 200 it can't.

Play with the numbers. You'll find that (125, 125, 125) may still be plenty bright. I think it'll appear brighter than just half as bright as 250's, so it's not linear.

How it it that 256 WS2812B can run at half brightness with <2A?

They must be significantly non-linear as 256* (60mA/2) = 7.7A!

I’m still waiting for my LED strips to arrive, maybe I have over-budgeted at 5A but thats not bad thing.

I’m new to the Arduino forum and am finding everyone to be fantastically helpful. Thank you.

I'm also interested in how you tested this? Wouldn't you risk frying your supply if you try to draw more current than it is rated at?

The whole panel could light up in a single color to a 180 value, at 200 it can't.

I didn't leave it running long, but when it "can't", it will light up as many as it can because the code I was running would turn them on 1 by 1. About 80% of the way to the end, it would start skipping some.

Of course I'm not recommending you do that, but the on-paper calculations you've done are not rigid, every step of the way is basically figuring max figures so you've got a lot of leeway. I would venture that a full 255,255,255 WS2812B still wouldn't be drawing 60mA when it's in a strip already wired up to those resistors.

For your 130 LEDs, with voltage drop across the strip, according to my calculations, would draw 4.5A if all of them were on full brightness at 5V. You'll be fine.

“Wouldn’t you risk frying your supply if you try to draw more current than it is rated at?”
Depends on the supply. A well regulated supply will just shut down the output when current draw exceeds its capacity, or when the output is shorted.

For your 130 LEDs, with voltage drop across the strip, according to my calculations, would draw 4.5A if all of them were on full brightness at 5V. You’ll be fine.

I’d be very interested if you could point me in the right direction of how you arrived at this calculation? I haven’t been able to find out how much the voltage drops along the line?

I was planning on connecting the power at multiple points along the strip (start & end?) in order to minimize the voltage/brightness drop.

Thank you for your help.

https://www.pololu.com/product/2547

Mentioned current draw somewhere in here

The LEDs are linear in their power consumption, so at 60mA for a full white goes to 30mA far a half white.

Some power supplies drop their output voltage when drawing excess current and these LEDs can run down as low as 3V3. However if you are feeding the data from a 5V supply you can damage the first LED by over volting the input. That is why you drive them through a seriese resistor to prevent damage.

The peak current for any white is always 60mA but the average is less the dimmer you go. The large capacitor you put on the LED's power supply averages out the peak demand.