New solar project: Minimalistic system

Hello all,

my new project is again about using solar energy for a arduino system. Now I'm looking for a minimal setup called the "Minimal Solar Arduino". The idea is to find a system with minimal components and minimal power consumption that still has a useful application. My first test system has a standalone ATmega328 powered by a capacitor. The total capacity is 9,400µF consisting of two electrolyte capacitors with 4,700µF each I found in my workshop. This will give me enough information about power reducing. With these results I will choose one of the super-capacitors to extend uptime.

In the first steps I'm experiencing with different configurations like sleep mode, Brown-out detection disabling and so on.

If interested have a look at:

Arduino powered by a capacitor - the start - heliosoph getting started and setup description

Arduino powered by a capacitor - first tests - heliosoph first tests and results

to be continued...

Elektrix

Hello all,

my next post about a minimalistic ATmega system is online. Several interesting methods for reducing power consumption are shown. This happens both in run mode and in sleep mode. Measurements of supply current are included to see what really happens. This gives an in-depth view to power-reduction.

If interested, have a look at:

Elektrix

Hello all,

I did some tests with what I found out about the supply current in different modes. As I have only little computing time and a lot of sleep time most of the energy is consumed during sleep. If interested look at:

Enjoy

Elektrix

Very interesting, thank you for sharing

Hello all,

I added a code example that shows what I did for reducing power whilst asleep. If interested look at:

Enjoy

Elektrix

Hello all,

my project is going further now. Waking up from sleep mode is now done with DS1337 RTC (similar to the well-known DS1307 but has a wider supply voltage range). Now a new problem occured and this is what the latest post is all about: Using external interrupt for wakeup from sleep mode.

In SLEEP_MODE_PWR_DOWN only level interrupts are possible. Interrupt triggering on the falling or rising edge of the signal doesn't work. Now multiple interrupts can be generated when the signal lasts too long.

The post in my blog shows how to prevent this. Included is a test sketch and also some screenshots from my scope that show the beaviour.

If interested, look at:

hope this helps

Elektrix

Hello all,

I finished the post about using a RTC instead of the wathdog timer for better timing accuracy and lower supply current. Now that the problems with the interrupt signal are already solved it shows that although supply current is reduced total uptime of the system didn't rise. So probably the main losses are somewhere else. So further research has to be done...

If interested, look at:

http://heliosoph.mit-links.info/arduino-powered-by-capacitor-timing-with-rtc/

Hope this helps

Elektrix

Hello all,

now I've added an example sketch that has interrupt handling included. The datalogging part is the same as in earlier examples and the interrupt part comes from the basics post. Here it's all together.

If interested, look at:

Elektrix

Thanks for sharing,
imho very well written articles!

Well done!

Thank you robtillaart for your kind reply!

The "Arduino powered by a capacitor" system is now extended again: I've added an external EEPROM. It is a 24AA256 that has the same wide supply voltage range as the ATmega328. Communication is done via I2C. Clearly, we have more memory space now. But what has shown up is that energy consumption has become lower because the external EEPROM is faster and consumes less power than the internal one. In the post there are some pictures from my scope that show the differences.

If interested, look at:

Elektrix

Hello all,

with my new external EEPROM I have tested writing in page mode. This is really a cool thing :smiley: Up to 64 bytes are written (almost) in the same time as a single byte. This extends the total uptime of my capacitor powered arduino (precisely: standalone ATmega328P) with a factor of more than nine. Total uptime is now in the range of two and a half hours!!

If interested, look at:

Elektrix

Hello all,

now I've gone one step further with my project. Now it's going towards real life. I began with changing the logging interval. This shows the influence of both the consumption while running and sleeping. The next step is to take a supercap as energy source. The first part of the post is already online. If interested, look at:

Elektrix

Well written articles, and interesting and relevant work for us Arduino users. Good job!

Hello all,

now I've changed my capacitors to a 1F supercap. Now uptime is really long :slight_smile: :slight_smile: So I had to increase the memory size a lot. With a total of 256KB it is still way too short to keep all the data that are generated while logging data. To see what is happening you can have a look at:

Tests are going on, more news will follow!

Elektrix

Hello all,

after some experiments with 1F of capacity for my minimalistic system I got back to 0.1F. This is the point where different configurations of a "real life" system can be compared to see which one is the best. So this would be the starting point to set up your individual hardware and try it out. If interested, look at:

To me, this project is a educational one and I learned a lot! The next steps would be connecting other memories like e. g. a SD card and bringing data out of the system to make it useable. At the moment I will stop at this point and perhaps continue at a later time...

Elektrix

interesting read.
Thanks for sharing
Best regards
Jantje