LED Driver/CC Source for Low Current Applications... - Page 1
Forum section: electronics / general

author: David
author_rank: Frequent Contributor
timestamp: November 05, 2012, 12:04:20 pm
content: Hi all,I am currently working on a project and have hit a stumbling block on the best approach to take to drive some LEDs.The rough spec is as follows:* Input: Nominal 12V battery power (GEL battery, ~12.85V fully charged)* Output: 4x LEDs @ nominal 10mA (2.61V VF at this current).* Need the ability to adjust the drive current via a microcontroller.* Efficiently needs to be as high as physically possible! (Solar application)The biggest problem I see here is that 4x 2.61V = 10.44V which leaves a smallish headroom when running from batteries.I can either drive the LEDs in series or split them in parallel, however the brightness must be as uniform as possible across the LEDs. Most current biasing techniques consume too much power. I have considered everything from simple resistors to current mirrors.My most favourable solution so far is to use a 100% duty cycle DC-DC step-down converter and modify it for CC operation as well as allowing the current to be changed via PWM. However there is already a step-down DC-DC converter in the design (~3V for the micro) and it feels a shame to introduce another. Therefore I started to think along the lines of running the LEDs in parallel or with individual current sources off the 3V rail.I have though of many other ideas but seem to be going round in circles! Another problem I have come across is finding DC-DC converters with high efficiently at low currents (0-100mA). I could just use an LDO but I'd lose that efficiency when the batteries are fully charged.Anyone got any smart ideas?!Thank you in advance.Dave

author: Kremmen
author_rank: Super Contributor
timestamp: November 05, 2012, 12:44:38 pm
content: I did a LED driver for my sister's summer cabin for solar powered lighting. The driver is based on a Supertex HV9910 driver. It is a good match for your specs, although my design was for 350 mA single LEDs in buck configuration. But it is trivial to modify for your specs for multiple LED boost configuration in flyback mode.Dimming is either by analog voltage or pwm signal, both easily generated from a microcontroller.

author: poorchava
author_rank: Super Contributor
timestamp: November 05, 2012, 01:05:38 pm
content: Maybe you could use ZLED7000? it offers up to 95% of efficiency

author: Gall
author_rank: Frequent Contributor
timestamp: November 05, 2012, 02:10:38 pm
content: There are many dedicated step-down and step-up LED drivers. It is easier to find a step-up one.You may try something like LT3590 or LTM8042. They are buck-mode single-chip CC LED drivers with high efficiency. Take a look at this:http://www.linear.com/products/led_driver_ics

author: David
author_rank: Frequent Contributor
timestamp: November 05, 2012, 07:49:00 pm
content: The problem I have found with off the shelf LED drivers is that they are nearly all designed for nominal 350mA current drive and most of the efficiency graphs tail off greatly at much lower currents.I could use a buck-boost converter but I am on the edge of both conditions.A boost converter would only work if my forward voltage drop was significantly greater than my nominal battery voltage all the time.

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 05, 2012, 07:56:18 pm
content: Nothing stops you from not using circuit ground for the LEDe.g. connect the LED to the positive battery terminal and the boost converter output.The LT1618 has one such circuit as example circuit.

author: lewis
author_rank: Frequent Contributor
timestamp: November 05, 2012, 08:31:05 pm
content: David, use a SEPIC converter if you want to run all LEDs in series, LT make some decent ones. Efficiency might tail off a bit at low currents, but when your batteries go flat there's still drive for the LEDs. If you want to dim them, use PWM, don't bugger about with varying the current. It's more efficient, easier to do on a micro, and some of the LT devices have MOSFET drivers for PWM built in.Or use a boost converter to drive the anode of the series string with the cathode connected to the + rail, but PWM becomes difficult because of the high-side drive needed for the PWM MOSFET (although I think LT has some excellent solutions for this too).It's possible to introduce some external voltage into the feedback (Isens) pin of some current mode LED drivers (not the Rsens on the inductor, I'm talking about the output current sense resistor as long as it's on the low side), but this approach requires some pretty tightly controlled reference voltages on the micro side because it's effectively open loop.If you don't want to go down the switching route, or you want to cut cost, split the LEDs into 2 series connected pairs and drive each pair with a LM317 current source using PWM to dim them on the low side. If you really want to adjust the current, use an op-amp configured as a voltage controlled current source run off the 3V rail as you suggest (one for each LED), then PWM out of the micro, through an RC filter to adjust the voltage. Maybe you could drop your 3V rail to 2.8V to increase efficiency still further, but there's always going to be some loss. Running off this low voltage gets round having to use a SEPIC or boost converter in case the batteries go flat, but you might lose efficiency in the 3V DC-DC converter because of the increased current demand.(We like PWM, we make PWM LED dimmers!)

author: David
author_rank: Frequent Contributor
timestamp: November 05, 2012, 08:49:41 pm
content: Lewis, thank you very much! That has helped greatly. I am struggling to get my head around the buck converter with the LEDs floating above ground? What does this achieve? (Apologies, I am very tired!)I will look into the SEPIC approach.Another Idea I thought of was to use a boost converter from the 3V micro supply, although that seems a little silly stepping the voltage down and then back up again!Quote from: lewis on November 05, 2012, 08:31:05 pm

