Low-Cost Wind Datalogger

Wind speeds are very site-dependant – with topology, ground roughness and other factors affecting the local wind speed. Knowing the wind speed and frequency of the wind speed at a particular location allows us to make a more accurate resource assessment.

An accurate resource assessment is required for ensuring the wind turbines are sited correctly – in locations where they will generate the maximum energy.

This project was to develop a low-cost, low-power wind speed monitoring unit. This has mainly been developed for use in remote rural locations with a specific application to small wind turbines for international development projects.

The problem

When looking at installing a renewable energy generator you need to be confident of the resource (solar, wind, water etc) at your particular location as this affects the energy generated at the site.

With solar PV this can be done by looking at historic data, generally from satellite readings, for the particular latitude. This will yeild pretty accurate resource data.

But the wind resource is incredibly variable and depends upon the exact topology of the area. Houses, tree and valleys can all affect the local wind resource.

For this reason wind speed data is collected at a potential wind turbine installation site. This gives real data which can be used to assess the wind speed.

Knowing the frequency at which wind speeds occur is also very useful. A site might have a high average wind speed, but it could be that there is a very high wind for a short time (which would be difficult for the wind turbine to capture) and the rest of the time the wind speed is too low for the turbine to function. For this reason it is good to know the wind speed against the frequency that the wind speed occurs.

If a developer is installing a number of very expensive large wind turbines then they must be VERY confident about the wind speed data. The data must be robust and reliable and the developer will be willing to spend a lot of money on accurate industrial equipment to have lots of confidence in the data. For a large wind farm the wind speed sensor is generally installed on a wind-up tower with remote data logging equipment to store and send data via GPRS (text) data.

Generally at least 6 months of data is required; if possible a whole year or more to get seasonal variations. This means collecting data for a large wind farm is an expensive business, but necessarily so as there are large sums of money being invested.

In a remote rural location it might be that just a single small wind turbine could provide low but vital levels of electrification. These turbines cost in the region of a few hundred dollars, so a high expense to take wind data readings would not be a sensible investment. Hence wind data is not usually recorded – the cost of recording the data outweighs the cost of the turbine.

This leads to turbine being installed in low wind areas, due to a lack of data logging.

This project intends to overcome this barrier by providing a low-cost, reusable, open-source wind speed recording unit which can be left in a remote location to record data and help improve a sites wind speed assessment.

This project was inspired by a talk given by Aran Eales and Jon Leary both of Wind Empowerment, who had been in Ethiopia looking at the potential of locally manufactured small wind turbines.

Wind Resource Assessment

Here is a list of useful resources relating to wind resource assessment. They mainly focus on large, utility-scale wind turbines and hub heights, but the information is still very important:

All of these units have advantages and disadvantages. The main disadvantage is the relatively high cost and lack of open-source details about the devices. The lower cost Inspeed vortex unit does not give enough detail about the wind speed, as it just records the average (and the peak gusts). This is useful, but a low-cost, open-source unit able to produce wind speed probability curves and potentially record other weather data (such as wind direction) would be most useful.

Wind speed sensors

Cup anemometers

These are typically three small cups which rotate relative to the wind speed.

A cup anemometer.

Their output can either be a switch (typically a ‘reed’ switch and magnet) or a hall-effect sensor (whose output varies as a magnet passes). The cheaper versions are usually reed switch type.

These have moving and rotating parts, so they are more prone to hardware failure, but the electrical output is very simple.

Ultrasonic anemometers

These are ‘solid state’ – meaning they have no moving parts. They work by having a number of ultrasonic emitters and receivers. The wind speed will affect the time taken for the signal to go from the emitter to the receiver. With a number of these ultrasonic pairs the wind direction can also be calculated.

An ultrasonic wind speed sensor.

These are relatively expensive to buy off the shelf, so were not used in this project. In the future maybe a DIY ultrasonic wind sensor can be developed.

Testing the anemometer

As mentioned, the low cost anemometer does not include a calibration coefficient. There has been quite a lot of discussion around this topic including some discussion about the mathematics and physics here. We must have an accurate conversion of pulses to wind speed as the data depends upon this for wind energy assessment.

