The power meter was born when David Brenner thought it would be interesting to see the power output of the turbine without having to visit it on a daily basis. Remote power meters and telemetry equipment using microwave backhaul have been used for some time in the utility sector, but are not very common in the private space. The issue is that there isn’t an inexpensive way to remotely monitor the power output of small alternative energy solar or wind setups. There is power output logging software for large inverters used with large wind turbine and solar installations, but the price of the equipment is expensive and not suitable for small scale wind and solar installations. A graph of the output from the power meter is shown below.
The project utilizes the Arduino micro-controller which is extremely easy to use and popular for all types of electronic projects. The Arduino can run off 12v DC which is what the turbine and batteries are already configured for. The Arduino also has libraries for Ethernet connectivity which makes it easy to hook up to the Wi-Fi repeater network equipment. The power meter works by reading the amount of current flowing into the batteries from the turbine on a continuous basis. This is achieved using a Hall-Effect current sensor that can read up to 30A, which is much more than what the turbine is capable of. The current sensor outputs a voltage depending on the amount of current flowing through the sensor. An issue that we ran into was the limited accuracy of the Arduino’s ADC input. This meant that we needed to amplify the output of the Hall-Effect current sensor before it could be fed into the Arudino. We used a basic operational amplifier to achieve the voltage amplification and signal conditioning, but this limited us to reading up to 4A before the Arudino’s ADC reaches cutoff. The Arudino averages 100 current values and then sends the average current value every second to a remote server. The server then uses a scaling factor to determine the power output since the Arudino just sends an arbitrary value between 0-1023. Once the value from the Arudino is scaled into a power value it is then stored into a database. Some scripts running on the server use the values in the database to draw graphs of the power output making it easy to see the historical power data. This data can be used to alert us if the turbine is not performing properly. A schematic of the power meter circuit is shown below.
The code used for this project is available for download at the links below. As a warning, it is not very polished, but it does work. There are two perl scripts running on a remote server. One listens for raw incoming instantaneous current values from the Arduino. The other is run in a cron job every hour to produce graphs of the output.
windturbine.pde - the code for the Arduino
wind_turbine_server.pl - perl script for the server
wind_turbine_graph.pl - perl script to generate graphs using gnuplot