Menu
Cart 0

Updated Wind Sensor

Posted by Matthew Little on

This is a post to highlight all the changes and testing that has gone into the new design Wind Sensor Interface.

I developed this sensor board to monitor different wind speed sensors (anemometers) and wind direction sensors (vanes). The main problem was that the wind speed changes rapidly and so any data-logging system needs to be powered up and recoding relatively high speed data to see the changes. I wanted a simple, low-power solution that could check the speed and vane regularly (a few time a second) and then report back the average values (along with max and min) via a serial connection to a datalogging solution. I highlight my design process in the design pages for this project, here.

I had supplied a few of these to different projects and some improvements were suggested. These included accuracy of the data when at low speed and error checking of serial data.

Low Speed Noise Issue

I set up an anemometer test rig to control the input to the wind sensor interface. This could run the anemometer at very low speed.

I realised that the sensor was picking up 50Hz/100Hz noise on the input due to the very low input impedance. This was giving strange values when there was no input from the wind sensors. I have now added a very simple R-C filter to both inputs to remove any higher frequency noise. This also increases the input impedance and has stopped the noise problem.

Error Checking of Serial Data

The communicated data sent to/from the wind sensor interface to the data-logging device (in my case an Arduino and SD card unit) was slightly prone to noise or errors. As there was no error checking, sometimes the data would either not be processed or there would be errors or missed characters in the data. While this was rare and only happened with long cables, I wanted to ensure this never happens. 

This was all sorted within the firmware for the Wind Sensor Interface. I added the option of having a CRC (cyclic redundancy check) onto the data and also some code to be able to check the CRC of commands. I used Rob Tillaart's CRC library for the Arduino IDE. Details about this are included in the 'readme' of the Wind Sensor Interface project github account here:

https://github.com/curiouselectric/WindSensor

Testing

I set up the wind sensor interface along with a very simple datalogging system using an Arduino, SD card and Real Time Clock, along with some firmware. I already had the basics of this from an old 'Dataduino' project. So I set up code to request 10 min average data from the wind sensor interface and store this data (along with a time stamp) onto an SD card. 

I set this up along with a solar charger system:

 Leaving the unit for a week or so, I then got the data from the SD card. This is in .csv format and can be easily analysed using excel or other spreadsheet programs.

The data looks good - the wind speed drops to zero when there is no wind. This sensor has not been calibrated, so the averages are in pulses per second as an average over 10 mins.

This unit also records the wind direction. This data needs a bit of processing to show a 'wind rose', which is the typical way of displaying wind direction information: 

Note on creating a wind rose: I have done a very basic 'what percentage of the day does the wind vane point in each direction'. This is not suitable for wind assessment. The wind speed also needs to be taken into account. Any data with wind speed of 0 needs to be removed (wind vane is just flopping about!). Also the wind speed can be used to create wind rose for different wind speeds. This is explained in much more detail here and here. My analysis here is just for testing, proving further analysis can be done.

I was interested in processing the wind rose a bit, so I cut out all the data with zero wind speed and re-created the wind rose. It is very similar!

The siting of the wind vane and anemometer is pretty bad! There are buildings and plants al around, so the data will be pretty useless except for proving that the logger unit works. 

I was very pleased to see that not a single data point was lost - data from every 10 min section was available.

New PCBs in Production

I'm happy with this testing, so I have new PCBs being made at the moment (I use JLCPCB). Here is the render for the new PCB. I will update the shop as soon as they arrive and are tested.

 


Share this post



← Older Post


Leave a comment

Please note, comments must be approved before they are published.