I am designing a little bit of a lighting show composed of a few individual led strips which will be controlled by a microcontroller, Arduino UNO in particular. I want to control 7 individual led strips:
- 5x RGB 5050, 60 LEDs per meter.
- 2x UV 5050, 60 LEDS per meter.
Taking in consideration that the RGB LED strips need 3x PWM pins each, and I want to have a full control over the brightness of the UV strips too, we come up with a 5x3 + 2x1 = 17 PWM pins in total. Obviously, neither the Arduino UNO, nor even the Mega have that many PWM pins so I decided to go after a LED driver - TLC5940. It can control up to 16 channels so I'll need 2 of it(+ the option to add more strips later). Can you guide me if I have any flows in the design and maybe if there's a better solution for my situation. The current setup is something like this:
The LED strips will be of varying lengths but I'll keep them 4 meters of length maximum. So:
4x RGB LED 5050, 3 meters each:
- Amperage: (1.2A/m * 3m) * 4strips = 3.6A/strip * 4strips = 14.4A
- Power: (14.4W/m * 3m) * 4strips = 43.2W/strip * 4 strips = 172.8W
1x RGB LED 5050, 4 meter:
- Amperage: 1.2A/m * 4m = 4.8A
- Power: 14.4W/m * 4m = 57.6W
1x UV LED 5050, 3 meter:
- Amperage: 1.2A/m * 3m = 3.6A
- Power: 14.4W/m * 3m = 43.2W
1x UV LED 5050, 2 meter:
- Amperage: 1.2A/m * 2m = 2.4A
- Power: 14.4W/m * 2m = 28.8W
- Amperage: 25.2A
- Power: 302.4W
I'm planning on powering all the strips with a single 12V power supply allowing:
- Amperage: 30A
- Power: 360W
Each pin of the LED driver will lead to a TIP120(or maybe TIP31C) transistor to control each color channel of the strips(3 transistors for each RGB strip, 1 for each UV).
I'll also need to use some additional wiring for the strips in other to get them all to the controller(1-3m) because they'll be quite spread so should I be concerned about reduced brightness?
Also, never worked with a LED driver before, can it handle the job I'm assigning it for?
Do I have to add any resistors to the transistors?
Any help and positive criticism will be appreciated.
EDIT: The question is also posted on the Arduino forum. You can find a reference to the thread HERE if you're interested.