# Optimizing Battery Life/Minimizing LED String Current

#### djsfantasi

Joined Apr 11, 2010
6,196
I admit that I’m a hacker. I have strengths (coding and creative approaches) and weaknesses. I have a set of skills that I’ve built over time, but it’s an effort for me when I try to extend myself. I admit that I must frustrate the real engineers on here. But I try.

So here I am, stuck. I can calculate the component values necessary to drive an LED or an inductive/ resistance load. But here’s the rub...

I have an LED string. It’s recommended to use a 6V battery to light it. That’s way too bright! At 6V, the string draws 150ma. But,
it also works acceptably at 3V.

Based on 150ma current draw @ 6V, I’ve calculated that the average current draw when used per my design is 22.5ma. The string will only be on 15% of the time. I forgot to measure the current draw at 3V.

I am using an ATTINY85 to control this string. The ATTINY85 operates between 2.7 & 5.5V. So we’re coming up to my question.

Powering with a 235mAH button cell battery, I have very little headroom for the uP. But using two batteries, the LED string is too bright and the battery life is only 10 hours. And the uP current draw needs to be taken into consuderation as well. I think that an iterative approach may work. Where I ignore the uP current and then recalculate once I’ve resolved the LED string problem.

What I want to do is three-fold. 1) maximize battery life, 2) reduce the LED brightness and current draw and 3) I’m at Disney World drinking a beer and forgot what 3 is...

I had thought of adding a series resistor to the LED string but don’t see enough information to calculate the value of said resistor.

As a final nite, there will be multiple strings, but only one will be active at a time.

#### dl324

Joined Mar 30, 2015
10,072
I had thought of adding a series resistor to the LED string but don’t see enough information to calculate the value of said resistor.
Determine current drawn at your optimal brightness and make a current sink or source for that current.

#### djsfantasi

Joined Apr 11, 2010
6,196
Determine current drawn at your optimal brightness and make a current sink or source for that current.
Perfect idea... Except... I’m limited by room on PCB. ATTINY85, two CR1025 batteries, three SMT MOSFETS and a handful of SMT resistors are already on a board that is 12.5mm wide is what I have in the current design. I can fit the batteries orthoganally to the main board.

How much additional real estate would a current source take?

That’s why I was hoping to use a current limiting resistor.

#### djsfantasi

Joined Apr 11, 2010
6,196
@dl324

Thanks for the idea! I’m looking into it now and preliminary thoughts are that it can be done within my constraints.

If you have a circuit similar to what you’re proposing, I’d like to learn from it.

#### dl324

Joined Mar 30, 2015
10,072
That’s why I was hoping to use a current limiting resistor.
You can use a resistor. You're going to have to dissipate power either way.

You can determine resistor value experimentally (just try some values until you get what you want). Or determine the LED voltage drop at the desired current and calculate the resistor value required to drop the rest.

#### djsfantasi

Joined Apr 11, 2010
6,196
You can use a resistor. You're going to have to dissipate power either way.

You can determine resistor value experimentally (just try some values until you get what you want). Or determine the LED voltage drop at the desired current and calculate the resistor value required to drop the rest.
Ok, I have two solutions. What I was unsure of was that I didn’t know the voltage drop of a string, while the datasheet gives me that value of a single LED. Thanks for responding to my question

#### crutschow

Joined Mar 14, 2008
24,404
For minimum current draw from the battery, you could using a switching constant-current circuit.
Example circuit below:
It's designed for a high current LED (10A) but can be readily scaled down to your desired current.
For your circuit the TL431 and CD4050 could probably be eliminated.

#### ebeowulf17

Joined Aug 12, 2014
3,173
Does the strip have current limiting resistors integrated into it? Or was the 150mA during your tests limited by battery internal resistance?

Assuming it's the former, instead of wasting more energy in resistors or constant current circuits, or building more complicated circuits for a switch mode current control, why not just reduce your pulse width? You've already got a microcontroller and a means of switching the lights, so just make shorter pulses to deliver lower perceived brightness and consume less current.

If your pulses are longer and farther apart than I'm imagining, then you could implement PWM dimming during your pulses. PWM dimming will be more efficient than any other option I'm aware of, so it will help with battery life.

Of course, if your micro is already being pushed to the limit and can't handle the PWM timing, then it becomes less appealing.

#### djsfantasi

Joined Apr 11, 2010
6,196
For minimum current draw from the battery, you could using a switching constant-current circuit.
Example circuit below:
It's designed for a high current LED (10A) but can be readily scaled down to your desired current.
For your circuit the TL431 and CD4050 could probably be eliminated.

