For an RC submarine project of a friend of mine we'd like to try having the ship controlled by Arduino. We've figured out most thing we want (he wants... I just actually do things). What we still need is:
A very sensitive water pressure sensor. It needs to be absolute, air pressure inside the vessel can vary. We'd like to measure depth with it. Sensitivety:
Not submerged gives ambient pressure, say 1,01325 bar. I might want to callibrate that value when I start Arduino and before the sub is launched.
Submerged only 10cm gives 1,02330 bar
Max deptht would be 2 meters (we loose signal at 2,5 / 3m), which is 1,21429 bar.
Basically, the sensor should spread 0,2 bar over 5V. Any ideas?
The last signal is a level sensor, as in 'are we level'? The boat has two balast tanks, front and rear, and if it is out of balance for some reason, we'd like Arduino to correct it back to level. We might even put the sensor on a servo, as we can tilt it and have the tanks aid in nose-up or nose-down. Since we're only talking a few degrees and it usually happens very slow, we feel a pyzo giro like from an RC heli would not suffice. Again, any idea is welcome?
For tilt, an accelerometer is indicated. Gravity is a great reference for level. Gyros report rotation rate. Due to gyro drift they are poor for reporting orientation over very much time by integrating rotation rates.
Thanks for your input. I meanwhile found the SCA610 sensor to keep things level, and I am trying whether an air pressure sensor like the quadcopter guys use for height estimation can be used for water pressure, too, as long as I keep the module dry.
Thanks, but that one is vented, therefor it also reacts o the subs internal air pressure. Since the air taken from the ballast tanks is compressed into the main hull, the internal hull pressure is not a constant to work with.