It seems that the anemometer output depends upon the radius of the cup and also with anemometer factor. Anemometer factor is due to the fact that while one cup is being pushed around, the other two will be slowing it down. In most 3 cup anemometers, this is a value of 2-3.

The wind speed/pulse output can be calculated using the formula:

The cup will move 2 x Pi x r to generate one pulse. So if we get one pulse per second then the wind has moved 2 x Pi x r (converted to m/s). So (with r = 50mm = 0.05m) 1 pulse = 0.314 m/s, but this does not take into account anemometer factor.

There has been a good design by Derek Weston, but that design has been removed – if anyone has info on that design then I would love to see it – please email me.

This will be the next stage of this design – a simple, rugger, low-cost, DIY pulse anemometer. Watch this space.

Wind direction sensors

These are usually called a “wind vane”. These are mechanical units which have a large ‘flap’ which is pushed by the wind so the other end points towards the direction of the wind.

A wind vane.

At present a wind vane is not used in this design, although this will be added soon. Check this space for more details.

Update 29/5/14:

I obtained a couple of wind vanes which are designed to work with the same weather monitoring station as the anemometer. I opened it up and saw that it works on an array of reed switches, giving 8 separate wind directions. Interestingly, these reed switches are used to introduce different resistors to the output line. Hence the output is a varying resistance, which can be measured using just one analogue pin and a potential divider.

The resistances are as follows, with all the resistors accurate to 1%. Using a potential divider of 10k for the lower resistor and an input voltage equal to the reference voltage, we can also calculate the analogue input values for each range (using the potential divider calculation where the output reading will be (10k/(10k+R))*1024):

R1 = 33k => 238

R2 = 8.2k => 562

R3 = 1k => 930

R4 = 2.2k => 839

R5 = 3.9k => 736

R6 = 16k => 394

R7 = 120k => 79

R8 = 64.9k => 137

We can see that these values are quite nicely spread out, with a good range between each one. To measure the wind vane direction we can simple ‘bin’ the data into different directions.

Update 15/8/14:

Wind vane sampling

The sampling of wind direction is an interesting problem.

We are averaging the wind speed data over the sample period (usually 10mins). We do not want to just take a wind direction reading every 10 mins as this might happen during a gust and not give an accurate answer.

So one possible solution (implemented here) is to sample the wind direction every second. The wind vane gives a reading in one of eight possible directions (N,NE,E,SE,S,SW,W,NW). An array of wind directions is created in software. Each second the wind direction is sampled and the appropriate wind direction is incremented.

At the end of the sample period, the array direction with the maximum value is used as the most appropriate direction. This is then stored, along with the other data on the SD card.

This seems to work well, but I am unsure if it is the standard method. Other ways could be to use an average direction.

This uses an unbalanced anemometer and measures the slight variation in the pulse time to measure the direction.

Temperature and Humidity data

In the prototype, I used a temperature and humidity sensor from Embedded Adventures. A write up of using this sensor is available here. While temperature and humidity are very useful parameters to record, this unit is designed to be low-cost and hence this is not required here.

On the wind logger shield I added space for a thermistor (in this case a 47k NTC one). This is a low cost way of adding temperature sensing, but the sensor is just mounted on the PCB so does not give a great indication of the ambient temperature, especially if it is within the enclosure.

Data loggers

This project required a simple, low-cost and low power data logger. There are many options available for this but it was decided to use the DataDuino logger as the basis for this project. The main reason for this was that RE-Innovation developed it and hence have them in stock to play around with.

It is a very low-cost Arduino based data-logger which stores data to an SD card. It also includes a real time clock for time-stamping the data. It is designed to count pulses, read/write digital I/O and read up to 4 analogue sensors. All of this data is stored onto an SD card at a sample rate of 1 to 9999 seconds.

The Arduino environment is full of examples and so the code is fast to develop. The standard DataDuino code is useful when there is a power supply available, but has a relatively high current consumption (around 20mA) so changes were required to the standard DataDuino code.

This project will be based upon the DataDuino PCB, but the design included here will show how to build your own using an Arduino. A bespoke PCB and kit for this project will be developed – please email us if you are interested in ordering one.

