I have a boat with what's politely called a "blackwater tank", and as you can imagine, it's important to know when it's getting full, so you can get a pumpout before it's TOO full. The level sensor that's in the tank works well, except that it doesn't indicate FULL until the tank is really full - like, no more flushing until we get a pumpout! I looked all over for various ways to sense tank levels, and found a very excellent video showing how you can do it by sensing capacitance. (It's based on this Adafruit tutorial: Overview | Adafruit MPR121 12-Key Capacitive Touch Sensor Breakout Tutorial | Adafruit Learning System)
To test it out, I soldered some short wires to three strips of copper tape, which I stuck to the side of a 1/2 gallon bucket. Connected the wires to the MPR121 breakout board, and it worked great! I was interested in the raw numbers coming through from each copper tape sensor, and they clearly showed a significant difference when there was water on the other side of the bucket wall, or not. It would be easy to convert those numbers (or more accurately, the relationship among the numbers from all of the sensors) to tank level.
Today, I tried it on my actual blackwater tank. The tank is a heavy plastic (1/8" maybe?), and unfortunately, it's installed in the boat with a significant angle iron frame aroud the bottom perimeter, and up each corner. I tried it with different lengths of copper tape, different thicknesses (by layering the tape), different positions of everything... but nothing I did gave results that were even close to what I saw with my small test bucket. The numbers were all so close together, there would be no way to make an accurate assessment of the level in the tank.
So, questions about capacitance, and sensing it with an Arduino.
-
Is there a way to "amplify" the field that surrounds the capacitor (in my case, the copper tape)? And would doing so make it penetrate the thicker plastic of my blackwater tank? Since the MPR121 is really intended for use as a touch sensor, maybe it doesn't send as much voltage to its sensor pins as I need to penetrate my tank? Should I try the experiment without this breakout board, and alter the output by varying the size of the resistors I use?
-
How important is it that my wiring (between the copper tape sensors and Arduino) be kept away from metal? If that can't be avoided, is there something I can wrap around the wires to insulate them from sensing the metal frame around my tank?
-
Should I use something other than copper tape for my sensors? Something with a little more mass, maybe? If so, what? Heavier gauge copper?
Thanks so much for any help anyone can give.