I have a strip of 120 APA102 LEDs and am powering them with a 9V/1.5A power supply. I have the power plugged into my Arduino Uno but am getting the unregulated ~9V from the Vin pin. I’m using a buck converter to convert that ~9V to 5V and am powering my LEDs from there.
When I run the following code, my buck converter starts humming and gets really hot. The input and output voltage start to go up and down, too.
Assuming each one of those LEDs will draw no more than 20mA per channel, so that’s 60mA per LED. 120 of them at full duty cycle (255, 255, 255) will draw 120 * 60mA = 7.2 Amps. That already is well above what the power supply can provide. Even with a single channel lit, say the whole thing is only red, or green, or blue, that’s 120 * 20mA = 2.4 Amps.
You need a power supply that can provide enough Amps to light up that many on the string. And if you’re going to use a converter to drop the voltage, it needs to be rated for the amount of Amps you’re asking for, and it also needs to be able to dissipate 4 Volts of nothing but pure heat. (9V - 5V = 4V that needs to go … somewhere.)
Ah, that makes sense. My lights all still worked though-- how does that happen? They seemed pretty bright, but were they not as bright as they could have been?
Let’s say instead of lighting up all 120, I’ll only light up 60 at a time max. That would bring it to 3.6A. Can I do anything with PWM or anything else to drop the current draw?
I wouldn’t power them off the Arduino’s vin either. Run separate leads to the buck converter then to the LEDS, but tie the LED and Arduino grounds together.
@Joe_Meissler Anytime I can isolate the most expensive (or awkward to replace) part of a project from the rest of the assembly, I just feel better! I would be concerned about too much current through the board, but I’m not expert enough to know if that’s a valid concern. Plus, if I keep things separate, when I inevitably hook up something wrong or drop a scrap of wire across some exposed connections, I reduce the possibility of magic smoke.