Gas Sensor (MQ2)
Gas Sensor (MQ2)
This is a robust Gas sensor suitable for sensing LPG, Smoke, Alcohol, Propane,
Hydrogen, Methane and Carbon Monoxide concentrations in the air. Creating an indoor air
quality monitoring system; breath checker or early fire detection system, MQ2 Gas Sensor
Module is a great choice.
MQ2 is one of the commonly used gas sensors in MQ sensor series. It is a Metal Oxide
Semiconductor (MOS) type Gas Sensor also known as Chemiresistors as the detection is
based upon change of resistance of the sensing material when the Gas comes in contact with
the material. Using a simple voltage divider network, concentrations of gas can be detected.
MQ2 Gas sensor works on 5V DC and draws around 800mW. It can detect LPG, Smoke,
Alcohol, Propane, Hydrogen, Methane and Carbon Monoxide concentrations anywhere from
200 to 10000ppm.
Specifications
Operating voltage 5V
Load resistance 20 KΩ
Heater resistance 33Ω ± 5%
Heating consumption <800mw
Sensing Resistance 10 KΩ – 60 KΩ
Concentration Scope 200 – 10000ppm
Preheat Time Over 24 hour
When measuring gases like carbon dioxide, oxygen, or methane, the term concentration is
used to describe the amount of gas by volume in the air. The 2 most common units of
measurement are parts-per-million, and percent concentration.
Parts-per-million (abbreviated ppm) is the ratio of one gas to another. For example, 1,000ppm
of CO means that if you could count a million gas molecules, 1,000 of them would be of
carbon monoxide and 999,000 molecules would be some other gases.
The sensor is actually enclosed in two layers of fine stainless steel mesh called Anti-
explosion network. It ensures that heater element inside the sensor will not cause an
explosion, as we are sensing flammable gases.
It also provides protection for the sensor and filters out suspended particles so that only
gaseous elements are able to pass inside the chamber. The mesh is bound to rest of the body
via a copper plated clamping ring.
This is how the sensor looks like when outer mesh is removed. The star-shaped structure is
formed by the sensing element and six connecting legs that extend beyond the Bakelite base.
Out of six, two leads (H) are responsible for heating the sensing element and are connected
through Nickel-Chromium coil, well known conductive alloy.
The remaining four leads (A & B) responsible for output signals are connected
using Platinum Wires. These wires are connected to the body of the sensing element and
convey small changes in the current that passes through the sensing element.
The tubular sensing element is made up of Aluminum Oxide (AL2O3) based ceramic and has
a coating of Tin Dioxide (SnO2). The Tin Dioxide is the most important material being
sensitive towards combustible gases. However, the ceramic substrate merely increases
heating efficiency and ensures the sensor area is heated to a working temperature constantly.
So, the Nickel-Chromium coil and Aluminum Oxide based ceramic forms a Heating System;
while Platinum wires and coating of Tin Dioxide forms a Sensing System.
Working
When tin dioxide (semiconductor particles) is heated in air at high temperature, oxygen is
adsorbed on the surface. In clean air, donor electrons in tin dioxide are attracted toward
oxygen which is adsorbed on the surface of the sensing material. This prevents electric
current flow.
In the presence of reducing gases, the surface density of adsorbed oxygen decreases as it
reacts with the reducing gases. Electrons are then released into the tin dioxide, allowing
current to flow freely through the sensor.
Hardware Overview – MQ2 Gas Sensor Module
Since MQ2 Gas Sensor is not breadboard compatible, we do recommend this handy little
breakout board. It’s very easy to use and comes with two different outputs. It not only
provides a binary indication of the presence of combustible gases but also an analog
representation of their concentration in air.
The analog output voltage provided by the sensor changes in proportional to the
concentration of smoke/gas. The greater the gas concentration, the higher is the output
voltage; while lesser gas concentration results in low output voltage. The following animation
illustrates the relationship between gas concentration and output voltage.
The analog signal from MQ2 Gas sensor is further fed to LM393 High Precision Comparator
(soldered on the bottom of the module), of course to digitize the signal. Along with the
comparator is a little potentiometer you can turn to adjust the sensitivity of the sensor. You
can use it to adjust the concentration of gas at which the sensor detects it.
Calibrate MQ2 Gas Sensor Module
To calibrate the gas sensor you can hold the gas sensor near smoke/gas you want to detect
and keep turning the potentiometer until the Red LED on the module starts glowing. Turn the
screw clockwise to increase sensitivity or anticlockwise to decrease sensitivity.
The comparator on the module continuously checks if the analog pin (A0) has hit the
threshold value set by potentiometer. When it crosses the threshold, the digital pin (D0) will
go HIGH and signal LED turns on. This setup is very useful when you need to trigger an
action when certain threshold is reached. For example, when the smoke crosses a threshold,
you can turn on or off a relay or instruct your robot to blow air/sprinkle water.
.
VCC supplies power for the module. You can connect it to 5V output from your Arduino.
GND is the Ground Pin and needs to be connected to GND pin on the Arduino.
D0 provides a digital representation of the presence of combustible gases.
A0 provides analog output voltage in proportional to the concentration of smoke/gas.
Now that we have a complete understanding of how MQ2 Gas sensor works, we can begin
hooking it up to our Arduino!
Connecting the MQ2 Gas sensor module to the Arduino is pretty easy. Start by placing the
sensor on to your breadboard. Connect VCC pin to the 5V pin on the Arduino and connect
GND pin to the Ground pin on the Arduino.
Connect D0 output pin on the module to Digital pin#8 on the Arduino and A0 output pin on
the module to Analog pin#0 on the Arduino.
When you’re done you should have something that looks similar to the illustration shown
below.
The code is very simple & basically just keeps reading analog voltage on A0 pin. It also
prints a message on serial monitor when smoke is detected. Try the sketch out, before we
begin its detailed breakdown.
#define MQ2pin A0
voidsetup()
{
Serial.begin(9600); // sets the serial port to 9600
Serial.println("Gas sensor warming up!");
delay(20000); // allow the MQ-6 to warm up
}
voidloop()
{
sensorValue = analogRead(MQ2pin); // read analog input pin 0
if(sensorValue>300)
{
Serial.print(" | Smoke detected!");
}
Serial.println("");
delay(2000); // wait 2s for next reading
}
The output on the serial monitor looks like: