Electronic – Would a 7805 5 V regulator drain a 9 V battery

battery-operatedlow-batteryvoltage-regulator

Doing some DIY as a hobby, I'm making a small humidity-temperature radio sensor.

An ATmega328 is reading from a DHT11 sensor and then transmitting data to a Raspberry Pi by an STX882 radio transmitter. It is powered by a 9 V battery using a 7805 5 V regulator with 10 µF and 100 µF capacitances.

The C code on the ATmega is reading humidity and temperature and then sending it every 30 minutes:

``````const unsigned long DELAY = 30*60*1000UL;    // 30 minutes
void loop() {
delay(DELAY);
send_data(); // Maybe a little overcomplicated, but I think it is not the point
}
``````

This was working like a charm, but the battery life has been unexpectedly short. It was brand new, and I made some sporadic tests with a short delay, with no abnormal heat coming from anywhere.

When I was satisfied, I put the 30 minutes delay and leave it alone (which was maybe a bit hazardous?), but after less than 24 hours the battery was 5.4 V dead. The 30 minutes delay was approximately respected for its lifespan though.

What could explain such a short battery life? Could it be the 5 V regulator? How could I build a long-lasting circuit?

PS: I'm still trying to Fritzing some diagram, but this takes age for noobs like me…

I used a 6lp3146 generic brand alkaline 9 V battery which apparently provided 300-500 mAh at 100 mA current, which is far more than what my circuit use.

Here is all information I could gather from the datasheet:

``````+-----------------+-------------+----------+-----------+---------+
|                 | DHT11       | STX882   | ATmega328 | 7805reg |
+-----------------+-------------+----------+-----------+---------+
| Voltage         | 3-5.5 V     | 1.2-6 V  | 2.7-5.5 V |         |
+-----------------+-------------+----------+-----------+---------+
| Active current  | 0.5-2.5 mA  | 34 mA    | 1.5 mA    |         |
+-----------------+-------------+----------+-----------+---------+
| Standby current | 0.1-0.15 mA | <0.01 µA | 1 µA      | 4-8 mA* |
+-----------------+-------------+----------+-----------+---------+
*"bias current"
``````

If I understand correctly, my system is active for a few seconds every 30 minutes, so the standby current is all that should matter, and it is indeed driven by the 7805 regulator.

So yes, in the worst case, with 300 mAh I should be able to keep the system alive for only 40 hours.

Is there a way I could feed my system 5 V for a much longer time without a much bigger size?

For the record, here is a very good video about LM regulators vs. buck converters: Buck converter vs. linear voltage regulator – practical comparison

What could explain such a short battery life? Could it be the 5v regulator?

As mentioned, the 7805 has about 4mA of quiescent current. You need to find a data sheet for the battery (Eveready has nice battery datasheets, if you're using an alkaline cell). It's probably no more than 100mAh -- 100mAh / 4mA = 25 hours, so that should say something to you.

How could I build a long-lasting circuit?

The 7805 is old technology. There are better newer linear regulators out there. You should be able to easily find something that uses 10 times less quiescent current, and with digging even less than that.

To use even less power you'd use a buck converter that's specifically designed for low quiescent current -- but I gather that you're not ready to design one into a board at the component level. There may be a module out there that'll do the job, but you'll need to shop around for it. TI does have some buck converter modules, but you'll want to pay a lot of attention to their capabilities, both for maximum current delivery and quiescent current.

To use less power yet, do everything that you can to minimize the current consumption of your circuit when it is quiescent. This will require careful use of the microprocessor's sleep function, as well as managing how the board is powered (for example, if it only comes on once every 30 minutes, you may well want to turn off power to the radio and the humidity-reading portions of the circuit).

Measure the current consumption in all modes of operation, and use this to determine which modes are the worst offenders overall, then concentrate on minimizing the currents in those modes if you can.