Solar & Wind Turbine Monitoring System Using the Arduino Micro-controller Board

Text Box: As I got more involved in using the Arduino board I have been astounded on how much development work has gone into the system. What is more amazing is that these valuable resources are open sourced and available for all to use.

I am not a C++ programmer so it has been a modest learning curve for me to get up to speed on how to program the board. My last programming endeavor used Assembly code so those with gray hair can easily understand how unprepared I was for the Arduino environment. 

Now having said that, I found the transition surprisingly easy. As I understood the basic concepts of organizing a program, it was not difficult to quickly grasp the way the Arduino code was organized. The descriptions and help files on the Arduino site were all that was necessary to get the board up and running. Once it was working I spent several days playing with code to see how it worked on the board. After I had a small level of confidence, I started the real effort and learned a great deal more as I moved into the project.

I initially selected the Arduino because I had previously used the  BD MICRO board and was impressed with how well it preformed in an Oil Field monitoring project (both boards us a micro-controller from the same manufacturer). However, the limitation I saw with the BD MICRO board was that I was not a C++ programmer and in the previous project, I had the services of an excellent programmer. Frankly, I was intimidated.

 

The Arduino had many of the advantages of the BD Micro board but used a scaled down instruction set with lots of open source reference information on how to program it. It was at a level I felt I could work with.

 

Specifically, I wanted numerous A to D converters inputs and several digital outputs that could be used as indicators or relay controls. The Arduino was perfect.

 

Using the Arduino A to D converters I could monitor system battery voltage, solar charge current, system current draw, wind turbine input voltage and wind turbine output current. The digital outputs would allow me to turn on or off the grid chargers as required and control the “dump load” for the wind turbine.  I did need some additional electronics for monitoring current and voltage dividers to bring the battery voltage down to the A to D range. Therefore, I purchased the a proto shield to mount these additional components on.   

 

Using the proto board I had a place to mount and connect the voltage dividers that will reduce the battery voltage from 12.7 volts to the 5 volts used with the A to D converters. The second voltage divider will reduce the wind turbine voltage to a 5 volt level and allow it to be measured. The current sensors are from Amplock. These sensors have a proportional output that is reflective of the current flowing in the wire that passes through them. Their only limitation is the that a 1 amp change in current produces only a few millivolts of change in the output. Therefore, it was necessary to add an op-amp amplifier. This too was located on the proto board.

 

The Arduino has a terminal program that is built into the software and makes it very easy to output serial data that can be transmitted to a remote location. I used two Zigbee radios for testing. These were  on hand but any radio with a serial port could have been substituted.

 

I recently acquired some surplus Microwave Data Radios that were retired from a commercial telemetry project in one of the oil fields around Dallas. While I will need to make some modifications to the radios before I can use them, eventually they will be placed into service at the farm (the CSA site) and here at the house to monitor the solar system, the wind turbine, and the weather station.

 

Other examples of radios that could used are Bluetooth or a 900 MHz license free radio. Several types of radios are available on the Web from numerous manufacturers or distributors. These will allow data to be sent from the system location to a remote computer that is nearby (typically 30 to 100 Meters). In my case I needed to send the data about 15 meters to my office computer.

 

Software for the Arduino:

 

In posting the software I feel sure that the “real” programmers who view it will comment on how poorly it is written. On this point I can only acknowledge my clear limitations as a programmer and add that the effort will at least provide a foundation for someone with real expertise to modify or improve it. Others, who have a similar limitation to myself, will at least find a system that works and is able to provide useful performance information on both a solar and a wind system.

 

 

 

 

Basic Arduino Board

Prototype shield that sits on top of the Arduino board

Software listing for the Arduino, a hardware diagram of the interface to the Arduino and a digital metering system to replace the present analogue system are on the bench but not yet documented.  …….

 

Herb & Barbara our interests and family