I want to automate refilling the overhead water tank from a tank at the ground floor. (distance between
tanks is about 100ft)
I'll try and explain what/how I was thinking of implementing it. Any help/suggestion/comment is welcome.
What the project does:
Measure water Level in tank at ground floor and overhead tank (Using Ultrasonic sensor).
Switch on/off Motor/pump to pump water from ground floor to overhead tank when level in overhead tank drops below a certain level, provided there is water in tank at ground floor.
Motor/Pump is being switched on using a relay.
How the project works: (Possible Solution?)
Arduino near ground floor tank (where the motor is located as well). Ultrasonic measures level of tank at ground floor. Relay switches on Motor. (Both on the same floor)
Now I need help on how to do this, how can I connect the Ultrasonic at the overhead tank to the Arduino (about 100ft away).
Can I use CAT5 to power the Ultrasonic sensor (requires 5V) and send data back to the Arduino Uno at the Ground floor? I don't have power near the overhead tank. Can Power over Ethernet be used here to transmit power and data? How do I do this?
I read I can use Twisted Pair Cable to transmit power and data, is that true?
The voltage drop across ~100ft is about 0.1V, so the voltage received at the sensor would be 4.9V, is that enough to power the sensor and for it to work correctly?
I would install a second Arduino at the overhead tank. PoE is a possibility, especially if you can have a cat5 cable from the ground tank to the overhead tank. The most compact solution is an Arduino Ethernet with the PoE module installed. On the other side you need a Ethernet module or an Arduino Ethernet too.
The voltage drop with PoE is not relevant as the voltage is much higher (around 48V) and you can draw about 15W (should be more than enough for your purpose).
Have just the sensor on the overhead tank will probably not work, as almost no direct sensor interface is able to link about 30m.
pylon:
I would install a second Arduino at the overhead tank. PoE is a possibility, especially if you can have a cat5 cable from the ground tank to the overhead tank. The most compact solution is an Arduino Ethernet with the PoE module installed. On the other side you need a Ethernet module or an Arduino Ethernet too.
I can install a CAT5 cable from the ground to the overhead tank.
How do I communicate between the two Arduinos with Ethernet shield, send data from one to the other? I dont wanna send data over the internet, I might be wrong here, but is that what you're suggesting? If so, how would that happen?
Also can I power the second Arduino with the Cat5 Cable using a splitter for 12V power supply and ethernet for communication?
Or do I have to introduce a PoE switch to power the second arduino, then again how do I send data from one arduino to the other?
Also is there a better way to do it that you can suggest, coz this was just what I could think of?
@pylon 's suggestion seems good. Sending data over ethernet does not need to involve the internet.
Here are a couple of other perhaps more crazy suggestions;
In the olden days houses had mechanical bell pull systems to call servants. These could be very elaborate and certainly reached over 100ft. So fit a ball valve on the overhead tank, run wire from it to the ground tank and use the wire to mechanically operate a digital or analogue input to the Arduino.
This is the high tech modern version of the above. Attach reed float switches to the overhead tank. Run wires back to inputs on the Arduino (there is another recent post about reading contact closures at a distance).
Okay these solutions don't give you a lot of information about the level in the overhead tank but they meet the stated requirements. They avoid the need for power near the overhead tank and concentrate all the electronic bits near the ground tank which is probably easier to access. Yes you have to run cables but you are going to have to do that anyway.
ardly:
This is the high tech modern version of the above. Attach reed float switches to the overhead tank. Run wires back to inputs on the Arduino (there is another recent post about reading contact closures at a distance).
Okay these solutions don't give you a lot of information about the level in the overhead tank but they meet the stated requirements. They avoid the need for power near the overhead tank and concentrate all the electronic bits near the ground tank which is probably easier to access. Yes you have to run cables but you are going to have to do that anyway.
@ardly: Thanks for the suggestion, but I want to add a solenoid valve at the overhead tank later on and for that I need an Arduino like @pylon suggested.
Still confirming on what you said and I have worked with magnetic reed switches before(though short distance), Can i use a magnetic reed switch type float sensor and put that in the overhead tank and complete the circuit using wires(again ~30m)?
ardly: @pylon 's suggestion seems good. Sending data over ethernet does not need to involve the internet.
Also how do I communicate between arduinos without internet?
espire: @ardly: Thanks for the suggestion, but I want to add a solenoid valve at the overhead tank later on and for that I need an Arduino like @pylon suggested.
Still confirming on what you said and I have worked with magnetic reed switches before(though short distance), Can i use a magnetic reed switch type float sensor and put that in the overhead tank and complete the circuit using wires(again ~30m)?
Also how do I communicate between arduinos without internet?
There was a post by @pert in another thread. It contained this link to an article that gives a detailed explanation of reading contact switches over a long length of wire;
I don't see any reason why you could not connect float switches with a long wire. It would be easy enough to try just buy a switch and wire connect it to a long length of cable, no need to run it to the tank. However if you are planning on having an Arduino near the overhead tank just connect any switches to that. The Arduino can then communicate the switch statuses to the other Arduino near the ground tank.
The internet is a great big interconnection of lots of little networks. You can have your own network of several devices, or just two devices connected point to point, without connecting them to the internet though.
If you use ethernet shields on your two Arduinos then you have a small point to point network and they can communicate using TCP/IP. You will not have a router though so there is no internet connection.
You could also get the Arduinos to communicate using a serial connection. Because of the distance you would need to use RS422 or RS485 devices. Since you are planning on using PoE ethernet would be better than a serial connection.
+1 for the idea of float switches for this system. Easy to install - one for high level, one for low level - and no electronics up there. All you need is a length of wire. If you want you may consider adding 1-2 switches for intermediate levels, but two of them is all you need for the pumps. And one more in the bottom tank of course, to indicate a low level.
Voltage drops are negligible - you come with a number, but the number depends on the wire used, and the current you try to push through. More current and thinner wire mean higher voltage drop. These switches work with a current of no more than 5 mA, often even less. Regular CAT5 should have no issue with this.
The tricky bit is the length of the cable, which means it starts to act as an antenna and pick up all kinds of electrical noise. That's why you have to do some filtering. If you happen to have shielded wires, that'd be a win, but it's not necessary to invest in.