Anemometer Calibration

Hey there, I am setting up one of these:

Just wondering if you know what the km/h speed per second should be for the anemometer. Im trying to calibrate it and need this info.

Thanks,

Jeroth

Hi Jeroth
Welcome
Not sure exactly what you mean here.

kM per second = kM per hour divided by 3600.
Why should you need to calibrate it. If you purchased this lot as a complete unit the only ā€œcalibrationā€ you might need to do would be in the Arduino set up somewhere. I donā€™t know how this communicates with Arduino as I have not looked at it at all. I think the word ā€œcalibrateā€ may be used incorrectly as you will have nothing to compare with unless you have another anemometer of known accuracy. Maybe you mean you have to do some arithmetic in Arduino to get the readings you want.
cheers Bob

Iā€™m following the raspberry pi tutorial to create a weather station. In the guide, it says to calibrate the anemometer to 2.64 km/h for each rotation per second. Thatā€™s for a different anemometer to the one Iā€™ve bought, so just looking for info on what the speed reading should be for one rotation per second so I can make sure Iā€™m getting accurate readings.

Hi Jeroth
All the documentation in that link you provided seem to refer to Arduino.

You maybe need to get the info for ā€œthe one you boughtā€.

Does not tell anybody exactly what this is so meaningful information could be a bit scarce.
Cheers Bob

Hi Jeroth, welcome back!

I took a look at the wiki page listed on the product page, and it seems the ā€œconverter boardā€ in the unit you purchased handles counting pulses, so the speed output is in mph already, in what seems to be 2 peak windows (1min, 5mins):
image

Youā€™ll just need a flat conversion multiplier of 1.60934

Lemme know if you have any problems :slight_smile:

Hey James, thanks for the reply. I am using this on a raspberry pi, and following a pi guide for the project, and hence am not using the board that came with the anemometer, im connecting the wind speed, direction and rain modules directly to the pi without the board.

Hi @f0rml3ssf0rm (Jeroth)

Here is a lump of code that I found online somewhere lost in the mists of time (and will be using in my weather station soon) that is for a Holman anemometer ā€¦ and from digging about seems similar to other code for these devices.
One thing I found is the Holman does 2 pulses per revolution (turn it by hand and either measure it or listen real close to hear the reed switch :smiley: I need to test the code re this foibleā€¦

The ā€˜magicā€™ is in the calculate_speed module

hw = True
import math
import threading
import time
import logging

if hw:
    import RPi.GPIO as GPIO

logging.basicConfig(filename='log_weather.log', level=logging.ERROR, format='%(asctime)s %(message)s', datefmt='%d/%m/%Y %I:%M:%S %p')

#For Holman:

#1600rev/hr=1mph
#1/rotation per second = 2.25 mph = 1.953 knot
knotRevsPerSecond = 1.95313
counterStartTime = time.time()

class Anemo(threading.Thread):
    def __init__(self, pinAnemometer, anemo_dia = 9.0, time_interval = 5):
        threading.Thread.__init__(self)
        if hw:
            # Set GPIO
            GPIO.setmode(GPIO.BOARD)
            GPIO.setwarnings(False)
            GPIO.setup(pinAnemometer, GPIO.IN, GPIO.PUD_UP)
            GPIO.add_event_detect(pinAnemometer, GPIO.FALLING, callback=self.spin)
        self.countAnemometer = 0
        self.anemo_dia = anemo_dia
        self.interval = time_interval
        self.wind_speed = 0
        
    def calculate_speed(self, r_cm = 9.0, time_sec = 5):
        circ_cm = (2 * math.pi) * r_cm
        rot = self.countAnemometer / 2.0  ###   ;-)  2 clicks per rev ?!?
        dist_km = (circ_cm * rot) / 100000.0 # convert to kilometres
        km_per_sec = dist_km / time_sec
        km_per_hour = km_per_sec * 3600 # convert to distance per hour
        return km_per_hour

    #interrupt callback
    def spin(self,channel):
        self.countAnemometer += 1
    
    def run(self):
        self.readAnemometer()
    
    #Anemometer loop thread
    def readAnemometer(self):
        while True:
            try:
                self.countAnemometer = 0
                self.wind_speed = self.calculate_speed(self.anemo_dia, self.interval)
                logging.debug(str(self.wind_speed) + ' reading Anemometer')
                time.sleep(self.interval)
            except Exception as e:
                logging.critical(str(e)+' error reading Anemometer')
                time.sleep(self.interval)

hope this helps,

cheers
Murray

Thanks for the reply, Murray! Decided im just going to assume its accurate, ive used almost identical code, and there doesnt seem to be any calibration in that code either so il just move forward.

Jeroth

If you have a reading and you just need to compare that reading to the true wind speed then a suitable procedure is to hang it outside a car window as you drive. Remember that car speedometers are not very accurate - GPS would be best. Also do it with no breeze, and with the device held well away from the vehicle. Tthrough the sunroof on a short pole be a good choice.

2 Likes

Hi Jeroth

From the photo I am fairly certain you have the same weather station as mine.

The anemometer is made by the Shenzhen Fine Offset Electronics Co Ltd from Shenzhen City, China.

The manufacturerā€™s spec has a wind speed of 2.4km/h causing the switch to close once per second.

There is Python code to support the anemometer.

1 Like

Note when reporting wind speed there are two observations.

  1. The average wind speed is over a 10 minute period.

  2. The wind gust (which causes damage) is the maximum wind speed over a short few second period. Gusts are typically 40% higher than the average wind speed.

2 Likes

Hi Fractal
f0rml3ssf0rm says

And he still has not said which one he has. Apparently not the one he linked. Unless I am getting totally confused.
Cheers Bob

This is the one I have:

Thanks,

Jeroth

Apart from the rain bucket it looks very similar to the Holman one I have ā€¦ I think they all use the same plastics manufacturer for the wind vane and anemometerā€¦ NB The Holman one uses a set of hall effect sensors in the wind vane not the simple reed switches that appear to be in all others I have seen.

Murray

Thanks for the reply and info!