Solar Powered Weather Station
Since I started building “things” with electronics, I wanted to build a project that uses as little power as possible while still being “intelligent”. I opted for a data logging weather station uses a VTI 1000 sensor for atmospheric measurements, a Sensirion SHT1x for the most accurate temperature and humidity, a DS1302 real-time clock to get a time and date of measurements and a microSD card to store the data on to be used or collected later.
To get the most efficient usage of power, I looked at each sensor and IC to pick them specifically for low-power operation. The Protoboard uses a voltage regulator that isn’t very efficient, so I swapped it out for a MCP1703. The MCP1703 is a 250mA low quiescent current voltage regulator. The MCP1703 can sink 250mA, more than enough for everything Im trying to do, and has by far the lowest quiescent current from the regulators I researched, typically around 2µA. To swap the voltage regulators, I just disconnected the existing connections and connected the MCP1703 via a breakout board to Vin and Vout and Vss to the boards existing rails that spread out the whole board. This worked out very well and uses the traces and existing IC’s which make up the Propeller circuit. The less wires the better. The VTI 1000, SHT1x and DS1302 are very efficient modules and provide highly accurate results.
For powering the project, I went with a 3.7V 6000 mAh battery and 2 6V solar panels that use a TP4056 with DW01A dual charger. I had the solar panels from previous projects and picked up the TP4056 from Envistia Mall (envistamall.com) for about $1. Using the TP4056 makes creating a recharge circuit easy as pie; connect the solar panel(s) to one side of the module and battery to the other. As a bonus, there is circuit protection built-in the module. I priced out the components to build the module on a PCB and it was far more affordable to just use the pre-built one, and I get to support a small electronics seller that has always been good to me.
To test the battery charging capabilities, I left it out for a couple days. I took readings throughout and from what I see on Vin, I'm in good shape. The TP4056 has over-charge protection and there is protection built into the batteries as well, so I'm not worried about them being damaged. There was a solid 2.99V on Vout on the regulator, and that can get down to 2.7V before reaching a brown-out condition with the Propeller. I measured the stand-by current at a couple microampere (μA) and while it is taking measurements and saving data it jumped to about ≤ 15 milliampere (mA) for roughly a second and then dropped back by down to standby.
|Sunday 7/7/2018 @ 1:38 AM||4.06V @ Vin & 2.99V @ Vout|
|Sunday 7/8/2018 @ 2:00 PM||4.09V @ Vin & 2.99V @ Vout|
|Monday 7/9/2018 @ 12:30 AM||4.07V @ Vin & 2.99 @ Vout|
|Monday 7/10/2018 @ 3:17 PM||4.10V @ Vin & 2.99 @ Vout|
I will be sure to check the voltages during cloudy and short days, but from additional testing, I found there is about a 5-day buffer that the whole unit can run on a fully charged battery and still be ok.
I now have a weather station that measures pascals, temperature in Fahrenheit, converts atmospheric pressure to PSI, relative humidity, and dew point being saved ever iteration. I was shocked that it took so little power for the sensors to turn on, take a sample, turn sensors off, and then use floating point to convert the data to a useable format and then save it. It does this for every cycle and I included options in the code to select intervals of, 1 second, 10 seconds, 1 minute and 10 minutes. I ended up staying with every 1 minute because I wanted to catch as many events over a long period of time as I could. 10 minutes would give me a longer running time, but I liked the idea of it updating every minute to catch even strange or random events.
For the enclosure I decided on a clear acrylic project box instead of building one out of wood, even though I was going to put it in a wooden box eventually to let it run. The acrylic box protected the sensors from being bumped or knocked around during transport, and I could easily take it with me when I went hiking or out adventuring somewhere. It reminds me of an 80’s phones that you could see inside of.
I ran a couple tests to make sure the microSD card was saving correctly; I used an append method instead of creating a new file because it is simple to sort data in Excel by time and date. Once I verified that the data was saving correctly and the measurements matched what I expected to see, I took it out of the controlled environment to gather data. First, was a drive around town; I put it in front of the AC for a low temperature and left it in the sun where the temperature quickly jumped up to 115 degrees to get a good range of temperatures, humidity, and pascals. The single outing data collecting worked great and then I left it outside for 4 days; with almost 35k measurements and a full battery later, it has been a total success.
I ultimately wanted to keep this outside running for months or even years at a time. So, to keep it outside and safe from getting wet, I made a housing that protects it from water, snow, and hail but is open enough to allow the sensors to accurately measure the environment. I put the solar panels on the outside and put it on the patio where it gathers weather data. I can pull out the microSD card at any time and save it to my computer to then manipulate in Excel. Once I download the data, I put it back in and then right back outside to gather more data points.
I give this project 3.5 stars because of the level of difficulty of programming all the sensors and microcontroller to use low power, picking out the correct parts that all work under 3V, reworking the development board for the new voltage regulator and creating a housing that not only protected the weather station but allowed it to measure the environment accurately. I have been very happy with this project and look forward to making one that utilized wireless communication.