# Water level sensor

Hi!

I want to make a water level sensor (not just on/off but 1 or 3 or 5 inches and everything in between). Well the simplest method would be to use several switches on different depths or just exchange the switches with "loose" wires in the water and add voltage to the water. But I thought of something different. Since I have no idea if this works or how it is called, I had no luck googling it. Imagine a pcb with very fine horizontal copper traces. Every trace is connected to the upper trace on one end, and to the lower on the other end. So it is like an "S". So I would put this pcb in water, and add voltage to the top. At the bottom of the pcb, I would add a wire going to an analog input. I imagine the electricity "flows" down the traces, and as soon as it reaches the water level, it would take the shortest way to the bottom, which is obviously the water. So I would imagine that the lower the water, the higher the resistance and the lower the voltage at the analog input. I think this effect will be very weak and I have no idea how to design the complete circuit.

Can you help me? Any ideas and links are appreciated.

Thanks!

Hey thanks! Since this sensor is too short, I will need to etch one myself. Please help me understand the circuit (http://www.elechouse.com/elechouse/images/product/water%20level%20sensor/SCH_WA_SEN.pdf).

We add voltage (in this case 5V) to half of the stripes through a 100 ohms resistor. We put the "output" of the other half of the stripes into a transistor to amplify the signal. The output of the transistor is measured by an analog pin. To discharge this pin it is connected to ground through another 100 ohms resistor.

Is this correct?

This would work for a little while and then the copper will corrode. Take some intro chem class (I never did). I would use a sonic ranger to measure water level. Works nicely on a project I am doing.

I never did it myself but my first thought would be to put a force sensitive resistor in a small air pocket and measure the resistance. As you go down, the pressure will be higher and the resistor would (I assume) register this. Again, never tried it myself. General water pressure is add 1 extra atmosphere every 10 meters (starting at 1 at the surface).

Yes, there are sensors that use piezoelectric film to sensor pressure and estimate water level. Same sensor can be found in barometers. This way does not account for water flowing, which might affect pressure. I looked into some of them but didn't use any.

Use insulated probes, and measure the capacitance between them. You should be able to use the Capsense library.

The difference between the capacitance empty and full will give you a pretty linear indication of depth. Much simpler than pressure or ultrasonics, and it won't corrode because the metal is not in contact with the water.

You need to compensate for temperature. Water permittivity changes very largely from 0 DegC to 100 DegC.

Hi, what sort of container is the water in, if it is fiberglass or plastic then you could use a capacitive system.

It would not be continuous but if you used enough sense points down the outside of the container you could approximate a continuous level meter. Each sensor positioned up the outside of the tank would tell of the presence or lack of water, this way no compensation would be necessary for temp or conductivity. Each sensor would digitally sense, On or Off.

However only if non-conductive tank.

Tom

The water is going to be conductive to some degree, so permissivity doesn't really matter. The wire insulation is the dielectric, and the water just serves as a conductor.

Use a large resistor in the circuit, it should swamp out reasonable changes in water resistance. And don't put the two insulated wires too far apart.

As far as changes in temperature, the original poster hasn't told us what this is for, or what temperature variations there may be.

Or as TomGeorge says, use several discrete capacitive sensors.

polymorph: The water is going to be conductive to some degree, so permissivity doesn't really matter. The wire insulation is the dielectric, and the water just serves as a conductor.

Use a large resistor in the circuit, it should swamp out reasonable changes in water resistance. And don't put the two insulated wires too far apart.

As far as changes in temperature, the original poster hasn't told us what this is for, or what temperature variations there may be.

Or as TomGeorge says, use several discrete capacitive sensors.

Water's conductivity is very low, not a conductor. Not even near regular conductors even you sprinkle with salt. So it might work but sonic rangers are better choices. Expensive ones have temperature compensation for speed of sound. That's what's been used in the field for accurate measurement of water level in flumes.

The original poster said he’s looking for a simple method.

And I’ve done this before. It works fine for the temperatures you might encounter in a climate controlled room. A CMOS 555 timer with a 10M resistor connected as a monostable with the two insulated probes will do it. And I did not say that water was a -good- conductor.

I also figure that it isn’t that important to know exactly where 100% is, it is much more important to know when you are getting near empty. And that isn’t going to change much.

The OP should specify more details of the requirements. There is a good chance both methods will work. The sonic ranger method does need a wide container so a narrow tube will not work.

Well, it is for measuring the water level in my pond outside. It has a very random shape and no flow.

I do see the problem with corrosion, I just thought if someone sells this, it has to work ;)

So far I'm down to two solutions: The ultrasonic and the barometric one. I would love to use the ultrasonic solution, since it would be very easy to calculate the level of the water because the output is a distance. But I don't know how I could seal up the electronics of this sensor good enough in this humid environemt (outside, inches over the water). The barometric solution looks doable to me. I could put the sensor in some sort of zip-bag (I don't know how you guys call them) and seal it with my vacuum device (of course not to suck the air out, but is also "welds" the bag). But then, calculation seems difficult. Maybe I just have to make some measurements and interpolate the values in between.

A capacitive level sensor would work. There is lots of variation if you Google it. Many don't have to be inside the container at all if it's non-metallic container.

Michael

Have a look at http://pscmpf.blogspot.ca/2007/12/sump-pump-monitor.html

Even stainless steel will corrode in water.

Do a search in these forums for "water level delta tide ". You should find a semi-recent post about someone needing to measure change in water levels due to tides in a river delta. They needed to measure 4-5 metres change. But, many of the proposed & discussed solutions would probably work well for a range of 4-5 inches. I think some of the ones involving floats and/or IR sensors may suit your needs. How 'big' (length/width...roughly) is your pond?

Here, I found the thread. http://forum.arduino.cc/index.php?topic=177388.0

I can build a capacitive level sensor with stuff from my junkbox right now. Simple enough to experiment and determine if you need to compensate for temperature and by how much, and simple enough to add a silicone diode as a temp sensor at the bottom of a probe. Simple enough to seal it all up, as it must be insulated from the water, no metal is in contact with water.

Hi!

If you want to measure a water level seriusly it exists professional pressure sensors.
They are very expensive (>100\$).

I bought a sensor and it is very accurate.

Maybe it is overkill for your project.