- Sensores de gas de la serie MQ
- Preparación de su hardware:
- Enfoque para medir PPM de sensores de gas MQ:
- Cálculo del valor de Ro en aire limpio:
- Mide el valor de Rs:
- Relacionando la relación Rs / Ro con PPM:
- Programa para calcular PPM usando el sensor MQ:
- Mostrando el valor de PPM en hardware con Arduino y MQ-137:
Desde la época de la era industrial, la humanidad nos hemos desarrollado rápidamente. Con cada progreso también contaminamos nuestro medio ambiente y eventualmente lo degradamos. Ahora el calentamiento global es una amenaza alarmante e incluso el aire que respiramos se está volviendo crítico. Por tanto, el control de la calidad del aire también ha comenzado a cobrar importancia. Entonces, en este artículo, aprenderemos cómo usar cualquier sensor de gas de la serie MQ con Arduino y mostraremos la salida en PPM (partes por millón). El PPM también se expresa como miligramos por litro (mg / L). Estos sensores están comúnmente disponibles y también son confiables para medir diferentes tipos de gas que se muestran a continuación.
Sensores de gas de la serie MQ
- Dióxido de carbono (CO2): MG-811
- Monóxido de carbono (CO): MQ-9
- Compuestos orgánicos volátiles totales (TVOC): CCS811
- Dióxido de carbono equivalente (eCO2): CCS811
- Óxido de metal (MOX): CCS811
- Amoníaco: MQ-137
- Calidad del aire: MQ-135
- GLP, alcohol, humo: MQ2
Ya hemos utilizado MQ2 para detección de humo y MQ-135 para proyectos de monitoreo de calidad del aire. Aquí usaré el sensor MQ-137 de sainsmart para medir el amoníaco en ppm. Con el sensor en la mano, revisé todos los tutoriales disponibles y descubrí que no hay documentación adecuada sobre cómo medir el gas en ppm. La mayoría de los tutoriales tratan solo con los valores analógicos o introducen algunas constantes que no son confiables para medir todo tipo de gas. Entonces, después de jugar en línea durante mucho tiempo, finalmente encontré cómo usar estos sensores de gas de la serie MQ para medir ppm usando Arduino. Estoy explicando las cosas desde abajo sin ninguna biblioteca para que pueda usar este artículo para cualquier sensor de gas disponible con usted.
Preparación de su hardware:
Los sensores de gas MQ se pueden comprar como un módulo o simplemente como un sensor solo. Si su propósito es medir solo ppm, entonces es mejor comprar el sensor solo, ya que el módulo es bueno para usar solo el pin digital. Entonces, si ya ha comprado el módulo, debe realizar un pequeño truco que se discutirá más adelante. Por ahora, supongamos que ha comprado el sensor. El pinout y la conexión del sensor se muestran a continuación
Como puede ver, solo tiene que conectar un extremo de 'H' al suministro y el otro extremo de 'H' a tierra. Luego combine ambos A y ambos B. Conecte un juego para suministrar voltaje y el otro a su pin analógico. La resistencia R L juega un papel muy importante en el funcionamiento del sensor. Así que tome nota del valor que está utilizando, se recomienda un valor de 47k.
Si ya ha comprado un módulo, debe realizar un seguimiento de los rastros de su PCB para encontrar el valor de su R L en la placa. Grauonline ya ha realizado este trabajo por nosotros y el diagrama del circuito de la placa del sensor de gas MQ se muestra a continuación.
Como puede ver, la resistencia R L (R2) está conectada entre el pin Aout y el suelo, por lo que si tiene un módulo, el valor de R L se puede medir utilizando un multímetro en modo de resistencia a través del pin Vout y el pin Vcc de el módulo. En mi sensor de gas sainsmart MQ-137, el valor de RL era 1K y estaba ubicado aquí como se muestra en la siguiente imagen.
Sin embargo, las reclamaciones de sitios web que proporciona una olla variable R L que no es cierto como se puede ver claramente en el diagrama del circuito, el bote se usa para ajustar el voltaje variable para amplificador operacional y no tiene nada que ver con R L. Entonces, tenemos que soldar manualmente la resistencia SMD (1K) que se muestra arriba y tenemos que usar nuestra propia resistencia a través del pin Tierra y Vout que actuará como RL. El mejor valor para RL será 47K como lo sugiere la hoja de datos, por lo tanto, usaremos el mismo.
Enfoque para medir PPM de sensores de gas MQ:
Ahora que sabemos el valor de R L, procedamos a cómo medir realmente las ppm de estos sensores. Como todos los sensores, el lugar para comenzar es su hoja de datos. La hoja de datos MQ-137 se proporciona aquí, pero asegúrese de encontrar la hoja de datos correcta para su sensor. Dentro de la hoja de datos solo necesitamos un gráfico que se trazará contra (Rs / Ro) VS PPM, este es el que necesitamos para nuestros cálculos. Así que charla y téngala a mano. El de mi sensor se muestra a continuación.
Resulta que el sensor MQ137 puede medir NH3, C2H6O e incluso CO. Pero, aquí estoy interesado solo en los valores de NH3. Sin embargo, puede usar el mismo método para calcular ppm para cualquier sensor que desee. Este gráfico es la única fuente para que podamos encontrar el valor de ppm y si de alguna manera pudiéramos calcular la ración de Rs / Ro (eje X), podemos usar este gráfico para encontrar el valor de ppm (eje Y). Para encontrar el valor de Rs / Ro, necesitamos encontrar el valor de Rs y el valor de Ro. Donde Rs es la resistencia del sensor a la concentración de gas y Ro es la resistencia del sensor en clean sir.
Sí… este es el plan, veamos cómo podemos salirnos con la nuestra…
Cálculo del valor de Ro en aire limpio:
Tenga en cuenta que en el gráfico, el valor de Rs / Ro es constante para el aire (línea azul gruesa), por lo que podemos usar esto en nuestro beneficio y decir que cuando el sensor está funcionando al aire libre, el valor de Rs / Ro será 3.6, consulte la imagen. abajo
Rs / Ro = 3.6
De la hoja de datos también obtenemos una fórmula para calcular el valor de Rs. La fórmula se muestra a continuación. Si está interesado en saber cómo se deriva esta fórmula, puede leer los sistemas jay con, también me gustaría darles crédito por ayudarme a resolver esto.
En esta fórmula, el valor de Vc es nuestro voltaje de suministro (+ 5V) y el valor de R L es el que ya calculamos (47K para mi sensor). Si escribimos un pequeño programa Arduino también podríamos encontrar el valor de V RL y finalmente calcular el valor de Rs. He dado un programa Arduino a continuación que lee el voltaje analógico (V RL) del sensor y calcula el valor de Rs usando esta fórmula y finalmente lo muestra en el monitor en serie. El programa está bien explicado a través de la sección de comentarios, así que me salto su explicación aquí para que este artículo sea breve.
/ * * Programa para medir el valor de R0 para un RL conocido en condiciones de aire fresco * Programa de: B.Aswinth Raj * Sitio web: www.circuitdigest.com * Fecha: 28-12-2017 * / // Este programa funciona mejor en una habitación de aire fresco con temperatura Temp: 20 ℃, Humedad: 65%, concentración de O2 21% y cuando el valor de Rl es 47K # defina RL 47 // El valor de la resistencia RL es 47K void setup () // Solo funciona once {Serial.begin (9600); // Inicializar COM serial para mostrar el valor} void loop () {float analog_value; flotar VRL; flotar Rs; flotar Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Leer la salida analógica del sensor 200 veces {analog_value = analog_value + analogRead (A0); // suma los valores para 200} analog_value = analog_value / 500.0; // Toma el VRL promedio = valor_análogo * (5.0 / 1023.0);// Convertir valor analógico a voltaje // RS = ((Vc / VRL) -1) * RL son las fórmulas que obtuvimos de la hoja de datos Rs = ((5.0 / VRL) -1) * RL; // RS / RO es 3.6 como obtuvimos del gráfico de la hoja de datos Ro = Rs / 3.6; Serial.print ("Ro al aire libre ="); Serial.println (Ro); // Mostrar el retardo Ro calculado (1000); // retraso de 1 segundo}
Nota: El valor de Ro variará, deje que el sensor se precaliente al menos durante 10 horas y luego utilice el valor de Ro.
Concluí que el valor de Ro es 30 KΩ para mi sensor (cuando R L es 47kΩ). El tuyo puede variar ligeramente.
Mide el valor de Rs:
Ahora que conocemos el valor de Ro, podemos calcular fácilmente el valor de Rs usando las dos fórmulas anteriores. Tenga en cuenta que el valor de Rs que se calculó anteriormente es para aire fresco y no será el mismo cuando haya amoníaco en el aire. Calcular el valor de Rs no es un gran problema que podamos abordar directamente en el programa final.
Relacionando la relación Rs / Ro con PPM:
Ahora que sabemos cómo medir el valor de Rs y Ro, podríamos encontrar su razón (Rs / Ro). Luego, podemos usar el gráfico (que se muestra a continuación) para relacionarlo con el valor correspondiente de PPM.
Aunque la línea NH3 (color cian) parece ser lineal, en realidad no es lineal. La apariencia se debe a que la escala se divide de manera no uniforme por apariencia. Entonces, la relación entre Rs / Ro y PPM es en realidad logarítmica, lo que se puede representar mediante la siguiente ecuación.
log (y) = m * log (x) + b donde, y = relación (Rs / Ro) x = PPM m = pendiente de la recta b = punto de intersección
Para encontrar los valores de myb tenemos que considerar dos puntos (x1, y1) y (x2, y2) en nuestra línea de gas. Aquí estamos trabajando con amoníaco, por lo que los dos puntos que he considerado son (40,1) y (100,0.8) como se muestra en la imagen de arriba (marcado en rojo) con marca roja.
m = / m = log (0.8 / 1) / log (100/40) m = -0.243
De manera similar para (b) obtengamos el valor del punto medio (x, y) del gráfico que es (70,0.75) como se muestra en la imagen de arriba (marcado en azul)
b = log (y) - m * log (x) b = log (0,75) - (-0,243) * log (70) b = 0,323
Eso es todo ahora que hemos calculado el valor de myb podemos igualar el valor de (Rs / Ro) a PPM usando la siguiente fórmula
PPM = 10 ^ {/ m}
Programa para calcular PPM usando el sensor MQ:
El programa completo para calcular PPM usando un sensor MQ se proporciona a continuación. A continuación se explican algunas líneas importantes.
Antes de continuar con el programa, necesitamos introducir los valores de Resistencia de carga (RL), Pendiente (m), Intercepción (b) y el valor de Resistencia en aire fresco (Ro). El procedimiento para obtener todos estos valores ya se ha explicado, así que vamos a introducirlos ahora.
#define RL 47 // El valor de la resistencia RL es 47K #define m -0.263 // Ingrese la pendiente calculada #define b 0.42 // Ingrese la intersección calculada #define Ro 30 // Ingrese el valor de Ro encontrado
Luego lea la caída de voltaje en el sensor (VRL) y conviértala a voltaje (0V a 5V) ya que la lectura analógica solo devolverá valores de 0 a 1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Mida la caída de voltaje y conviértala a 0-5V
Ahora que se calcula el valor de VRL, puede usar la fórmula discutida anteriormente para calcular el valor de Rs y también la relación (Rs / Ro)
relación = Rs / Ro; // encontrar la relación Rs / Ro
Finalmente, podemos calcular el PPM con nuestra fórmula logarítmica y mostrarlo en nuestro monitor en serie como se muestra a continuación.
doble ppm = pow (10, ((log10 (relación) -b) / m)); // usa la fórmula para calcular ppm Serial.print (ppm); // Mostrar ppm
Mostrando el valor de PPM en hardware con Arduino y MQ-137:
Suficiente de toda la teoría, construyamos un circuito simple con el sensor y la pantalla LCD para mostrar el valor del gas en PPM. Aquí el sensor que estoy usando es MQ137 que mide el amoníaco, el diagrama del circuito para mi configuración se muestra a continuación.
Conecte su sensor y su LCD como se muestra en el diagrama de circuito y cargue el código que se proporciona al final del programa. Tiene que modificar el valor de Ro como se explicó anteriormente. También realice los cambios en los valores de los parámetros si está utilizando cualquier otra resistencia como RL que no sea 4.7K.
Deje su configuración encendida durante al menos 2 horas antes de tomar cualquier lectura (se recomiendan 48 horas para obtener valores más precisos). Este tiempo se llama tiempo de calentamiento, durante el cual el sensor se calienta. Después de esto, debería poder ver el valor de PPM y el voltaje que se muestran en la pantalla LCD como se muestra a continuación.
Ahora, para asegurarnos de si los valores están realmente relacionados con la presencia de amoníaco, coloquemos esta configuración dentro de un recipiente cerrado y enviemos gas amoníaco dentro para verificar si los valores están aumentando. No tengo un medidor de PPM adecuado conmigo para calibrarlo y sería genial si alguien con medidor pudiera probar esta configuración y avisarme.
Puede ver el video a continuación para verificar cómo variaron las lecturas según la presencia de amoníaco. Espero que haya entendido el concepto y haya disfrutado aprendiéndolo. Si tiene alguna duda, déjela en la sección de comentarios o para obtener ayuda más detallada, utilice el foro aquí.