author: lewis
author_rank: Frequent Contributor
timestamp: November 05, 2012, 11:42:37 pm
content: Quote from: David on November 05, 2012, 08:49:41 pmNo problem!The bastardised boost converter works thus. Pretend you have a 12V supply. And you configure the boost converter to step up to 18V with respect to ground. If you connect a load between the output of the boost converter and the 12V supply rather than ground, there's a net difference of 6V so your load will see 6V. Which islessthan the 12V supply voltage.If you configure the boost converter to output 35V with respect to ground, but you connect your load between output and 12V supply once again, you now have a voltage of 23V across the load. Which ismorethan the 12V supply voltage.So the boost converter when used in this way can effectively generate higher or lower voltages than the supply voltage, as long as you don't need the output ground referenced to supply ground. In other words, what looks like only a step-up converter can both step up and step down. I've just noticed jeroen74 mentioned this earlier.This can be very effective at driving LED strings of unknown length at constant current with a proper current mode controller. (Don't rely on the current limit resistor between the switching fet and the inductor to regulate current, it's not accurate enough. You need a proper current mode controller with a separate sense resistor on the output).I don't know which of my suggestions will be the most efficient in your application, you'll have to prototype them all and measure! That's the fun bit!(edited - dyslexia playing up)

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 05, 2012, 11:51:20 pm
content: The LT1618 has one feature you do not see often: it has a fully differential current sense input, so you can place the current sense resistor (almost) anywhere you like.

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 09:23:16 am
content: Quote from: lewis on November 05, 2012, 11:42:37 pmI take it you mean a boost converter not buck?

author: lewis
author_rank: Frequent Contributor
timestamp: November 06, 2012, 09:46:24 am
content: Shit! yes I do, It was late....Will edit posts.

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 11:55:43 am
content: Thank you for confirming, I thought I was going mad!Attached is the block diagram of the solution I think I may go for. I am not sure how much trouble cascading the two regulators will cause though. I would have to implement some soft start circuitry to the LED boost converter to limit the inrush current at a minimum.With this solution the LEDs will operate down to the dropout voltage of the 3V buck. PWM dimming can also be achieved with the right boost converter. I'm looking at the LT1937 or LT3465.Dave

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: November 06, 2012, 01:10:41 pm
content: You may have already looked at these but I think they would fit your project nicely.RecomRBD-12-0.35Of course their is no fun as most of what you need is there.the only downsides are price (maybe), and you loose 70% of your dimming resolution by running it 0-100ma instead of 0-350.(this could be a real issue)I guess the efficiency will drop off at lower power, but it should still be reasonable, considering it is a buck boost.Also a warning, watch the input voltage transients, I managed to blow a couple up, but I just noticed they have a 5 year warranty, I wonder if I should claim.

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 06, 2012, 03:36:11 pm
content: Going down then up is not very efficient. Say both are 80% efficient, you end up with 64% efficiency.

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 04:42:58 pm
content: Hmmm I am certainly going around the design merry go round!! A buck-boost/sepic converter would be the best solution but trying to find one that is efficient at low currents is a nightmare!

author: lewis
author_rank: Frequent Contributor
timestamp: November 06, 2012, 06:27:44 pm
content: Hi David, I'm going to contradict myself but I've been thinking about it some more...If you run each LED via its own series resistor off the 3V supply, then at 2.61Vf at 10mA you need 39R in series. 39R with 10mA going through it loses 3.9mW, or a total of 15.6mW across the four resistors. All four LEDs will be dissipating about 104mW, so you still have a full brightness efficiency of 85% which is perfectly reasonable. You're not going to get that with an SMPS at this low current. Also, if you PWM dim them, the efficiency remains pretty constant at all brightnesses which it won't if you use an LED driver chip due to the driver chip's quiescent current.If you can lower the 3V supply to 2.8V (the micro should be happy with that) then your efficiency approaches 92% even including (negligible) PWM MOSFET losses, but 3V gives you better headroom for forward voltage drift. It's likely the current through each LED won't be exactly the same due to Vf drift, but the efficiency is greater than with any LED driver at this low current, and the brightness difference probably won't be noticeable. Accurate current sharing would entail current sources or current mirrors but you'd need to run them from a higher rail.Also, I know you can't vary the LED current with the micro with this method, but if you only want to adjust the current to dim them, don't bother and use PWM instead.In addition, the cost, complexity and PCB area is extremely low compared to the driver chip solution, and it's easy to design to use second-sourceable parts rather than tying yourself to one driver manufacturer. And you don't have to worry about additional EMI from the LED driver.One of those engineering compromises I'm afraid, you need to decide what's most important - efficiency and cost or accurate current sharing, but I'd go for this solution.

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 07:09:13 pm
content: Lewis,It appears we may be thinking on the same wavelength! This is exactly the thought I had on the way home tonight. I can indeed run off 2.8V but as you suggest it would be wise to keep the headroom for higher currents. I was thinking of limiting the current in each string to 50mA and then using PWM dimming to get the lower brightness/power consumption. I could simply connect an N-channel FET to the low-side of all the strings and PWM them all at the same time.Thanks for the help.DaveQuote from: lewis on November 06, 2012, 06:27:44 pm

