Second Generation

Solar and Wind Battery Charging Regulator

The second generation regulator for the micro renewable energy system on the farm uses an Arduino microcomputer to regulate the charging currents from both the wind turbine and the solar panels. In addition, it provides a digital output, via a USB connector, so that data can be collected on the system performance and it has a series of idiot lights that show the status of the batteries and the wind turbine.


I also disassembled the original regulator that came with the solar panels and re-installed it in the box the controller is mounted in. This eliminated one piece of additional hardware and provided Marie with the meter she liked to use as a measure of battery capacity.


The Arduino measures the battery voltage, the charge rate from the solar panels and the charge rate from the wind turbine. It will switch the dump load on when the batteries are fully charged and indicate either a full battery condition or a low battery condition.



Front panel of the new controller box.



Close up of the indicator lights. The battery full light is set to come on at 13.9 VDC. With the batteries we are using this should be set at 14.1 VDC. It will be increased once the controller has had an opportunity to burn in for a few weeks.

The Arduino, shown on the left side of the picture, is mounted on one side of a piece of plexiglas. The actual terminal strip that connects to the indicators, dump load , solar panel, wind turbine and batteries is on the other side of the Plexiglas. This isolates the high current sources from the Arduino. Each connection to the Arduino is labeled and each wire from the interface board is also labeled. The labels correspond to the indicator lights and the inputs for the solar, wind a batteries that are external to the controller box.

Each wire that is connected to the Arduino is also labeled so that they can be identified.


Digital outputs from the Arduino run the indicator lights and 3 of the A/D converters on the motherboard measure battery voltage , solar and wind input voltages.

The shield is a prototype board that has all of the external components mounted to it.  It simply plugs into the preexisting sockets on the Arduino motherboard. When the weather station is added, a second board will be inserted with additional components.


The USB connector has a data output that can be used to collect real-time system information on solar input, wind turbine input and the state of battery charge.

Second Generation System Diagram

The software, as well as a theory of operation, are available as

an open source document. Please contact me for a

copy of either.

Installation comments and one week review:


I installed the new controller and left it to cook for a week. I expected it to work as I had seen it do on the bench but in the real world, many small things you do not notice on the bench move to the front of the line. Therefore, when I returned a week later I was delighted to find that it was working just as designed. The dump load was active and the batteries were settled at 12.8 VDC. Just what you would like to see. The battery full light was on as was the dump load active light. Again, just perfect. I also noted that the wind turbine lights were active and with a gust of wind would go from 5 volts to charging, albeit for only a brief period of time as the wind was not constant. However, it too showed that all of the functions were operational and I was delighted.


I started the pump and measured the current draw. I had done this once

before but it had been some time since I checked it. Here I was able to

observe that the pump drew about 3.6 amps DC. This was in line with

what the manufacturer claimed. The dump load cut off when I started

the pump and the batteries dropped 1/10 of a volt. I hooked up my

laptop with a DC adapter. The combined draw started to take the

batteries down. I left the laptop on until the batteries reached 12.5 volts

and then disconnected. Once I did, the batteries started to charge and I

was able to see that we produced more energy then we consumed.

Even running the pump, we were charging the batteries. Again, great news.


I left the pump running for about an hour and then again measured the

current draw. This time I found that the pump was drawing about

4.1 amps DC. This indicated that either the input or output filter

was starting to clog up. The input was clean but the output filter

into the irrigation system was clearly clogged with sediment. When

I cleaned it out, the pump returned to drawing about 3.6 amps DC.


This lesson showed that in the next software revision, I will need to

have the Arduino check the current draw on the pump so I can alert

the operator to clean the filter.

Herb & Barbara our interests and family