Now that we walked through all the steps of reducing power consumption from the start through first tests, reducing consumption, optimized tests and adding a RTC including the problems of waking up from sleep via interrupt, adding a 24AA256 EEPROM as external memory. and using it in page mode it’s time to make a more useable system from what we have.
The first steps are increasing the datalogging interval and then using a supercapacitor.
This is the next step forward In my “minimalistic standalone ATmega328 powered by a capacitor”. In this project I was walking from the start through first tests, reducing consumption, optimized tests and adding a RTC including the problems of waking up from sleep via interrupt. Then I added a 24AA256 EEPROM as external memory. EEPROMs are good for data storage as they keep data even when supply voltage has gone down. But they are slow, especially in write mode. This means that a lot of time is spent by simply writing two bytes of data into this memory and thus, energy is consumed during this time. Now with the 24AA256 it is possible to write up to 64 bytes at once. This is called “block mode”. Let’s look if we can reduce energy consumption furthermore by using this feature. Continue reading
In my “minimalistic standalone ATmega328 powered by a capacitor” project I was walking from the start through first tests, reducing consumption, optimized tests and adding a RTC. The RTC has let me learn a lot about waking up from sleep via interrupt.
Now one more component is due to come: external EEPROM to extend data memory. As I’m hoping to extend total uptime more I probably will run out of EEPROM memory when keeping the basic example (reading one ADC channel once a second and writing data to EEPROM). Furthermore, when it comes to practical use of the system, internal EEPROM is too small also.
There are already some posts about my testsystem, Arduino powered by a capacitor: The start, first tests, reducing consumption and optimized tests. With different power saving techniques power consumption could be reduced by a factor of around 300. Now let’s look how we can go further and come step by step to a system that can be used in real life.
The basic idea is a microcontroller system e. g. for datalogging of slowly changing signals like room temperature or solar irradiation. In these applications the controller is up for a very short time and then sleeps until the next event. In the basic tests with a standalone ATmega328P timing between two logging events was done by the internal watchdog timer. Now let’s try to improve this…
Now let’s put this all together. First we take the old setup from the first tests and set all digital I/Os to output and low and connect the analog inputs to GND. Surprisingly this doesn’t make a longer uptime. So obviously most of the electricity is consumed while sleeping. Continue reading
The first test showed that there is a lot of power reduction potential in having the controller sleep when it doesn’t have to do something. Now it’s time to look in detail to the possibilities of saving power both while the controller is running and during sleep. With simple test sketches measurements are done with different configurations to see the effects and to find out how low power consumption can be. Continue reading
This is the second post about powering an arduino from a capacitor. The basic setup is described in the introduction. It’s an ATmega328P in a standalone setup with use of the internal clock source. The power comes from the two capacitors on the picture. The microcontroller measures it’s own supply voltage repeatedly in intervals and writes data to the onboard EEPROM. After starting the measurement the power supply is plugged out and the ATmega runs off of the capacitors until the voltage is too low.
In this post I will describe how long the setup can run with different power-reducing techniques. Continue reading
Let’s take a capacitor as the power source for an arduino. But what sense does that make? This is totally nonsense you might say. A capacitor can’t store enough energy to run a microcontroller for a considerable time. Take a rechargeable battery to get it running. You’re right (at first sight).
But let’s have a closer look at this. The idea behind is: How long can a microcontroller like e. g. the ATmega328 run off of a capacitor when power consumption is reduced to the limit? When we get reasonable results we could make a Minimal Solar Arduino with a capacitor to store the energy. This is the idea behind this project: Building a solar powered arduino system with minimal power consumption and a minimum of components. The project is inspired by these great articles: Power saving techniques for microprocessors from Nick Gammon and Operating an Arduino for a Year from Batteries from Alan Mitchell. Thank you both for your work! Continue reading
In this post we will talk about some practical topics when it comes to building a real standalone PV system. We know the basic function of the system, about the load, we know the battery basics and selected a battery. We talked about what the PV module does and we looked for a module for our project. We also have a charge regulator. Now we will put this all together and connect the components. Continue reading
Our stand-alone PV system is almost complete now: We have the module the battery and our load. Now it’s time to connect the devices. Therfore we need the charge regulator. All other components are connected to it. The charge regulator has two functions: It limits the charging current to get the battery charged in an optimal way and to prevent overcharge. The second function is to cut off the load when the battery runs empty to prevent a deep discharge. This is all done to extend battery’s life. In this post we will look at how these functions are built in hardware and what are the different concepts of charge regulators. We will also talk about choosing the “right one”. Continue reading