View attachment 167910
Wow! This looks great. When I get back to Boston from vacation in Florida, I’ll redraw the schematic without the CD4050 and TL431 and see if I got it. While responding with dl324, it hit me that since the product will be SMT, the LED power can be in one side of the PCB and the uP and driving circuit can be on the other side. Similar as to how I plan on mounting the CR1025s on either side of the board.

#### djsfantasi

Joined Apr 11, 2010
6,196
Does the strip have current limiting resistors integrated into it? Or was the 150mA during your tests limited by battery internal resistance?

Assuming it's the former, instead of wasting more energy in resistors or constant current circuits, or building more complicated circuits for a switch mode current control, why not just reduce your pulse width? You've already got a microcontroller and a means of switching the lights, so just make shorter pulses to deliver lower perceived brightness and consume less current.

If your pulses are longer and farther apart than I'm imagining, then you could implement PWM dimming during your pulses. PWM dimming will be more efficient than any other option I'm aware of, so it will help with battery life.

Of course, if your micro is already being pushed to the limit and can't handle the PWM timing, then it becomes less appealing.
Now I have three options.

Amazingly, your idea was the initial plan. Then, I got distracted and worried about battery life.

The micro is doing little other than PWM. So it’s not taxed. 0.3 seconds bright pulse and fading off; 0.4 seconds of nothing; repeat the initial pulse sequence; 2.4 seconds of nothing. Repeat this to infinity and beyond (I’m vacationing at WDW).

I researched many button cell batteries. The constraints were it had to be less than 12mm in diameter. And it had to have extended battery life. I considered 20mm diameter, but found that wasn’t necessary.

While the LED strip draws 150ma, limited by battery internal resistance, it’s total average on time is only a maximum of 15%. My calculations indicate that two CR1025 batteries will last at most 10.5 hours.

What your post suggests is that while there are other solutions, the code gives me the best return.

The other excellent suggestions are not cost effective. But the techniques can be used in other projects.

Is that fair to say? I am stuck at ~10 hours battery life given my constraints...

#### crutschow

Joined Mar 14, 2008
24,404
Here's my write-up on the switching regulator.

#### djsfantasi

Joined Apr 11, 2010
6,196

#### ebeowulf17

Joined Aug 12, 2014
3,173
Now I have three options.

Amazingly, your idea was the initial plan. Then, I got distracted and worried about battery life.

The micro is doing little other than PWM. So it’s not taxed. 0.3 seconds bright pulse and fading off; 0.4 seconds of nothing; repeat the initial pulse sequence; 2.4 seconds of nothing. Repeat this to infinity and beyond (I’m vacationing at WDW).

I researched many button cell batteries. The constraints were it had to be less than 12mm in diameter. And it had to have extended battery life. I considered 20mm diameter, but found that wasn’t necessary.

While the LED strip draws 150ma, limited by battery internal resistance, it’s total average on time is only a maximum of 15%. My calculations indicate that two CR1025 batteries will last at most 10.5 hours.

What your post suggests is that while there are other solutions, the code gives me the best return.

The other excellent suggestions are not cost effective. But the techniques can be used in other projects.

Is that fair to say? I am stuck at ~10 hours battery life given my constraints...
Ok, a few thoughts here:
1) If the only thing limiting current right now is the internal resistance of the battery, that seems less than ideal. Some extra resistance might be a good idea, whether it's a simple resistor or an active control circuit. Unless we know the target current and power for the LED strips, it's hard to know if any given battery is a good match when relying on internal resistance alone.

2) If you've calculated 10 hour battery life based on having the LEDs lit 15% of the time (0.6 seconds out of every 3.8 seconds, in two 0.3 second bursts,) but you say the 150mA bursts are way brighter than necessary, then there should be further room for improvement on battery life. What I'm suggesting is PWM dimming within the 0.3 second bursts. Right now you're talking about the LED being on 100% during the burst, and also being too bright. If you used PWM at say 400-1000Hz, you could run lower duty cycle during the burst, saving power and brightness.

I don't actually know how much the PWM frequency matters. I know some people are bothered by the 120Hz flicker from mains powered LEDs, so higher than that would be good. My Arduino Uno defaults to 470Hz, and that's definitely smooth and good looking. Other systems I've got have run various frequencies from 700-1200Hz, all with great results.

I think you can save a good bit of power this way. Human eyes perceive brightness logarithmically (roughly,) so you can cut to 50% duty cycle with only a small difference in perceived brightness. If you currently think they're distinctly too bright, you can probably cut to 25%, or maybe even 10%, duty cycle and still be bright enough. And of course, 25% duty means 4x the battery life, etc.

3) My understanding is that PWM dimming will be the most efficient, that for any given brightness, you'll get maximum battery life with PWM, because other methods convert more energy into heat. However, that's just one opinion, and I'm not the most experienced member. I'd trust anything @crutschow says over what I think most of the time.