Table of Contents

About

A propeller anemometer is a very classical device that relies on a DC motor or generator to incrementally generate electricity relative to the speed that the main spindle of the motor spins. The faster the axle spins, the higher the voltage being output by the DC motor. The motor is then connected to a rod with connected spinning cups, meant to provide lift for wind, such that the motor ends up generating more electricity as the wind speed grows.

These devices are really trashy even for the low price and massively overpriced even for Chinese mass-production. With some glue, some plastic pipes and some plastic cups, it is possible to create an even better propeller anemometer than the ones available on the market. Maybe the only element of value here is a good DC motor that conveniently would generate voltage linearly and between a $0$ to $3.3V$ threshold such that no step up or down would be needed. However, such motors are easy to find and can be ripped off older toy cars, under USD1 and without having to pay USD50 for what some glue and a DC motor could realize.

As you might have guessed, these propeller anemometers, for the price that they go at, are also not calibrated, such that if the user wants meaningful values to be pulled that are measured in physics units (such as wind speeds measured in meters per second), a different already-calibrated anemometer is required to calibrate the propeller anemometer.

Code Hints

For the cocktail sensor, we did not yet borrow a pre-calibrated anemometer, such that only "relative" values are obtained off the propeller anemometer. Here is how the propeller anemometer was calibrated in terms of "voltage" in order to measure from the semantic values "no wind" to "loads of wind" (and this is how any propeller anemometer would be calibrated even if an echelon is available anyway, just that the formulas would be different and hopefully linear depending on the DC motor):


\begin{equation*}
K_{max} &=& \frac{4095.0}{5.0} &=& 205
\end{equation*}

int wind = (int) mapValueToRange(analogRead(WIND_PIN_ANALOG), 0, 205, 0, 100);

Note that these wind sensors are misleading in terms of applicability and audience relative to "what they actually measure". These propeller anemometers are most useful on top of boats, cars or even planes but they will not provide any fine-grained measurements, such as for "mild gales" or "breezes" that would end up unobserved by the sensor. Similarly, this propeller sensor is typically hoisted up on a pole in order to surpass neighboring buildings, which also unfortunately defeats the purpose because the measurement will be carried out at the altitude of the pole and not at the spot where the measurement was intended (ie: it is pointless to know, for most common applications, that the wind speed 30 meters above is such-and-such, when the user desired to find out what the wind speed is where they are). For precise measuments, there are infrared wind sensors, that are very expensive but provide accurate readings even at sub-meter-per-second wind speeds.

Again, beware that the former is not necessarily a criticism of the sensor itself, but rather of the perception that people have over such devices. When people ask what the wind speed is, they usually mean right where they stand, not $30m$ up in the sky and they'd definitely not care if the answer would be $10\frac{m}{s}$ because they would be holding onto something to not be pulled away. These are great, if you own a boat, or a tower, or similar - if you want to place one of these on the empire state building, as cheap as it is, this sensor will perform extremely well and at peanuts for a price (no fancy infrared wind sensor needed)!

Index