Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Controlling over 1000 rgb leds

Status
Not open for further replies.

hicksynet

New Member
Hi i am about to under go a huge project consisting of just over 1000 RGB led's.

My goal is to create a wall of RGB leds, each color individually controlled with PWM (fading), i would like the wall to be divided up into smaller circuits in which a small number of leds will be controlled from, each smaller circuit will talk to each other via serial and all will be controlled by a PC, Arduino or DMX. I will be controlling each circuit from a Ardiuno mega.

TLC5940 - Made a circuit with 3 of these per board to control 16 RGB leds.

This was my first choice being very easy to use. But i did run into some faults, first was it is a sink driver so finding leds to suit was hard being in Australia. i tried using transistors, and they worked fine for a while but one would drop out every so often plus it took so long to solder up 48 transistors per board. The second was each one is daisy chained in a way that if one of the chips die halfway all from that point will stop working.

MAX7313 - Used 3 per board to control 16 rgb leds

i found with this chip i was unable to use high power leds, everytime i tried i blew the chip. one thing i like was the 2 wire serial unlike the TLC5940 which uses 5. i liked how each one was addresable makeing it very easy to code for.

PIC16F628 - I have not yet tried this chip

this was my latest idea, I'm not sure if it will work well in the large form but it will make the coding a lot simpler by having set code on each chip then control it all by the Arduino or PC. The chip can handle super bright leds and has plenty of information out there on them.

If anyone has any ideas to what method i should choose, or if someone has a completely new idea it would be much help.
 
How much current do your "high power leds" need?
You don't have to solder individual transistors, there are chips for that. (ULN2803, etc.)
 
If you are looking at PIC's then I would go with a chip that at least has a hardware (M)SSP module for I2C slave mode abilities. The 16f628 could be short on outputs when slave communication is included, plus it doesn't have the hardware SSP module. Not sure why you would mix AVR's and PIC's together, are the PIC's that much cheaper?

An alternate led driver would be the NXP models like a PCA9635, could have the same problems as the MAX7313, don't know. Also interested in the current drive required, if they are 1watt, then that would be problematic.
 
How much current do your "high power leds" need?
Even at 10ma per colour, that's 30Amps! (3RGB * 1000LEDs * 10ma = 30A)
PIC16F628 - I have not yet tried this chip
If you need more current, a PIC will not sink as much as a TLC5940.
 
I just worked out that a 18F88 can PWM 12 pins at 300Hz with 64 levels using the internal oscillator. This would use half the processing power which would leave lots of time for communication. So, a pic is easily capable but the current available at each pin would require a buffer to drive high power LEDs.

If I was doing this I would use the SSP module and a latch input so the chips could be daisy chained.

Mike.
 
Last edited:
The leds i want to use are are rated at 35mA each color and forward voltage of 4.

I looked at using the PCA9635 but it is a sink if i recall and also handles max load of 25mA per channel so just a little bit low.

Also i thought the ULN2803 is a NPN transistor so it work with the TLC5940 it needs to be a PNP but i dont think you can get those in arrays, also that still does not help the reliability of the transistors, instead of replacing one i would have to replace a array. I have thought about mosfets or mosfet arrays they are more reliable and can handle very high volumes but not sure what to look for in them.

I'm using mix of atmel and PIC because i can code for atmel better then PIC so the more i can use that the better, and yes atmel chips is not a cheap item in Australia
 
So 3000 individual leds (RGB), at about 35 mA each...
Obviously they won't all be on at once, but still, that would be a lot of power. I found this project on Sparkfun, they are doing something similar, but on a coffee-table.
Sparkfun Coffee Table
It looks like they have some good ideas on how to control them all. You will probably need a big computer PSU or two to power all of those leds!
 
I looked at using the PCA9635 but it is a sink if i recall and also handles max load of 25mA per channel so just a little bit low.
Not trying to "sell" the PCA9635 chip, it's just the only led specific chip I have tried out. That chip has a software invert function that allows the chip to source 10ma to drive an external npn transistor. Add a resistor, a low side 2N7000 logic level mosfet per input, and who knows? A discret driver would allow all outputs to be full on, unlike the ULN2803.

Haven't noticed that before, but it looks like all the higher power led drivers do act like shift register chips.
 
I would try to avoid any solution which requires external transistors. Do you really want to solder 3000 transistors/FETs and their associated resistors in addition to the logic ICs? If you can't find a single chip solution which will provide a current source I would recommend going to a RGB led which has a common anode instead.
 
kchriste, if you only have to do it once and you want the project done.... Probably only take a few days.
 
I did not look at the data sheet for the SparkFun arrays but it looks like the LEDs are in an 8x8x3 array. There will be a 1/8 column driver and 3 8-bit latches. In an 8x8 array there will only be 16 drivers (transistors). In an 8x8x3 there should be 4x8 drivers. The LEDs will only be on 1/8 of the time. The RGB 3x64 LED array will not need 192 transistors but only 32 transistors.

Using multiple 8x8x3 arrays your 1000x3 LED project should only need 500 transistors.
 
The transisors soldering is not a problem im ok with that, like Sceadwian said i only have to do it once, but the problem i was having with them is the reliability issue, they just didnt work as well as i was hoping and occasionally they would stop all together.

Another idea i was having is to use a micro processor of some sort with lets say 48 I/O's and connect each pin to a mosfet then to the led. It would allow me to use high voltage and current and will be a lot more reliable. I have seen mosfet arrays around on the net, but have not had the chance to try one them, anyone have an idea on what one to use ?. Also finding a suitable micro processor that can be addressable via serial and will be able to give me PWM via every channel. That might be the hard bit.
 
A 16F887 would be able to PWM about 30 individual outputs at a speed of around 150Hz and a resolution of 6 bit (64 levels). I buy them direct from Microchip for around US$2.50.

Mike.
 
There's no good reason to have a transistor reliability problem. Perhaps the circuit is over stressing them. Can you show us what your driver looks like?
 
but the problem i was having with them is the reliability issue, they just didnt work as well as i was hoping and occasionally they would stop all together.
With the proper transistors, either bipolar or FET, and the proper current limiting resistors, reliability shouldn't be a problem.
Another idea i was having is to use a micro processor of some sort with lets say 48 I/O's
If you multiplex the LEDs with your micros and build a bunch of identical PCBs which you can network together via IC2, or some other protocol, you can simplify the design. In addition this would make it easily expandable if you design it right.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top