miércoles, 6 de diciembre de 2017

Sensores de gas de la serie MQ2, MQ3, MQ4, 5MQ, MQ7 y MQ135




Los sensores de gas de la serie MQ son sensores electroquímicos que funcionan por medio de la variación de la resistencia eléctrica de un elemento detector en una forma proporcional a la cantidad del gas que se desea detectar en el aire. Bajo este principio de funcionamiento, se hace fluir una corriente eléctrica a través del conjunto, se mide luego la tensión en una resistencia de carga (RL) conectada en serie con la resistencia del elemento detector, y por medio de un divisor de tensión simple, se calcula el valor de la resistencia del elemento detector. Una vez calculada la resistencia del elemento detector, a cada valor de tal resistencia se le relaciona una cantidad del gas de interés en el aire a partir de una calibración específica.

Para el funcionamiento del elemento detector, el conjunto usa un elemento calefactor interno de alrededor de 700 mW, por lo cual el consumo de potencia del módulo resulta ser relativamente alto. Con el fin de obtener una medición óptima, el fabricante recomienda un calentamiento del sensor por alrededor de 12 a 24 horas, esto dependiendo del modelo, sin embargo en condiciones normales se espera que la medida empiece a estabilizarse luego de 20 a 60 segundos de funcionamiento.

Advertencia: El fabricante no recomienda que el sensor sea usado en aplicaciones donde la vida humana dependa del mismo.

El sensor puede ser usado de dos formas distintas, dependiendo la salida que se use, sea la analógica o la digital. La primera forma en que podemos usar el sensor es por medio de la salida digital, la cual nos proveerá una señal de indicación de que se ha sobrepasado un umbral prefijado por medio del potenciómetro incluido en el módulo, en otras palabras nos dará una indicación de si se ha detectado o no la presencia del gas (de acuerdo a la cantidad especificada); esto puede ser útil, por ejemplo, para una alarma de gas.

El segundo uso que le podemos dar al sensor es el de indicarnos la cantidad (en partes por millón, por ejemplo) de un gas específico en el ambiente. Para este fin se debe usar la salida analógica del módulo y se hace necesario un proceso de calibración, el cual debe realizarse de una forma tan minuciosa como exacta se requiera la medida. El propósito final de tal proceso de calibración es la obtención del valor de Ro, el cual es el valor de la resistencia del elemento sensor en unas condiciones especificadas por el fabricante para cada módulo.

Para obtener el valor de tal resistencia, es vital primero conocer el valor de la resistencia RL y la tensión en los terminales. El valor de RL para cada módulo puede ser verificado directamente en la placa si se tiene algún conocimiento de electrónica o también puede ser consulado en internet para cada módulo específico, sin embargo para todos los módulos es generalmente de 1K Ohm.


Por otro lado, el valor del voltaje es los terminales es precisamente el mismo valor que podemos medir en la salida analógica del módulo; por lo tanto, sólo debemos leer con nuestro microcontrolador (Arduino, por ejemplo) el valor de tal salida desde el ADC de uno de nuestro puertos analógicos y calcular tal tensión. Finalmente, con el valor de RL y el valor calculado de la tensión en el puerto analógico del módulo, podemos calcular la resistencia del elemento detector con la siguiente ecuación (suponiendo 5V en el módulo):


Una vez que somos capaces de obtener el valor de la resistencia del sensor, debemos obtener el valor de Ro, el cual es el valor de R en las condiciones dadas por el datasheet del fabricante.

Ahora, existen varias formas de obtener Ro, una de ellas es realizar la medición en laboratorio en las condiciones que el fabricante manda, esto sin embargo no es muy fácil de lograr. Otra forma, un poco más útil, nos lleva por varios pasos:

Primero debemos obtener una aproximación en una escala decimal de la curva de sensibilidad del sensor (la cual se encuentra en el datasheet en una escala logarítmica), a continuación mostramos la curva de sensibilidades del sensor MQ2 como un ejemplo:


Escogemos entonces el gas que nos interese, supongamos LPG. Hacemos entonces una tabla en Excel con los valores aproximados, como la siguiente:


Paso seguido realizamos la gráfica y le solicitamos a Excel una línea de tendencia y que además nos dé la ecuación, resultando una gráfica como la siguiente:


Observamos entonces que el sensor tiene, de hecho, un punto de saturación, el cual está más o menos cuando la concentración en ppm supera los 8000. En tal caso podemos observar que el valor de Rs/Ro se acerca a 0,25 y la variación es cada vez más pequeña, casi despreciable; por lo cual, asumir un Rs/Ro de 0,25 no producirá un gran error. Posteriormente sólo debemos colocar el sensor en un ambiente con una alta concentración del gas escogido y, por medio de la ecuación dada anteriormente, calcular la resistencia del elemento.

