LED voltage and current calculations

Hi there,

Noob here, grappling with some of the basics of electronics so please bare with me if I sound completely incompetent:)

Ive built a circuit for my arcade cabinet console to light up RGB LEDs in each of the 18 buttons. I hope to have these blinking, pulsing and everything from all off to all on, but with my limited understanding of voltage and current Im worried this could lead to frying the LEDs (In fact this has already happened) The circuit currently includes 4 TLC5940s linked as illustrated here: http://tlc5940arduino.googlecode.com/svn/wiki/images/breadboard-arduino-tlc5940.png with these LEDs http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&item=160539806009&ssPageName=ADME:L:OC:AU:1123

Currently it works, but occasionally an R is burning out, so I assume Im running into a voltage problems (2.1 being the max voltage for R when the 3.2 is the max for G and B, while the LEDs max current is at 20ma Continuous).

I basically made this thing first to see if it would work, and now that it (kinda) does Im confused as to where its generating the 1.08 amps required to run the 18 buttons (18 buttons x 3 (for RG and B) x 20ma for each = 1.08 Amps... yeah?)

So, is it as simple as lowering the voltage? How much voltage does each pin from the Arduino currently output? As I plan to have these independently controlled, is it going to be more difficult than that?

Im lost. Any help on this would be appreciated.

Thanks in advance

DCoy: Currently it works, but occasionally an R is burning out, so I assume Im running into a voltage problems (2.1 being the max voltage for R when the 3.2 is the max for G and B, while the LEDs max current is at 20ma Continuous).

The TLC5940 controls the amps through the LEDs and does so without regard to the voltage that you're supplying to the anodes (+ side) of the LEDs. It doesn't matter if you're feeding the LEDs with 5V or 17V; the amps that the TLC5940 will allow through each individual LED color will always be the same. This is the core operating principle of the TLC5940.

To get you past your question as to why the red segments are burning out my assumption would be that your LEDs are low quality and not really reliable at 20ma. You can reduce the current by using a slightly larger sense resistor (the 2K resistor). Figure 3 on page 10 of the TLC5940 datasheet shows this relationship between the sense resistor the and the maximum power allowed through the LEDs.

A comment on that circuit; if you're using the 5V supply from the Arduino as diagrammed to power the LEDs then you're probably getting really close to the point where the Arduino's regulator is incapable of providing the ~1.08A that would be your maximum. Look for the biggest three-prong chip on the Arduino -- that's the regulator. If it's getting hot you'll want to back off the current some more or find a second power supply to use.

THanks a heap for your time Chagrin, On reading up on the voltage regulator (269-5g) it seems its rated at 800mA, which would be a fair bit less than what I require. I guess this means that I will need have to follow one of your suggestions to take the pressure off. So...

If it's getting hot you'll want to back off the current some more or find a second power supply to use.

By the first option do you mean to drop current via using larger sense resistors per TLC5940 or some other means? Ill do this anyway to try to save the LEDs blowing, as you have suggested. If I do end up needing to up the power would this be a case of doing something like using NPN transistors per TLC5940 to be triggered by the Arduino? Or could it be simpler than this?

Thanks again.

To add the second power supply, per your diagram, you would remove the red wire at the bottom of the breadboard that jumps between the two power rails. The positive side of your power supply would then connect to the right power rail of the breadboard and the ground from the power supply needs to be combined with the existing ground on the far left power rail of the breadboard.

By the first option do you mean to drop current via using larger sense resistors per TLC5940 or some other means? Ill do this anyway to try to save the LEDs blowing, as you have suggested.

No do not do this. You set the current output of a TLC by using the referance resistor.

Oh, ok. Are the sense and referance resistor not the same (connecting to the IREF pin on the TLC)? I thought I could raise or lower the 2k resistor to whatever current I required.

Cheers

Are the sense and referance resistor not the same

No, a seriese resistor is one that is in seriese with each and every LED.

I thought I could raise or lower the 2k resistor to whatever current I required.

Yes you can.

ok. I'll use a greater resistance for the reference resistors then. Thanks Mike.