Power consumption issues on standalone board

Hello.

I’ve built a standalone board with an Arduino Uno’s ATMega 328, a 7805 regulator and a couple of Arduino modules. Its all wired on top of a prototype stripboard. It’s running a program carefully built to use memory as efficiently as possible (almost no libraries, no strings, etc.), which just writes the last GPS data to the microSD card every 5 secs. (the timer is implemented using interruptions). It works fine.

But it drains a 9V battery in matter of hours. It begins to present problems, specially with the memory card, when voltage drops below about 8.5V. Is it normal? Can it be more efficient? Maybe the way things are connected isn’t the best?

I just ordered a step down buck converter module based on a LM2596 to replace the voltage regulator and try it. Could it be a good solution?

In the schematics you can only see the pins of the modules, which are: GPS NEO-6M, microSD Catalex and BMP180 pressure and temperature sensor (“PRES”). The crystal says 15Mhz, but it’s 16Mhz.

Thank you very much.

device.pdf (57.4 KB)

See this excellent tutorial on power saving techniques for bare bones Arduinos.

A 9V battery and inefficient linear regulator is a poor choice for power. Not only is half the battery power wasted, the ancient 7805 has a very high quiescent current draw of 5-8 mA, which will drain the battery quickly, all by itself.

@geq,

There is much you haven't shared to help answer (code for one thing).

  1. Have you checked your datasheets to do a power budget, then done a power budget calculation to see if you are seeing a 'normal' situation?
  2. The 7805 is a linear regulator, which is smooth but lossy. Be sure to read up on the drawbacks of buck vs. linear.
  3. Is your 328 on full power all the time? Can your peripherals deal with it being in sleep mode some of the time?

Beside the obvious things like a good choice of battery for your project, you are not indicating whether the circuit is behaving as designed, or whether you have found a failed component.

Further you are giving an impossible requirement of "...the best". You should have started with firm requirements for your system before refining it or asking others the improve it. With no goals, how will you ever be satisfied you've reached them?

If you read these forums, you will see that those who lay their cards on the table have better luck. State as directly and thoroughly as you can things like what you are trying to accomplish, which parts of those requirements are flexible and which aren't, the various budgets involved, what you have so far to do so, whether that attempt is performing as calculated or not, and/or what specifically you have questions about.

Without even the basics about what you are trying to do, nobody can help you get there.

Additional guidance here.

Thank you both for your answer and tips. It's true holesflow, my question was too broad, I'm sorry.

The device is behaving as expected with a brand new battery or plugged to an AC-DC adapter. Later (on battery) it begins to have random problems. That's why I discarded the program as the source of the problem. Although I will look into making it enter in sleep mode. When "iddle" (in between the 5 seconds), in the loop, the program just waits for some flags to be risen by the timer (ISR) to do the actual work and blink the leds, and reads the GPS module's buffer so data doesn't accumulate and it's already available when needed.

I chose a 9V battery because it should be very easy and cheap to replace it. With other kind of battery, or several smaller batteries, it would be more difficult for the person using it or more expensive. And a rechargeable battery wasn't an option in this case (if it runs out of charge the user can't wait for it to recharge).

That given, the user is advised to replace the battery before using the device and to keep a fresh one in hand. But some brands of batteries just fail after minutes. So, the actual requirement would be to make it work for at least a couple of hours with a regular 9V disposable battery.

I just measured around 119mA. According to the microSD module's datasheet, it could add up to 200mA more when it's in use.

I've indeed read that the 7805 is very inefficient, that's why i'm looking into replacing it with the buck converter. I think the main point of my question was if the LM2596 is an acceptable or viable option to improve a small project like this or it doesn't make sense.

Thank you.

For long battery life, don't use a regulator, and use sleep modes. 2xAA can run an Arduino for years.

With other kind of battery, or several smaller batteries, it would be more difficult for the person using it or more expensive

Nonsense. Everyone uses AA batteries.

Power up the GPS and SD card only when you need to read or write, which should be as infrequently as possible. Both are power hogs, and there is NO WAY you can run both continuously, on a 9V battery, for more than a few hours.

@jremington It's nonsense with 2 AA batteries, but not with 6 or more to make it last at least as long as the 9V battery. People is lazy and they will tend to change just one or two, potentially of different types, and lose track of which one they changed and I'll end with a couple new problems.

The problem with turning off the GPS module is that it needs the location every 5 seconds. It's too little time to turn it off and on again. The microSD module could be turned off.

Thank you.

You are most welcome!

In case you do not follow,

This:

is not suitable for powering an Arduino project, and certainly not a GPS..

I think an LM2596 is also a poor choice for a 120mA load.
Micro-power buck converters (fingernail-size) could have higher efficiences at that current.
The uSD card and GPS are likely running internally on 3.3volt.
Might have been better to design everything for 3.3volt.
Leo..

I chose a 9V battery because it should be very easy and cheap to replace it

No harder to replace than a set of AAs.

With other kind of battery, or several smaller batteries, it would be more difficult for the person using it or more expensive.

Its the opposite, a 9V battery (PP3) is likley the most expensive way of powering a project, they dont last long as you have discovered.

And a rechargeable battery wasn't an option in this case (if it runs out of charge the user can't wait for it to recharge).

Are you being serious here ? If you have a disposable Alkaline battery ready to put in, what is so hard about having a spare set of rechargeables ready ?

I have quite a few GPS and SD card projects that I run from batteries, I mostly use 3 x AA or 4 X AA Alkalines which are cheap as long as you stay away from the over advertised ones such as Duracell. Or its just as easy to use NiMh or NiZn rechargables, I keep them charged and ready.

Whats really important is to use a decent low drop out regulator, MCP1700/MCP1702/HCT7333 etc. MCP1825 for higher current.

Thank you very much for all your comments.

Using a buck converter and using 3.3v I'm currently on ~45mA.

@geq,

There is a difference between what you think will work (and asking for how to make a wrong solution work), and asking for solutions to your requirements.

State the actual use case, and appreciate the sage advice based on those requirements. This is the shorter path.