High Power LED driver circuit

Go To Last Post
17 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I'm pretty new with electronics and I am building an aquarium controller. I am just working on the lighting at the moment and need to work out how to drive the leds.

I am going to have 30x 3 watt leds in total.

14x cree xp-e cool white
10x blue 3w 700ma 3.5-4v
3x green (not ordered yet but similar to above
3x red again not ordered but similar to above.

To slightly complicate things I want to have individual control of the LEDs e.g. 30 channels, whilst maintaining efficiency, high performance (smoothing dimming with no flickering all the way down to completely off), perhaps some protection thermal, current, spikes etc and finally not too expensive.

I am using a netdino and have 2 TLC5940s daisy chained which provides me with 32 channels of open drain pwm outs.

As I say my knowledge of electronics is somewhat limited and thats what I'm hoping you can help me with.

I know that having multiple leds in a chain would be more efficient, but is there a way I can still achieve a decent level of efficiency with 1 LED per driver?

I have been suggested using the ATTINYs for a driver and I have been trawling the net for a few days trying to find alternative options, but there seem so many options and I just don't know enough to make a decision or to even know what I should look for.

As I say it is important to keep costs down, but I still want to achieve high quality dimming and good efficiency. Also any schematic suggestions would be much appreciated.

Thanks in advance,

Andy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Andy,
Don't think I am trying to kil your ambition here, but this is a project that I think you may be in a little over your head to put it mildly.

How much electronics experience do you have?

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When using high power LEDs you really want a current regulator to maintain consistent brightness and color. There are numerous options out there, just look at the LED lighting selection of TI/National's catalog and you'll find plenty of options. Some are buck converters (more efficient, but more external parts), others are linear (simpler, fewer parts, but less efficient->dissipate a lot more heat).

If you're using linear drivers, then you want to get your supply voltage as low as possible (but above the minimum headroom required by your drivers) with a switching power supply. Vsupply - Vf * If = the amount of power dissipated by each driver, so this will help with your efficiency. If you use buck drivers, then the supply voltage can be higher without as much effect on efficiency.

If you want a simple solution and have money to burn, you could go with something like a buckpuck for each LED.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Instead of he TLC5950/57, consider using the PCA9685 to drive a bunch of FETs.
The PCA9685 has a push/pull output but doesn't sink/source a lot of current so be careful with your mosfet choice.
You will want something logic level with a low gate charge, perhaps the BSS214N or the IRLML2030.
And uses a series resistor for each LED.

You could also use fewer but higher power LEDs, like this 3oW RGB:
http://www.dealextreme.com/p/30w...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Maybe you should start off by building a circuit that independently drives/controls a pair of LEDs first. That'll give you an idea of what's needed.

If you want a (probably crazy) idea, you could put the LEDs in several series strings, with a constant current buck switcher driving each string, and use shunt FETs to do the PWM control. It's a rather intricate approach, but it would be cheaper than 30 switch mode drivers, and would be more efficient than 30 linear drivers.

Here's one writeup of this technique: http://www.eetasia.com/ART_88004...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

Thanks for all the replies, to address the suggestions and questions in order....

I am not electronics genius, to say I don't know a lot, however I have been playing around with code and components for nearly a year now with my netduino and am starting to understand how things work. I have also drawn and am improving a schematic for my control board, and bar the led lighting have a fully functioning protoboard. I have the TLC5940s soldered up with an external oscillator circuit to provide them with a clock signal of 8MHz. Although this part of the circuit isn't something I could design myself yet, through forums and reading I understand why it works and have managed to replicate it.

I have been looking at buck drivers and switching supplies as opposed to linear supplies. Efficiency is key to my design, and I am quite obsessive over thermal management, so the linear option really isn't the direction I would like to go, cheap and simple as it may be. Price again is a factor, there are several options such as RECOM drivers and buckpuck that I could use, but the fact they cost around £17 per piece and I want to control 30 channels really makes this infeasible.

What I want to do is build my own, high efficiency, low cost drivers that I can smoothly and accurately control the leds from the lowest to the highest intensity. Also I am keen to learn something from this exercise so the "off the shelf" product doesn't really help here.

The PCA9685s look quite interesting, and I like the I2C functionality. Are they not very similar to the TLC5940s though? What I mean is the TLCs also offer an open drain output, is the benefit of the PCAs the fact they have a totem pole output? Also can't I give the TLC's a more useful output by using some PNP transistors with a 5v supply? Could anyone suggest some components to make the open-drain output of the TLCs, a useful control for a buck driver?

Also looking at the datasheet for the PCAs, don't they essentially leave me with the same problem, that they can't directly drive the high power LEDs?

The 2 transistors IRLML2030 and BSS214N are they the type of thing I could use to "step-up" the output from the TLCs or PCAs, making the outputs useful to drive the LEDs or is it make the outputs useful to control the driver for the LEDs?

The shunt method looks very interesting and is what I was thinking of for maximum efficiency. Can I try to understand the method a little more...

If I had 5 strings of 6 LEDs, each with a supply of 24v and enough current to supply the 700-800ma that the LEDs require. Then between each LED there is a transistor which is controlled by the PWM of the TLC5940s that allows current to bypass the LED essentially dimming it separately to the other LEDs in the chain. Please correct me if my understanding is wrong?

My question would be how would you control the maximum amount of current each LED gets and is there a more efficient way than just using a resistor to dissipate the excess current from each string of LEDs? I'm guessing you could use a transistor or 2 to create variable resistor for each LED and then some form of buck on the entire string? I'm just bouncing ideas back but any feedback or explanations would be much appreciated.

Also is there any other technique that could be possible to efficiently and cheaply drive the LEDs using the TLCs? Or that would provide a complete solution replacing the TLCs and driving the LEDs directly. Taking in to account efficiency, cost and individual control of the LEDs.

Thanks for all the responses they are of great help,

Andy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Then between each LED there is a transistor which is controlled by the PWM of the TLC5940s that allows current to bypass the LED essentially dimming it separately to the other LEDs in the chain.

Errm... Each shunt (i.e. bypass) transistor isn't placed between two LEDs, but is in parallel to the LED that it's controlling. But yes, when the shunt transistor is on, current flows through it instead of the LED.

Quote:

My question would be how would you control the maximum amount of current each LED gets and is there a more efficient way than just using a resistor to dissipate the excess current from each string of LEDs?

Each LED string is supplied by a *constant current* supply. Since the LEDs are connected in series, this supply will be regulating the amount of current in all LEDs. For example, let's say we have 6 LEDs that you want to drive at 700mA and each LED has a voltage drop of 3.5V.

You would set the supply's current to 700mA. When all of the LEDs are on (i.e. when the shunt transistors are all off), the supply will provide 21V at 700mA. This 700mA flows thru each of the LEDs. When just one of the LEDs is on (i.e. when only a single shunt transistor is off), the supply will provide around 3.5V [1] at 700mA. For each of the "off" LED, the current bypasses the LED via the shunt transistor. For the "on" LED, the 700mA flows through it.

Note that there'll be some non-zero voltage drop across the shunt transistor when it's "on", so you need to add that to [1]. And of course, that'll cause a small amount of power to be dissipated in the transistor. To minimise this, you want a transistor that has a low drop in "on" state, and that switches quickly between "off" and "on".

There are some tricky bits that you'll need to deal with. Firstly, the constant current supply needs to be able to handle a wide range of output voltages - from ~0V (all LEDs shunted) to ~21V (all LEDs on). Secondly, the supply needs to handle fast changes in output voltage without much variation in current. Oh, and you'll need to think about overvoltage protection across the LEDs. I'm not sure what buck supplies will meet these requirements; maybe the LM3406 from natsemi will work.

- S

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You also have to consider how to apply sufficient gate voltage to each FET to minimize its on resistance. The voltage at the source of the FET across the 'top' LED of a series string of 6 3.5V LEDs will swing between ~0V and ~17.5V depending on how many LEDs 'below' it in the string are on.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You have 90W of leds (150$) and a fish tank. Add to this your electronics knowledge and no experience.

mcinnes01 wrote:
I want to have individual control of the LEDs e.g. 30 channels, whilst maintaining efficiency, high performance (smoothing dimming with no flickering all the way down to completely off), perhaps some protection thermal, current, spikes etc and finally not too expensive.

What is your budget then (in $ + hours spent)?

No RSTDISBL, no fun!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You might want to take a look at the CAT4201TD from Catalyst and the AP8800 from Diodes Inc.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry Butte I fail to see the point your trying to make? This is a hobby activity and the purpose is to learn not to make a commercially viable product.

In terms of the CAT4201TDs and AP8800s they are only rated for 350ma where as my LEDs will be driven somewhere between 700-800ma. Thanks for the ideas though, I will obviously need some fets.

I was wondering as the code will be managed, it is likely to not produce a steady output from the TLCs. Someone suggessted creating seperate drivers with ATtiny461's, I use the PWM from the TLC5940s to control the dimming and the 461s take the strain, but I wondered are there any better options than the 461's. Also they don't seem so commonly available, I found them for around £1.39 per chip so far.

Thanks,

Andy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

I was wondering as the code will be managed, it is likely to not produce a steady output from the TLCs.

Ummmm... What do you mean by that? I'm guessing that by "managed code", you're referring to c# code running on the netduino (I know nothing about .NET, and would be happy to maintain that ignorance), but I fail to see how that'll affect the output of the TLCs - they happily maintain their PWM output without any active interaction with whatever is configuring them.

Quote:

Someone suggessted creating seperate drivers with ATtiny461's, I use the PWM from the TLC5940s to control the dimming and the 461s take the strain, but I wondered are there any better options than the 461's. Also they don't seem so commonly available, I found them for around £1.39 per chip so far.

What do you mean by the attiny461s "taking the strain"? I've only ever heard that phrase in tug-of-war competitions and tensile strength testing.

- S

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
In terms of the CAT4201TDs and AP8800s they are only rated for 350ma where as my LEDs will be driven somewhere between 700-800ma

I don't think the difference in perceived light output is that big.

I understand the point Brutte wants to make, how much are you willing to spend as you don't want the project to be too expensive... so what's expensive?

The ICs I mentioned are about as cheap as it can get, ending up in probably around $4 to $5 per LED.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I would use individual MOSFETS, say the IRFU110PBF, 88 cents each, good for about twice the volts and current.

individual ones, as they're easier to wire up and replace if needed.

For current limiting and levelling, maybe a 12 volt supply, two LEDs in series, then however many ohms you need to get your 700 milliamps with the leftover volts.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here's a link to a simple constant-current driver:

http://www.instructables.com/id/Circuits-for-using-High-Power-LED-s/

It can even be used with PWM to control brightness. I have used them at 300 and 800 mA. You want to make yourself a low-ohm meter to test the R's you'll need to use, as a regular DMM doesn't meaasure low ohms accurately.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

High power LEDs are getting cheaper and cheaper, however the constant current drivers, to drive them are pretty expensive.

LED Lighting

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hmm this is advertisement and should be in the trading forum however since you give away free samples we will let you bribe us moderators to keep it here. :)

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly