Low loss current sink

I'm working on a battery powered device that has 4 individual LED drivers. The output from the LEDs are controlled with separate PWM signals from a small MCU.

This has to be low cost, and a low cost way to regulate the current through the LEDs is to use current sinks but I have trouble coming up with a good circuit.

Circuit 1 is simple, cheap and robust, and it is independent on the level of the PWM signal as long as it is high enough to turn on the MOSFET. The disadvantage is that the voltage drop over R(set) has to be 0.5-0.7 volts before Q2 starts conducting. The LED with the highest Vf has a forward voltage of 3.6V (max). A constant 0.5-0.7 volt loss is fairly high when using 4 AA cells.

Circuit 2 is potentially more efficient as there is no diode drop. I can use a small R(set), say a voltage drop of 0.1 volts. Since both op amp terminals has to be at the same potential, I'll have to drive the op amp with a 0.1 volt PWM signal and that seems awfully small. A big disadvantage as I see it is that the current is directly related to the input voltage on the non-inverting pin. I'm worried about noise on the PWM signal.

Any ideas for a high efficiency low cost current sink? Either an improvement on the above, or a different approach?

EDIT: To clarify, "efficiency" may not be the right description, the goal is to get more power out of the batteries. A 0.6 volt difference means more power over the life of the batteries.

-
When we say a circuit is "efficient", normally we mean it uses no more power than it has to. Is that what you mean when you say you want an "efficient" solution? The reason I ask is there's no fundamental efficiency difference between your two circuits. In both cases, the LED current is sourced from Vbat, so the total power is ~(V_bat x I_led). The 0.7 V that is dropped by R(set) in the first circuit just has to be dropped by the FET in the second circuit...so no real improvement in efficiency. –  The Photon Nov 28 '11 at 16:48
@ThePhoton Sorry for being unclear. The circuit is battery operated and less voltage drop over the current shunt resistor means that the batteries will last longer, i.e. I can use the batteries down to say 3.9 volts instead having to shut down at 4.5 volts. –  morten Nov 28 '11 at 16:56

What comes to my mind for minimum headroom is a current mirror circuit:

Caveat: I haven't tried this myself.

This should work for battery voltage down to 3.8 V or a little bit more.

It probably works best with a matched transistor pair. These are available under $0.40 each in small quantities (I found NXP's BCM61B in a quick search), so this is fairly low cost. The resistor in the emitter on the left is there so that the LED gets some multiple of the current driven in on the right (roughly (2.5 - 0.7)/R ), which will improve the power efficiency of the circuit. I suspect, though, that it will contribute some variability in the LED drive current from location to location, so you'd need to do some experimentation to see if this is a problem. - Thanks. I assume the current mirror could be made with MOSFETs instead of the BJTs? – morten Nov 29 '11 at 7:39 In principle, yes; and IC designers do it routinely. But I'm not sure that appropriate parts are available to do it with discrites. A quick search for "matched fet pair" didn't find any parts available under$5/pair in the firt 2 pages of Google results. –  The Photon Nov 29 '11 at 17:12

Split R3 into 2 parts.

Place a TL431 (2.5V) or TLV431 (1.25V) or cheaper clamp regulator if you can find one (note 1) from centre point of split R3 to ground.

Voltage drive is now held constant by clamp regulator.
When drive is low regulator is off and no drive current.
When drive is high clamp sets upper limit. Response time of clamp may set an upper limit on PWM frequency - but so will op amp. Getting "fairly iffy" by 100 kHz. Possible with proper attention to datasheet.

• Note 1: zener diode can be used as the clamp with some loss of accuracy. Even if N of these are driven in parallel they are liable to be driven from the same sort of input so the zener will behave similarly in all cases.

For a solution between zener and clamp regulator in cost for N circuits have a single clamp regulator and connect midpoint of split R3 via a diode to clamp regulator. Liable to produce an entirely acceptable result. As long as clamp is powered by a separate resistor to give it holdup current the clamp is not turned off when PWM is off, which is an advantage.

Digikey have TLV431 at $US0.54/1,$0.484/10, $0.32/100,$0.186/1000, $0.142/10000 About$US0.07 in China or Hong Kong in 3000? up quantity LR432 - Leshan Radio - genuine Motorola based part (joint partnership).

Variations between channels when using a common clamp:

Variation liable to be acceptable if light output is used for "normal" human vision applications.

I'd imagine you could clamp each at within 0.1V of each other and probably 0.05V. Very easily tested. If the clamp is stiff with load, which it can be within very tight limits, then the variation is in diode Vf with current and between diodes. Current will vary slightly with drive voltage and value of driving resistor but voltage is liable to vary only say 10% max (0.3V in 3V3 say) and resistor can be 1%. Diode drop is theoretically a function only of silicon properties and temperature and current.

If you used 0.5% TLV431 or equivalent at 1.25V the clamp would be about a Vbe (= diode Vf) higher at about 1.9v say. Diode Vf varies with current and temperature as above.

Varying 1.9V by +/- 0.1V ~= +/- 5% and probably actual of 5% total.
With Rset, R2, R3 = 1% you still get a % or few error from them so clamp error is not vastly more.

Eye/brain can see

• 50% difference between two lights non-simultaneously viewed

• or say 25% side by side illuminating a general scene or

• A few % - maybe 5% - 10% range, with lights "wall washing side by side.

If you were using this for eg mixing RGB+? colours or similar you may care more. But I think that hue variation distinction is liable to be fairly insensitive to most people. I have carried out light level tests as above but not hue variations - but my general impressions on hue come after looking at a vast number of LEDs "along the way".

-
Thanks! Using a shared voltage clamp sounds interesting. I have to check how much variation there is in forward voltage for small signal diodes. –  morten Nov 28 '11 at 17:01
See addition to answer. –  Russell McMahon Nov 29 '11 at 0:03
Yes, this is for an RGBA/RGBW color mixing light. A 5-10% variation is likely to be a problem, but I'll do some tests to see how much the actual color and intensity shift is in practice. It is likely that more than one of these lights will be used simultaneously as this is a photo/video light. This is meant as a small portable light for fill etc. –  morten Nov 29 '11 at 7:29
As the diodes represents the main error source, an option is of course to use individual TLV431s. If the chinese source you point to makes good parts, the cost won't be a problem. That's certainly a good price! :-) –  morten Nov 29 '11 at 7:34