Winter testing

A project log for Solar MPPT Charger for 24/7 "IOT" devices

An inexpensive charge controller and 2A 5V power supply designed to supply remote power for devices ranging from Arduino to Pi 3 class.

Dan JulioDan Julio 12/22/2018 at 18:490 Comments

I finally overcame inertia, took advantage of some reasonably nice weather and built up two frames so I could do some testing during the winter season.  Testing in summer, at least here in Colorado, is easy.  Weather is fine and there is an abundance of sunlight.  One just has to make sure the solar panel won't blow away in a high wind.  Its orientation is less critical.  Winter, especially where I live in a valley at the base of the Rocky Mountains, is more challenging.  There are only a few hours of sunlight a day and temperatures are often freezing or below.  It's definitely a good test environment for a charger that is to keep a device running 24/7.

I loaded the current firmware on my original outdoor prototype and built a simple wooden frame to hold the panel.  This device has an old 40W panel, Rev 1 charger, an old-ish 9Ah battery and a Raspberry Pi Zero with camera module and USB WiFi dongle as the load.  It's located near the house so it can talk to the local WiFi.  It is logging using the mpptChgD daemon and I can monitor it in real-time using mppt_dashboard.  Once in a while I log into the motion-based webcam server to see the side of my house and down-valley.  Not a particularly exciting image but it does consume an extra 10-15 mA...

The other test platform is a little more ambitious.  It's based on a pair of openwrt-based 8devices Carambola 2 modules with directional antennas in order to operate at a larger distance powered by a 25W panel, a newer, but still used, 9 Ah battery and a Rev 2 charger PCB.  It's the kind of device I envisioned when I started designing the charger.  It sits a ways up the hill above the house and sports a camera, an external temperature sensor and a couple of Auxiliary power channels - one controlling a bright white LED light for the camera and the other a string of 12V Christmas lights for a more useful load test.  Hopefully the rocks you see piled on the base will keep it stable in the sometimes 60 MPH winds we have.  It uses a DF Robot Beetle arduino Leonardo clone to communicate with the charger (and control the loads).  The Beetle uses I2C to talk to the charger and a TTL serial port to communicate with the Carambola 2.  I'm running ser2net on Carambola to remotely access the system.  I want to write a simple data recording program running on a local server to log data from the charger.  The Carambola and Beetle present about a 90 mA continuous load to the battery (less than 200 mA @ 5V).  The Christmas lights are pretty frugal, only adding another 110-120 mA when switched on.  The bright white LEDs are more power hungry at 420 mA.  I'm planning to run the Christmas lights for a few hours ever night during the holiday.

I expect that there will be many days where the panels don't produce.  It will be interesting to see how the systems hold-up.


Here's a typical output from the first system on an overcast day showing a few watts from the panel.  The charger state machine is in Absorption Charge (it hit the Bulk limit earlier in the day when there was full sun for a while) but it doesn't have enough energy to hold the battery at the desired Absorption charge level (temperature compensated at 15.32 volts) so the system is effectively operating as a float charger at this time.  You can the MPPT algorithm at work too.  The Vmpp from the panel is lower with lower light and in this 60 second interval the light increased some and the Vmpp rose to follow (green VM in the top graph - yellow VS is the system holding the solar panel output to match).