How to power up Arduino just once per day?

Hello,
I am planing to measure a single value just once a day.
The Arduino should be powered by a solar panel. Therefore, I am focusing mainly on the power consumption in “hibernate” mode.

I found a very interesting product (TPL5110 Power Timer) with a power draw of 20uA:

Unfortunately, the maximal sleep time is 2h.

Any ideas, suggestions, or similar project I could learn from?

/Tomek

In deep sleep mode the ATmega processor draws utterly negligible current and does not need to be powered down.

Google "gammon power" for a great tutorial, and also see Gammon's solar powered Arduino project.

.

tomek123:
Hello,
I am planing to measure a single value just once a day.
The Arduino should be powered by a solar panel. Therefore, I am focusing mainly on the power consumption in "hibernate" mode.

I found a very interesting product (TPL5110 Power Timer) with a power draw of 20uA:
Adafruit TPL5110 Low Power Timer Breakout : ID 3435 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Unfortunately, the maximal sleep time is 2h.

Any ideas, suggestions, or similar project I could learn from?

/Tomek

You have not said which Arduino, but the ATMEGA328P has a watchdog timer that can be used for this, but its not very accurate.

So you need to decide what exactly 'once a day' means.

When you wake up every few seconds and do something your power consumption will be still neligible. In fact 20uA is high current compared to AVR chips power consumption, you should be able to have less then 10uA easily.
As already mentioned real problem will be "once per day" requirement. For long time measurement the time will drift unless synchronized to some external source. Watchdog will drift by minutes per day, crystal minutes per month, DS3231 by minutes per year (you can use this RTC to gain minimal consumption and wake up signal with very flexible settings).

Which arduino are you talking about? Most have USB serial chips on them that don't use a sleep mode
so you really need a board without such an interface to get micropower consumption.

srnet:
You have not said which Arduino, but the ATMEGA328P has a watchdog timer that can be used for this, but its not very accurate.

So you need to decide what exactly 'once a day' means.

I will consider the ATMEGA328P. I need to read more about it ..

By once a day, I mean one measurement (roughly) every 24 hours. The actual wall clock time is irrelevant for this.

tomek123:
By once a day, I mean one measurement (roughly) every 24 hours.

So if its every 20 hours or every 28 hoursa thats OK ?

Thank you all for your tips so far! I have some reading to do tomorrow.

Maybe I expand here a bit on what I am up to:

  • In a remote location (no power line near by) I would like to take a measurement every 24h (roughly; time shift of many minutes per day is not even a problem)
  • Send the data using via GSM/3G module. The data would contain battery level and the measured value

To my understanding I have to address two problems. Power consumption and the data upload.

Since the frequency of the measurement is so seldom, I could simply get a ready made ardurino board (with a slightly higher power consumption but it would be easy to mount a GSM/3G shield) and concentrate on saving energy when sleeping (thats why I got the idea to power it down completely).

I also discovered the Ardurino Yun which could send data using an 3G USB dongle.

/Tomek

srnet:
So if its every 20 hours or every 28 hoursa thats OK ?

Yes it would be. Of cause, it would be nice to know when to expect the next measurement roughly. But this would be just a nice to have, really.

tomek - did you ever figure this code out? I'm working on a similar project and would love to see your code as an example.

Why not wake it up every two hours and increment a counter . When you’ve woken it 6 times, 12 hours have passed - take your measurement and go back to sleep.

tomek123:
Unfortunately, the maximal sleep time is 2h.

Why is that a problem ?

Put the Arduino to sleep, with watchdog timer off and set to wakup on interrupt.

When it wakes up increment a counter, and go back to sleep.

When at wakeup the counter has reached however number of 2 hours you want, then do something.

The TPL5110 has an active current of 35nA, not 20uA.