Power consumption

This unit is designed for remote locations and so is battery powered. This means we must be very careful about the power consumed. A standard Arduino Uno board is not designed for low power and consumes around 20-30mA continuously. While this does not seem high, lets calculate how long some large D cell batteries will last:

To generate the correct voltage we will require 3 of these cells in series, which gives 3 x 1.5V = 4.5V which will run the microcontoller. The ATMEGA328 will function correctly down to 2.7V DC (there might be some issue with the clock speed when the voltage drops, but the real time clock does the time-critical counting and therefore there should be no problems).

If the current is 30mA then a 17000mAh battery will last for 17000mAh/30mA = 566 hours, or around 23 days. This is not good enough – we do not want to be changing batteries every three weeks…

So we must reduce the current consumption. With the power saving techniques described here the average current consumption of the device has been reduced to 2mA, so a 17000mAh battery will last for 8500 hours, or around 1 year. This is much better. With the 1W solar PV charger add-on, as shown below, the unit will run continuously in nearly every location, as long as the PV module sees 1/2 hour sunshine a day.

Three of these batteries will last around 1 year….

There were some challenges with reducing the power consumption so here are some notes on the measures implemented:

Sleep modes

I have written a bit about sleep modes before and there is a wealth of information on sleep modes for the Arduino. Basically when the microcontroller is not doing anything we allow it to go to ‘sleep’. This switches off any un-wanted peripherals, such as ADCs etc.

The mode used is the ‘SLEEP_MODE_PWR_DOWN’ which switches off everything except the interrupts. The unit will only awake when there is an interrupt from either the anemometer pulse (set on the external interrupt pin D3) or from the real time clock 1Hz signal (on the external interrupt pin D2).

This reduced the power consumption from 20mA when active to <100nA when asleep. Th unit wakes up to write to the SD card and flash the LED and whenever a pulse occurs, hence the average power consumption is in the region of 2mA.

SD library

One issue I had problems with was eventually found to be the SD card library in the Arduino IDE. I was using the standard SD library to write to the SD card. This worked well but it seemed that the device never went back to sleep after the first SD card write had occurred.

It turns out that there is a problem with the standard SD card library which means that the SD card never enters low power mode when the file is closed. This is a known issue. It caused the device to consume 10-13mA constantly.

Power regulators

On the Arduino Uno board there are a number of power regulators – one to convert the input voltage down to the 5V required, one to give 3.3V and power is also required for the USB to serial converter FTDI IC.

The DataDuino does not include a USB-Serial converter IC, which reduces cost, but also reduces power consumption.

There is also no on-board 5V voltage regulator, so we have to be a bit careful not to apply >5V. With 3 x 1.5V ‘D’ cells we can directly power the IC, which removes the voltage regulator and hence reduces the power consumption.

The real time clock is designed for battery use and only takes a very low current during normal operation.

Solar PV power

A small solar PV unit can be used to keep the internal batteries recharged.

The unit itself takes around 3mA while in use. Each day it consumes 3mA x 5V x 24h = 0.36Wh.

A 1W solar PV module would need to be in full sun for 0.36 hours (21.6 minutes) to generate this amount of energy. So even in the deepest Winter in the UK (where we receive about 1 hour of full sun per day in winter), as long as it was receiving some solar irradiance, a 1W solar PV module would generate enough to keep the device running constantly.

This makes a solar PV add-on very sensible for remote locations, but increases the cost of the unit. The bespoke PCB will include a solar charger for a rechargeable battery pack, but this will be added in the future.

It turns out that the CN3083 IC is only really available to folk in China, so adding this to a bespoke circuit might be difficult…

One issue found when building a prototype using this add on board is that you must use the DC/DC converter to step up to 5V. This is an inefficiency and waste when the microcontroller and circuit will easily run directly from the battery voltage (around 3.5-4.2V DC). In order to sort this, I needed to hardwire from the battery positive terminal to the input voltage (wire around the DC/DC converter which maintains 5V). This required a short length of wire to go from a MOSFET pad to the 5V input to the circuit. The DC/DC converter MUST be OFF for this to work correctly – It will probably damage the converter IC if it is switched on.

