recommedation for ultrasonic water level sensor?

I have a project to measure and remotely report the level of water in a 1,000L tank. The water level varies in a range of about 700mm and I have a Seeedstudio cheapie "ping" type sensor set up to measure the level inside a 75mm ABS tube that extends down into the tank. This part seems to work fine.
http://www.seeedstudio.com/wiki/index.php?title=Ultra_Sonic_range_measurement_module

The problem is that the sensor has to operate at 100% humidity, with the possibility of condensation on the sensor. I do not believe that the cheap sensor can deal with that. So I expect to have to swap it out with a sensor that can handle humidity better. I'm looking for suggestions about suitable sensors. For the money, this MaxBotix jobber looks like a good bet:
http://www.robotshop.com/maxbotix-lv-maxsonar-wr1-ultrasonic-range-finder-1.html

Anyone have any direct experience with these? Any better suggestions for low-cost options?

Has anyone tried to water/weather-proof a Parallax Ping or other sensor similar to the Seeedstudio one?
What kind of seal or membrane on the front would be likely to work?

http://www.newark.com/freescale-semiconductor/mp3v5010dp/ic-pressure-sensor-0-to-10kpa-1351/dp/14R8944

This has a range of 0 to 1.45 PSI or 0 to 1019mm of water. Connect a tube to the port and anchor it to the bottom of the tank and it will have a 0 to 5V output based on the water level.

A long with measuring the static 'head pressure' to determine level, strain gauges (load cells) used to measure the weight of the vessel is another way to determine level.

Lefty

Interesting ideas, but at this stage I am married to the ultrasonic distance approach.
Fittings and wiring in place and all.

I have some similar Freescale pressure type sensors. They are designed for dry air, so there would be issues with that.

I am very interested in trying a load cell to monitor the level of propane in a 300 lb cylinder, but that's a project for a different day. I am curious though, if folks have real experience with a permanently installed load cell under a heavy load. Without the ability to zero it out once in a while, does it still provide usable, accurate weight readings month after month, year after year? In weather?

So you're going with your $100 solution instead of my $10 solution? :wink:

For a load cell subjected to the elements I'd worry about UV degradation of the wires/strain gauges and oxidation of the typically aluminum bar they are mounted on (especially due to galvanic corrosion if mounted to steel). Kept protected from moisture/light and not overloaded, though, it should last a long time.

If you want to use only Ultrasonic, you can give a try replacing the existing sensors with water proof sensors. Have a look at this link This product is no longer available.

For a cheap solution, I think I can do something with these:
http://www.sure-electronics.net/download/MB-SM19116_Manual.pdf
http://www.ebay.com/itm/Non-contact-Water-proof-Ultrasonic-Motion-Detector-Security-Sensor-Module-/120980811322?pt=LH_DefaultDomain_0&hash=item1c2b04ae3a

They are cheap at $13, but fussier to source than the $100 unit I mentioned first.

I can mount the board so the sensor peers through a hole and seal it up with RTV silicone.

I am very interested in trying a load cell to monitor the level of propane in a 300 lb cylinder, but that's a project for a different day. I am curious though, if folks have real experience with a permanently installed load cell under a heavy load. Without the ability to zero it out once in a while, does it still provide usable, accurate weight readings month after month, year after year? In weather?

Commercial industrial load cells are very rugged and reliable unless subjected to large mechanical loads well above their maximum level. We used a lot of them in the refinery I worked at and rarely had problems with them. The best method to handle short term calibration factor is to have a 'software tare' factor in your sketch that you have the operator selects after placing a known empty cylinder on the scale. This will give your sketch a 'zero offset' factor you can subtract from the raw A/D measurement. Stability of your measurement over time will be more a factor of your external circuitry used to interface the load cell to the arduino. A load cell is a low level (millivolts) precision sensor and really should be used with an external A/D converter chip that has true differential input pins, internal voltage reference, and programmable gain, the added expense is justified in most cases and there are many such chips to choose from.

