Appropriate Battery Power Source

Hi all,

I've read up a bit on batteries to power the arduino UNO, particularly the poor quality of standard 9 volt batteries. It surprises me after reading this that people continue to advise using these batteries in their projects.

Here is one article about 9 volt batteries powering arduino: » Arduino misconceptions 6: a 9V battery is a good power source

So my question is... what is a good battery power source for the arduino?

Thanks for any help.

-Matt

RUMPIKUF:
It surprises me after reading this that people continue to advise using 9V batteries in their projects.

Not around here we don't. Quite the opposite...

RUMPIKUF:
So my question is... what is a good battery power source for the arduino?

How long is a piece of string?

A truck battery + DC 5V converter will last quite a long time.

How long is a piece of string?

A truck battery + DC 5V converter will last quite a long time.

Though the question was posed inaccurate, I think the general idea was clear: In a common portable way, with easy to acquire parts. I would think this means either one or more AA batteries or or a 3.7V LiPo.

So, I do not have a good answer, but perhaps a few question and thoughts that lead us further.

Regarding AA:

  • 4 Eneloop give 4.8-5.4V. Is it advisable to feed that to an Arduino 5V PIN directly? Is there an effective way (that works with Arduino sleep without draining the battery further) to get the 5.4V down? Is there an effective way to at least protect everything from the 6V of non-rechargeable batteries?
  • For lower voltages, an IC is proposed in the link above, the LTC3525, however it is rated for relatively low currents. Are there stronger alternatives? 100-150mA is at least not enough for an ESP8266. I don't know about the nrf24l01 or cheap 433MHz modules.
  • What are the possibilities for higher voltages?
  • What is the best way to avoid decharging the rechargeable s too much?

Regarding LiPo:

So, what is the advised way for a compact, long lasting (that is, using sleep mode) mobile Arduino? If not anyway, what are the most beginner friendly/low quantity alternatives (for example, the module mentioned above, no SMD soldering ...)

ElCaron:

How long is a piece of string?

A truck battery + DC 5V converter will last quite a long time.

Though the question was posed inaccurate, I think the general idea was clear:

I often use 3xAAA with a DC boost and USB cable (power goes in through USB port).

ElCaron:
So, what is the advised way for a compact, long lasting (that is, using sleep mode) mobile Arduino?

But as soon as you say "sleep mode" then that method doesn't work (and neither does a standard Arduino).

So, no, your "general idea" was not clear. Not really.

The only way for really long sleep mode is direct battery power+bare chip. No regulators, no DC converters, no Arduino Unos.

PS: Arduinos/ATMega chips will work with a less than 5V but you must never give them more than 5V. 4 freshly charged Eneloops might give you 6V for a few minutes.

I would get this charger over the one you linked to.

I often use 3xAAA with a DC boost and USB cable (power goes in through USB port).

But as soon as you say "sleep mode" then that method doesn't work (and neither does a standard Arduino).

What is "that method"? Your board? Or the proposed IC? The LTC3525 draws around 0.05-0.1mW when under almost no load. With 2 AA Eneloops, this would run for more than 5 years. What ius wrong with a standard Arduino? Arduino Playground - HomePage only mentions the ineffective 7805 power regulator, but bypassing that is one of the big points of this thread.

So, no, your "general idea" was not clear. Not really.

I am not the original poster, so it wasn't my idea anyway.

PS: Arduinos/ATMega chips will work with a less than 5V but you must never give them more than 5V. 4 freshly charged Eneloops might give you 6V for a few minutes.

The Amtel data sheet lists a maximum voltage of 5.5V. If it is only for the first few minutes (and thus the loss is acceptable), perhaps a 5.4V Zener diode could limit the voltage during that time without being inacceptably inefficient..

elac:
I would get this charger over the one you linked to.

I see that one has the same chip, but separated battery/output contacts. What do they give you? A regulated voltage? Which one? Do you know at which efficiency?

EDIT: Oh, there actually was more information further down on the page :slight_smile: So a assume that is just discharge and over-current protection? That would still answer a whole lot of my questions regarding LiPo, at least if the module itself does not drain considerable amounts of power.
So these ones: http://www.aliexpress.com/item/Free-shipping-2pcs-lot-18650-rechargeable-batteries-3-7v-5800-mAh-Lithium-li-ion-battery-for/1940528115.html
and some boost IC like the LTC3525? (Though I would still like to find something that could give more current).

EDIT2: LTC3539 seems to do the trick. It is less efficient during sleep and the DFN-8 packaging is kind of impractical ...

If you really want to use sleep mode and have the circuit function as long as possible on batteries, then do what everyone else does. Skip the voltage regulator, use 3V batteries (e.g. 2 AA or AAA alkaline) and design all the circuitry to work with a variable voltage ranging from about 3.2 V down to 2.5 V or so. This is the industry standard practice for remote sensors, clocks, some toys, etc.

Alkaline batteries have storage times of 10 years or so, while NiCd, NiMH and LiPo batteries discharge themselves at rates you can look up.

ElCaron:

I often use 3xAAA with a DC boost and USB cable (power goes in through USB port).

But as soon as you say "sleep mode" then that method doesn't work (and neither does a standard Arduino).

What is "that method"?

The one you quoted: 3xAAA with a DC boost.

