While tinkering with my ATtiny13 Pumpkin Project, I ended up using a fairly inefficient circuit: the same amount of power is dissipated in the current limiting resistor as in the LED itself, which mean that at best, the efficiency would turn out to be around 50%. In reality, some power is consumed by the switching transistor, so it’s more like 35% or so, and when driven at the maximum power level of the resistor, the 2N2222 got uncomfortably warm.
In staring at some “constant current” sources, I began to understand what was going on. I put this circuit into LTSpice to help me understand:
The key to understanding how this circuit works is what happens at the base of Q1. It be around 0.65v higher than ground. That means the current through R1 is essentially constant (that’s good, from my LED’s view). 0.65 volts divided by two ohms means about 330 ma (which is pretty close to 100% of the limit of the LED current). The forward voltage drop for these LEDs is around 3.2V, so we are right around 1 watt of power per LED. The MOSFET is forced to absorb some current, because there is still some remaining voltage drop, if you do the math, that works out to about 1.75 volts, which multiplied by the current turns out to be 575mw. The overall efficiency works out to be around 75% or so. Not too bad. The 2N2222 transistors consume very little current.
If we actually had an 11v supply instead of a 12v supply, the efficiency would be a bit better: the current through the LEDs would remain unchanged, but the power consumption would drop by more than half. At 10v, the voltage supplying the gate of the MOSFET begins to swing to Vcc, and the MOSFET power consumption drops to around 40mw or so, but at 10V, the voltage drop through the LEDs is too much to maintain the 0.65V needed at the base of Q1, and the current drops. We can compensate a bit by changing R1 to a 1Ohm resistor, and when we do, we see that the circuit becomes very efficient (about 1W per LED, with overall circuit consuming about 3.2W).
I’ll try to get a circuit like this on a breadboard for some practical experimentation soon…