Let's Make Robots!

LDO current regulator for power LED

LDO current regulator for power LED

Challenge

You've got a power LED? Great! Build a flash light!

What does the spec say? "Voltage: 3.6 .. 3.8 V, power 3 W." Okay. This means that it draws some 800 mA. Three mignon cells give 4.5 V for at least three hours. So we add a resistor of 1.2 Ohm and we are safe. If the LED runs at 3.6 V this gives 750 mA and 2.8 W while the resistor voltage is 0.9 V resulting in 0.675 W for the resistor. So we take a resistor that can stand 1 W. Simple, isn't it?

Yes and no. The LED in this simple circuit will glow but what happens if voltage drops because batteries go flat? If voltage drops by 10 % you'll get 4.05 V and current drops by some 50 % meaning that you need rather full batteries to get a reasonable amount of light from your LED. First idea is to put a voltage regulator between the batteries and the circuit and adapt the resistor to its output voltage. However, finding a suitable regulator is tricky. You need a low dropout voltage to let the LED work at full brightness when batteries voltage becomes low.

BJT Current Limiter

We can do better! To stabilize brightness we have to regulate the power consumption of the LED by controlling the current. Wikipedia [1] shows a simple circuit of two transistors and three resistors limiting current independent of supply voltage. We change this circuit by removing resistor R2 which is not really needed. What about dropout voltage? Clearly, there is VCEsat of Q2 which can be in the area of 0.2 V at current around 1 A (for BC640, BD13x, BD23x, BD43x...). However, there is the additional voltage of the emitter resistor which equals VBEon of Q1, typically some 0.7 .. 0.9 V. So we get a total dropout voltage of VBEon1 + VCEsat2 resulting in some 1.0 V.

This dropout voltage is too high for three mignon cells. If you are not keen on energy efficiency and ready to carry four mignon cells then you are done.

Rail to Rail Operational Amplifier

But we can do even more better! The two transistor current limiter is a control loop sensing the current by a resistor and keeping the voltage equal to VBE of a transistor. What about reducing this voltage? There are operational amplifiers with rail to rail input and output meaning that they can handle voltages from VSS to VDD. There are numerous such parts like the MC33201.

Have a look at this current limiter circuit in Wikipedia [2]. Voltage over the sense resistor is kept equal to voltage over z-diode. Okay, there are no z-diodes of really low voltage. Since the amplifier has high input impedance we can use a voltage regulator and simply reduce the voltage using a voltage divider.

LDO current limiter circuit

One point still to notice is output current of the amplifier. If we use a BD139 transistor this will give us a current gain of 40 or more meaning that the amplifier has to deliver 20 mA which is okay for the MC33201. If the transistor needs higher base current than the amplifier can deliver we have to at an emitter follower between amplifier and transistor.

In our 3 W LED example we can use a resistor of 0.33 Ohm delivering a voltage of some 0.25 V in operation which can be handled by the op amp. Now add VCEsat of 0.2 V and get less than .5 V dropout. Okay, this is a little cheating becuse VCEsat would requires 80 mA which won't be delivered by an MC33201.

Dimming

Brightness can be controlled by reference voltage. Simply use a potentiometer as voltage divider. Or connect the amplifier input to another circuit like a multivibrator to flash the light or to some rectifier and low pass for a light organ.

Future Work

If we are controlling brightness using a mirocontroller with ADC and DAC or PWM we can even drop the Op Amp. Feedback voltage will be digitized by the ADC, then a PID program computes output voltage and DAC or PWM with RC low pass control power transistor. This gives opportunity for additional functionality like touch pad control, remote control, or automatices.

Using a MOSFET instead of a BJT might further reduce dropout voltage. For instance, MCP87xx have very low RDS and low threshold voltage making them suitable also for the microcontroller idea running the controller at 2 V or so.

Final Remarks

There is an instructable [3] showing how to build a power LED driver. This article mainly describes a discrete circuit similar to the two BJT circuit in [1] but with Q2 replaced by a power MOS transistor. MOS transistos can give lower dropout voltage but we need really high power high price transistor.

References

[1] Current limiting http://en.wikipedia.org/wiki/Current_limiting#Single_Power-supply_circuits
[2] Op-amp current sources http://en.wikipedia.org/wiki/Current_source#Op-amp_current_sources
[3] High Power LED Driver Circuits http://www.instructables.com/id/Circuits-for-using-High-Power-LED-s/step6/The-new-stuff-Constant-Current-Source-1/

Challenge

You've got a power LED? Great! Build a flash light!

What does the spec say? "Voltage: 3.6 .. 3.8 V, power 3 W." Okay. This means that it draws some 800 mA. Three mignon cells give 4.5 V for at least three hours. So we add a resistor of 1.2 Ohm and we are safe. If the LED runs at 3.6 V this gives 750 mA and 2.8 W while the resistor voltage is 0.9 V resulting in 0.675 W for the resistor. So we take a resistor that can stand 1 W. Simple, isn't it?

Yes and no. The LED in this simple circuit will glow but what happens if voltage drops because batteries go flat? If voltage drops by 10 % you'll get 4.05 V and current drops by some 50 % meaning that you need rather full batteries to get a reasonable amount of light from your LED. First idea is to put a voltage regulator between the batteries and the circuit and adapt the resistor to its output voltage. However, finding a suitable regulator is tricky. You need a low dropout voltage to let the LED work at full brightness when batteries voltage becomes low.