****image of the hard wire around the DC/DC converter****

In the future the DC/DC converter function is not required, as the battery voltage is being measured as well.

Data storage

Data is stored to a standard SD card. Data is written in human-readable format at a sample rate of once per minute.

The read/write cycles of SD cards are limited to around 100000 times, so wear levelling is used to increase the useful life of the SD card. This means that the larger the SD card the longer the life in this application.

100000 read/write cycles would give 100000 minutes of stored data, which is only around 70 days. Wear-levelling on a 2GB SD card increases this around 10 or more times, increasing the useful life of a 2GB SD card to around 700 days, or 2 years.

This circuit can also be built using a standard Arduino Uno (although power consumption will be higher due to the voltage regulator and the USB-Serial converter IC).The schematic for building this with an Arduino Uno is here:

The wiring schematic for the wind logger using and Arduino Uno.

A (slightly confusing) breadboard wiring diagram using an Arduino Uno is shown here:

The main features are the ATMEGA 328 microcontorller, the PCF8493 Real time clock unit and the SD card holder:

This is the ‘brains’ of the unit. It is an 8-bit micrcontroller with 32KB memory and 1kB EEPROM. It is used along with the Arduino Uno bootloader and the Arduino IDE. This is used in a large number of projects due to its ease of use and large array of open source libraries.

This keeps time on the unit and also gives a very accurate 1Hz clock signal for the micrcontroller. A crystal oscillator provides the reference frequency. For greatest accuracy the crystal oscillator should be trimmed with a variable capacitor so that the frequency is very accurate. This requires a 6-digit frequency counter, which is not available to everyone.

SD card holder

Data is stored onto a standard SD card holder. A 3.3V supply is provided to power the SD card. Potential dividers are used to level shift the 5V output signals from the microcontroller.

This design is simplified by the use of the DataDuino, as it already has nearly everything required on board.

Here are the schematics and breadboard design if you are using the DataDuino (on sale here!… but I would say that.)

The schematic is much simpler with the DataDuino board, as most parts are on the PCB.

Here is the breadboard layout – much simpler!

(Note: The battery shown should be 3 x D cells, so around 4.5V.)

Prototype build

This version of the wind logger has been built from the DataDuino PCB, with some additions. This process is highlighted here:

You do not need the power socket nor the power LED and resistor (this will just drain power from the batteries).

The capacitors have been pushed flat before soldering to keep the profile low. Lower profile capacitors have been ordered for future versions.

The prototype also reads the battery voltage on one of the analog inputs (A1). A potential divider reduces he voltage to the input range of the analogue inputs. This can be used to see when the battery has run down as this may affect the results. This will be added to the bespoke PCB in the future.

The prototype also has a 100k pull up resistor on the anemometer input (D3) and a switch has been added to pin D7. This is used to put the device into calibrate mode, where the various EEPROM and RTC parameters can be set.

This close-up of another protoytpe shows the potential divider required for the battery voltage monitoring. It also shows a thermistor (and associated balance resistor) which was added to the prototype for interest.

Changes to make to the DataDuino

I have now completed a few versions of this wind logger. I have done so many additions and variations that I needed to list them here to remind me (mainly for when I produce a new PCB dedicated as a wind logger).

Update 15/8/14: An add-on Wind Datalogger Shield has been produced which implements these changes. Please see below for details.

Debounce signals

It has been found that reed-switch anemometers do not have any de-bouncing, and this problem gets worse at higher wind speeds.

When the switch is open or closed it sometimes ‘bounces’, which gives some false high frequency pulses. We can try and remove these with two main methods – either with hardware (using an RC filter or putting in some kind of debounce circuit) or in software (where we use a timer and a pulse must be of a certain length to be considered a correct pulse).

A software fix is probably easiest, but this is something to think about.

Wind Logger Shield

Following on from the testing of the prototype, I decided to go ahead and get a PCB made which could be added to the DataDuino base. This was mainly for a friends work in South America, where he is researching the best-practice cases of implementing small wind turbines. He wanted to use some of these loggers as a training workshop and so that they could collect wind speed data in remote locations simply and cheaply.