author: lewis
author_rank: Frequent Contributor
timestamp: November 06, 2012, 07:44:43 pm
content: Sounds good. One other thing, you'll need a FET with a very low Vgs threshold if you're going to drive it direct from the micro at only 3V supply. VNB35N07 is big but should give you very low loss even at this low turn on voltage, I'm sure there are others. Better still, build a level shifter to drive the gate of any old FET from the 12V supply. Ensure the PWM frequency is 200Hz or more to negate noticable flicker. We use 240Hz in our dimmers, it's a good compromise between efficiency and flicker performance. Your application might require gamma correction to get a linear brightness ramp, but that's another story!

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 07:59:29 pm
content: Yeah I did think of that, Ill probably pre-drive it from the battery. I'm now thinking along the lines of using 4 discrete constant-current sources to overcome any VF variations...could be more hassle than its worth though.

author: lewis
author_rank: Frequent Contributor
timestamp: November 06, 2012, 08:17:01 pm
content: I'll stop blathering on now, it's nice to talk to some other engineers for once! Good luck....

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 08:18:35 pm
content: Quote from: lewis on November 06, 2012, 08:17:01 pmNo, you've been a great help! I know the feeling!

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 06, 2012, 08:57:07 pm
content: What are the LEDs used for? If it's a backlight, any small difference in brightness probably is a non-issue. Now, if these LEDs were part of a big RGB matrix, I can imagine small differences cause small but problematic colour shifts. If I'm not mistaken, aging of LEDs is quite problematic in lighting applications; I've seen LED strips where the LEDs age differently, causing very visible shifts in the colour temperature in individual LEDs. It's really ugly.You could do a quick test by heating up one LED with a soldering iron and see what effect it causes. I wouldn't be surprised if you can only see a difference with a lux meter and nothing by eye; especially at higher brightness levels due to the logarithm nature of human vision.

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 10:00:57 pm
content: It's for a back lighting purpose so not too bothered about brightness difference.I've been thinking of something along the lines of the following...Now, it's late so I could be going crazy but this circuit should provide a constant current for the LEDs. The idea would be to duplicate this for each LED but use one low-side NMOS FET (M2 in the attachment) for PWM dimming all 4 LEDs. The problem with this circuit however is to keep the sense resistor value small to reduce the voltage drop and hence increase the headroom voltage for the LEDs. I've chosen 1ohm because of this. However this means I need a 0.1V reference to produce 100mA. This isn't by any means a finished circuit, just a concept.Dave

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 06, 2012, 10:05:44 pm
content: Isn't this massive overengineering?

author: David
author_rank: Frequent Contributor
timestamp: November 06, 2012, 10:08:55 pm
content: Quote from: jeroen74 on November 06, 2012, 10:05:44 pmQuite possibly yes!

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 06, 2012, 10:11:48 pm
content: Take a look at the NCP5604. I think this could be a perfect fit for your application.

author: David
author_rank: Frequent Contributor
timestamp: November 07, 2012, 01:49:10 pm
content: Unfortunately that part is now obsolete, however I have since found plenty of similar devices.This one looks like what I could be going for:http://www.onsemi.com/pub_link/Collateral/CAT4004A-D.PDFDave

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 07, 2012, 07:12:19 pm
content: I selected that part just a few years ago... not actually used it yet (you know, one of those long running projects...). Amazing

author: Jeff1946
author_rank: Regular Contributor
timestamp: November 08, 2012, 02:45:01 am
content: Keep it simple, here is a reference to a two transistor circuit, easier than me drawing one.http://www.hqew.net/files/Images/Article/Circuit_Diagram/current-source.pngUse a 68 ohm resistor to get about 10ma. If you add another transistor (collector to the FET gate and emitter to ground) you could drive its base with 2k resistor suitably connected to your processor and modulate the circuit on and off. The power loss is not bad, the drop of the resistor plus the FET, probably about 0.9 volts.

author: David
author_rank: Frequent Contributor
timestamp: November 08, 2012, 09:39:33 am
content: Quote from: Jeff1946 on November 08, 2012, 02:45:01 amI have considered doing this but the power loss through the sense resistor is too great to get the efficiency I require. One of the upsides of the CAT4004A is that all 4 channels share the same voltage reference so the current matching between channels is tight.

author: jeroen74
author_rank: Frequent Contributor
timestamp: November 08, 2012, 01:32:51 pm
content: I'd just stick to the bog standard option of LED plus resistor from the 3V3 and be done with itIs it a big display? For the project I chose that NS chip for, just a couple of mA through the 2 LEDs was enough to provide satisfactory night time readability. The other variant of the display I chose first needed way more light, as it was of the negative type (white characters on a black ground).It's amazing how efficient LEDs have become over the last decade. I fairly recently swapped out the incandescent bulbs in the switches of my car for LEDs and they only needed a couple of hundred microamps, compared to the 90mA or so for the bulb, or the 20mA of an old-school LED.