ElCaron:
The LTC3525 draws around 0.05-0.1mW when under almost no load. With 2 AA Eneloops, this would run for more than 5 years.

Sure, but "almost no load" isn't the same as "no load". If you have to apply any load at all to keep it alive then you're draining the battery for no good reason.

For comparison: A bare AVR chip with a battery will easily run under 10uA power draw. I've built things that run for years on a single coin cell.

(I don't know exactly how many years, I'm still waiting for the battery to die. It's currently at 1.8 years, and counting...)

ElCaron:
What ius wrong with a standard Arduino? Arduino Playground - HomePage only mentions the ineffective 7805 power regulator, but bypassing that is one of the big points of this thread.

The Uno (for example) has a second ATMega chip on the board that can't be put to sleep.

ElCaron:

PS: Arduinos/ATMega chips will work with a less than 5V but you must never give them more than 5V. 4 freshly charged Eneloops might give you 6V for a few minutes.

The Amtel data sheet lists a maximum voltage of 5.5V. If it is only for the first few minutes (and thus the loss is acceptable), perhaps a 5.4V Zener diode could limit the voltage during that time without being inacceptably inefficient..

Perhaps. It all depends on what battery life you actually need, what's connected to the Arduino, etc.

The point still stands: "How long is a piece of string?"

There's no general answer to the original question. "Truck battery with DC step-down" is as good an answer as without an exact specification.

(The only thing we can all agree on is that 9V PP8 batteries are crap).

fungus:
4 freshly charged Eneloops might give you 6V for a few minutes.

I've never had an Eneloop charge over 1.46V/cell. 5.84V is on the edge of the 6.0V rated maximum (see page 313 of the datasheet), but I think you could get away with it. But if your Eneloops ever died at an inopportune moment, you might be tempted to pop some alkalines in... a 5.6V Zener for such cases seems like a reasonable safety measure.

If you intend to use alkalines all the time, then a 3-cell holder is the way to go.

So yeah, a 3/4-cell holder seems like a low-cost low-hassle replacement for a PP3 square 9V battery. I mean, if you were previously using a PP3, you're not worried about year-long sleep modes anyway. You're just looking for a convenient way to power your Uno away from a wall wart. A 3/4-cell holder is it.

Skip the voltage regulator, use 3V batteries (e.g. 2 AA or AAA alkaline) and design all the circuitry to work with a variable voltage ranging from about 3.2 V down to 2.5 V or so. This is the industry standard practice for remote sensors, clocks, some toys, etc.

How do I implement battery control and undercharge protection in that case? I mean, I am lacking a reference voltage, don't I?

Why don't you use an AC-to-DC converter ? Cheaper than other options , it lasts forever .

ElCaron:
How do I implement battery control and undercharge protection in that case? I mean, I am lacking a reference voltage, don't I?

AVR chips have built-in voltage references. You could switch off all external devices and go into deep sleep when the battery reaches a certain voltage.

Or just use a prebuilt battery charger circuit. They're cheap, do over/under protection, and you can charge your device by connecting it to a USB socket without removing the batteries.

fungus:
AVR chips have built-in voltage references. You could switch off all external devices and go into deep sleep when the battery reaches a certain voltage.

Oh, I see. The Arduino Reference says that the internal reference is 2.56V. Does that mean that 2.56V on n analog pin then give a read of 1023? would 5V then be a problem, if the board is also powered with that voltage?

Apart from that, I am struggling a little with "design your circuit so it runs with the voltage range of the battery" ... The ESP8266 (ESP8266 - NURDspace) for example doesn't seem to take the highest voltages of a LiPo.
Any suggestions how to power an ATMega/Arduino+ESP8266 with a LIPO so it can SLEEP/IDLE for at least a few month?

ElCaron:

fungus:
AVR chips have built-in voltage references. You could switch off all external devices and go into deep sleep when the battery reaches a certain voltage.

Oh, I see. The Arduino Reference says that the internal reference is 2.56V.

It depends on the chip. eg. A Tiny85 has 1.1V and 2.65V references, a Mega328 only has a 1.1V reference....

ElCaron:
Does that mean that 2.56V on n analog pin then give a read of 1023? would 5V then be a problem, if the board is also powered with that voltage?

Yes, but you don't do it that way because Vcc is normally higher than the internal reference (ie. you'll always get a reading of 1023).

What you do is use Vcc as Aref then measure the internal 1.1V reference voltage. The rest is math.

As usual, the details are in the datasheet.

fungus:
What you do is use Vcc as Aref then measure the internal 1.1V reference voltage. The rest is math.

Oh, I only saw that I can set the analog reference in Arduino, not that I could actually measure it with another AREF. Any hint? :slight_smile:

BTW, I think this does what I want. It is reasonably cheap, efficient and powerful. Only have to deal with the QFN packaging ..

ElCaron:

fungus:
What you do is use Vcc as Aref then measure the internal 1.1V reference voltage. The rest is math.

Oh, I only saw that I can set the analog reference in Arduino, not that I could actually measure it with another AREF. Any hint? :slight_smile:

Try reading the datasheet. There's a thing called "ADMUX".

Ok, have to read into that. In the meantime, this should do it https://code.google.com/p/tinkerit/wiki/SecretVoltmeter