Motion activated lighting with solar charged battery power - Pete Soper
This project is aimed at three goals:
- Providing an inside lighting system for the Scrap Exchange Little Library to provide short intervals of light during nightime hours. The lights will be switched on by the library doors being opened, someone approaching the library, or some combination of the two.
- Learning about solar energy, maximum power point tracking (MPPT) battery chargers (both off the shelf and eventually a from-scratch, software controlled inverse SEPIC converter), and operation of an MCU-controlled system in a setting with extreme temperature and humidity swings.
After he constructed the library Jeff Crews added strips of LED lights that will be powered by a battery recharged by 7Ah SLA charged with a Silvertel AG103 MPPT charger. The whole thing will be controlled by an Atmega 328P MCU.
Initial charger circuit testing (Silvertel ag103 MPPT charger is small board near corner of yellow meter
First impressions of the Silvertel ag103 charger are good. The PCB is well made, choice of MCU is great (ST STM32 series 32 bit ARM in a nice TSSOP20 package). The whole thing is on a roughly 30x50mm board with two male headers the right length to solder onto a main board. The current plan is to neatly solder to the header pins while confirming this charger is going to get the job done and then move it to a permanent home on a PCB that has the rest of the circuitry.
The initial target panel was going to be a Coleman unit rated at 2 1/2 watts, but this was judged inadequate. While determining this and shopping for a target panel three low voltage panels at hand were combined in series and mounted on the roof above my shop for testing.
The system controller described later will be a carrier for the charger "daughter board", with the charger on the "back side" and the rest of the components on the front side of the board.
Thermal image of charger board passing a couple watts to battery while it drives an eight watt load" about 20F rise over ambient temperature
During later testing the load being driven by the charger board was increased to the target 13 watt level (the power that will be used by the LEDs at full brightness). A terrible "burned resistor smell" resulted. Then at even much lower power the load switch MOSFET was overheating terribly, such as here while driving a load of around an ampere:
The voltage drop across the MOSFET was terrible: five volts, which translates to five watts being dissipated by the chip, which is a few times it's absolute limit. Replacing the (4407A) MOSFET with an equivalent (IRF9410) didn't change the behavior: something is causing it to be parked in its linear region instead of switching on fully.
After a very brief urge to smash this board on a brick with a hammer I realized it's a non-issue. The battery can be used directly with the second PWM-driven MOSFET required anyway for brightness control. The only advantage would have been the charger disconnecting the LEDs if the battery voltage got too low. Except I have to implement that anyway because the cutout voltage is way, way too low. It's 10.5 for the Silvertel charger, but I insist on disconnecting the battery at a much higher voltage when the battery still has substantial capacity left. This is a conscious policy because batter life will be severely shortened by the battery being chronically discharged deeeply.
Still, if I wasn't intending to make a from-scratch DC-DC converter for the next version of this project I'd be pretty cautious about buying another AG103 without understanding what part of the circuit failed and whether it's a design problem or if (hopefully) I accidentally broke it. This board specifically provides overload protection, so it's hard to see how I inadvertently hurt it.
Breadboard charger testing
Here's the charger being driven by three little five volt panels in series (nearing sunset, but sun long since behind tall trees). From left to right is the Maynuo electronic load asking for a whopping 25mA, the red meter showing volts out of the panels, little yellow showing mA out of panels, propped up red showing battery voltage, and rightmost yellow meter showing amps in/out of the battery. Tomorrow about 11am when the sun gets fully over the trees there should be more action.
Test solar panels
Three 5V, 2 watt panels in series. The AG13 "MPPT" charger settles to a load on these panels with around 15 volts output in full sun as shown by the graph below. (Power drops and comes back late in the day as the sun is blocked by tree limbs). Note that the angle of these panel was made much closer to flat after this shot was taken. The calculator I've been using (an Android app called
There is something very puzzling about this graph. One would think that panel output would show a peak as the sun came up and over to be perpendicular to the panel and then fall as the panel was hit more obliquely later in the day. Why it's nearly flat, and even more puzzling, why there is a steady downward slope is a question I'd like to ask the AG103 designer. This and other collected data suggest the charger does not frequently update it's setting for maximum power from the panel.
Rigol voltage/current measurement
Here's a Rigol DMM measuring voltage and current every 60 seconds and putting measurements on the LAN for a simple python program can pick it up and log. This is after sunset and the charger board is drawing just a few mA out of the battery. The idle current is only 3-5mA in this case, beating the datasheet spec by a factor of two. But later samples showed long periods of idle current around eight milliamperes. What could the MCU be doing for an average current draw of eight mA?? But this high idle current makes it obvious the entire MPPT board has to be powered up and down by my controller to avoid sucking a good fraction of an amp hour overnight.
It should be noted here that unlike the charger (that uses DC-DC conversion with about 85% efficiency for getting it's power), the MCU and PIR (and any status LEDs, measurement resistor dividers, etc) need power at much lower voltage than the LED lights. A simple linear regulator to provide five volts for the MCU et al translates to a "seven volt dummy load". That is, if the PIR and MCU were to consume 10 mA while active then 70mW will be converted into heat by the regulator. An alternative supply circuit that is 85-95% efficient at low current levels is available if necessary. I'm torn between going with a simple linear supply while convinced the average current can be extremely low by virtue of the MCU being suspended most of the time anyway vs using a switcher or providing for the power supply choice to be delayed by making it a second daughter board.
And this raises another basic issue, which is the integrity of electrical connections in this system. The first application involves a relatively unprotected environment that may suffer extreme heating/cooling cycles and condensing humidity. After meditating (fretting) about this for some time I've decided to design in screw type terminal blocks for the board but leave these off and solder permanent connections to the board for the library. The alternative to keep the connections from corroding over time would be an air tight box which probably can't be tolerated because of temperature rise.
AG103 MPPT charger and target panel performance (the ACID TEST)
The photo above shows the target 10 watt panel on a roof top. For the Little Library it will most likely be mounted on a tamper-resistant bracket that fixes the azimuth but allows for adjustment of elevation a few times per year. What follows is the "acid test" of the AG103 MPPT functionality with this panel.
During a cloudless day a test of this panel was done with four conditions sequentially:
- "Condition 1" - 10w panel feeding the AG103 MPPT charger which in turn was feeding a 7Ah SLA that had had three amp hours taken out of it. That is, this battery was in need of a full bulk charge cycle. Also, a Mayhuo M9711 electronic load was also drawing a constant 2/10 amperes from the battery.
- "Condition 2" - 10w panel feeding a Maynuo M9711 Electronic load set to draw a constant 5.9 watts. No battery or other load attached.
- "Condition 3" - 10w panel feeding the AG103 MPPT charger which in turn fed the battery, initially with no load, but then with the same .2A load. No panel output difference was noted with the load vs no-load condidtions here.
- "Condition 4" - 10w panel feeding the Maynuo M9711 set to draw a constant five watts. The panel would put out more than five, but the load was set conservatively as it aborts measurement if the panel output drops to zero even momentarily and this was late in the day.
So the conditions were AG103 with everything arranged to signal to it that it should suck as much power out of the panel as possible, an electronic load pulling panel power, a repeat with the AG103, and a repeat with the electronic load. These were done sequentially on May 2nd, 2017 from 10:49am to 3:45pm EDT at latitude 36.7 degrees (near Raleigh, North Carolina in the USA). The elapsed times were 7801, 1261, 2641, and 1321 seconds respectively, with short gaps to switch equipment connections and settings. The ambient air temperature was around 24C, the roof under the panel was about 74C, and the panel surface was about 50C during the tests.
The red graph lines show the cumulative watt hours produced by the panel. Also graphed with green lines are the watts coming out of the panel and blue lines for the more familiar cumulative ampere hours. Note that the graphs show slightly higher power than the electronic load set points because of about a tenth volt drop in the test leads of the Rigol DM3068 DMM used for measuring current (the drop inside the DMM was about 10-15mV). Also, slight variations in power shown in the graphs with the electronic load are artifacts of the fact that the voltage and current from the panel was varying rapidly and the current and voltage samples were taken a fraction of a second apart, so their product didn't always agree exactly with the actual power being delivered.
This graph starts just before the panel had an unobscured view of the sun as it moved past the trees. This was followed by a big drop in power, a recovery, then a more gradual drop to what became the steady state power output of just under five watts. The raw data shows the panel voltage and current were around 17.2 and .32 respectively, then the panel voltage jumped to 19.9 with a current of .10 amps. Again, the current and voltage measurements are not concurrent (arranging this capability is high on my list!). However the subsequent sag in panel power from 5.2 to 4.8 watts involved 10 samples that don't show the spikes one would expect from badly mismatched measurements (e.g. catching the voltage at one level just as the charger is changing its impedance and causing the panel current to jump just before it too is measured). In any case, the takeaway is that the panel settled down and averaged about 4.7-4.8 watts until the switch to condition 2.
Say what?? With the electronic load the panel would put out over six watts. But the load had to be made conservative or it would turn itself off if the panel output collapsed from any change in panel conditions (there was a breeze that was perhaps dropping the panel temp a degree or two from time to time). So the load was set to draw 5.9 watts and the panel accommodated that with a very much lower voltage and much higher current than given to the AG103 just minutes earlier. This output stayed constant with slight changes in voltage and current for almost 40 minutes. Again, note that the graph shows closer to six watts because of measurement errors caused by test lead voltage drops.
The AG103 was reconnected, with care taken to disconnect/reconnect the battery too so the charger was sure to have been reset. The measurements were resumed about two seconds after reconnecting the panel and got initial samples of 18.9 volts and .113 amps or 2.1 watts. No conclusions should be drawn about the power as, again, there is around 1/2 second between the voltage and current samples. But the next sample 60 seconds later registered about four watts and this stayed close to constant for the roughly 3/4 hour measurement period. This was such a stunningly low power I just had to reverse conditions again.
This time I was torn between setting the electronic load to show (in a gloating fashion) maximum power vs risking the load turning itself off if the panel output collapsed, and it was well into the afternoon at this point. So I set it to a conservative five watts and the panel maintained this for the 22 minutes of the last part of the test. It doesn't take any higher math to note that the manually set load got 25% more power out of the panel than the AG103 got immediately before the last change of conditions. In the spirit of the "four pinocchios" the "Washington Post" awards many recent government pronouncements in this country, I award the Silvertel AG103 quotation marks for it's label. It is henceforth the AG103 "MPPT" Charger. If this turns out to be ambiguous "so called" will come next!
Target solar panel performance additional data
This graph shows the same panel on a sunny day. Output becomes erratic as the sun is blocked intermittently by a tall pine tree. The step changes in power output are disturbing. The 1/2 watt increase in output at the 3/4 hour mark and more than one watt drop at the 3 1/2 hour mark are hard to understand. It's as if the controller's policy is to establish a new maximum power point much less frequently than the actual rate of change as the panel reaches and leaves peak irradience. The algorithm for MPPT doesn't seem to be very good: certainly not as good as the "perturb and observe" strategy described in this Microchip white paper. But again, it's possible the controller's policy is simply not applied frequently enough. Still the idea of ignoring a good fraction of a watt hour because inappropriate conversion settings are held for long periods of time is annoying.
Target Panel and surrounding temperatures
Here are images from a FLIR TG165 showing the temperature of the target solar panel and the roof it is sitting on around the middle of a sunny day (May 3, 2017). The air temperature is about 25C. The two temperatures translate to 51 and 78 centigrade.
DRAFT (UNTESTED!) Schematic of management circuit
DRAFT (INCOMPLETE, UNTESTED) Initial PCB layout
This board is far from complete. The high current paths aren't routed with the proper trace widths, the silk screen labels are a total mess, etc. But the final board is expected to be similar to this after the changes listed below. Just as soon as the charger/battery/panel breadboard setup can be confirmed for basic operation PCBs will be ordered. The initial goal was April 19th, but this is slipping with changes of plans.
Changes in the pipes:
- Power via small DC to DC daughterboard.
- Plain solder pad connections to PCB assuming transition to weather proof connector with PCB enclosure
- MCU (e.g. Arduino Mini) as daughterboard