I'm planning to build a 32x32 LED Matrix, using WS2812B pre-built LED Matrix. I found some of size 16x16, an plan to use 4. For this project, I'll set them up under a glass in a table.
My question would be regarding the electrical supply. If I'm not mistaken, WS2812B uses 4.5 to 5.5V, and 60mA per LED. I plan to control them all through the FastLED library. So the computation I'm currently is that I'll need some 4.5V to 5.5V input, with 323260 = 61'440mA = 61.44A. (see computations example here : Powering NeoPixels | Adafruit NeoPixel Überguide | Adafruit Learning System )
But that seems to be absurd. Setting 3 AA batteries together could provide a 4.5V, 2A supply, so I'd need around 30 or 31 of them in parallel. I've also looked online for some power transformer to use it directly on electrical sockets, but a 5V, 60A doesn't seem that common.
I've seen people online powering huge LED matrices, that cannot be such an issue. I must be doing something wrong. Could anyone help ?
Okay so I've searched a bit more and found some answers here : Powering NeoPixels | Adafruit NeoPixel Überguide | Adafruit Learning System
Still, if anyone has any kind of additional info... I didn't really plan to hack a computer power supply for this project, maybe there's another way ? An alternative to WS2812B, or something ?
As my researches move forward, I'm answering to myself ^^ I found notably the more recent WS2815, which work with 12V DC and 25mA, while the WS2813 works with 5V and 60mA. That's quite a big gain, so for a full white 32x32, I now get 25.6A needed, with a 12V supply. That seems already more doable... (for instance 12 volt 18 amp regulated switching power supply compatible with the Dell Y2515, Delta ADP-220AB B, Dell Optiplex SX280 power supply, Dell AC Adapter DA-2 Series, Dell P/N: 5Y002, Dell P/N: D3860). But the pain is that they do not seem to come as pre-made 16x16 tiles, but only as strips, so I'd have to solder it myself.
For these computation, I based myself on the page here : http://www.ledlightinghut.com/ws2815-12v-digital-rgb-led-strip.html .The 12V supply is mentionned, with 9W for 30 leds, so we get 9/12 = 0.75A for 30 leds, thus 0.025A = 25mA per led.
You’re probably going to have more luck with several matching power supplies of lower current rating - perhaps one for each tile.
IMPORTANT - remember to tie the 0V/grounds together, and in common with whatever board you’re using to clock LED data out to the WS arrays.
Also with large arrays like that, you may want to treat each panel or pair of panels as a separate LED string with separate data source pins.
Do you want the pixels at full brightness? If not, then setting the brightness to half will reduce the power by about half.
Connecting power supplies can be a solution indeed !
- The simple but weird-looking way could be to have like 2 or 3 electrical plugs, each connected to an electrical convertor like 12V and 10A, something like that, and plug them all together to power up the matrix. I would of course need to keep the grounds well-connected, as you mentionned.
- Do you think I could use one electrical plug, connected to 2-3 convertors, in order to have only one plug to one socket ? Or would that be risky ?
Thanks also for the advice of using one data source for each tile, will do
Well, my glass panel is a bit opaque, so I need them at full brightness - but thanks for the idea I could aslo design things around not using all leds at the same time, but if I can, I'd like to avoid the inconvenience.
no, a single mains input to feed multiple supplies would be fine.
You may like to fuse them separately after they split - so that if one supply dies internally, the others will stay up.
Make sure your mains wiring is safe and can’t be touched, or come loose in any way! If you’re not sure, get someone experienced to sort that for you.
The low voltage outputs should be kept separate from the mains, and from each other - to feed only their respective arrays/panels.
The LED data and 0V wires are the only thing that goes between LED arrays, or back to the Arduino.
That 50-60 mA is white at full brightness. Indeed you can reduce that by half by reducing the maximum brightness. Full brightness is really a lot of light (and make sure the heat has a way out, too).
Four 5V, 10A power supplies would do the job just fine. They're inexpensive and readily available. Use an extension cord with the required number of sockets. Each power supply handles one matrix; share grounds, not the 5V lines, and make sure your wires are thick enough.
You have to share ground with the Arduino, do this at one and only one point. This to avoid noise from the LED switching to reach your Arduino.
Okay, excellent then ! Thanks a lot to you both ! I will either :
Use 4 tiles of ws2812b, powered by 4 or 5 power supplies of 5V, 10A. I’ll use a multi-socket inside the table, and have thus only one electrical plug out of the table.
Use strips of ws2815, hand soldered, powered with just 2 power supplies, same strategy - but 12V are needed.
Summarizing your comments :
- As usual in electricity, I should connect all the grounds after transformation (low voltage) and the ground of the arduino together. I should keep electricity before transformation (high voltage) separate from the rest of the system.
- Each power supply powers one tile of 16x16 = 256 leds. Keep the various 5V inputs separated.
Anything else I should be careful about, or that could be a solution in your opinion ?
Draw it all out as a block diagram for now and the future - so you don’t ‘remember’ something wrong when building!
Post it here - we’ll comment.
During construction, use a copy of that diagram - run a highlighter pen over each wire/connection as you build it - then you can be (almost) sure nothing goes wrong.
OK, I think that’s a good idea to draw it out for multiple reasons, and especially as I am not a professional and will probably learn a lot from your comments. I don’t really know conventions and draw it as I feel I’ll build it…
Here is my hand-drawn diagram : Imgur: The magic of the Internet
Let me know what I did wrong and what I can improve
(I also plan to use SNES controllers to control future games, I included them to the drawing. I used this tutorial here : Super Nintendo - Pinouts & Protocol FAQ - Super Nintendo - By JChristy - GameFAQs )
Let me know what I did wrong
You posted an unclickable link.
and what I can improve
Make the link clickable (through the full editor) or even better: attach the image to your post and then add it inline to your post, as per this simple image guide.
Why would you stress your Mega with a 9V supply when you have plenty of 5V supply available?
Well, the info I found was that the Mega was recommended a supply of 7.5 to 12V, and it would be better to remain in the "low" end because of heating. 5V simply seems to be too low.
Sources : here and here
How do you think the Mega can possibly be powered over USB?
5V to the Vcc/5V pin is the way to go. Just don't use the regulator, and you don't have any heating.
Well sure, I guess USB power is 5V, but doesn't the technical specs of the arduino mega specifiy explicitly 7V to 12V ? (here)
I know. On one hand they dumb it down (limiting info given), on the other hand they give poor suggestions - by leaving out this option of direct powering the board, though it IS mentioned as "operating voltage". Powering at 12V is asking for overheating regulators. 20V sounds like way too much.
The higher voltage input through the regulator is convenient at times for prototyping. For anything more permanent this regulator is better bypassed.
Okay, thanks for the tip On the rest of the wiring, do you find any issue ?
Nothing obvious, except that I'd be putting the switch on the high side. One switch per power supply. Or maybe even better, switch the 220V side.
Grounds connected together in one point, preferably right at the power supply. No other ground connections (keep the noise down).