Charlie wrote:ENE=891, E=1000, ESE=688. Distinguishing between these is a LOT harder, especially if you need a range that also goes to 120,000
Hi Charlie,
The closest difference is about 12%, most resistors now are better than +/- 5% tolerance and +/- 1% are readily available if needed. The difference is about 0.1% of the full-scale value so it is going to need at least a 10 bit timer/counter. All micros have at least an 8-bit counter, often with an optional pre-scaler and some (as I suspect here) support 16-bits (65k or about 0.0015% resolution) or more.
The A/D converter needs to achieve this resolution anyway for the temperature sensing. The resolution is 0.1 degree C and the range over 100 degrees (-40 to +65), so better than 0.1%. But thermistors normally have a logarithmic resistance characteristic, so better than 0.01% resolution may well be needed.
When I was testing my magnetic modification to "equalise" the 16 wind direction sectors, I did notice that one sensor occasionally confused NW for W. That's the highest resistance, so I suspect that there was some current leakage or maybe the additional capacitance of my long extension cable was upsetting the timing. Otherwise the 16 directions on several units which I've tested have been decoded perfectly.
Cheers, Alan.