Lefty

Chagrin:
For a load cell subjected to the elements

I'm not super worried about how to keep the thing dry and safe.

What I am worried about is extremes of temperature -- -30C .. +35C would be the range it has to deal with, and the fact that it would be installed permanently under an immovable load of 250Kg

When I use a strain-gauge load cell type scale, they always need to be zeroed out before they will give a useful readings. In my application that would not be easy. No one is going to go lift up a 1,000Kg water tank, or a 250Kg LPG tank, even every few days, just to zero out the load-cell.

Furthermore, when the mechanical linkages that transfer the weight of the tank onto the load cell are also subject to expansion and material property (elasticity) changes due to corrosion, temperature changes, fatigue, creep, age hardening and whatnot, the complexity of a permanent installation such as mine is rather high.

For measuring the water level in a 1,000L tank, it's not a winning approach for me. For measuring the fuel level in an LPG tank, it's likely the best I can hope for.

Chagrin:
This has a range of 0 to 1.45 PSI or 0 to 1019mm of water. Connect a tube to the port and anchor it to the bottom of the tank and it will have a 0 to 5V output based on the water level.

I wanted to follow up on this, because it is something I evaluated fairly carefully. The problems are:

If you position the sensor at the bottom and have it reading the pressure of the water, it works great, but the sensor must be one that is able to work with a water medium, day after day, month after month, in continuous service. The cheapie sensors are not suitable for this service. I have an application where I do need to do this, and what I have in mind is to have the sensor read the pressure in a small balloon of dry air that is, in turn, submerged in the medium.

If you have the sensor at the top and have it read the pressure in a dip tube stuffed down into the water, you will have two problems: the air in the tube is not dry, and so it potentially runs up against the capabilities of the sensor, and worse, the air in the dip tube gradually dissolves in the water and effectively escapes over time. So a few weeks down the road the water level appears to have dropped by 100mm. There are workarounds, of course. Like pumping air into the dip tube periodically to make up for lost air and stuff, but the complexity of the solution is greater.

@gardner
Hello this is Scott from MaxBotix Inc.

I noticed that you were looking for recommendations on tank level sensors. We have a great sensor that is proven to work great in the application you have described. You can see our tank test by clicking this link. I would recommend testing MB7360 ultrasonic sensor. This sensor features 1-mm resolution that is temperature, target size, and voltage compensation that ensures you receive the best results. The MB7360 has the same form factor as the LV-MaxSonar-WR1 that you linked earlier.

I am glad to assist you with any other questions you may have. If you have any, please email me at scott@maxbotix.com. Good luck on your project.

Best regards,

Scott Wielenberg
Technical Support & Sales
of MaxBotix Inc.
Phone: (218) 454-0766
Fax: (218) 454-0768
Email: scott@maxbotix.com
Web: www.maxbotix.com
Follow us on Facebook at: Redirecting...

@gardner,

The air pressure sensor seems like the best solution to me. All you have to do is put a small water-proof bag at the end of an air tube and fasten the bag flat to the bottom of the tank. The water pressure will compress the air in the bag and pressurize the tube to the same pressure as the water. The air in the tube stays dry. The inside of the pressure sensor stays dry. Mount the pressure sensor outside the tank and it stays dry, too.

Tom

The simplest depth sensor is using a tube sealed on one end, you connect an air pressure source ( hand pump etc... ) to the tube. Put air into the tube so that it just starts to bubble out the bottom of the tube, the air pressure required to displace this water will be the same pressure exerted by the height of water column displaced... Convert to height, calculate volume, the Freescale mpx10pd would measure approx 5ft of water depth.

Sorry it's not ultrasonic but this style of depth measurement is very common in industry!

Another method you can think of measuring the water level is capacitive sensor method. Capacitance will increase proportional to the water level. You can use capsense library from arduino play ground for the same.