last day (15 days later) » 

22:10
2
Q: Driving a LED in the most energy efficient possible way

valerio_newI got into a bit of a challenge with myself, just for the sake of learning something about low power stuff. I want to build a device that has basically two requirements: blink an LED every 5-10 seconds with a microcontroller last the longest time possible on a lithium button cell (something...

How will you limit the LED current to stop it being damaged?
If you connect the LED directly to the MCU pin without a series resistor, you'll let the MCU drive it as hard as it is capable of. This consumes much more current than a series resistor would, and could possibly damage the MCU and/or LED. It's a sound idea to look for LEDs with low forward voltage though, so that you won't have to include a step-up regulator just for the sake of the LED. If color isn't important, then go with red or yellow, or whatever else that has low forward voltage.
@Andyaka by making super short pulses. IR LEDs in remote controls are often driven with this technique.
I think you are missing the point - the driver chip will have current limiting internally that has the same energy losses as a simple resistor.
@valerio_new a short pulse doesn't limit current, it limits power. Connecting directly to a pin is cheap on components, and if the pin output is sufficiently weak tends not to damage the LED. However, if you're gunning for the most efficient way to do it, you need to consider what current you're running the LED at, and controlling that in an explicit way, rather than hoping for the best.
22:10
@Lundin i wont definitely include a step-up circuit in my device. Red looks the best choice so far. But an LED can stand much bigger pulses than the minimum visible one. And not using a resistor means higher current, that gives higher brightness, letting me to reduce the pulse width.
@Neil_UK picking an high efficiency LED with low current per unit of brightness would be a wise choice of course, but i'll always be pissing away half of my power
So the LED will probably be the most power hungry component. Don't guess, do a calculation (I use a spreadsheet for that) and you might be surprised by the result! It depends a lot on how often you flash the LED and how long the light pulse will be. I would do this calculation anyway to have an indication of expected battery life.
@Bimpelrekkie if the LED stays on, the uC will be on to turn it off, so they'll be always on at the same time. Between the two, the LED definitely consumes 1000 times more. If the LED stays on for, let's say, 10mS every 10 seconds, it is still consuming x10 the power of the sleeping microcontroller (assuming 10mA into the led)
That's exactly the calculation I am talking about. But 10ms is quite short. In my experience 50 ms might be a better choice for visibility.
I once tested a few CR2032's with different 5mm LED's ( RYW ) directly across the cell. They were all initially bright but about the same. The white drew 2mA was just as bright as the Red drawing 8mA both lasted about a day much dimmer then the white glowed the longest for many days, So if you want a better flash use a proper battery and not one with an internal resistance of 300 ohms rated for 0.2mA. The 225mA capacity drops more than 50%
you might want to consider something like HC4060 as a basis for gating the flash, rather than MCU, for the lowest power
22:10
@Neil_UK thanks for the suggestion but the whole project is based on learning something new about microcontrollers
@TonyEErocketscientist well... The white LED has a much higher Vf so it does make sense that the red one is drawing a lot of extra current, over heating and wasting power
Yes the efficacy of white and reduction of current makes it last much longer. The ideal battery is closest to the Vf of the LED for efficiency and has the capacity to use at least its 20h rating of capacity. The driver also needs an internal resistance, Ri much lower than that of the load. With Ri(LED) ~ 1/Pd and 3V logic with 25 Ohm drivers a Li-Ion averaging 3.6 makes a better choice than Lithium starting at 3V and the CR2032 again being 300 Ohms when fresh then rising makes a weak source.
Battery ESR is also inverse with its Wh capacity for a single cell just as Ri of the LED is inverse to its power rating Pd. THen of course adds in series. So maximum power transfer occurs when source and load are matched but at the expense of 50% efficiency thus load needs to be much higher Ri than source to reduce losses. to address your efficiency question. But using inductive SMPS to store energy for voltage conversion is best.
Lots of good comments. The first step is for you to work out the meaning of "blink" for the LED. Use an inefficient switchable current source circuit to do that. Adjust the pulse width and peak current to get the minimum energy per pulse that you can live with. Part of that will be selecting efficient LEDs. So try several. Do research. Once you know exactly what is needed, energy per pulse, the rest is just a design process.
Why red LED? Why not a green one as the eye is much more sensitive to green light.
Is the problem how to flash the LED for the longest time, not for the minimum current. Battery life might be prolonged by constantly drawing a small current for a long time rather than occasional large current demands.
@DDuck It's the "small current for long time" approach that I was also thinking the OP may need for a good design approach. This is usually some kind of RC relaxation approach, where a discrete SCR (built from BJTs) is applied to discharge the capacitor through the LED when the trigger voltage level occurs. But the first step is to find the right transducer (LED) and work out the details of what a "blink" means for it. This will factor into the value of R and C and the design of the positive feedback used between the SCR and trigger.

last day (15 days later) »