drive high current RGB LED

I'd like to drive a few RGB LEDs with our lovely Arduino, but I never worked on these 3W beasts.

I found this have a reasonable price and performance:
http://www.led-bulbs.com/html/prolight/Low%20Profile/3W%20RGB/6%20[leg]%20Cathode/3W_PL6N-3LFX_v2.5.pdf

Does it need a heatsink on the back?
Is it ok to use a ULN2003 to drive them?
The green and blue leds have 3.5V forward voltage and 350mAh, while red one has 2.2V and 385 mAh.
If my source voltage is 5V, I need 4.7 Ohm 1W resistors for the first two, and a 8.2 Ohm 2W for the red led, right?

I did this calculations using this LED calculator (http://led.linear1.org/1led.wiz) but I like to ask to you so I won't fry anything :slight_smile:

Hi, you've not been on for some time. :slight_smile:

High power LEDs are a bit more tricky to drive and you can't really use a simple resistor for a current limit. You need a constant current supply and yes they do need a heat sink.

Have a look at this thread:- http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1234273497
There are some good links off it.

I've got a few of these LED's (on the aluminum breakout board) and you most certainly will need a heatsink for them, even with one they get mighty toasty :wink:
Gumpy Mike's link has some good info on how to drive them if you want to use LED driver modules. I'm driving mine with 5V @ about 340mA with 2n4401's, and they are quite bright, best to put something between you and the LED so you don't accidentally 'see the light' :sunglasses:

hehe yeah you're right Mike, I worked this summer on a DIY digital photo frame (this one: ImageShack - Best place for all of your image hosting and image sharing needs)

Thank you guys for the suggestions. Seems I need a complete read on that topic. I searched before posting as usual but didn't find it.

We have three choices:

  1. I found this guy (Arduino mood light) who did it with just a ULN2003 and some resistors, that's why I talked about this Darlington driver.
  2. On that topic they use LM334 + 2N2907 for each led, so I should triple them for a RGB led... as I am a newbie, the less the better :slight_smile:
  3. Krphop, are you using constant current supply in addition to that 2N4401?
    Which one do you suggest?

I carefully read the topic Mike linked. So far I found 4 ways to drive high power LEDs (in no particular order):

  1. ULN2003 + properly sized resistors (it has 7 0.5A outputs, can drive 2 RGB LEDs)
  2. 2N4401 NPN bipolar transistor (quite expensive) + resistors (I guess)
  3. 2N2222 NPN bipolar transistor (way cheaper)
    4a) LM334 (can it handle 350mA @3.5V alone?)
    4b) LM334 + 2N2907 (at over 6 euros this is the most expensive solution)

Which do you suggest? Are there other ways like switching converters?
I'd like to find a cheap, easy and reliable enough way for these RGB LEDs.. I have no problem using heatsinks.
If it become too complex or expensive I can switch to a plain white LED.

OK, I thought about a bit on item prices (yes, I always think as one about to make a series production), and I've found there's nothing as cheap and easy than the LM334 for constant current driving.

I found this circuit

Here the 2N3906 at 0.2A isn't enough for high power LEDs.
I found in some design the 2N2907 which is 0.6A and could be OK, I wonder if I can use BC327, it's 0.8A and much cheaper than 2N2907, but as a newbie I don't know if there's a reason to prefer one of them.
What about this circuit from a efficiency standpoint? Do I need high wattage resistors or heatsinks, except the one for the LED?

Its funny you mentioned these LEDs. I'm currently doing research with them.

I designed a custom heatsink for these. Its a massive one with fans in its center to help suck out the heat. Managed to fit about 40 of these LEDs on the heatsink

I'd heatsink your entire package if I was you. I dont know how many LEDs your planning on driving to figure out your power consumption, but I'd heatsink everything to be on the safe side.

I looked at the datasheets for the transistors briefly and they seem to be about equal to me.

Hi Darudude,
I think I'll use one or two LEDs for each lamp, so heat and power consupmtion are in check and doesn't need active cooling.

I still wonder if LM334, BC327 get warm if source voltage is 6V and the LED is 3.5V. They are in plastic case after all, and if I understood correctly the resistors won't get hot because they aren't used as current limiter.

If only electronics could be so simple as working with Arduino :smiley:

You can use one of these constant current source from seeedstudio:
http://www.seeedstudio.com/depot/constant-current-source-for-1pcs-3w-led-dc-supply-p-366.html

Thank you Florinc for sharing that link.
However I see that shop is located in China and here in Italy chinese packages are often held by the Customs Office even for months!!
You must see my face everytime I see on eBay auctions "We don't ship to Bangladesh, Colombia and Italy"

