sensor de gas (MQ2)
sensor de gas (MQ2)
El sensor de gas analgico (MQ2) se utiliza en la deteccin de fugas de gas de
equipos en los mercados de consumo y la industria, este sensor es adecuado para
la deteccin de gas LP, i-butano, propano, metano, alcohol, hidrgeno, tiene una
alta sensibilidad, un tiempo de respuesta rpido Y dicha sensibilidad puede ser
ajustada por el potencimetro.
Este pequeo sensor de gas detecta la presencia de gas combustible y humo en
concentraciones de 300 a 10.000 ppm. Incorpora una sencilla interfaz de tensin
analgica que nicamente requiere un pin de entrada analgica del
microcontrolador. Con la conexin de cinco voltios en los pines el sensor se
mantiene lo suficientemente caliente para que funcione correctamente. Solo tiene
que conectar 5V a cualquiera de los pines (A o B) para que el sensor emita
tensin. La sensibilidad del detector se ajusta con una carga resistiva entre los
pines de salida y tierra.
Estructura y configuracin de MQ-2 sensor de gas, el sensor compuesto por micro
tubo de cermica Al2O3, capa sensible de Dixido de Estao (SnO2), el electrodo
de medida y el calentador se fija en una corteza hecha por el plstico y red de
acero inoxidable. El calentador proporciona las condiciones de trabajo necesarias
para el trabajo de componentes sensibles. La envoltura MQ-2 tienen 6 pines, 4 de
ellos se utilizan para recoger las seales, y otros se utilizan 2 para proporcionar
corriente de calentamiento.
Condiciones de trabajo
Voltaje de circuito: 5V
Voltaje de calentamiento: 5v
Resistencia de carga: puede ser ajustable
Resistencia del calentador: 33 5%
Consumo: menos de 800mW
A continuacin se muestra las tpicas caractersticas de sensibilidad del MQ-2
durante varios gases en su:
Temperatura: 20 ,
Humedad: 65%,
Concentracin de O2 21%
RL = 5k
Ro: resistencia del sensor a 1000 ppm de
H2 en el aire limpio.
Rs: resistencia del sensor en varias concentraciones de gases.
Se muestra la dependencia tpica del MQ-2 de la temperatura y la humedad.
Ro: resistencia del sensor a 1000 ppm de H 2 en el aire a 33% HR y 20
grados.
Rs: resistencia del sensor a 1000 ppm de H2 a diferentes temperaturas y
humedades
Conexiones
La terjeta del sensor cuenta con dos salidas de datos, una digital (DO)y otra
analogica (AO). La salida digital manda una seal en estado alto cuando el sensor
llega a un nivel deseado, el cual puede ser ajustado por medio del potenciometro.
La salida analogica va aumentado el valor del voltaje en proporcion al nivel de gas
que se detecta.
Si estas usando un Arduino UNO, la conexin seria como el siguiente caso, pero
de cualquier manera puedes utilizar cualquier Arduino.
Para obtener los datos en partes por milln (ppm) es necesario hacer la
conversin con el siguiente programa.
Programacin
?
0
1
0
2
#define
MQ1
#define
RL_VALOR
#define
RAL
#define
GAS_LP
String inputstring = "";
(9.83)
(0)
//define la entrada analogica para e
(5)
//define el valor de la resistencia mde c
// resistencia del sensor en el aire limpio / RO, qu
(0)
//Cade
0 float
LPCurve[3] = {2.3,0.21,-0.47};
3 float
Ro
= 10;
0 void setup(){
/
4 Serial.begin(9600);
Serial.println("Iniciando ...");
0
//configuracion del sensor
5 Serial.print("Calibrando...\n");
//Calibrando el sensor. Por favor de a
0 Ro = Calibracion(MQ1);
6 Serial.print("Calibracion finalizada...\n");
0 Serial.print("Ro=");
Serial.print(Ro);
7 Serial.print("kohm");
0 Serial.print("\n");
8 }
0
9 void loop()
{
1
Serial.print("LP:");
0
Serial.print(porcentaje_gas(lecturaMQ(MQ1)/Ro,GAS_LP) );
11
Serial.print( "ppm" );
Serial.print("
");
1
Serial.print("\n");
2
delay(200);
1 }
3
1 float calc_res(int raw_adc)
4 {
1 return ( ((float)RL_VALOR*(1023-raw_adc)/raw_adc));
5 }
1 float Calibracion(float mq_pin){
6 int i;
1 float val=0;
for (i=0;i<50;i++) {
7
val += calc_res(analogRead(mq_pin));
1
delay(500);
8 }
1 val = val/50;
9 val = val/RAL;
2 return val;
0 }
2
float lecturaMQ(int mq_pin){
1 int i;
2 float rs=0;
2 for (i=0;i<5;i++) {
rs += calc_res(analogRead(mq_pin));
2
3 } delay(50);
2 rs = rs/5;
4 return rs;
2 }
5
2 int porcentaje_gas(float rs_ro_ratio, int gas_id){
if ( gas_id == GAS_LP ) {
6
return porcentaje_gas(rs_ro_ratio,LPCurve);
2
}
7 return 0;
2 }
8
2 int porcentaje_gas(float rs_ro_ratio, float *pcurve){
9 return (pow(10, (((log(rs_ro_ratio)-pcurve[1])/pcurve[2]) + pcurve[0])));
3 }
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
6
6
6
7
6
8
Configuracin del puerto serial
Para cargar el programa e ingresar al monitor serial que ofrece el Arduino es
necesario asegurarse que el puerto COM sea el correcto. Para ello tenemos que
acceder a Administrador de dispositivos desde la PC y verificar que el COM que
nos muestra sea el mismo que marca el software de Arduino.
En caso de que no coincidan el que muestra el Administrador de dispositivos con
el marcado en el software podemos cambiarlo en la barra de herramientas.
Una vez que este verificado el puerto serial solo damos click en la lupa que
aparece en la parte superior derecha y automticamente abre otra ventana que
muestra el puerto serial.
Nota: observe que la nueva ventana marca como ttulo del COM de la tarjeta que
corresponde al serial monitoreado.
Para analizar el comportamiento del sensor se coloc dentro de un recipiente
cerrado y se dej escapar gas de un encendedor y con la ayuda del puerto serial
se pudo observar los datos obtenidos de los sensores de gas LP.