Advertencia: Este procedimiento puede ser muy peligroso si el gas es combustible, se debe aclarar que usamos este gas sólo como un ejemplo, no realices esta clase de pruebas si no tomas todas las medidas de seguridad necesarias.

Luego, una vez obtenemos la resistencia del elemento, sólo debemos obtener Ro a partir del cociente de la resistencia medida con la Rs/Ro que observemos en estado de saturación, para nuestro caso:
Para finalizar, con el fin de obtener la medida en partes por millón (ppm) del sensor en cualquier momento, sólo debemos utilizar la ecuación que obtuvimos de Excel en el paso previo de la gráfica y el valor de Ro que calculamos así:
De esta forma obtendremos una medida bastante buena del gas de interés, aclaramos que para cada gas de interés se debe calcular un Ro diferente, así mismo para cada sensor. Este procedimiento puede llevarse a cabo con cualquier gas (tomando las medidas de seguridad pertinentes), ya sea para el sensor de alcohol, acercándolo a un recipiente lleno del mismo o para el sensor de monóxido de carbono, llevándolo al escape de un auto por ejemplo.

Debe mencionarse que cada sensor es “sensible” a múltiples gases, no a uno solo; por lo tanto debe seleccionarse el sensor correcto de acuerdo al gas que se requiera medir o simplemente, detectar. La medida del sensor también es sensible en mayor o menor manera, dependiendo del modelo, de las condiciones ambientales de humedad y temperatura.

A continuación señalamos la sensibilidad de cada sensor a cada gas de acuerdo a la curva dada por el datasheet del fabricante:


Sensor MQ2



Tal como podemos observar, este sensor muy sensible a gases combustibles  LPG, H2 y gas propano. También es sensible, en una menor medida, a CH4, CO (por lo cual puede detectar humo) y alcohol. El Ro de este sensor corresponde a al valor de la resistencia en  presencia de 1000 ppm de hidrógeno.

Sensor MQ3



Observamos que este sensor tiene una alta sensibilidad a Alcohol y es sensible en una menor medida a Benceno. El Ro de este sensor corresponde la valor de su resistencia interna en presencia de 200ppm de alcohol en el aire.


Sensor MQ4


 



Este sensor es muy sensible a LPG y CH4 y lo es también en una menor medida a H2 y humo. El Ro de este sensor corresponde la valor de su resistencia interna en presencia de 1000 ppm de H4 en el aire.

 Sensor MQ5




Este sensor presenta una muy alta sensibilidad a LPG y a CH4, siendo  muy sensible también a H2. El Ro de este sensor corresponde la valor de su resistencia interna en presencia de 1000 ppm de H2 en el aire.


Sensor MQ7



Este sensor presenta una muy alta sensibilidad a H2 y a monóxido de carbono, siendo poco sensible a otros gases. El Ro de este sensor corresponde la valor de su resistencia interna en presencia de 100ppm de CO en el aire.

Sensor MQ135




Este sensor es sensible en una medida más o menos igual a gases como el dióxido de carbono, NH3, NH4 y amoniaco, por lo cual es muy usado para medir la calidad del aire. El Ro de este sensor corresponde la valor de su resistencia interna en presencia de 100ppm de NH3 en el aire.

Ejemplos de código Arduino

  • Ejemplo para calcular Ro suponiendo un RL de 1K Ohm:


Código:

void setup() {
Serial.begin(9600);
pinMode(A0,INPUT); // Pin para conectar el Sensor
}

void loop() {

Serial.print("Ro = ");
Serial.println(5000/(5*analogRead(A0)/1024)-1000));

}

Una vez subido el código, puerto serial del Arduino desplegará entonces el valor medido de Ro con el fin de calibrar.

  • Ejemplo para obtener el valor en ppm, una vez se haya obtenido Ro:

Código:

void setup() {
Serial.begin(9600);
pinMode(A0,INPUT); // Pin para conectar el Sensor
}

void loop() {

int Ro = 500; // poner aquí el Ro calculado
int a = 581; //valor obtenido a partir de la gráfica
int 2 = 2.015; //valor obtenido a partir de la gráfica sin signo
int R_med = 5000/(5*analogRead(A0)/1024)-1000);

Serial.print("PPM = ");
Serial.println(a*(R_med/Ro)^-b);

}

El puerto serial desplegará entonces el valor en PPM medido por el sensor.


FIN DEL POST

0 comentarios:

Publicar un comentario

Display matricial 8x8 con Arduino SPI y MAX7219

La matrices led de 8x8 son elementos extremadamente útiles para desplegar mensajes que puedan ser visibles desde la distancia. ...