MetOne Wind Sensors – Part 3

In my previous blog post, I was testing the wind vane potentiometer replacement and was getting some weird results.  I was getting errors like NO SPI DEVICE FOUND, weak magnetic field, and generally not being reliable.   Part of the problem was a solder bridge between pins 2 and 3 on the MLX90316 PCB (J1) header and it so happens that pin 2 goes to ground when the reed switch closes which messes up (technical term 🙂 ) the SS (slave select) signal from the MCU.  No wonder I was getting NO SPI DEVICE!  Also, after shortening the shaft length of the windvane, I can now adjust the distance from the magnet to MLX angle sensor so more complaints about weak magnetic field.   Now, on to the anemometer testing.  I am currently trying to use a hardware debounce circuit (shown) and it WAS working and counting the pulses from the reed switch pretty consistently. 

Works well, but 100uS time constant.

But it’s weird that a shorter RC time constant debounce circuit works better than a longer one.  The RC time constant that seems to work better is 100 uS; if I change the capacitor to, say, a 100nF (1ms time contstant), then I get more contact bounce interrupts…weird Not what I would expect. I was using a NO (Normally Open) pushbutton switch, not a reed switch so maybe that’s the issue. So, I found a small reed switch and tested with that. The switch is about the same size as the one in the 034B anemometer, I think, so the bounce time should be about the same. Below is a pic from my scope the switch bounce. After numerous activations of the switch using a small magnet I found the maximum bounce time to be no more than 300 uSec (microseconds). I am sorta puzzled why a time constant of 100 uSec works better than, say, 300 uSec. Most of the time the bounce time was like 100 uSec, but occasionally it would be much more but I never saw anything over 300 uSec.  So now I’m experimenting with software debounce, an example of which I found on Particle.IO forum that appears to work really well.  Better than a hardware debounce scheme, but I might try using both methods.

Leave a Reply

Your email address will not be published. Required fields are marked *