I know it is already done by many people and many times.But just wanted to know the best way of measuring the water level in a Tank. I am looking for the moderatley cheap & simplest solution available. what is the cheapest sensor available for this purpose?
Can I use a Ultrasonic Transreceiver Transducer ( http://robokits.co.in/shop/index.php?main_page=product_info&products_id=238) like this for this purpose?
Please let me know if there are any cheap sensors are available.
Really cheap is to stick wires in the water and use a voltage divider and an analogue pin. Wire the 'hot' end to a digital pin so you can have it turned off most of the time otherwise it electrolyses the water and dissolves the wire.
I use a Sharp GP2D12 http://robokits.co.in/shop/index.php?main_page=product_info&cPath=11&products_id=37 infra-red distance measurement sensor to measure the empty portion of the tank at the top and calculate how much liquid in the tank remains, it works well. I should note that the sensor is mounted on the lid, so the tank is not exposed to the sun at all when operating.
At first I thought that it might not work with really clear liquids, but as long as the liquid surface reflects, it seems to be ok.
My only comment about using ultrasound would be that the transducers are difficult to environmentally seal, and may not like the (presumably) humid environment above the surface.
Have you thought about load-cells?
Or a pressure switch, which are commonly used in washing machines to determine fill level.
Have you thought about load-cells?
Or a pressure switch
I am trying to measure the level of liquid in a tank made up of concrete. So I think load cells or pressure switch may not be an option. is that correct?.
I am trying to measure the level of liquid in a tank made up of concrete. So I think load cells or pressure switch may not be an option. is that correct?.
Load cells depends on how big the tank is (but they weigh trucks with load cells).
Pressure switch (it works for washing machines, remember) depends on how well sealed the tank is.
Keep the digital pin low in software for most of the time, then every 5 minutes (or whatever) take it high, take the analogue reading and switch it back low. The 1 k resistor is optional, it just protects the arduino digital pin in case of a short circuit. Your mileage may vary using an analogue pin and determining how far up the wires the water is. If you just want a low water warning you could use a digital pin input it will read high when the water is above the wires and low when its below. You could just use 5v instead of a digital pin going into the water, but as I mentioned before the water is electrolysed and the wires tend to dissolve. Keeping the circuit 'off' most of the time saves the wires to a large extent.
Cheap, quick and dirty, won't work if the liquid is a non conductor (eg oil).
Hi Pluggy,
Excellant !. This is what I am looking. Two clarifications:
Your mileage may vary using an analogue pin and determining how far up the wires the water is.
Could you please explain this statement? Did you mean that I will be able read the analog value , how much water will be there in the tank based on the analogRead() value from this pin?
Also, the tank contains Water. So it is conductor (I guess !). Hence should be fine I guess.Correct?
It conducts well enough to detect with a very high impedence input like the arduino and tap/salt/ordinary water. You'd be struggling getting an led to light directly from it and it may be a bit iffy in distilled water
You should be able to determine to some extent the length of wire covered by the water, how successful depends on depends on many factors, the conductivity of the water, type of wire, how far apart the wires are....
If it doesn't work too well for you, you could always use two or more identical circuits with the wires at various levels in the tank. You will definitely get a change when the water drops clear of the wires.
The last post in the thread is interesting - the idea is not to just to supply DC to the active pin, but to pulse it with PWM, and then measure with an analog pin. This reduces electrode degradation.
You'd be struggling getting an led to light directly from it and it may be a bit iffy in distilled water
I am perfectly happy if I can read it with the Arduino's analog pin. I am okay to drive the LEDs with the board . And I am NOT planning to connect an LED directly to the pin which is dipped in water.
but one question: If an LED cannot work when the wire is connected to it, will I able to measure it from Arduino as well?
one more question, water would be the good solution if I plan for going for 'Non contact' based senors to measure the level?
As "Spinlock" suggested, any such cheap sensors are available?
The quip about LEDs was in response to AWOLs bit about water being a non conductor. What I meant was you couldn't just attach an led to the wires in the tank and expect it to light. water isn't a good enough conductor to do that. Its good enough a conductor for a very high impedance device like an arduino input pin or a digital voltmeter to detect changes. Assuming you have a resistor in the 50k - 500k range, have a play with a glass of water, if you have a digital multimeter you needn't even bother writing a sketch. You can see first hand how it will work.
Non contact, the cheapest option is probably an IR Led and a phototransitor bouncing IR light off the surface of the water. Your mileage will definitely vary with that option, again suck it and see.
This discussion is nice so far.. because it have to do with a project i have in mind...
I dont know if it´s the perfect, cheapest or best solution but i was thinking of using some simple circuit like pluggy explained and a stepper in charge to count steps until the wire touchs the water. Knowing how long it´s the motor step so i can calculate the height of water with nice precision.
Was thinking too about some ultrasonic measure but my final task are water wells that have very small hole diameter so im afraid of reflectance in the well walls disturbing the measures.
Stepper solution sounds worthy ?
Sorry if my english is not good, it´s not my native language.
It is pricey ($39) but sounds like it is very accurate:
The eTape Liquid Level Sensor is a solid-state sensor. Output resistance varies depending on the surface height of the fluid. It's primarily designed to be used in non-corrosive water-based liquids and dry fluids (powders). It does away with clunky mechanical floats, and easily interfaces with electronic control systems.
The eTape sensor's envelope is compressed by the hydrostatic pressure of the fluid in which it is immersed. This results in a change in resistance that corresponds to the distance from the top of the sensor to the surface of the fluid. The sensor's resistive output is inversely proportional to the height of the liquid: the lower the liquid level, the higher the output resistance; the higher the liquid level, the lower the output resistance. Due to its internal geometry, the resistance value can change by height level increments of 1/32 inch (0.79 mm).