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.
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.