saving power for battery operated Arduinos

I am knee deep in an embedded project that will, preferably, have a network of remote sensors running on battery. I sort of saved the battery/power consumption stage to the end - which was probably a mistake, as i was intending on running off of 9v batteries. Some overdue research shows im off on the wrong track with that battery!

Anyway, hardware is as follows:
Arduino Pro Mini 5v && Arduino Pro Micro (haven't decided which to go with yet, will probably use the mini in final form)

nRF24L01 2.4ghs transceiver powered by a 3.3v voltage regulator.

MaxBotics ultrasonic sensor - powered by the 5v output on the board, run to a PWM pin.

Here's where the question comes in: The 3.3v regulator, in my limited knowledge/research, is going to be constantly shedding excess energy whether the NRF calls for it or not. So... How do i only turn it on when i want it on? Also, does the same go for the ultrasonic sensor - or is that only drawing power from the 5v pin when it is turned on? I realize there is nothing i can do (i dont think?) about the onboard voltage regulator.

For at least the 3.3v regulator, my first guess is to use a transistor so that when the signal goes HIGH (or LOW... haven't used one yet...) the circuit will complete and the nRF24L01 will get its' power. I am somewhat assuming i may have to do a similar circuit for the 5v supply for the sensor - just so that it is completely cut off when not in use.

I think i understand enough of the code tutorials that i have a starting point for how to put the arduino and the nRF24L01 into their respective sleep modes to try and save as much energy as possible - but im certainly welcome to any tips... i do realize that this is a hardware section of the website, though.

The NRF24L01 can be put to sleep and consumes negligible power in that mode. See this handy power saving summary and this project with the NRF24L01.

The amount of current the regulator sheds is the "quiescent current". This is typically pico amps (negligible) for either a switching or linear regulator, but your datasheet will be specific as to the amount of current.

The shoddy documentation for the Maxbotics sensors state that the nominal current is ~3ma. Assuming it doesn't jump over 40ma you can power it from a digital pin on the Arduino -- and that would enable you to shut it off. Also, you might have a sensor capable of 3.3V operation; if so then you should be using a 3.3V Arduino and avoiding the level shifting problems.

jremington has already remarked that the NRF24L01 is capable of being put to sleep, your sonar can be powered off, and your Arduino can be put to sleep as well (look for the aptly-named Sleep library). Your current consumption should be almost nothing when you're project isn't doing anything.

Chagrin:
The amount of current the regulator sheds is the "quiescent current". This is typically pico amps (negligible) for either a switching or linear regulator, but your datasheet will be specific as to the amount of current.

A "typical" LM1117-3.3volt, uses 5-10mA quiescent current....

Chagrin:
The amount of current the regulator sheds is the "quiescent current". This is typically pico amps (negligible) for either a switching or linear regulator, but your datasheet will be specific as to the amount of current.

The shoddy documentation for the Maxbotics sensors state that the nominal current is ~3ma. Assuming it doesn't jump over 40ma you can power it from a digital pin on the Arduino -- and that would enable you to shut it off. Also, you might have a sensor capable of 3.3V operation; if so then you should be using a 3.3V Arduino and avoiding the level shifting problems.

jremington has already remarked that the NRF24L01 is capable of being put to sleep, your sonar can be powered off, and your Arduino can be put to sleep as well (look for the aptly-named Sleep library). Your current consumption should be almost nothing when you're project isn't doing anything.

Gotcha, next batch of sensors will be 3.3v - i think you are right that it is 3.3v capable. Only draw back is that it is a slower clock speed, but i guess i dont need much to "listen" for the main network controller to ask for a level - ping the sensor a few times and filter those numbers, and then send it back to the main network controller.

Since the draw on the sensor is less than the capability of a Digital pin, does that mean i should plug it to a digital pin and set the pin HIGH when i need the sensor turned on - effectively having two digital pins controlling the sensor? Never even thought of that... How would i set up a volt meter circuit to verify the peak draw?

I think that i would still use a power regulator for the nRF since it really needs a perfect power supply feed to function properly. However, since i could drop down to a 4.8v battery back the amount of wasted energy should be a lot less and the four AA's should give a nice pump of milli-amp capability, yes?

Wawa:
A "typical" LM1117-3.3volt, uses 5-10mA quiescent current....

is that a lot?...

I think that i would still use a power regulator for the nRF since it really needs a perfect power supply feed to function properly.

No, it doesn't. It works fine down to 1.9 V. Consult the second link in reply #1.

newneo_phyte:
I think that i would still use a power regulator for the nRF since it really needs a perfect power supply feed to function properly. However, since i could drop down to a 4.8v battery back the amount of wasted energy should be a lot less and the four AA's should give a nice pump of milli-amp capability, yes? is that a lot?...

An alkaline AA battery has ~2200mah capacity; that means it can provide 220 milliamps for 10 hours, or 110 milliamps for 20 hours, etc. Wawa mentioned that an LM1117 draws up to 10ma quiescent so you'd get 200 hours, and yes that is a little high and higher than I thought. Much lower current draw regulators exist though so you should spend some time looking through whatever electronics distributor you prefer for something with less quiescent current draw.

If you're using multiple AA batteries in series you don't get more runtime if you're using a linear regulator. With a switching regulator you would. Pololu.com has a lot of nice, small switching regulators that you might be interested in.

jremington:
No, it doesn't. It works fine down to 1.9 V. Consult the second link in reply #1.

My experience with them has been fraught with frustrations - most of which went away when i started using a voltage regulator. I am inclined to keep doing so for reliability purposes. The only consistent success i've had with onboard power is with the UNO and the power of the nRF set to LOW. All other combinations were pretty unreliable (boards, power settings, etc).

Chagrin:
An alkaline AA battery has ~2200mah capacity; that means it can provide 220 milliamps for 10 hours, or 110 milliamps for 20 hours, etc. Wawa mentioned that an LM1117 draws up to 10ma quiescent so you'd get 200 hours, and yes that is a little high and higher than I thought. Much lower current draw regulators exist though so you should spend some time looking through whatever electronics distributor you prefer for something with less quiescent current draw.

If you're using multiple AA batteries in series you don't get more runtime if you're using a linear regulator. With a switching regulator you would. Pololu.com has a lot of nice, small switching regulators that you might be interested in.

I've been using mouser for these items thus far.

How does this one look?

http://www.mouser.com/ProductDetail/ROHM-Semiconductor/BP5275-33/?qs=sGAEpiMZZMtitjHzVIkrqf%2FhEBQKSRSxutq2LlJzKcc%3D

Making 3.3volt or 5volt from a 9volt battery with a lineair regulator = more than 50% into useless heat.

Switching regulators, the MICRO ones !!, could get you twice the run time from that battery. Do the maths..

0.2mA idle current.
~85-90% efficent.
Converts e.g. 9volt/50mA into 3.3volt/125mA
Leo..

newneo_phyte:
How does this one look?

http://www.mouser.com/ProductDetail/ROHM-Semiconductor/BP5275-33/?qs=sGAEpiMZZMtitjHzVIkrqf%2FhEBQKSRSxutq2LlJzKcc%3D

It's a switching regulator, but not a particularly efficient one. It's designed to be a drop-in replacement for a LDO linear regulator and as such has a few tradeoffs.

What I had in mind was more like the MCP1700 ($.40 each). Quiescent current is .004mA max.

If you pair an LDO like this with three, 1.5V AA batteries (4.5V) dropping it to 3.3V it would be 73% efficient or better (3.3 / 4.5 = .73). Whether the lower quiescent current of the MCP1700 would come out ahead of the Pololu switching regulator that Wawa linked would depend on how much on vs. sleep time your project is doing.

Sure, you have to look at all the parts, not just one, and then do the maths.
A lineair regulator usually wins if the battery voltage is close to what you want.
A switching regulator gives you the possibility of using a much higher battery voltage.
Leo..

Wawa:
A switching regulator gives you the possibility of using a much higher battery voltage.

Is it required? If a Li-ion battery 3.6 is used then there is no need for any regulator at all. No regulator - no losses, 100% efficiency.

Furthermore, if a small micropower linear regulator (such as TPS78220) used to reduce microcontroller's rail voltage down to 2V then current consumption almost halved. TPS7822xx consumes only 0.5 uA. Atmega328 consumes about 35 uA while running from internal RC oscillator 128kHz at 2V, or about 70 uA at 3.6V.

akouz:
If a Li-ion battery 3.6 is used then there is no need for any regulator at all.

A fully charged 3.6V Li-ion battery will have a higher voltage than 3.6V. Isn't the max supply Vcc for the nRF24L01 3.6V?

True. Then a micropower linear LDO is even more justified. If maximum RF power is required then 3V or 3.3V rail would be good. If minimum current consumption is required then 2V rail would be better.

So... for the time being i think i will swap in the power regulator that Chagrin posted and use a cell phone USB battery pack to power the units. This will be 5v which is still higher than i need (For the going forward portion) but being easily recharbale will be a nice touch at this point. 40cents is much more appealing than $6/unit...

I'll make another experiment using the onboard 3.3v output but my experience has been very poor with it. Going forward i'll switch to the Pro Mini @3.3v and repeat the experiment with the on board 3.3 supply. IF it fails i'll go to the regulator again.

I will also be experimenting with an IR sensor Pololu Carrier with Sharp GP2Y0A60SZLF Analog Distance Sensor 10-150cm, 3V . Im concerned that it says it ranges up to 3.6v, so, presumably, i will not have a full reading range if the power output tops off at 3v?

thanks for the help everyone, it is very much appreciated.