Go Down

Topic: Reducing battery power consumption through dropping input voltage?  (Read 500 times) previous topic - next topic

Nazaar--

Hi all,

I'm trying to reduce power consumption on a battery-powered project. I'm using a Nano clone. From videos and tutorials I gather that reducing the input voltage from 5 to 3.3V will drastically reduce the power usage. Assuming I've got a 4 x AA pack, input would be about 6V. If I (assuming I can figure it out) use a voltage regulator to drop the 6 to 3.3, considering I understand that there's going to be a lot of heat that's going to consume power, will I actually gain anything? I gather there's an onboard voltage regulator that drops any input down to 5V, and this consumes power bleeding it off.


Thanks

Grumpy_Mike

Any linear voltage regulator simply burns off the excess voltage as heat. You gain nothing in terms of battery consumption.

Using a switching regulator often called a buck or boost regulator is much more efficient so that 80 to 95% of the input power is converted to the new voltage.

Running an Arduino at 3V3 normally requires you to drop its clock speed because the data sheet shows you can't run it at such a low voltage at the 16MHz standard clock speed. Although sometimes it might work.

allanhurst

You can buy 3.3v pro-mini's with a 8MHz resonator.

If you want to really save power remove LED's and the input regulator.

John Gammon has published many sw tricks to get power down to a few uA using sleep modes - could someone remind me with a link?

Allan.


allanhurst

Sorry... John Gammon is an old friend of mine - confused!

Thanks for the link.

Allan

MarkT

The basic law for power consumption in clocked CMOS logic is  P = k f V^2, ie power is
proportional to clock speed f and supply voltage squared.  So going from 5V 16MHz to 3.3V 8MHz is
a reduction of about 5-fold, for the clocked logic.

With a linear voltage regulator you only see the current reduction though, ie a factor of about 3 in
this case.

If you look at the current consumption graphs in the datasheet you'll see the power consumption of
a microcontroller is mainly due to the clocked circuitry so this law holds pretty well.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

hammy

Have a look at putting the Arduino into a sleep mode to make big power savings

Nazaar--

Quote
Using a switching regulator often called a buck or boost regulator is much more efficient so that 80 to 95% of the input power is converted to the new voltage.
What about a low dropout regulator like this? It's got a very low draw I gather.

I've read that the voltage regulator onboard bleeds a lot of head regulating, so am I better having battery packs that have a lower voltage in general, as long as it's higher than 5ish? At the moment I've been using 6xAAs in a pack, but I'm wondering whether 2 packs of 4xAAs would be a better option (other than the obvious benefit of having 2 more batteries).

Quote
You can buy 3.3v pro-mini's with a 8MHz resonator.

If you want to really save power remove LED's and the input regulator.
I'll look into the 3.3V minis for the next version. How different is the coding going to be?

I'll dump the LEDs I think, if I can figure out how to do it safely.

Quote
Have a look at putting the Arduino into a sleep mode to make big power savings
Yeah, I'm trying, and struggling. Normal code works fine, but for some reason mine doesn't, I posted about it on the software board, and came to the conclusion I need to read up on it more.

Thanks all for the help.

ChrisTenone

...
I've read that the voltage regulator onboard bleeds a lot of head regulating, so am I better having battery packs that have a lower voltage in general, as long as it's higher than 5ish? At the moment I've been using 6xAAs in a pack, but I'm wondering whether 2 packs of 4xAAs would be a better option (other than the obvious benefit of having 2 more batteries).

I'll look into the 3.3V minis for the next version. How different is the coding going to be?
...
This sounds like a candidate to use two D cells, which is about 15-20 amp-hours at 3 volts. (Or 3 cells for ~5 volts.) Put this into VCC, not VIN. The voltage regulator and power LED are just to the "right" of the Atmega328 smd chip. The regulator is a small chip with 5 pins, and the LED is ... an LED. Grab the regulator chip tightly with a roachclip hemostat, and heat the contacts with a soldering iron. The chip should pop off after a second or two of some tooth-extraction action. Do the same for the LED. I saved 6 milliamps on my last project by doing this.

A 3 volt mini programs almost exactly like a 5 volt mini, because it's the same thing, except the clock runs at 8 MHz instead of 16 MHz. (If your code relies on a fixed 16MHz crystal you will need to adjust your code, but millis() and micros() are not affected.) If you use 5 volts on a 3V mini, it's fine - the clock stays at 8 MHz, so there will still be some current saving.
What, I need to say something else too?

ChrisTenone

...
Quote
Have a look at putting the Arduino into a sleep mode to make big power savings
Yeah, I'm trying, and struggling. Normal code works fine, but for some reason mine doesn't, I posted about it on the software board, and came to the conclusion I need to read up on it more.
...
I am a huge fan of Narcoleptic for easy-peasy sleep mode. It turns delay() into a deep sleep. I know, I know, delay() is bad. Try it, you'll see - it works fine with millis() based timing.
What, I need to say something else too?

Go Up