Underwater pressure sensor to display the depth

Hi Arduino-fellows,

I am currently thining about a prototype that measures the water pressure (when directly immersed in water). I have come across the water level sensor from DFrobot:
https://www.dfrobot.com/product-1864.html

And I think it fits my needs quite well. However, I just need a range of 0-1m and not the 0-5m of the dfrobot sensor. The accuracy of that sensor is given with 25mm. Eventually, there's something more accurate on the market that fits my needs better but I haven't come across it.

Could you please give me a hint where to search?

Thank you!

A pipe, open in the bottom, having a dry airpreasure sensor in the other end might be possible.

The water pressure can be very accurately calculated from the distance below the surface. Can you measure that?

@PaulRB
The simpler the better. I take my hat off for Your suggestion.

The accuracy of that sensor is given with 25mm

That is the “out of the box” accuracy (0.5%). You can do much better than that by calibrating the sensor yourself, with a water tank and a meter stick.

You might start by studying this general, multipart tutorial. Why Calibrate? | Calibrating Sensors | Adafruit Learning System

Eventually, there’s something more accurate on the market that fits my needs better but I haven’t come across it.

Of course there is, at 5X to 25X the price. Omega Engineering, for example.

For the depth range 0-1 m, atmospheric pressure changes introduce significant measurement errors when using absolute pressure sensors like the DFRobot example. Most people use non-submersible, relative (gage or gauge) sensors to take those changes into account.

jremington:
For the depth range 0-1 m, atmospheric pressure changes introduce significant measurement errors when using absolute pressure sensors like the DFRobot example. Most people use non-submersible, relative (gage or gauge) sensors to take those changes into account.

Thanks to everyone for the valuable input. I haven't yet thought that the atmospheric pressure could play a big role in water but of course, for 0-1m, the pressure induced by the water is roughly 0-100mbar and the atmospheric pressure is subject to daily variations in the range of 0-20 (eventually 30mbar):
https://www.donnerwetter.de/biowetter/luftdruckschwankung.htm
https://www.google.com/imgres?imgurl=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FLalit_Anjum2%2Fpublication%2F272165418%2Ffigure%2Ffig3%2FAS%3A390615922692098%401470141501277%2FDaily-average-temperature-and-atmospheric-pressure-annual-variation.png&imgrefurl=https%3A%2F%2Fwww.researchgate.net%2Ffigure%2FDaily-average-temperature-and-atmospheric-pressure-annual-variation_fig3_272165418&docid=AbUMRscspMFvHM&tbnid=v2XrTyLo5d6SHM%3A&vet=10ahUKEwj6x6eLraDlAhUXA2MBHeH8DCIQMwhEKAIwAg..i&w=604&h=302&itg=1&client=firefox-b-d&bih=750&biw=1536&q=daily%20air%20pressure%20variation&ved=0ahUKEwj6x6eLraDlAhUXA2MBHeH8DCIQMwhEKAIwAg&iact=mrc&uact=8

Therefore, as you say, I need a calibration as well as a pressure sensor to compensate the daily variations.

Thank you!

I have never used this but it looks interesting.

https://milonetech.com/

gbafamily:
I have never used this but it looks interesting.

https://milonetech.com/

Thank you gbafamily. This sensor is also distibuted by adafruit:

It can trace the immersion depth in water quite accurately but in my case, I would like to install the water depth sensor off-shore, where there are also some waves and the enviornment is quite rough. Anyways, It's a very nice product, maybe I can use it.

Railroader:
A pipe, open in the bottom, having a dry airpreasure sensor in the other end might be possible.

This works okay for a short time, but over a period of days, the air in the column will gradually dissolve into the liquid water and the air pressure will drop allowing the water to rise. To use this approach requires make-up air to be pumped into the immersion tube over time.

@gardner
Hmmm. Using a fairly wide tupe, let's say 2 inches in diameter?

@OP
Use a float inside an tube being open in both ends?

Hello guys,

My sensor from dfrobot has arrived today:
https://wiki.dfrobot.com/Throw-in_Type_Liquid_Level_Transmitter_SKU_KIT0139

I am quite happy with the documentation and the quality of it. I've hooked it up onto an Arduino Uno and used a cheap DC-DC boost converter to supply 24V input power:

The offset voltage in ambient conditions (955mbar here today) is around 1.10V (+-0.02V), fully immersed in a garbage bin filled with water up to 30cm, the sensor outputs around 1.20V(+-0.02V).

That is basically ok, I can live with it. However, I would prefer to have less noise. I have thought about following solutions:

  1. Supplying battery voltage rather than the one from the Arduino UNO
  2. Averaging during the measurement and erasing max und min values
  3. I guess there's no way to amplifiy due to the high offset voltage.

Do you have any ideas to increase the sensitivity? I guess, since the fullscale is 500cm and I am at the lower end with 30cm, there's not much to do. The minimum sensivitiy is reported with 2.5cm, which is also roughly the variation I see from the voltage output of the Serial Monitor.

Thank you!

DC-DC converters are noisy. Try adding extra RC filters to the converter output (suggest 100 Ohms/1000 uF), or using 2x or 3x 9V batteries.

Averaging works, suggest 100 fold.

To increase the sensitivity of the ADC, use an external AREF, e.g. 1.5V. Obey the warning on connecting and using external AREF.

gardner:
This works okay for a short time, but over a period of days, the air in the column will gradually dissolve into the liquid water and the air pressure will drop allowing the water to rise. To use this approach requires make-up air to be pumped into the immersion tube over time.

NOAA uses what they call a "bubbler" tide gauge - they have a small tube that is lowered into the water - a very small air pump is used to make sure there is no water in the tube, the air pressure is used to determine the water height for the tide. Also used for remote reading of tanks - run the tube to a tank and no electronics on the tank.

jremington:
DC-DC converters are noisy. Try adding extra RC filters to the converter output (suggest 100 Ohms/1000 uF), or using 2x or 3x 9V batteries.

Averaging works, suggest 100 fold.

To increase the sensitivity of the ADC, use an external AREF, e.g. 1.5V. Obey the warning on connecting and using external AREF.

Thank you a lot for that help. I'll give it a try using the RC circuit you suggested:

Basically, it is a low pass filter?

power supply filtering

jremington:
power supply filtering

Thank you remington for your help! Very interesting topic and I gained some knowledge :).