Hey guys, I'm thinking of getting a project going but I'm almost certain it will take a lot more hardware than I was expecting, much of it being totally foreign to me. I want to independently drive a maximum of roughly 20-25 RGBLED strips, each measuring about 2 feet. The strips needed would be in the ballpark of 60 LED's/meter. These strips will all be wired back to a central point so there's no need to worry about chaining them together and such. Variables for each independent strip would be an rgb value for the light color as well as power level ranging from off to full power.
After thinking of this project, I've dinked around a fair amount with my uno and a few single RGBLED's just getting a feel for how to program and run things on arduinos (I'm new). Since I guess I'm limited on PWM pins, I'd need some sort of driver chip (or chips) that would connect the 20-25 LED strips to the arduino itself without needing a zillion pwm pins. I'm also about 100% certain I'd need an external power supply. Since the number of strips could vary greatly (between about 5 and 25), I'm fairly certain a regulated power supply would make things easier so I could just repurpose my old computer's psu.
My research pointed me towards charlieplexing, but I only saw that being done with arrays of single LED's that take way less power than 2 foot strips. It also looked like a lot of soldering and tricky wiring that could be avoided by simply buying a driver chip.
Does anyone know of any build logs of something similar to what I'm trying to do? I'm mostly looking for a parts list of what I need. Since I have the basics - an uno, a breadboard, plenty of wire, and plenty of resistors- it's looking like what I'll need will be something along the lines of:
-MAX7219CNG: says it's capable of driving 64 LED's. I'm fairly certain a strip of LED's (that aren't digital) act as a single LED in terms of driving said strip. But on the other hand, don't rgb led's act like 3 single led's? So this driver chip could only drive 64/3 = 21 rgb led strips? So maybe 2 of these driver chips or a more robust chip could be used if it meant only needing one
-some way to send power to each strip. here's where I'm really awful at this stuff
-some way to regulate the light intensity of each strip individually. presumably this would be combined so that the way power is sent to each strip could also be manipulated to vary or disable the power
Any pointers would be greatly appreciated
Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface will give you 16 PWM outputs (so basically 5 strips). You can connect up to 62 of them to your Arduino.
I think you need some solid drivers to be able to handle the current (how much does one LED strip consume per color?). No idea about that part.
A bit of comparing products tells me that the strips I'll be using will need 12 V and between 65 and 75 watts for a 5m long strip containing 300 RGBL's. Presumably the power values given in the product descriptions corresponds to the maximum power usage which I think occurs when the strip is set to white and full brightness.
I'd be cutting smaller strips from the 5m spool. If I evenly divide the 5m spool into 8 sections, each section would have 37.5 diodes. Round it up to 38 and multiply by (70 Watts/300 LEDs) = 8.9 Watts
So individual PWM control of 20 RGBL strips that each consume roughly 9 Watts
I suspect this will involve several PWM drivers like the one suggested by sterretje, a breadboard with a regulated +12V rail and a ground rail (provided by computer PSU), a lot of wire, and some transistors. Does that sound about right?
You better check the specs of the breadboard I would not be too eager to push 15 amps through the power rail of a breadboard; be aware that even if you don't connect the 12V to the breadboard, the ground rail will still have the cumulative current. Veroboard (and soldering) might be a better option.
Maybe I'm just a bit pessimistic.
Okay so I think I have something that would work
where the resistors are 1K’s and the transistors are tip 120 NPN. I read that the tip 120 can handle a continuous current of about 5A, and each LED strip total will use at most approximately 1A at 12V. Divide that by 3 for the total being the sum of the R,G,and B components that all have their own transistor and we’re even further below the 5A limit going through each transistor. Does my circuit diagram look okay though? I’m concerned about what ground to use- whether I go to the PWM driver shield ground or the arduino ground or both(?)
In my mock up I just the driver’s PWM pins 0, 1, and 2 running to rgb for one led strip. I’m fairly certain I could add another led strip by copying the same layout as on pins 0, 1, and 2 but instead just using pins 3,4,and 5? I’ll try to attach the fritzing .fzz file in a second here.
Thanks for the help sterretje! I was concerned about that much power through a single breadboard rail too. I’ll probably just use the breadboard as a proof of concept with like 1/5th the number of LED strips, then switch to solder and heavier connections when it comes time to go full scale.
Edit: Attached is a zip containing the .fzz file of the circuit pictured above
LEDStripDriverAssembly.zip (37.7 KB)
“I read that the tip 120 can handle a continuous current of about 5A,”
Only if you have one hefty heatsink on each one! The power dissipated, P = I * Vce, is going to be quite high.
You’ll have much better results with a Low Rds, N-channel MOSFET such as AOI-510, where power dissipated will be P = I^2 * R. 5A * 5A * 0.004 ohm = 100mW.
Interesting, I never knew what a mosfet was. Would I still be able to dim/PWM the LED's if I used a mosfet?
Here's 8 strips being faded up & down on a board I offer with nearly identical MOSFET