Professional Documents
Culture Documents
Manhole Monitoring System
Manhole Monitoring System
MONITORING
SYSTEM
ABSTRACT
The project proposes a basic manhole monitoring system which utilizes a
sensor network and IOT to overcome the challenges of manual maintenance as
well as manual scavenging. The focus of the project lies in collecting important
data from the manhole chamber such as temperature, presence of gases,
overflow, and detection of any unauthorized access by checking if the lid is
open. The collected data is further displayed on web which enables authorities
to actively monitor the manholes and take immediate action when needed.
The vital objectives of this system are low cost, longer life and proper
installation for improved accuracy and efficiency. The desired results are
overcoming the problem of sewage overflow especially during monsoons,
ensuring high level of safety for workers and preventing any possible accident
or explosion in a manhole chamber.
CHAPTER -1
INTRODUCTION
On its way to being a smart nation, India still lags in the basic infrastructure
and amenities it provides to a significant percentage of its population.
Drainage system is one such area where India still awaits a big leap. The
sewage system has a direct impact on the economy and administration. An
efficient underground drainage system ensures smooth movement of goods
and human resources irrespective of weather and time. Therefore, proper
functioning of sewage system is an inevitable requirement for a nation that
eyes high goals of development.
The maintenance of this underground system through inspection chambers is
one of the many aspects of drainage infrastructure. Manholes are the largest
chambers that provide access to a sewer or drain and easily accommodates
maintenance equipment and humans. While these chambers provide a way to
access and control the underground drainage system, they inhabit a complex
and dynamic environment composed of gases and fumes that can be fatal for
human lives. It is important to note that the current methodology of drainage
management essentially involves repairing the sewer vents only after overflow
has occurred. Detecting and locating the blockage and corresponding manhole
chamber is no cake walk with such a basic infrastructure. After an overflow has
happened, it only keeps worsening every minute. The consequences can vary
anywhere from roads overflowing with drainage water, sewage water mixing
with drinking water to pipe explosions, water stagnation and contamination.
All these consequences can be evidently found in a plethora of reports that
flood the newspapers during monsoon season, not to miss that monsoons are
the most vulnerable time for our underground sewage system.
Manual scavenging has been employed for centuries to accomplish the process
of cleaning, repairing, and maintaining these inspection chambers. However,
this method of drainage maintenance is incompetent and inefficient.
Moreover, it is an extremely inhuman and risky way of livelihood and very
often results in fatal accidents. This practice also promotes caste-based
discrimination as only people of certain castes are employed to do this job.
Therefore, maintenance of these underground systems calls for technological
intervention. The innovation should focus on countering maximum number of
limitations of a manual drainage maintenance system while following the
principle of “Prevention is better than cure.” The idea is to curb the menace of
flooding due to overflow which causes great inconvenience and obstructs
transportation and smooth running of a city.
3) Methane (CH4)
Methane is commonly generated when organic matter is decomposed
by a variety of bacterial processes. It is a colourless, extremely
flammable and explosive gas that can cause fire and explosion. The
accumulation of methane in a poorly ventilated area will displace normal
air and result in an oxygen deficient environment.
BLOCK DIAGRAM:
CHAPTER -3
APPROACH
Arduino Nano
The sewer gas is a mixture of several toxic and non-toxic gases, the most toxic being,
Hydrogen Sulphide, Carbon Monoxide and Ammonia.
It is important to note that the gases are present in layers inside a manhole. Typically,
methane gas is found on the topmost level, followed my carbon monoxide and finally
hydrogen sulphide at the bottom.
To avoid system complexity while still obtaining desired objectives, we chose to
detect carbon monoxide levels as well as flammable gases. Carbon Monoxide is found
almost midway in a manhole chamber where sensor installation is safer and more
advantageous. Since CO is present above the hydrogen sulphide layer, high
concentration of CO itself means human entry should be prohibited as large amounts
of CO can overcome you in minutes without warning — causing you to lose
consciousness and suffocate. Higher level of CO is also rough indicator that hydrogen
sulphide
Float levels areSwitch
Vertical also high.
– toHowever low CO levels does not ensure low hydrogen
detect overflow
sulphide concentration. It is therefore mandatory that safety protocols are strictly
followed when working around a manhole.
MQ9 was chosen to primarily collect CO levels and flammable gases.
The idea behind using the ultrasonic sensor is to detect opening and closing of
lid. This is done by installing the ultrasonic sensor at a pre-determined distance
from the lid. When the lid is removed, the distance either becomes more than
the set level or becomes 0 (out of range). In either case the sensor will detect
opening of the lid. When the reading returns to the set value, the sensor will
detect that the lid has been closed.
A logic level convertor safely steps down 5V signals to 3.3V AND steps up 3.3V
to 5V at the same time. It is used in the circuit to connect esp8266 with
Arduino in order to meet different voltage requirements.
CIRCUIT DIAGRAM:
Sensor network upon execution:
CODE
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
void handle_OnConnect();
void handle_NotFound();
//lm35
const int sensor=A2;
float tempc;
float vout;
//float sensor
int FloatSensor=2;
int buttonState = 1;
//mq9
const int DO = 8;
float m = -0.522; //Slope
float b = 1.44;
//hcsr-04
#define echoPin 2
#define trigPin 3
long duration;
int distance;
void setup() {
Serial.begin(115200);
pinMode(sensor,INPUT);
pinMode(FloatSensor, INPUT_PULLUP); //Arduino Internal Resistor 10K
pinMode(DO, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
delay(1000);
Serial.print(".");
Serial.println("");
Serial.println("Connected to WiFi");
Serial.print("IP: ");
Serial.println(WiFi.localIP());
server.on("/", handle_OnConnect);
server.onNotFound(handle_NotFound);
server.begin();
}
void loop() {
server.handleClient();
void handle_OnConnect() {
//temperature
vout=analogRead(sensor);
vout=(vout*500)/1023;
tempc=vout;
Serial.print("Temperature =");
Serial.print("\t");
Serial.print(tempc);
Serial.print(" ");
delay(9000);
//float
buttonState = digitalRead(FloatSensor);
if (buttonState == HIGH)
{
Serial.println( "WATER LEVEL - HIGH");
}
else
{
Serial.println( "WATER LEVEL - LOW" );
}
delay(9000);
//mq9
float sensor_volt;
float RS_air; // Rs in clean air
float R0; // R0 in 1000 ppm LPG
float sensorValue;
//Average
for(int x = 0 ; x < 100 ; x++)
{
sensorValue = sensorValue + analogRead(A0);
}
sensorValue = sensorValue/100.0;
//-----------------------------------------------/
sensor_volt = (sensorValue/1024)*5.0;
RS_air = (5.0-sensor_volt)/sensor_volt; // Depend on RL on yor module
R0 = RS_air/9.9; // According to MQ9 datasheet table
Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");
Serial.print("R0 = ");
Serial.println(R0);
float RS_gas;
float ratio;
Serial.print("RS_ratio = ");
Serial.println(RS_gas);
Serial.print("Rs/R0 = ");
Serial.println(ratio);
Serial.print("\n\n");
double ppm_log = (log10(ratio)-b)/m; //Get ppm value in linear scale according to the the
ratio value
double ppm = pow(10, ppm_log); //Convert ppm value to log scale
double percentage = ppm/10000; //Convert to percentage
Serial.print(percentage); //Load screen buffer with percentage value
Serial.print("%"); //Load screen buffer with "%"
if(ppm>300)
{
Serial.print("CO level is high");
}
delay(9000);
//ultrasonic
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
Serial.print("\t");
if(distance>=200||distance==0)
{
Serial.print("The lid is open");
}
else
Serial.print("The lid is closed");
delay(9000);
server.send(200, "text/html", SendHTML(Temperature,Humidity,formattedTime,Date));
}
void handle_NotFound(){