Fill Mate -- Precision Control of Tank Filling--Any Tank Any Fluid

by rabbitcreek in Circuits > Arduino

3214 Views, 30 Favorites, 0 Comments

Fill Mate -- Precision Control of Tank Filling--Any Tank Any Fluid

IMG_8360.jpeg
IMG_8403.jpeg
fillMateTwo

The Exon Valdez oil spill occurred here in Alaska about 30 years ago. Besides the shock of seeing the boat on reruns of Waterworld it doesn't come to mind unless you happen to fill up your diesel tank and accidentally spill a cup or two of fuel that immediately and horribly disperses around your boat! This ease of mishap is caused by the difference in design of boat fuel systems vs the one in your car. Boat fuel systems are not pressurized and are equipped with vents that allow the air (and fuel if overfilled) to disperse into the environment. Filling with autostop fuel systems that usually stop fuel flow before overflow at car gas stations are not as astute when filling boats which don't generate back pressure in time to stop the flow before overfilling. A spill from any boat that produces a sheen on the water no matter how small is supposed to be reported according to federal law. Of course this is an incredibly low bar for surveillance which is hopped over by just about every boat that ever floated with a motor. By trying to only fill to 90% capacity and by "listening" to the obscure noise of the gurgling near the fill point you hopefully avoid a reportable offense. There have been several devices that attempt to help: a whistle installed in the vent line that stops when the fuel hits it (tried it-- doesn't work), and a cupping bottle to install over the vent cap (works sort-of) when the spill occurs and a series of valve like devices to stop the flow. A great summery article of these concerns is here: https://www.boatus.org/findings/40/ they did a beautiful job of mocking-up an experimental setup for testing them but their conclusion was that nothing so far helps.

I designed a new device that provides highly accurate control of any tank filling (land or sea). You set a plastic tube at the desired level and fill until an alert goes off. Battery operated, cheap--$30, portable and being an Intructable easily built. No Responsibility Disclaimer: I know nothing about electricity and volatile fuel systems so don't use this with anything flammable.

Gather Your Materials

levelMinderNewfinalX.jpg
toxicCatchOneSolarxSection.jpg

I built two different designs. The designs are 3D printed and their associated files follow. The solar recharged model has eagle files for mounting all components to one board complete with buzzer. It includes the charger module, Itsy Bitsy and the sensor with associated capacitors and resistors all mounted to the board. The other model is hand built with a separate housing for the sensor attached to #2. The resistors and capacitors that make the sensor work are wired onto this board as is described in: https://www.instructables.com/WetRuler-Measuring-...

1. MS5803-14BA--you can get these from DigiKey for $13

2. 1528-1071-NDSMT ADAP 6 PACK 8SOIC/MSOP/TSSOP DigiKey This is the surface mount board that you must solder the MS5803 to unless you order the board I designed which has these surface mounts built in. $1

3. TP4056--charger $1

4 Uxcell 5Pcs 5V 60mA Poly Mini Solar Cell Panel Module DIY for Phone Light Toys Charger 50mm x 43mm

5. Switch Rugged Metal On/Off Switch with Green LED Ring - 16mm White On/Off $5

6. Adafruit ItsyBitsy 32u4 - 3V 8MHz $9

7. LipoBattery $6

8. Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy $5

9. Gikfun Active Buzzer 3V Magnetic Long Continous Beep Tone Alarm Ringer for Arduino (Pack of 10pcs) $1

10. A couple of 4.59 K u resistors for pull-up on I2C connections

11. 2n222 NPN transistor $0.50 with base resistor 2.16 Ku

12. 0.1up Capacitor for the power supply on 1.

13 Aquarium air-line tubing $5 for a ton of it

3D Print It

toxicCatchOneSolarPic.jpg
levelMinderNew v3.png
levelMinderNewfullView.jpg
sensorXSection.jpg

These are the STL files for the two versions. The first version is solar charged and comes with an inclusive PCB with all the components on it. The switch, buzzer, battery as well as solar cell are connected to the pin-outs on the side. The sensor is connected by a 3D printed nozzle to a brass hose connector placed in the 3D printed housing. There are holes for 4mm screw inserts that are in the design. Both files for the base and top are included. No supports are necessary and it is printed in PETG for outdoor use. The other version is is designed in two parts which are joined by 3mm screw inserts. Both upper and lower parts are printed with supports. The third design files are for the sensor body and exit tube associated with the second design. It encloses the sensor on the SMD card that is then sealed in epoxy.

Wire It

IMG_8322.jpeg
IMG_8324.jpeg
IMG_8279.jpeg
IMG_8290.jpeg
IMG_8325.jpeg
IMG_8317.jpeg
IMG_7925.jpeg
IMG_8141.jpeg
IMG_8323.jpeg

The most important part of this build is successfully assembling the sensor. Detailed information on building it on the SM board are included in the previous reference which has several other references to correct assembly. There are two pins that are held high by a 10k resistor to activate I2C communication and to get the High I2C address. The capacitor between the power supply and ground is also important. Attaching the unit to the SM board or the PCB is rather trivial after hearing from Luke Miller who has a lot of experience with this sensor just puts some flux on the board and correctly places it and heats it up to 250 with a rework blower and and the small solder balls fire off and mount perfectly.

For the solar unit after mounting the sensor the rest of the components are easy. The side connections are for the Solar Plus, Solar Minus, Bat Plus, Bat Minus and last two are the on/off switch. The Eagle Files are included.

To assemble the non-solar unit: First mount the lipo/Backpack to the ItsyBitsy with the included three pin header. Solder it to the 5V, G, Batt pins on the Itsy. The JST connector connects away from the USB. Scrape away the connector for the switch addition on the backpack board and solder to wires to the now separate points--these go to your ON/OFF button. Connect the LED light on the the button to the adjacent power and a separate wire to ground. Add the two Pull-Up resistors to the Itsy board connecting 3V to SDA and SCL. Connect the SDA and SCL sensor lines to the Itsy. Connect Power and GND from the sensor to 3V and GND on Itsy. Wire the beeper by connecting the Plus to Bat. Connect Pin 10 Itsy through a resistor to NPN base and the base and collector to GND and Minus on the beeper. Connect the battery to the backpack with its JST connector. This is all the same as the EAGLE diagram except for the solar power variation.

Build It

IMG_8313.jpeg
IMG_8321.jpeg
IMG_8284.jpeg
IMG_8291.jpeg
IMG_8139.jpeg
IMG_8143.jpeg
IMG_8318.jpeg
IMG_8310.jpeg
IMG_8142.jpeg
IMG_8319.jpeg

Solar Unit: After populating the PCB board and connecting battery, switch and solar panel super glue the 3D printed tube attachment horn to the top of the sensor unit. Carefully apply gel superglue to the vertical rim of the stainless portion of the sensor and carefully push the tube connector down until it hits the stop. To assure a hard connection drizzle two part clear epoxy over the horn and the unit and allow it to connect to the board. Drill a hole in the Solar panel inset and connect the small solar panel. Use E6000 to glue it into position. All tubes used in this Instructable are the variety bought at the aquarium supply store for air supply use. Mount a brass connector for this type of tubing with swedges on both side in the hole in the side of the 3D housing. This will connect the board with a small length of tubing to the inside barb and allow you to connect the outside barb to any length you want. Mount the beeper deep into its dome housing with hot glue. Mount the switch in its housing. Mount 4mm heat mounted screw insets in holes provided. Close the case.

Recharging Unit: After wiring the sensor on its surface mount board with resistor and capacitor make sure it works by running the software. The sensor housing has an inset that perfectly fits the head of the sensor mounted on the board. Superglue it in place. Fill the rest of the interior space with clear epoxy to enclose the electronics. Let harden and turn over and superglue tube connector tip to the top. Fully bond the two with a painted layer of clear epoxy. Use E6000 to seal the sensor unit into the upper housing with the tube centered in the hole. Insert ON/Off switch in the lower section with nut. Size the flat lipo battery to fit. E6000 the ItsyBitsy to the lower housing so that the MicroUSB port is accessible through designed opening. Fit 3mm heat mounted screw inserts into lower housing. Place beeper in the cylinder and close the unit with appropriate sized 3mm screws. You can permanently seal this too.

Program It

IMG_8351.jpeg
IMG_8330.jpeg

The program that I wrote for this unit is rather trivial. It is just the demo program for using the sensor with a couple additional features. The sensor is first tasked with finding the atmospheric pressure for that location--it does this by taking ten baseline readings and then averaging them in one function. After completion it rings its alarm bell to notify you its done. It then continually remeasures the pressure and if it differs from the baseline by a set amount that you define it fires off the beeper continuously until it normalizes again. I set the difference in the #define to be 4 units and for water this is about 2 inches. Since the density of "other fluids" is usually lighter it will be triggered by greater heights. The program runs through every time you turn it on. The program can be adjusted to check pressure less often but takes a good reading every 10ms. Depending on the speed you fill this is usually a good heads up.

Downloads

Using It

IMG_8632.jpeg
IMG_8376.jpeg
fillMateOne
final.jpg

In practice the device works well. The tube connected to the units is cheap and can be replaced, lengthened and shortened without concern for function. It doesn't matter the number of loops or traverses the tube takes only the location of the tip where it encounters the fluid level. I designed a tube holder that fits well in the fill tube on the boat and won't be compromised by a funnel or filling hoses. You could also design a funnel with a built-in unit! You can adjust by software for the density of the fluid but usually a conservative approach to the location of the filling tip location is best. The filling tube can also be inserted down the vent tube if that is easier depending on the design of your boat tanks. The plastic tube isolates the electronic components from flammable gas vapors decreasing the likelihood of a problem. I have encapsulated the electronics in epoxy and completely sealed the cases. Diesel, with its low flash point and vapor pressure poses much less of a worry than gas. The sensor housing can also be back filled with mineral oil to further isolate the sensor head itself which appears to be silicon. It also works well on water tanks or any other containers that you are trying to blind fill without overfilling. This last weekend at the statewide Alaska Hackathon I adapted the design to replace the commercially available boat vent tube with an electronic version with this pressure alarm system. It has a standard 5/8 inch hose bib connector at the back and can be mounted through a 1 inch thick hull. It is solar operated with sealed electronics and flame arrestor openings on its side. It turns on with a magnetic sealed reed switch so no spark risks are involved. Contact me if you want free files for the design. I installed it on my small sailboat and will see how it works next summer.