Hi,
That circuit looks OK, yes the cheaper transistor will do. The only thing with and sizable current passing through them is the transistor and sense resistor. The resistor is only going to be an ohm or so it might not need to be all that powered. It is the transistor that will get hot as the power that is not going to the LED is going to be burnt off in the transistor. You can calculate this from the supply voltage minus the LED on voltage times the LED current. It gives you the value in watts.

Thank you Mike for the confirmation.
If supply is 6.0 Volts, and LED works at 3.5 V @ 350 mA, it's 0.875 Watts.

On the datasheet (http://docs-europe.electrocomponents.com/webdocs/0b21/0900766b80b2115c.pdf) there are two rows about power dissipation, one says 0.625mW and one 1.5W.
Looking at other BC327 datasheets seems they are rated 0.625W. Maybe it's air cooling and heatsink cooling difference.
Should I choose a transistor with higher power dissipation from start?

Should I choose a transistor with higher power dissipation from start

Yes I would those look a bit puny. A transistors power rating is partly determined by the case so it is possible to get the same thing in different packages with different power ratings.

Have you seen:-
http://www.thebox.myzen.co.uk/Tutorial/Power.html

Thank you again Mike, and compliments for your tutorials, very easy to understand and useful!

If I understood the whole Tamb and Tcase thing, I have found BC327's case can dissipate 1.5W by itself (Tcase) but only 0.625W on air cooling (Tamb).
So I would need a small dissipation area since I'm going to use less then 1 watt. Is it right?

I've found also a slightly more powerful BC640 (http://docs-europe.electrocomponents.com/webdocs/002f/0900766b8002f18d.pdf), then you go to TO-220 packaged BD and TIP transistor which seem a little overkill for me.

Today I re read this topic and I've come up with more questions:

  • the LM334 acts as a constant current driver by selecting the appropriate sense resistor. But is it also a voltage regulator? I mean, I have 6.0V supply and need to feed red 2.2V and green + blue at 3.5V @ 350 mA. Do I need to use an additional resistor that brings down the voltage and is constant current regulated by the circuit?
  • The guy who made the circuit said the parts (like 0.1uF transistor and 390 ohm resistor) are OK for a bit more than 100 mA. But mine is 3.5 times more, should I change them?
    The circuit description is here The WorldTorch Project - Bringing light to the rest of the World!
  • Sense resistor must feed 0.065V, so if I need 350mA, is the resistor value 0.18 Ohm?

Thank you for the patience :slight_smile:

But is it also a voltage regulator?

Yes but only if you operate it in that mode. You can't have both a constant current and constant output at the same time. (Although I did have a student that was insistent that you could)

You don't have to GIVE an LED 2V or so if you are supplying it with a constant current. See this thread for an explanation of LEDs and current limiting: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1252910702

But mine is 3.5 times more, should I change them?

No because those parts of the circuit are not taking that much current. It's only the transistor LED and current set resistor that are taking the full 350mA

Thank you again Mike, I'll read that topic soon!
One of these days you'll find a new statue in Manchester :smiley:

Ok now I understand how the current limiter device works, it acts like a dynamic on-the-fly resistor, bringing voltage and current down to match load.
So the input voltage is determined by the load and the power handled by the transistor, right? Seems I have to use heat sink cooled transistor like BD or TIP series.
Do you think I can use a single switching regulator for the LEDs to bring down the voltage and increase efficiency?

Yes switching regulators are more efficient because they don't waste as much power burning if off as heat like linear regulators do. See this:-
http://www.national.com/an/AN/AN-1250.pdf
It's for white LEDs that take more voltage than coloured ones.

try googling around :- http://www.ebv.com/es/productos/categories/details/product/ncp3066.html

http://www.ednasia.com/article-24712-leddriverforhighcurrentledapplications-Asia.html-Asia.html
and

Mike, I saw the first link where they use LM2622 and see it's not the IC I need, since it outputs multiple of 8 Volts.
RS and Farnell doesn't sell NCP3066 which seems perfect however I could ask samples to ON Semi.
Good replacements seems to be LM3407 which is a 350mA driver (http://docs-europe.electrocomponents.com/webdocs/0b55/0900766b80b55679.pdf)
and LM3405AXMKE which is a 1A driver (http://docs-europe.electrocomponents.com/webdocs/0b13/0900766b80b13e4f.pdf)

Since I have three PWM channels for a RGB led I think I need three LED drivers, so I think three LM3407s could be OK, do you agree?
I can't understand which is the maximum PWM voltages allowed on LM3407, can you have a look on the datasheet? LM3405 says it's Vin+0.3V, PWM low is below 0.4V, PWM high is over 1.8V

Thank you for the help! I wouldn't have imagined my remote controlled RGB LED lamp will require 12 chips!