In amongst other projects, I've been playing with the copper anemometer. Right now, I have 4 magnets on it, spaced at 90 degrees apart. This has allowed me to reduce the sample period from 5 seconds down to 2.5 seconds. At that period, the unit very closely matches the Davis, usually equal or within 1 mph in the 20 mph range. I'm chalking the difference up to the greater rotational mass of the copper one. And I'm not yet sure if the switch has time to open between magnet passes at higher speeds. In order to maybe mitigate that, I reverse the polarity of adjacent magnets.
I can't really put any more magnets on to reduce the sample period even more. Where it is, with 4 magnets and 2.5 seconds 1 click about equals 1 mph. So I've been thinking about ways to get the sample period down even farther.
Texas Electronics makes an anny with a 20 slot chopper wheel and an optical detector. I could try that, but it really messes with my current design.
However, there is one other way to do this. Right now I'm measuring switch closures per unit time, which is directly proportional to the wind speed. I could, instead, count some sort of clock pulses between switch closures. That would be inversely proportional to the wind speed, but give a way to measure very slow rotations of the cups.
To make this easier to cipher out, I'll use the Davis 1 rev in 2.25 seconds = 1 mph as an example.
If I used a 0.01 second clock pulse, 225 pulses between clicks would equal 1 mph. 450 pulses would equal 0.5 mph, while 112 to 113 pulses between clicks would be 2 mph.
That mode starts to be less useful at higher wind speeds. 22 to 23 pulses would be 10 mph, 4 to 5 pulses wold be 50 mph, so resolution would drop off rapidly.
I could use a higher frequency clock. However, a good compromise might be to use both methods, counting clock pulses between clicks below, say 5 mph, and counting clicks per 2.25 seconds above 5 mph. In reality, I'd program it to run both ways all the time, and use logic to switch which reading is output.