Solar Power – Sizing the Solar Panels for OurWeather
In this posting we will discuss the final set of tests that we will be running for sizing the solar panels for the OurWeather Solar Power Extender Kit. In our next posting, we will explain how we are sizing the solar panel system.
What is OurWeather?
OurWeather is an ESP8266 based connected weather station containing 7 different sensors that will teach about electronics, software and the weather. It contains all the sensors and wires to make a fully functional, WiFi weather station. No software programming is required, it works right out of the box. However, if you want to change the way OurWeather works, add your own software or do something entirely different, we have the Open Source software available. And what is one of the coolest features of OurWeather? Building the kit requires NO SOLDERING. It uses Grove Connectors. It is all plug and play based building, with a full step-by-step photograph based instruction manual. It is a safe and educational way to learn about weather, electronics and science topics. You can watch our successful kickstarter video here: https://youtu.be/pw6hSNSQnsM
See the Grove Connector Tutorial Here.
The OurWeather Solar Power Extender Kit
For those people that would like to put the OurWeather kit outside, one of the major issues is running power to the box. If you have a place to put the box where it can receive sunlight, then a solar powered system makes sense. There are a number of issues to be dealt with when designing a solar power system. We have tutorials on this for the Raspberry Pi but the process is very similar for the OurWeather ESP8266 based system.
We expect to be able to start selling this extender kit in November, 2016.
Measuring the Current from OurWeather
The first thing we have to do is measure the average current used by the OurWeather system.
To measure the current from the OurWeather system, we took the box back inside and used an INA3221 to measure the current coming in to the OurWeather system from the USB connection to the SunAirPlus solar power and data collector board. We have a tutorial on how to measure and log data to a Raspberry Pi in this tutorial.
We used a USB cable that we had cut the VDD line and attached two female jumper pins. Then we plugged the INA3221 in line with the VDD and then connected up the Grove I2C Connector to Pi2Grover on our Raspberry Pi 3. We next downloaded and installed the Raspberry Pi DataLogger software and configured the DataLogger and loaded the software on to the Raspberry Pi 3 as shown in the README.md.
Results
We configured the DataLogger software to take current measurements every 1 second. Then we ran the OurWeather system for a few minutes to have it boot up completely and then started the sampling on the Raspberry Pi. This OurWeather system is being polled across the network by another Raspberry Pi (we have four Pis right now running various experiments monitoring other systems) running DataLogger using the OurWeather REST interface sampling the OurWeather Data every minute (which burns more current) and also the WeatherUnderground system which is sending data every five minutes to the WeatherUnderground. Note that we are running these tests over a 15 minute period but we could run them
The first chart below shows the OurWeather system current consumption (at 5V) with the OLED display connected.
This chart shows an average current consumption of 37.53mA. Note all the spikes to 80mA. These are caused by the WiFi being active on the embedded ESP8266. This is one of the things we will investigate. Part of this is caused by our sampling software that is using the REST interface. Looking closely at the data, a lot of these spikes are caused by our OurWeather sampling software from the other Raspberry Pi.
This next chart shows the OurWeather system with the OLED disabled. This results in an average current saving of about 10mA, which reduces the power needed by OurWeather by about 25%. Not bad.
Finally, we re-run the OurWeather test by disabling the DataLogger reading the OurWeather REST interface across the WiFi. Note that we are running this to primarily graph the Solar Power Subsystem on OurWeather. The SunAirPlus board monitors the entire power system (Panels, Battery and Load) and reports the information to the OurWeather system via an I2C interface. Our prediction is that it is not going to make much difference because it only spikes for a second or so every 5 minutes.
And we were correct. It only reduced the current to about 26.7mA or about another 4%. You can see the spikes caused by the 5 minute write to the WeatherUnderground.
From these graphs, it looks like we could further reduce the OurWeather current by looking into keeping the WiFi off more of the time. It looks like it sending “beacons” out to the access point or something similar. We suspect that some more analysis and software could get us another 15% or so just eyeballing the charts. Note that we can’t just put the ESP8266 to sleep, as it is actively servicing interrupts from the Weather System and responding to WiFi requests. However, this needs to be investigated further. There is certainly a way of sleeping the ESP8266 to wake up to Interrupts, but can we wake to a WiFi request for data? More research is needed.
Here is a significantly longer test with the OLED and the other Raspberry Pi sampling system engaged. Note that the average current doesn’t vary much from the 15 minute tests (37.88 mA) versus 37.53mA for the longer test.
Next Time
In our next posting, we will actually work through how to size the OurWeather Solar System now that we have all the current measurements we need. We are going to use 27mA to size the system. That is with the OLED off with no one minute sampling from another Raspberry Pi via Wifi.