This was totally based upon the above prototype, but with a PCB for ease of production.

This shield was designed for the battery power supply (rather than the solar PV supply). It would work with both design though.

Hardware

Enclosure

This will be left outside for a number of months. A waterproof >IP65 (Ingress Protection rating) enclosure must be used with space for either 3 x D cell batteries or the Solar Charger shield and LiPo battery.

Anemometer fixings

The anemometer (and wind vane in the future) is designed to fit on top of a tall guyed pole, which is raised at a reasonable (known) height above the ground. There will be very little force on the tower, hence lightweight materials can be used.

It is important that the anemometer and wind vane are kept level, otherwise they will ‘rest’ in a set direction and this will affect the results. To stop this some form of levelling system must be used, the simplest being a bubble level and binoculars used to see when the unit is level.

A laser-cut fixing unit which is easy to attach to a number of different poles is being developed.

The design of this will be available here when completed.

****TO DO: Anemometer fixings*****

Ordering information

We are also developing a DIY kit of parts, including enclosure and PCB, trying to keep the cost as low as possible.

DataDuino instructions

Wind logger shield instructions

Wind logger enclosure build instructions

Data analysis

The data is stored as a new .csv file every day. It is designed to be human readable, with headings written in a human readable format. Data is taken every sample period (set by the user, but 10 mins is the standard) and stored to the SD card.

The standard format for wind data is as 10 minute averages.

Standard macros/conversion programs will be written which take the daily data and process it to return the wind speed over time and as a wind speed characteristic curve.

There are two main ways of displaying wind resource data. One is the wind-speed characteristic which plots the wind speed against the probability of that wind speed.

The other way is alongside wind direction data in the form of a wind rose:

The wind rose shows the average wind speed from a number of different directions. The wind rose can show either the probability of the wind blowing from a certain direction or the amount of energy in the wind from different directions. The first version just needs the wind direction and the time stamp. The second version shows much more about the site for wind energy potential and shows the cumulative wind energy from each direction, which incorporates the wind speed along with wind direction and time stamp.

This is work in progress – updates will be added here as they are completed.

Hi Ramesh,
Yes, the anemometer can be used without the datalogger.
Inside the anemometer is a reed switch and a magnet which activates this as it passes by.
So the output from the anemometer is a series of pulses. Counting these pulses over time is what the data logger does. This gives you the windspeed.

There are only two wires from the anemometer, which are the two switch contacts which connect when the cup spin, once per revolution.
Hope that helps,
Regards,

Matt

Quoting ramesh:can we use the anemometer without the wind data logger ..it it is YES. can u explain me .if u attach the picture it really helpfull to me..

have you already done any drawings with dimensions for the fixing of the anemometer and the wind vane that you can share?

Regards, Sebastian

Hi Sebastian,
Sorry – I have designed an anemometer fixing, but there are a few things I need to improve/fix before releasing it. I’ll ensure it is put up here when I have finished it.
Thanks for the comment and interest in the project,

Your email address will not be published. Required fields are marked *

Comment

Name *

Email *

Website

Re-Innovation

Renewable Energy Innovation specialise in electrical and electronic systems for renewable energy projects, mainly solar, wind and micro-hydro. We focus on renewable energy based stand-alone power supply systems (off-grid systems). This includes power and energy monitoring, battery charge control and wiring systems. Please contact us to talk about your project. If you require consultancy, design and implementation services for your renewable energy project please contact us.

Curious Electric Company

The Curious Electric Company specialise in creating electronic kits that help you monitor and measure the world around you, with clever data loggers and sensors you can take the pulse of your planet, collect and share data and knowledge with the world. Be informed - stay curious!

Bespoke Gear

Our sister business, Bespoke Gear have been building interactive pedal-power systems for over 15 years. Doing events and selling equipment to a wide variety of customers in that time we have learnt what works. We design and build high-quality, robust pedal-powered equipment and bespoke, interesting and interactive displays. If you are trying to promote environmental awareness, energy efficiency, getting people fit or just want something thats a bit different for your event then we might have something for you.