Hi guys. It seems like the project i’m working on, that once I start powering about 200 LED’s (ws2812b)'s from my Mega, that at the lighter colors (white, yellow), causes the Arduino to reset itself. I’m assuming this is a power/heat issue? I can leave them all running on a solid red color for hours and it’s fine. Switching to white or yellow immediately causes a series of infinite resets. I’m currently powering them with a desktop power supply. This is a huge problem since I eventually need to start powering up to 600 LED’s. How are people with larger projects getting around this issue? Thanks in advance for any hep!
You are absolutely running out of power. Red leds tend to draw the lowest current of all. When you’re running at full white, you are pulling at least three times as much power as when you are running red. For 600 leds, at a max current draw of ~60mA for each led you’re looking at needing 36A of 5v power. Hell, with 200 leds when you turn them all on full white you’re drawing 12A of 5v power. If there aren’t enough amps then you’ll starve the mega and it’ll reset.
The Arduino’s on board regulator can only do so much power (not sure about specs for mega). You probably want to run power for your LED strips separately from the Arduino. You only need the DI pin connected to the arduino and you want to run your supply to the strips. Even then however you won’t be able to power 600 LEDs all from one point. You want to break it up into a few runs of 1 or 2 amps each and run lines from your supply in parallel.
You will also want to explicitly share ground between the arduino and the strips.
As for how i’m powering - I buy ~30A 5v power supplies (and/or use multiple power supplies).
I have a question about this…
When you break up the power, cAn you just run a power lead or do you need to run power and ground?
All your grounds have to be tied together. Whether that means running ground wires to each strip, or running them from strip to strip, or even connecting power to one side and ground to the other to try to even out the current. Whatever fits best for your install.
got you, but let’s say I had 20m of strip 36leds/m I’d think id have to run more power evenly spread out…
could I just cut the +5v line at the half-way point and add another power line there, but keep the ground side connected, or do i need to run positive and ground to the strip at that point.
I’m planning to get a large power supply so the grounds and positive voltage would all come from the same single transformer… but not having to cut the ground would save some time…
I usually run multiple power and ground pairs - you need to remember that wires have a max amperage that they can carry as well. Also, personally, I always wire power and ground together (e.g. I never have a point where I’m wiring power that I don’t also wire ground - there are, of course, places where i’m wiring ground even without wiring power right there).
Thank you all!
Actually I have a follow up question. I am thinking of trying to power everything via a car battery. Is this feasible, and if so, any suggestions for the setup? All of the LED’s will be driven by a single controller
I’ve done such things - the thing to remember is a car battery, at max charge, can have over 14V on it! A thing to remember when wiring it up to things.
I’m assuming your leds are 5v, not 12v? If so, you’re going to need a step down converter to go from 12v to 5v. I’d recommend something more active like a buck converter, more efficient - I’ve used these before - https://www.adafruit.com/products/1385 - of course, each one of those is limited to 2-3A through them, so you’ll want to plan your power wiring to accommodate/account for that. Also - make sure that you have a dc/dc converter for your MCU if necessary. For example, you can plug 12-14V into, say, an Arduino UNO and it’ll be happy - however, if you do that right into a teensy 3.1 you will fry it
(Also, something to watch out for, a lot of 5v dc/dc converters will actually put out voltage that’s closer to 5.3v. If you’re using an MCU w/3.3v outputs (e.g. the arduino due or a teensy 3.1) instead of 5v outputs (e.g. an arduino leonardo) then you are going to have to use level shifters on your data lines, or you’re going to have all sorts of data problems - I use 74HCT245 chips to get my levels shifted)
Thank you Daniel, it is much appreciated!