Pulse counter for HydraFerret

Enfield Cat's Blog: Arduino and other projects.


A flow counter, clearly showing label for direction of flow

This keeps a tally of pulses on an input pin. The value can be multiplied and added to a constant to derive another unit of measure. The count is incremented on the falling part of the pulse cycle.

A typical application is to measure the flow of water through a meter, an exmple of which is shown on the right. The direction of flow can be important as the blades in the meter may be curved. The number of pulse generated by this type of meter is dependent on the rate of flow through the meter. Therefore if measuring volume rather than rate of flow, there should be no bubbles or air gaps in the flow meter, this may mean mounting the meter in the submerged part of a "u-trap" and guarding against back-flow. The impeller should also be protected against debris such as human hair or sticks in the water.

Connections are normally:


The minimum configuration is to simply add the counter and restart the esp32.

Configuration commands are:

critical|extreme|warning counter <0-7> var disable
critical|extreme|warning counter <0-7> var <rpn-expression>
    enable or disable alerting thresholds on counter

counter <0-7> disable
counter <0-7> <0-39> <unique-name> <unit_of_measure> <offset> <multiplier>
    configure counter <0-7> on pin <0-39> with a unique name/identifier with a
    straight line conversion of <offset> and <multiplier> (default 0.0 and 1.0)

rpn variables:
counter.dev    Count of counters
counter.diff   Difference in count from previous 5 min interval
counter.tota   The total counter sum
counter.mult   The counter multiplier
counter.off    The counter offset

A flow meter seen viewed through the pipe, so as to view the impeller blades.

A flow counter, seen through the pipe showing the impellers

Thank you for visiting camelthorn.cloudHome