Ideas for new LED driver board

Lion251

Newly Enlightened
Joined
Feb 15, 2010
Messages
33
After reading on this board for some time, I think it's time to make a contribution myself.
I have bought a few lights with Cree XPG LED for myself and friends.
I like the XPG very much. It can produce lots of light when driven at 1400-1500 mA, but on the other hand, when driven at 350 mA, it has a very low Vf of only 3.0 V.

I drive these lights with one 18650 LiIon cell.
Most people would drive this configuration with a 4x 7135 board with PWM dimming, but I think that we should be able to do better.
The 7135 is chosen because it has a very low dropout voltage, and it can deliver maximum current almost up to the end of battery life.
On the other hand, it is fairly inefficient when the battery is full, especially if you don't need maximum brightness, and switch your light to mid or low.
When you drive the LED with 350 mA from a battery that is above 3.9V (which it is approx 50% of the discharge time), you waste more than 0.9V * 350 mA, or more than 23%, going up to 28% for a full battery of 4.17V.
Efficiency will be around 75%

Switching buck regulators should be able to be more efficient, but often have a dropout voltage of at least 0.4-0.6V, which makes them not suitable for driving 1,4A from 1 cell. Vf @ 1.4A for an XPG is 3,5 V, so battery voltage should be 3.9-4.1V to reach this.

So, I want a buck driver with a lower dropout voltage. 0.2V max should be doable, I think. I have not found a suitable one yet, so I think I'll try to build one myself, with a Zetex C310, a good coil and a logic-level MOSFET with low Rdson.

Then we come to modes for the driver.
I don't care for blinking or SOS modes, but I like to have at least a full-blast mode with 1400 mA, and also lower modes that are more efficient.
Most times, you see that the LED is always driven at maximum current, and dimming is performed by PWM.
An XPG-R5 gives off 440 lumen @ 1400 mA. Vf is 3.5V, so P=4.9W.
When I want 110 lumen, I can do a 25% PWM, for 1.2W.
But I can also drop the current to approx. 275 mA. Vf is then 2.9V, for a total power consumption in the LED of only 0.8W.
The lower constant current instead of higher current with PWM dimming will give me 50% extra battery runtime at lower outputs!
To get even lower light modes, we can then use PWM dimming at the lower current level.

I have already programmed a small microcontroller with the following modes:
High - Current set to 1400 mA, continuously on
Mid - Current set to 275 mA, continuously on
Low - Current set to 275 mA, PWM 25%.
Variable - Current set to 275 mA, PWM ramping up from 0.4% to 100% in logarithmic steps, then back down, up, etc.
Hold - holds last level of the ramp up/down.
In this way, you can select any level from 'moonlight' (approx. 0.4 lumen) to Mid (110 lumen).
When switching modes again, you go back to Variable ramp up/down, but in the opposite direction from the one you left it last. So if you 'shoot through' your desired level, you can just go back to Variable mode, and correct it without having to make the whole cycle again.

And, as icing on the cake, a 'secret mode' that is reached by quickly changing modes through all other modes (5+ times).
This is the 'battery level' mode.
It will measure battery voltage, and output a series of flashes that corresponds to approximate battery level. 1 Flash is almost empty, 5 flashes is completely full.

At this moment, I have only programmed the 'Modes' controller yet.
I have the ideas on how to make the more efficient buck driver with two fixed current levels. Attainable efficiency should be >90%, so Mid should draw 0.8W / 3.9V / 0.9 = 228 mA from a battery that is halfway its capacity.
(as a comparison: a single 350 mA 7135 would give the same amount of light)

I will see if I can make a small circuit board for the Modes controller, and piggyback it onto a maybe-not-yet-optimal existing buck controller to test the basic functionality.
The 'modes'-controller consists of two 6-pin SOT-23 SMDs, a capacitor and one or two resistors. I think I should be able to fit that into the pill ;-)

But, spare time is scarce at the moment, so for the moment, these are only my ideas. It may take weeks or months to realize them fully.

I'd like to see comments from other members.
For example: I have chosen 100 Hz as the PWM frequency.
I think that should be high enough to prevent visible flicker, but I have no real experience in this. Switching frequency of the current regulator should stay above 20 kHz until end of battery life.
 
Lithium newbie here, so please excuse my ignorance.

This highly efficient driver sounds great, but what does it offer for use of unprotected cells? Will there be a "signal" such as a brightness drop off at a safe (for the cell) voltage? :thinking:
 
Yes, a brightness drop to indicate end of battery life will certainly be possible.
At high current, it will be automatic, as, at end of discharge, cell voltage will be too low to maintain the 1.4A. The LED will drop 3.5V @ 1.4A, the FET, coil and current sensing resistor 0.18V, That means that, below 3.68V, current will start to drop slowly, and the regulator will go into direct drive mode. At 3.5V, I will have 1A or so left.

When in medium to low current mode, Vf of the LED and drop in the FET/coil are lower, so there would be no drop in light intensity until battery voltage has reached 3.3 V or so. At these low currents, that means an almost empty battery. I think it would be nice to give off a warning at 3.5V or so.
Personally, I don't like to discharge below 3.5V at low currents.

I'll see what I can do there; in my current setup the mode-switching logic could interfere with proper operation of the A/D converter during 'lights on'.

But, as I still have lots of space free in the controller, I have the flexibility to make a low battery detect.
 
sounds like you have some good ideas,

recently i have been pondering modifying a uC i programmed wih Alan B's phd software amd adding a constant current switching regulator to drive an led.

i used a Tiny85 AVR

will you post pics/code/circuits of this project if you have time ?
sounds like a good project to get cpfers involved in
 
I chose the C310, because it only needs very little voltage drop over the current sensing resistor: approx. 18 mV. The AX2002, that you see more these days, needs 250 mV over the sense resistor, which is more than the total drop in my setup.
I want to be able to drive a Cree XP-G from one 18650, with the maximum efficiency of a switching regulator, but the low dropout voltage of a linear regulator.
I think that, with the right choice of components, this should be possible.
I have found a coil/mosfet combination that gives a voltage drop of only 162 mV at 1.4A. Together with the 18 mV drop over the sense resistor, this gives a total drop of 180 mV.
The XP-G needs approx 3.5V@ 1.4A. This means that I could get the full current till a battery voltage of 3.68V. At 3.6V, we could still get 1.2A, which is enough for me.
If 100 Hz is too low for PWM, I think it would be no problem to raise that frequency up to maybe 1 kHz or so. Just keep it low enough to avoid interference with the switching frequency of the current regulator.
The C310 has a fixed off time of 1.7 us. That means that, when input/output differential voltage becomes small, the switching frequency will drop.
I think I will just start with a PWM frequency of 100 Hz, and test how far I can increase it when needed.
A nice thing is that, for both high and medium modes, there will be no PWM.
Only low mode and variable mode will have PWM.

The only real reservation I have about the C310 is if it has enough drive current to switch my mosfet on and off quickly enough to keep switching losses low. Time wil tell...

I will first make one or two boards for my own lights, just for testing.
If the circuit behaves as I hope it will, I will certainly post pics and measuring results.
 
Top