Hi Jeff, I think you’ve taken on a difficult challenge with estimating what is exactly ‘0’ at 4mA, and you would want to look at what is a theoritical low flow and can your ADC even detect that.
Just wondering what the history is with having a 4-20mA flow detector in this location.
Just to compare it against something I’ve done, for monitoring and leak detection I’ve used a water meter with a gallon clicker – Jerman.com DLJSJ75C.
So every time a gallon passes it closes/releases a relay. Then I have an Arduino SAM3X that measures the clicks. I could publish the code on that if you are interested.
It sends the results to thingspeak – I can then read the data from thingspeak and create a graph. I attach a graph – the blue is the water used on the house water meter, and the black line is the garden water meter.
For leak detection – this is guaranteed to show every gallon and the way I do it is to count over 15minutes.
The actual reed relay closes/opens on 0.1G passing and stays open for the next 0.9G – so technically it would be possible to detect a continuous leak down to 0.1G over some period.
The basic issue with looking for leaks at 4ma/ is that the trace ability of the measurements is challenging.
On the 4-20mA side its how accurate is the 4mA to indicate low flow, and how you integrate it, and on your Uno side how accurate is the Vref and how much accuracy can you get from the ADC digitization.
I personally stay away from anything that hasn’t got at least 12bits on the ADC and a good ADC ref. The Mayfly has a good analog monitoring – see its specs. Then you need to understand your analog flow meters and come up with a definition of what is the leak flow rate that you want to catch.
So the 4-20mA is useful for communicating over wires over a long distance, and for interfacing to specific types of monitoring equipment.
Sorry to not be more helpful on 4-20mA, but hope the reasoning is visible.