Water Level Controller using 8051 Microcontroller

Contents 
This article explains you how to detect and control the water level in an overhead tank or any other container. This system monitors the water level of the tank and automatically switches ON the motor when ever tank is empty. The motor is switched OFF when the overhead tank or container is FULL. Here the water level of the tank is indicated on LCD (Liquid crystal Display). Using this system, we can avoid the overflow of the water. We have already seen How water level indicator circuit works using AVR Microcontroller in the earlier post. But, here we are designing the circuit which is used to detect and control the water level automatically in overhead tank using 8051 microcontroller.
In this system water sensing can be done by using a set of 4 wires which are placed at different levels in tank. DC supply probe is placed at the base of the tank.

Water Level Controller using 8051 Circuit Principle:

This system mainly works on a principle that “water conducts electricity”. The four wires which are dipped into the tank will indicate the different water levels. Based on the outputs of these wires, microcontroller displays water level on LCD as well as controls the motor.

Water Level Controller using 8051 Circuit Diagram:

Circuit Diagram of Water Level Controller using 8051 Microcontroller
Circuit Components:
At89c51 controller
At89c51 programming board.
16*2 LCD
5V Relay
Bc547 (NPN) transistors – 5
Resistors (1K) – 4
Resistor – 330 ohm
AC Motor
Pot – 10k
Programming cable
Connecting wires

Water Level Controller using 8051 Circuit Design:

The main heart of this project is AT89C51 microcontroller. The water level probes are connected to the P3.0, P3.1, P3.2, and P3.3 through the transistors. Port P2 connected to the data pins of LCD and control pins RS, RW and EN of LCD are connected to the P1.0, P1.1, and P1.2 respectively.
Initially when tank is empty, LCD will display the message EMPTY and motor runs automatically. When water level reaches to quarter level, now LCD displays QUARTER and still motor runs. For further levels, LCD displays the messages HALF and ¾ FULL.
When tank is full, LCD displays FULL and motor automatically stops. Again motor runs when tank is empty.

Algorithm for Water Level Controller Circuit:

First configure the controller pins P3.0, P3.1, P3.2 and P3.3 as inputs and P3.4 as output.
Now initialize the LCD.
Continuously check the water level input pins P3.0, P3.1, P3.2, and P3.3
If all the pins are low then display tank is empty on LCD and make P3.4 pin high to run the motor automatically.
High pulse on the pin P3.0 indicates quarter level, display the same thing on LCD.
If P3.1 is high then water level is half.
High pulse on P3.2 indicates 3/4th full of the tank.
If P3.3 is high then tank is full, now make P3.4 pin is low to turn off the motor automatically.

Water Level Controller using 8051 Circuit Simulation Video:



DOWNLOAD PROJECT CODE

How to Operate Water Level Controller Circuit using 8051 Microcontroller?

Initially burn the program to the controller.
Now give the connections as per the circuit diagram.
While giving the connections, make sure that there is no common connection between AC and DC supplies.
Place the 4 water level indicating wires into the small tank.
Switch on the supply, now the motor will run automatically as there is no water in the tank.
Now pour the water, when it reaches to quarter level then LCD displays QUARTER on LCD.
For further levels it will displays HALF and ¾ FULL on LCD.
Still if you pour the water then LCD displays FULL and motor turns off automatically when the tank is full.
Switch off the motor supply and board supply.

Water Level Controller Project Output Video:

Water Level Controller Circuit Advantages:

Human effort is reduced as the system controls the motor automatically based on the water level.
This system consumes less power.
Simple and more reliable.