Anemometer Calibration

Thanks Bob.
The analogue ground to 12vv was the original manufact’s instruction and thought it strange but nothing blow up. I like your logic and this helps as always.
Will report back soon.

The QF-FS01 has a magnet that closes a device on the rotating drum and is registered as a button press, thus one each side of the drum will become two presses recorded.
Pin 15 off the MPC back to GPIO pin location #34 does not do anything more.

Hi Andre
What is a “QF-FS01”. I searched that number and did not come up with anything like an anemometer. It does not sound like the one you linked which makes no mention of any magnetic switch. If the one you are using is not the one you linked why link it.

Can’t see any reference to any #34 on your sketch. What is it? But once again if the drawing is not accurate don’t post it. Wastes everybody’s time.
Cheers Bob
Or did you mean #24. If that is the case let us please get some accuracy here.

It is a type that does not appear on the wiring diagram, nor the product link.
Try QS FS01

Hi Andre
OK you have a QS-FS01. This seems to come in 3 flavours, Analog voltage, 4 - 20mA loop current and pulse. I assume from the previous and the Python sketch you have the Pulse type.

First question. Why did you link a device which is nothing like the one you have. This is a recipe for disaster.
Secondly if it is indeed the pulse type why are you inputting or even using an ADC (MCP3008)
Just to round off, if the anemometer is an analog type that needs an ADC what are all the pulse calculations in the Python sketch doing.

Assuming for now you have the pulse type you already are given the calibration figures in this article.

This comes up as 0.88metres/sec per pulse.

That is how it is stated but does not look right. I think it should be 0.88m per pulse. The " per sec" comes later. The simple way would be to count the number of pulsed in a second, multiply by 0.88 then by 3.6 to give you km per hour. That would be a bit inaccurate as you are multiplying what could be quite a large error. A more accurate way would be to measure the time between pulses and calculate that in terms of metres/sec or kMm/hr.

Just massage that to get something you can use and job done.

Lets get a bit of accuracy here. If the info you have is known to be incorrect DON’T POST IT.
Cheers Bob
Measure the pulse period, that is the time (milliseconds will do) between the leading edge of 2 consecutive pulses.
WindSpeed = (1000/period msec)0.883.6
This will result in kM/hr which is how wind speed is expressed over land.
If over water it is expressed in Knots so another conversion has to be done.
1 Nautical mile = 1852 metres so the conversion would be
Kn = (Windspeed*1000)/1852 or WindSpeed/1.852

Dont understand the first.
The second may also be correct but I dont know.
The article is for an Arduino and i make nothing of that to help me.
Thanks for the dressing down and shattering my any confidence I may have been gaining.
You have done a great job !

Electronics conversations are often more constructive when everything shared is well-tested / accurate. Even if something isn’t working, managing the state / facts of the conversation is important.

Sorry to see this convo reach a point of frustration guys. For what it’s worth, Bob’s help is some of the best you’ll ever see.

Hi Andre

I am sorry, I did not mean to do that. Just the opposite in fact.I wanted to point out the problems that present themselves when inaccurate information is posted, especially if it is known to be wrong. One can use an enormous amount of time researching only to finish up scratching the old head in complete confusion.

I will try to explain. I will do this from memory as I don’t feel like going back in detail.
You first quoted an anemometer type and a link to a Core product. The sketched circuit indicates an ADC which is all in order although I did pick up on Analog Ground being connected to +12V being unusual. All OK so far.
Then your Python sketch seems to be dealing with pulses. That bit did not make sense.
I then researched and found this Anemometer comes in an analog and pulse version.
I thought Andre must have the pulse version but what is the ADC for. I hope you can understand my confusion.

I skimmed through that article I linked above and found that for the pulse version it basically says the air will move 0.88m for every pulse.
So if you count the number of pulses in a second and multiply by 0.88 you will have the wind speed in m/sec. There are 3600 sec in 1 hr so if you multiply the m/sec by 3.6 you will get wind speed in km/hr

The second bit points out that you are multiplying any error in the count so a more accurate way might be to measure the pulse period which is the time between the rising edge of 2 consecutive pulses and calculate from there
If this measurement is in mSec the number of pulses in 1 second will be 1000 divided by the period (mSec) then it is as above. Multiply this by 0.88 to get m/sec then by 3.6 to get km/hr.
I just noted I made a typo above and indicated multiply by 0.8836 which of course is incorrect.

The last bit might not concern you but I put it in for interest. The wind speed is expressed in km/hr over land but over water it is expressed in Knots. This conversion is simply km/hr divided by 1.852.

That is correct but the calibration and calculations are the same. You just have to do it with Python or whatever your RPi uses.

I hope this goes some way toward explaining how incorrect or inaccurate information can be very time wasting and confusing and explain more fully the method of obtaining the wind speed.

Of course if you have the analog version of this anemometer all this is out the window and we start again. You still have not said exactly which version you have. So you see how all this guess work can be very frustrating and time wasting. It would help if you could clear this little item up. If you actually have the linked one from Core it looks like the analog one (0.4 to 2V) and your Python sketch using pulses is not applicable.
Cheers Bob


Here is the wiki. I think you’ll get the wind speed related info here: APRS Weather Station Sensor Kit for Arduino - DFRobot

Hi Grammo
Thanks for the thumbs up. I try to be as helpful as I can
I am basically an old (and I mean OLD) analog person with probably enough digital experience to be dangerous. This has proven to be OK as long as I am aware of my own limitations.
Over the years it has shown that analog and digital can and do co-exist and the basics and techniques DO overlap considerably and one can complement the other. So to date this outlook has served me fine.

During my working life I was mostly involved with Military and other high reliability situations where there were few or no grey areas or ambiguous scenarios and an item either met specifications or didn’t. Occasionally a spec might be relaxed a bit but boy you need a damn good reason for requesting such an action.

I am afraid that sort of thing is hard to get rid of. I agree that some of my comments are a bit harsh and upset some people and for this I apologise. I don’t mean to talk down to or put anyone down. To me this is part of the learning curve or welcome to the real world. The comments are meant to AWAKEN not CRUSH so please once again accept my apology if I have offended and bear with me.
Cheers Bob

1 Like

Sounds like we have similar backgrounds, though I am just old, am working on my OLD status!

I’ve always enjoyed your points of view on the forum, thanks for all the good reads and years of advice.