Introduction: Accurate Liquid Level Controller With Low Cost Sensor and TV Remote for Settings
This is the my first personnel Arduino project. Even through i plan to automate our over tank water level i don't like to invest more money on instruments. I have some Arduino board and relay boards from my friends. So use that boards and some cheap rate sensors purchase from store.
Most of the automation come to effect because of the laziness of people. Like wise this is because of my laziness i did this project. When ever my mom want i want to go to roof top to see the water level. Now Arduino do my work.
Step 1: Materials Required
1) Arduino UNO board.
2) Plain pcb.
3) 16 X 2 LCD display (I use serial LCD display it only needed 3 wires)
4) Output relay board.
5) IR sensor for remote settings.
6) Multiple rotation potentiometer(i use 5 rotation 47k potentiometer).
1) Pipe for fix the sensor.
3) Strong thread or String(used to join necklace).
4) Counter weight.
5) Ball or thermocol (for floating)
1) Soldering iron, lead and paste.
2) Screw drivers.
4) Hacksaw blade.
Step 2: Current Situation and Plan
This is my house. on the top of the second floor we have water tank. we pump water from boring to the tank. Pump is fixed under the steps of the first floor. The problem now i facing is once the water is empty then only we able to know. If we switch on the pump once it got filled on hear the over flow sound we switch off the pump. Some times it more irritate me while taking shower water empty in the tank.
For drinking water we have separate tank So want to check the water level frequently in a week. My mom many time ask me to check the water level of the tank, I go to the second floor and climb over it to see the water level.
I want to stop all this in a very low cost effective and long run solution. Low cost level switches only on and off the pump. I also want to know the exact water level.
So plan to fix a low cost sensor on the tank. With that sensor i want to see the water level and also automatically switch on and off the pump. That indicator is plan to fix in the ground floor so that all the family members able to see the water level.
Step 3: Circuit and Mechanical Plan
I don't want to take risk by develop a large circuit. A simple circuit as shown in the figure. I use IR Sensor because for setting if i use buttons then want to provide a strong en closer, so if remote is used once installed don't want to touch it for any purpose.
As per diagram choose the wheel size according to no of rotation in potentiometer and the height of the tank. For example i using a potentiometer with 5 rotation. I plan to use only 4 rotation. So if i use 3 inch radius wheel then the circumference is 18.85 inch. So for 4 rotation its is 75.4 inch (more than 6 feet) its more for my tank. So like wise calculate for your tank.
Stick the middle of the thread on the wheel and roll one in clock wise and another one on anticlock wise. So as to stop thread from rotate itself with out potentiometer. Weight with ball or thermocol must be greater than the weight in the opposite side.
Step 4: Soldering the Circuit
At first Using the plain PCB take the pins required, pins want to solder are +5V, +12V, GND, A1, 2, 4, 11.
+5V,GND-LCD power, Potentiometer, IR Receiver
A1 - Potentiometer Analog input
2 - Serial LCD data pin
4 - Relay module control pin
11-IR receiver data pin
Make some knot for each set of wire to avoid wired from crossed and confused. The did a bracelet knot here.
Leave enough wire for each module. For potentiometer only leave a very long wire because it is want to be fixed on the third floor.
Step 5: Program and Testing
Open arduino developer and start write the program even as per your style. Before writing list down what is want to done. List the actions.
1) Auto on and off - want to save the upper and lower set point and when it goes up switch off and goes down switch on
2) Calibration - To record the resistance value when tank empty known as zero calibration and Record the resistance at tank full span calibration).
3) Level indication - As per calibrated value with the current resistance show the tank water percentage.
4) Remote control - To Calibrate and change the set point.
Ok, this are our requirement then chose which libraries we want to use
1) EEPROM - To save the set points and calibration value and retrieve it after power on and off.
2) IRremote - To get data from Tv remote and set.
3) Softwareserial - If normal LCD is used this one is not needed, i use serial LCD so a software serial TX is created and used for display data.
Lot of way to program i used my way. If u want keep the requirement and do programming in your style or copy the attached program and execute.
After programming upload the data to the Arduino and connect the 12V power supply also, if not connected relay not working. Just change the potentiometer value and see the value show in the display. Lower the value below the min set point and conform the relay switched on. Likewise increase the value more than the max set point and conform the relay switch off. I set low set point at 20% and high set point at 80%.
Then use the remote and check the calibration and then change the set point and check again.
Now the programming is over. Want to prepare mechanical arrangement.
Step 6: Fix the Potentiometer
Take a PVC pipe and drill one side to the size of the potentiometer shaft. Cut the other side of the PVC pipe to insert the potentiometer. Insert the potentiometer and screw from front side. Fully tight the screw using spanner so that it cant move. Paste the knob in the potentiometer shaft. Now take two weights one is immerse in water and another one is float in water but weight greater than the first one, for that wrap the weight with thermocol. Test how it float. if ok then. Tie both the weight in a long thread or string and paste the middle in the knob, so that the thread can't rotate freely. then leave the float able weight as it is and rotate the thread on the other weight in clock wise and make the weight hang near the knob. see the arrangement and fix it in the top of the tank. Now i am only checking. so i use bucket for testing.
Step 7: Fix in a Enclosure
I am going to fix the level indicator in side the starter box which is fixed on the wall with glass enclosure. So a low weight box is enough for me. If you want to put it in open then u want a weather proof box. I use a plastic sweet box to assemble the indicator. Fix the LCD and IR receiver in the front cover and remaining circuit on the back cover. Close the box and now the indicator is ready to use.
Step 8: After Finishing Calibration
1) Press the enter button in the remote -> Display show zero cal with analog reading.
2) Move the floating weight to the bottom of the tank.
3) Display shows the analog value of the position
4) Press enter zero calibration completed and Display shows full calibration(Span Calibration).
5) Move the floating side to the top of the tank.
6) Now Display shows its analog value.
7) Press enter again now the system is calibrated for its range and shows the reading.
Step 9: Change Set Points
1) Press the setup button in the remote.
2) Center of the second line shows MI means (change the minimum value)
3) Use volume control to change the value.
4) Again press setup button.
5) Minimum value saved and center screen shows MA(change the maximum value)
6) Use volume control to change the value.
7) Minimum value saved and display shows the changed value
Step 10: Check the Function
See when the liquid level is low rely on and this switch off the pump. When the liquid raise it display in the lcd. and when it reach the upper limit relay switch off.
Want to fix the potentiometer inside a weather proof enclosure then only able to fix it in the over head tank. After fixing i upload another video. Up to that try this for any liquid, Any tank size and Tell me how it works.
If any doubt please comment me. I am waiting for queries.