Pump dry running protection

I’m currently working on new project. It will be dry run swimming pool pump protection system. The system general idea was describe on diagram. My requirement is pump’s motor should go off if no water is flowing through the outlet pump’s pipe. Hope you under stood my requirement.
Now the motor halts only under one condition:

1. Water flows rate is below predefined level.

The idea description:

The pump is supply by 230V through weekly Timer. When the Timer is on the current flows to the “ACS712ELC current flow module” and then by the relay (relay in NC condition) to the pump. The “ACS712ELC current flow module” role is to pass information (Signal 0) to the arduino controller that the program’s procedure should start with 60s delay (Timer is ON -> Signal 0 is High = start program with 60s delay). This 60 s delay is necessary for water suction. Now we have to scenario:

  1. After 60 s when the pump is operating and the water flow is optimal. In this case the Signal 1 from “water flow sensor” have value High. This commends the relay stay still in NC condition (pump is operating).

  2. The water doesn’t flow through the outlet pump’s pipe (at the beginning or after a some period of time). In this case the Signal 1 from “water flow sensor” have value Low. This commends the relay changed condition form ON to the OFF. The new condition switches instantly breaks the relay driver stage latch and the pump will stop. After that the pump can be started once again after the Timer manual switch off/on.

Do you have any idea of how the arduino program should looks like in order to guaranty the above mentioned procedures? Any similar project comes to your mind? I will be great full for any suggestion.

hmm why all that!!
there is a switch you can find it at ebay, more simple!!!
like this one

is 60 seconds short enough? I thought dry running a pump could cause damage faster than that....

This sounds like trivially simple logic... track one time with millis and 2-3 if statements (as written)

Track last time that signal 0 went high (use millis() - oodles of examples are available, as this is one of the most common tasks). If it's still high after 60000 milliseconds, check the sensor and switch the relay.
You also need some provision to reset the relay if you want it to do that automatically - you'll need to decide how to do this; with that circuit, once the Arduino has turned off the power with the relay, it does not know whether the external controller is on or off.

narzan:
hmm why all that!!
there is a switch you can find it at ebay, more simple!!!
like this one

You are absolutely right saying that my concept is just a little complicated, especially if available commercial solution will be taken in consideration. I’m familiar with this solution and frankly saying I couldn’t find any which meets my expectation. The main problem is that one of them controls the water pressure or the water presents in pips. The first is not suitable for my installation because of the very low water pressure and the second one (this from yours link) prevents pumps dry running by water absents detection in pipe. And that is not enough for my. There is high risk that in pipes will remain water even when the pump will have problem with suction. And the last I’m going to build more complex system in the future. The dry running protection system is the first step the second one water tem. measurement, pH, motor pump tem. monitoring …..

DrAzzy:
is 60 seconds short enough? I thought dry running a pump could cause damage faster than that....

This sounds like trivially simple logic... track one time with millis and 2-3 if statements (as written)

Track last time that signal 0 went high (use millis() - oodles of examples are available, as this is one of the most common tasks). If it's still high after 60000 milliseconds, check the sensor and switch the relay.
You also need some provision to reset the relay if you want it to do that automatically - you'll need to decide how to do this; with that circuit, once the Arduino has turned off the power with the relay, it does not know whether the external controller is on or off.

Yes, you are absolutely right I should thing about system reset. My first idea was to install on the relay signal wire simply push button with the NC state. The Signal 2 will be block by pressing the button what will permit the relay to come back to NC state. Thank you for your valuable comments.

step the second one water tem. measurement, pH

If you need codes or API for your water system or water measuring you can find in my blog
all codes and API test it for 1 year, everything stable, no error
give it a try it's open source
:wink:

Dry-running protection is one of the most important monitoring functions, as bearings and shaft seal may be damaged if the booster pumps run dry. It is thus always recommends to install dry-running protection on all booster sets.

There are three different methods for detection of water shortage:
a. Pressure switch on suction manifold or float switch/electrode relay in the supply tank: Dry-running protection with pressure/level switch.

b. Measurement of inlet pressure in the suction manifold by means of an analogue pressure transmitter: Dry-running protection with pressure transmitter.

c. Measurement of level in the supply tank by means of an analogue level transmitter: Dry-running protection with level transmitter.

Suq30,

Swimming pool/spa (closed system), not water well....

the term dry run protection is very broad.
what effect of dry run are you trying to prevent ?
motor with a load, such as pump that is submerged, but the pump seals are wet,
no water at all in the pump,
blocked outlet, no flow

in order to make assumptions that the pump is wet, you can put in water sensor in the pipe near the pump. and connect tubing in such as way as the pump cannot run dry without the senosr showing a dry situation.

on other characteristic of a motor is that when there is no load, it will run faster.
you could monitor motor amps

an unloaded motor could overheat,
you could monitor motor temperature

Since it sounds like you know what you are doing, it is not hard to perform these tests and compile the data.