Shop OBEX P1 Docs P2 Docs Learn Events
Ping - How Can I Measure Water Depth — Parallax Forums

Ping - How Can I Measure Water Depth

MooneyguyMooneyguy Posts: 77
edited 2011-05-20 07:46 in Accessories
I am new to this forum. Have completed the What is a Microcontroller? program and can make the Ping measure distance in air. I have a need to measure about 3.5 feet of water depth with in a few inches repeatability. Does any one know how I can do this with the Basic Stamp HomeWork Board rev E or a different board? When the tubes from the Ping touch the water it does the same thing as blocking it with your finger. The Ping frequencies seem to be in the Sonar range.

I would be happy to try to hack a low cost fish finder but for some reason, think that would be a much bigger job than measuring distance in air with the Ping.

Thanks in advance for the support.

-Mark

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2011-03-26 12:44
    The PING is not waterproof or even water resistant, so you can't put it underwater like a fish finder. Even if you could mechanically, water is very different from air and the energy from the transducers wouldn't couple well into the water. Even if you use a hacked fish finder for the transducers, you'd need to redesign the circuitry since the energy levels would be different. Better would be to use a cheap fish finder with some kind of numeric display for the depth and hack that to get the depth measurement into the Stamp. I think there was a thread on this sort of thing a couple of years ago.
  • neurocyberneurocyber Posts: 9
    edited 2011-03-27 04:16
    How much does the water level vary, is the tank top open, what increments are to be monitored ?
  • ElectricAyeElectricAye Posts: 4,561
    edited 2011-03-27 08:10
    Mooneyguy wrote: »
    ....I have a need to measure about 3.5 feet of water depth with in a few inches repeatability.....

    Welcome to the forums,

    Maybe have a look at this:

    http://forums.parallax.com/showthread.php?117483-Measuring-pond-water-depth-from-the-surface
  • MooneyguyMooneyguy Posts: 77
    edited 2011-03-27 23:06
    If the water drops from 40" to 36", I would run a motor.
  • ElectricAyeElectricAye Posts: 4,561
    edited 2011-03-28 03:59
    Mooneyguy wrote: »
    If the water drops from 40" to 36", I would run a motor.

    If that's all you need to do, then why not rig up some sort of float switch?
  • neurocyberneurocyber Posts: 9
    edited 2011-03-28 08:25
    A pvc tube, a magnet on a float stick, 4 sensors, can be assembled to read every 1/2" or 1" as the magnet drops or raises by the sensors. If you calibrate to the width of the tank and quantitiy displaced you can almost figure the gallons lost or gained.
    Also, as ElectricAye said why not just a float switch, trigger (float with micro) or resistance type (like a gas tank sensor) ?
  • MooneyguyMooneyguy Posts: 77
    edited 2011-03-28 09:37
    I have a working solution with a float switch and contact with the bottom all from my float. I am looking for a non-contact method, like sonar. I am measuring the depth from a float in a pond and don't want to contend with rocks, mud, and weeds. I am looking at possibly hacking this unit http://www.amazon.com/Portable-Sonar-Sensor-Finder-Transducer/dp/B004GGHFS4. I hope to be able hook it up to the power they spec in the device but tap in using the parallax microcontroller to monitor the signal line. For example, if the time is less than x then close a switch. Possibly also looking at hacking the display as the gentleman suggested above. I could use some help also with a program too as I am pretty new to this microcontroller world (but am finding it very interesting). It would be really nice if I could monitor the fish finder signal line, press a button when the fish finder is in the right depth of water, and the value is memorized by the microcontroller.When the measurement routine runs, it will check to see if the new signal line measurement is less than the stored value, if it is less than the stored value, then it close a switch to let something run. I have a 1 amp fuse in line but may be too much for the microcontroller, so I may need to close the circuit using a relay. Any relays in mind that might work if needed?

    Let me know if this is too far out in left field. :-)

    Thanks!
  • ercoerco Posts: 20,256
    edited 2011-03-28 10:04
    Non-contact: for a stationary application in calm water, you could mount a Ping (or equivalent weatherproof unit) above the water in a weatherproof housing, looking downwards. The surface of the water would reflect the ultrasonic signal. Your program will have to deal with waves, so you'll average several readings over time.
  • sidecar-racersidecar-racer Posts: 82
    edited 2011-03-28 11:54
    A way commonly used in water quality control (fresh and waste) is what is called a bubbler; Using very low air pressure, feed a smail plastic line to bottom of container. Measure the pressure of the line at the surface, the pressure is directly proportional to depth of liquid above lower end of tube.
    The Parallax product: VTI SCP1000 should work fine, sensor mounting could be a small airtight box, with sensor in sealed plastic bag (read diaphram)
    in box and air hose connected to box.
  • ElectricAyeElectricAye Posts: 4,561
    edited 2011-03-28 13:33
    Mooneyguy wrote: »
    ... I am looking for a non-contact method, like sonar....

    You probably can't get resolution of a few inches with an underwater sonar pinger like that. Pond bottoms are sometimes so mucky that it's not clear where the bottom really exists within an inch or so. Erco's suggestion sounds reasonable, though.
  • MooneyguyMooneyguy Posts: 77
    edited 2011-03-28 15:49
    I have tried using the ping over calm water with only air between the surface of the water and the sensor (in a swiming pool). The ping bounces off of the water and I get nothing from below that I can tell. The bubbler is an interesting idea, but remember that I want to do it from the surface and the bubbler would require a tube going below the surface. Regarding the accuracy in the mud, I am not so interested in absolute accuracy as I am with repeatability. If I can set the depth at one location the silt may likely be similar in other locations near by so the silt would not matter very much.
  • FranklinFranklin Posts: 4,747
    edited 2011-04-03 11:45
    Mooneyguy, you will not be able to measure thedepth of the water with the ping but you can measure the change in height of the top of the water as you found out. If the bottom does not move all you have to know is the height of the ping above the bottom and when the distance from the ping equals the difference between that and 36" your depth is 36"
  • zoopydogsitzoopydogsit Posts: 174
    edited 2011-05-20 07:46
    I've seen rain water tanks measured using a differential proportional pressure sensor with a plastic tube to the bottom of the tank. The deeper the water the more pressure in the tube and higher pressure differential at the sensor.

    Using something like the Motorolla MPX2010 case type 344C with the two plug style connectors will allow yo to directly connect to the sensor with the tube without mucking around trying to build some kind of airtight box (any leak will cause a drop in pressure and lead to a misread of the depth). Have a look at the following data sheet a an example;
    http://www.jaycar.com.au/products_uploaded/MPX2010DP.pdf

    Rather than just doing things from scratch have a look at the following example. The circuit is reasonably simple using an LM324 quad differential op amp. http://www.practicalarduino.com/projects/water-tank-depth-sensor
    http://www.practicalarduino.com/schematics/water-tank-depth-sensor-schematic.pdf

    I was going to do this but bought some absolute pressure sensors on sale rather than differential pressure sensors, so beware of what you buy if you decide to take this route.
Sign In or Register to comment.