Grove - Gas Sensor(MQ2)

From Wiki
Jump to: navigation, search

Introduction


33.png


The Grove - Gas Sensor(MQ2) module is useful for gas leakage detecting(in home and industry). It can detect LPG, i-butane, propane, methane ,alcohol, Hydrogen, smoke. Based on its fast response time. Measurements can be taken as soon as possible. Also the sensitivity can be adjusted by the potentiometer.


SKU: SEN90512P Buy on Bazaar


Features Wide detecting scope Stable and long life Fast response and High sensitivity Application Ideas Gas leakage detecting Toys Mechanic Dimensions Electronic Characteristics Items Parameter name Min Type Max Unit System Characteristics VCC Working Voltage 4.9 5 5.1 V

PH   Heating consumption  0.5  -   800  mW  
RL   Load resistance      can adjust        
RH   Heater resistance  -   33  -   Ω  
Rs  Sensing Resistance   3  -   30    kΩ  

Usage Suggest Reading for Starter Download Arduino and install Arduino driver

Getting Started with Seeeduino

How to choose a Gas Sensor

What's LEL

Hardware Installation Grove products have a eco system and all have a same connector which can plug onto the Base Shield. Connect this module to the A0 port of Base Shield, however, you can also connect Gas sensor to Arduino without Base Shield by jumper wires.


Arduino UNO Gas Sensor 5V VCC GND GND NC NC Analog A0 SIG


You can gain the present voltage through the SIG pin of sensor. The higher the concentration of the gas, the bigger the output voltage of the SIG pin. Sensitivity can be regulated by rotating the potentiometer. Please note the best preheat time of the sensor is above 24 hours. For the detailed information about the MQ-2 sensor please refer to the datasheet.


34.png


How to use There're two steps you need to do before getting the concentration of gas.

First, connect the module with Grove Shield using A0 like the picture above. And put the sensor in a clear air and use the program below.

void setup() {

 Serial.begin(9600);

}

void loop() {

 float sensor_volt; 
 float RS_air; //  Get the value of RS via in a clear air
 float R0;  // Get the value of R0 via in H2
 float sensorValue;

/*--- Get a average data by testing 100 times ---*/

   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; // omit *RL
 R0 = RS_air/10.0; // The ratio of RS/R0 is 10 in a clear air

 Serial.print("sensor_volt = ");
 Serial.print(sensor_volt);
 Serial.println("V");

 Serial.print("R0 = ");
 Serial.println(R0);
 delay(1000);

}

Then, open the monitor of Arduino IDE, you can see some data are printed, write down the value of R0 and you need to use it in the following program. During this step, you may pay a while time to test the value of R0.

Second, put the sensor in one gas where the environment you want to test in. However, don't forget to replace the R0 below with value of R0 tested above

void setup() {

 Serial.begin(9600);

}

void loop() {

 float sensor_volt;
 float RS_gas; // Get value of RS in a GAS
 float ratio; // Get ratio RS_GAS/RS_air
 int sensorValue = analogRead(A0);
 sensor_volt=(float)sensorValue/1024*5.0;
 RS_gas = (5.0-sensor_volt)/sensor_volt; // omit *RL

 /*-Replace the name "R0" with the value of R0 in the demo of First Test -*/
 ratio = RS_gas/R0;  // ratio = RS/R0 
 /*-----------------------------------------------------------------------*/

 Serial.print("sensor_volt = ");
 Serial.println(sensor_volt);
 Serial.print("RS_ratio = ");
 Serial.println(RS_gas);
 Serial.print("Rs/R0 = ");
 Serial.println(ratio);

 Serial.print("\n\n");

 delay(1000);

}

Now, we can get the concentration of gas from the below figure


According to the figure, we can see that the minimum concentration we can test is 100ppm and the maximum is 10000ppm, in a other word, we can get a concentration of gas between 0.01% and 1%. However, we can't provide a formula because the relation between ratio and concentration is nonlinear.


Support Ask questions on Seeed forum.

Version Tracker Revision Descriptions Release v0.9b Initial public release 16,Aug,2011 v1.4 Replace some components 27,Aug,2014

Resources

File:MQ-2.pdf