BJT Current Limiter

We can do better! To stabilize brightness we have to regulate the power consumption of the LED by controlling the current. Wikipedia [1] shows a simple circuit of two transistors and three resistors limiting current independent of supply voltage. We change this circuit by removing resistor R2 which is not really needed. What about dropout voltage? Clearly, there is VCEsat of Q2 which can be in the area of 0.2 V at current around 1 A (for BC640, BD13x, BD23x, BD43x...). However, there is the additional voltage of the emitter resistor which equals VCEon of Q1, typically some 0.7 .. 0.9 V. So we get a total dropout voltage of VCEon1 + VCEsat2 resulting in some 1.0 V.

This dropout voltage is too high for three mignon cells. If you are not keen on energy efficiency and ready to carry four mignon cells then you are done.

Rail to Rail Operational Amplifier

But we can do even more better! The two transistor current limiter is a control loop sensing the current by a resistor and keeping the voltage equal to VBE of a transistor. What about reducing this voltage? There are operational amplifiers with rail to rail input and output meaning that they can handle voltages from VSS to VDD. There are numerous such parts like the MC33201.

Have a look at this current limiter circuit in Wikipedia [2]. Voltage over the sense resistor is kept equal to voltage over z-diode. Okay, there are no z-diodes of really low voltage. Since the amplifier has high input impedance we can use a voltage regulator and simply reduce the voltage using a voltage divider.

LDO current limiter circuit

One point still to notice is output current of the amplifier. If we use a BD139 transistor this will give us a current gain of 40 or more meaning that the amplifier has to deliver 20 mA which is okay for the MC33201. If the transistor needs higher base current than the amplifier can deliver we have to at an emitter follower between amplifier and transistor.

In our 3 W LED example we can use a resistor of 0.33 Ohm delivering a voltage of some 0.25 V in operation which can be handled by the op amp. Now add VCEsat of 0.2 V and get less than .5 V dropout. Okay, this is a little cheating becuse VCEsat would requires 80 mA which won't be delivered by an MC33201.

Dimming

Brightness can be controlled by reference voltage. Simply use a potentiometer as voltage divider. Or connect the amplifier input to another circuit like a multivibrator to flash the light or to some rectifier and low pass for a light organ.

Future Work

If we are controlling brightness using a mirocontroller with ADC and DAC or PWM we can even drop the Op Amp. Feedback voltage will be digitized by the ADC, then a PID program computes output voltage and DAC or PWM with RC low pass control power transistor. This gives opportunity for additional functionality like touch pad control, remote control, or automatices.

Using a MOSFET instead of a BJT might further reduce dropout voltage. For instance, MCP87xx have very low RDS and low threshold voltage making them suitable also for the microcontroller idea running the controller at 2 V or so.

Final Remarks

There is an instructable [3] showing how to build a power LED driver. This article mainly describes a discrete circuit similar to the two BJT circuit in [1] but with Q2 replaced by a power MOS transistor. MOS transistos can give lower dropout voltage but we need really high power high price transistor.

Oh, and there was a minor update on April 19th 2014. Fixed a few typos and added index styles. Looks a little better now.

References

[1] Current limiting http://en.wikipedia.org/wiki/Current_limiting#Single_Power-supply_circuits
[2] Op-amp current sources http://en.wikipedia.org/wiki/Current_source#Op-amp_current_sources
[3] High Power LED Driver Circuits http://www.instructables.com/id/Circuits-for-using-High-Power-LED-s/step6/The-new-stuff-Constant-Current-Source-1/

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Nice post, good documentation, and you've even posted your references!

Your circuit, and the one from wikipedia, will show a flaw if you or anyone else is going to use it with a MOSFET. Possibly even with the BJT, but I've never seen a current source with a BJT on a scope. The problem with the circuit is that it will oscillate due to overcorrection of the op-amp. The fix for this would be putting a resistor of around 10k between the op-amp's inverting ( - or negative input) and the sense resistor. On the negative input of the op-amp you would then place a small cap of around 100pF to 1nF with the other side of the cap attached to the output. 

If you do this, your circuit will compensate slightly slower for changes in current, but it will be much more stable. And since it's a LED driver you don't even need fast compensation. I'm doing a sort of similair project, but I'm using about the same circuit as an constant current power supply test, up to around 10A per module. I'll post that schematic this afternoon, I'm heading for school now.

 

Thom, EE student

Sorry for the long silence. I've been out of office and offline recently.

Thank you for the review! Actually, I'm computer scientist with only basic knowledge in EE. I know that a MOSFET has been used in the reference but to be honest I found the circuit in another paper - some Microchip AN or TB about op amp circuits - which I couldn't find when writing the post. And my plan was to add another ciruit with a MOSFET but couldn't find any suitable part in my boxes but wanted to build a prototype beofre publishing. The sample order arrived today. More about that in a few days.

Regarding the overcompensation, I apprecciate our input! Although I must confess that I've checked different signals of the circuit on a scope and it looked stable. On the other hand I remember warnings "not unity gain stable" in different op amp data sheets and we have exactly this situation in our circuit. So please watch this feature when selecting your amp. And add the capacitor anyway.