TOP

Grove - Gas Sensor(MQ2)

From Wiki 来自痴汉的爱
Jump to: navigation, search

中文

Contents

Introduction

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

Twig-Gas Sensor.bmp

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.

Read Gas Sensor data.jpg

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);
 
}



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

Gas sensor 1.png

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

Licensing

This documentation is licensed under the Creative Commons Attribution-ShareAlike License 3.0 Source code and libraries are licensed under GPL/LGPL, see source code files for details.

Personal tools
Namespaces

Variants
Actions
Navigation
Support
Navigation
Collections
Toolbox