Monitoring a commercial irrigation controller (advice appreciated)

I have a medium sized Pear orchard and have a Hunter ACC 24 valve irrigation controller running the water system. Occasionally, the pump water from the irrigation district will shut off and the system shuts down the pump. It has a pressure sensor on the pump and a in-line flow meter that also will shut down for over flow or under flow. If the pump shuts down, the controller will sense low flow and start shifting to the next station, thinking theres a leak in the line on the station with low flow. Also, if the screen on the water box supplying the pump gets clogged, the pump will start cavitating and the flow will also go low, but not enough to shut off the pump. Both things I'd like to know about.

My problem is this system has no phone or internet access, and I'd like to be alerted whenever anything changes. I'd also like a temperature monitor to alert me of low temps. I have a GSM shield on a Uno (also have a Mega if need be) and have a simple SMS text message alert running that will send me texts when the pump shuts off, a low flow exists, or temp drops below a certain value. So far the software side works ok. I'm simulating the inputs for now. The hardware side is where I need help, please.

My two main questions: When the pressure switch on the 240v 10 hp pump output senses low, it trips a relay in the main breaker box that shuts the power off (the Hunter controller doesn't do this). I was thinking I'd intercept the relay output going low as a signal to the arduino? It's a 120v ac signal I think,, so I assume I could have it power another relay that switches a 5v signal to one of the digital input pins? Any idea on the best way to do this?

Second problem is monitoring the 2" flow meter. According to the manual that came with the sensor, it's a 2 wire 20 vdc signal that switches on / off or "clicks" as the water flows passed it. I think it is a paddle wheel type but haven't looked at it closely yet. I need to figure out a way to intercept the on/off pulses and convert it into a signal I can use to determine a low flow rate. It's wired to the ACC Controller through a sensor terminal and common terminal. Any ideas on my best options? Do I want to read across these two terminals (parallel) or in series? If it's a 20v dc signal I need to drop it to 5v, so would a simple voltage divider be enough?

Any help you could give me would be appreciated. There isn't any water at the pump at the moment so I can't run the system yet and determine what the actual output of the flow valve looks like, and I don't trust my electrical skills enough to experiment without blowing up my arduino finding the wrong solution first...


If you already have a signal to control a relay I'd be tempted to use the same signal to control another relay just to signal the Arduino.

It sounds like a voltage divider on the 20v flow counter should provide a suitable signal for the Arduino. It should only take 20 minutes or so to write a short sketch to try it out - maybe get an LED to flash with each pulse. The ideal would be if the meter gave 0v and 5V signals that could be detected with digitalRead() or using interrupts if the meter pulse is very short.


What you have outlined seems reasonable enough to me. But get other comments.

It's a 120v ac signal I think, Might want to gather some more info on that.

would a simple voltage divider I'd be tempted to treat the 20v more like as the source for a linear or switching regulator and get my 5v out of it that way.

The flow valve is switching the 20v on / off a variable number of times per second. I'm wondering if I have to sample the digital input over what period of time to get the number of pulses? It could be only one or two 20v pulses per second all the way to 100's per second (guessing). Do I Just check every minute and sample for 500 ms, counting the high low cycles? I don't want to interrupt the rest of the program for very long.

Also, what sort of switching regulator should I look at? I'm really out of my league when it comes to that sort of thing....

As for the 120v pump relay pressure switch, I'll have to look at the connections. Right now it's 28F outside and the water is shut off until March. I can't turn it on without water but I can see how it's wired.

My bad. I didn't realize your 20v was direct reading being switched that fast. For some reason I was thinking it was a 20v signal that occurred in a low flow condition. A regulator is not what you want. Go voltage divider.

do you have any make or model of the flow sensor ?

you may be able to just monitor the the signal without much interference. if it is a pulse output, you might be able to add an opto-isolator on the lines and protect your controls.

I think this is the flow meter:

If I read this right it says it can send up to 200hz so a simple opto isolated circuit would work? Could someone show me a rough example of that? I appreciate all the help. Thanks!

It also refers to output pulse width of 5 msec. I'm guessing that it interrupts the 20 volt signal for that period of time?

How do I intercept the signal without modifying it? I want the controller to still see it unchanged.

the data sheet says that the voltage should not be over 20 volts.

check the voltage on the signal output. You should be able to take an LED, and a resistor, and wire them with some alligator clips and just tie into the existing wires. Keep the LED power under 7mA and you should see the LED blink.

if the LED blinks rapidly, in a rough approximation of the water flow, AND there is no effect with your existing system, then you verified that you do not need to alter the existing unit, but can just piggy back onto it.

IF the power is too low, or the existing unit stops seeing the signal, then you will have a harder time piggy-backing on the signal.

If the signal is a current loop, then you will have to break the existing wire and add in a circuit. easy enough to do, but determining if the signal is a voltage or current is the next step.

If you have access the the circuit board that this is connected to, you might be able to determine what that board does. if there is an opto connected, you can get a duplicate and tie in. if it is just a resistor, or you cannot tell, then testing is in order.

I read the troubleshooting manual. they said if you are not sure of the output of the senor, to disconnect the sensor, and take a wire and short it across the input terminals. the speed at which you tap the wire should show up as a flow on the reading.

good news. that means you can short the leads and not destroy anything !

found a technical sheet from badger

1) Excitation

i. ION ? 40 mA (current limited) ii. IOFF = 600 µA from 8 to 35 VDC

This means the pulse passes a 40mA signal.

As a test, connect two LED’s in parallel. Tie them together, long leg to long leg, short leg to short leg, then put them in the circuit. Since each will pass 20mA, they should blink at the rate of pluses.

If that works, then substitute an opto AND one LED. The opto for the circuit, the LED to share the load and give a value out.

Then you can count pulses to get a value for your flow.