My project includes measuring water flow through a typical utility meter - with rotating dial-pointers.
The low range pointer has a magnet fixed to it, which sweeps past a reed-switch every revolution. The reed switch operates for nearly half of the pointer/magnet rotation, so pulse:period is about 40% regardless of rate.
The pulse rate is highly variable - but never very fast. At minimum flow rate I expect 1 pulse per 30sec, while at maximum flow about 1.7Hz (1 pulse per 600mssec) down to 1 pulse per 30sec at minimum meter flow. There are also long periods of zero flow - and the magnet may be parked so the reed switch is either on or off at zero flow.
There are a few challenges with this input:
- The pulse-rate is highly variable: at highest flows it is a little too fast for regular UI/digital input - although slower speeds are fine Low flows are too slow for both low-speed (1Hz) and high-speed (100Hz) pulse input (I dont get any useful results with either pulse-input range setting.)
- the reed switch exhibits significant contact bounce - both closing and opening
- The magnet-parking at zero flow can cause unusual switch operations.
I just want to count meter pulses into an accumulator as they arrive, but I need to ignore contact bounce and all periods of zero flow.
Question 1: what is likely to be the best input setting for this?
Question 2: Can I use the Input/Filter setting overcome contact bounce? How?
BTW the reed switch works well when connected to a simple electro-magnetic counter.
I would appreciate any assistance.