Haga clic para más productos.
No se encontraron productos.
Búsqueda de blogs
Artículos Recientes
Categorías del blog
Últimos comentarios
No hay artículos
Artículos relacionados

Tutorial sensores de gas MQ2, MQ3, MQ7 y MQ135

237832

Los sensores de gas de la serie MQ son sensores analógicos por lo que son fáciles de implementar con cualquier microcontrolador.

 

 sensor MQ

Estos sensores son electroquímicos y varían su resistencia cuando se exponen a determinados gases, internamente posee un calentador encargado de aumentar la temperatura interna y con esto el sensor pueda reaccionar con los gases provocando un cambio en el valor de la resistencia. El calentador dependiendo del modelo puede necesitar un voltaje entre 5 y 2 voltios, el sensor se comporta como una resistencia y necesita una resistencia de carga (RL) para cerrar el circuito y con este hacer un divisor de tención y poder leerlo desde un microcontrolador:

 Estructura del sensor MQ

Debido al calentador es necesario esperar un tiempo de calentamiento para que la salida sea estable y tenga las características que el fabricante muestra en sus datasheet, dicho tiempo dependiendo del modelo puede ser entre 12 y 48 horas.

En el mercado, generalmente los sensores MQ se encuentran en módulos, lo que nos simplifica la parte de conexiones y nos facilitan su uso, solo basta con alimentar el módulo y empezar a leer el sensor, estos módulos también tienen una salida digital la cual internamente trabaja con un comparador y con la ayuda de un potenciómetro podemos calibrar el umbral y así poder interpretar la salida digital como presencia o ausencia del gas.

 Sensor de Alcohol MQ3

La diferencia entre los distintos tipos de sensores MQ es la sensibilidad a cierta gama de gases, más sensibles a algunos gases que a otros, pero siempre detectan a más de un gas, por lo que es necesario revisar los datasheet para escoger el sensor adecuado para nuestra aplicación.

A continuación detallamos los principales sensores MQ:

 

Sensor de gas combustible y humo MQ-2

Estos sensores son adecuados para detectar GLP, propano, metano, alcohol, hidrógeno, humo. Siendo más sensible al GLP y propano.

Sensor de Gas MQ2

Sensor de Alcohol MQ3

Es muy sensible al alcohol y de menor sensibilidad a la bencina, también es sensible a gases como GLP, Hexano, CO, CH4 pero con sensibilidad muy baja, la cual se puede despreciar si hay poca concentración de estos.

Sensor de Alcohol MQ3

Sensor de Monóxido de Carbono MQ7

Este sensor es de alta sensibilidad al monóxido de carbono (CO), pero también es sensible al H2.

Sensor MQ7 Monoxido de Carbono

Sensor Calidad Aire MQ135

Se utilizan en equipos de control de calidad del aire para edificios y oficinas, son adecuados para la detección de NH3, NOx, alcohol, benceno, humo, CO2, etc.

Sensor Calidad Aire MQ135

Este ultimo sensor es sensible en similar proporción a los gases mencionados, con lo que podemos determinar si el aire está limpio.

Si necesitan información más detallada o de otros tipos de sensores pueden consultar los datasheet en el siguiente link.

Explicado lo anterior realicemos algunos ejemplos:

 

Lectura Digital de los módulos MQ

El mismo sensor MQ se los puede encontrar en dos placa distintas, cuyo funcionamiento es el mismo pero tienen diferente orden de pines:

La conexión para leer la salida digital seria de la siguiente forma:

Conexion digital MQ-3 y arduino

De igual forma si tenemos el otro modelo de placa:

Conexion digital MQ-3 y arduino, modelo 2

Tan pronto se alimente el módulo este empezará a calentar, hay que esperar unos minutos para que el modulo caliente y tener un censado adecuado.

En el ejemplo usaremos un MQ-3 (sensor de alcohol) pero el programa es el mismo para cualquier módulo MQ si se usa la salida digital, puesto que  esta salida se comporta como 1 o 0. Tener en cuenta que esta salida es negada, 1 para ausencia de alcohol y 0 para presencia de alcohol.

El Sketch para Arduino es el siguiente:

int pin_mq = 2;

void setup() { 
  Serial.begin(9600);
  pinMode(pin_mq, INPUT);
}


void loop() {
  
  boolean mq_estado = digitalRead(pin_mq);//Leemos el sensor
  if(mq_estado) //si la salida del sensor es 1
  {
    Serial.println("Sin presencia de alcohol");
  }
  else //si la salida del sensor es 0
  {
    Serial.println("Alcohol detectado");
  }
  delay(100); 
}

En este coso la lectura desde Arduino es como leer cualquier entrada digital, y la sensibilidad del sensor se configura a través de la resistencia variable que trae el modulo, girando a la derecha se hace más sensible y necesitamos menos presencia de alcohol para activar la salida, de igual forma si giramos a la izquierda aumentamos el umbral necesitando mayor presencia del gas (alcohol) para que se active la salida.

potenciometro Modulo MQ

Recordar que la salida del sensor es negado, por lo que cuando nos referimos a activar el sensor es cuando la salida es 0, en este estado el led del módulo también debe encenderse ya que internamente está con una resistencia a 5V. Cuando no hay presencia de alcohol el Led se apaga y la salida es un 1 lógico (5V)

A continuación mostramos la salida del monitor serial  en el momento cuando el módulo MQ-3 se expone a alcohol (aire con alcohol)

MQ-3 salida digital

  

 

Lectura Analógica de los módulos MQ

Para este caso debemos de conectar la salida analógica del módulo a una entrada analógica del Arduino:

 conexion analogica MQ-3 y arduino

Y de forma análoga para el otro modelo de placa:

Conexion analogica MQ-3 y arduino, modelo 2

 La diferencia de utilizar la salida digital, es que usando la salida analógica podemos trabajar con diferentes niveles de presencia de gas y escalarlo de acuerdo a la necesidad de nuestra aplicación.

A continuación mostramos un sketch para leer la salida analógica:

void setup() {
  Serial.begin(9600);
}

void loop() {
  
  int adc_MQ = analogRead(A0); //Lemos la salida analógica del MQ
  float voltaje = adc_MQ * (5.0 / 1023.0); //Convertimos la lectura en un valor de voltaje

  Serial.print("adc:");
  Serial.print(adc_MQ);
  Serial.print("    voltaje:");
  Serial.println(voltaje);
  delay(100);
}

 Al tratarse de una salida analógica, el código es el mismo para cualquier tipo de sensor MQ con el que estén trabajando.

Debido a que el modulo tiene una cámara de calentamiento a donde tiene que ingresar o salir el gas, el tiempo de respuesta es lento, el sensor seguirá detectando los residuos de gas que se quedan dentro de la cámara de calentamiento hasta que estos desaparezcan.

A continuación mostramos valores que se obtuvieron para el sensor MQ-3 sin exponer a alcohol ni otro tipo gas.

Lectura anlogica MQ-3 sin alcohol

  

Y cunado exponemos a aire con alcohol los datos obtenidos son los siguientes:

 Lectura analogica de MQ-3 con Alcohol

  

Tener en cuenta que todos los módulos son sensibles a más de un gas, claro que en diferente proporción; pero si se trabaja en ambientes en donde hay diferentes tipos de gases no podríamos diferenciar entre ellos y podríamos tener una referencia equivocada si solo necesitamos leer un gas.

   

   

Escalando  los sensores MQ

Si en nuestra aplicación que estamos implementando necesitamos los valores en unidades correspondientes a la medición del gas, necesitamos escalar el valor leído, el problema de esto es que la relación entre la lectura analógica y el valor real no es lineal. Por lo que necesitamos estimar la curva que nos da el datasheet

Los siguientes pasos los trabajamos para el MQ-3, pero se aplica analogamente para los otros MQ

Por Ejemplo para el sensor MQ-3 según el datasheet la curva es la siguiente:

 Curva del MQ-3

    

Debido a que nos da la curva y no la ecuación es necesario estimar y por regresión hallar la ecuación, en nuestro caso usaremos Excel, para eso ingresamos datos de la curva de Alcohol, la mayor cantidad de puntos que podamos, y graficamos en Excel. Agregamos línea de tendencia y escogemos ecuación potencial

Regresion curva MQ-3

  

La ecuación que obtenemos es:

Alcohol=0.4091(Rs/Ro)^(-1.497)

Alcohol es el valor de concentración de alcohol, Ro es una constante que equivale al valor de la resistencia del sensor cuando se lo expone a una concentración de 0.4mg/L y Rs es la resistencia del sensor, el cual leemos desde Arduino.

Nosotros en el ejemplo anterior calculamos el voltaje leído del sensor, para calcular el valor de Rs despejamos la ecuación del divisor de voltaje que forma el sensor con la resistencia de carga RL que en la mayoría de módulos es de 1K.

V_leido=5(1000/(Rs+1000))

Rs=1000((5-V)/V)  

El valor de Ro se calcula en laboratorio, Ro es el valor de Rs cuando se usa una muestra de aire con 0.4mg/L. Y hay que hacer esto para cada sensor puesto que Ro es diferente en cada sensor.

Otra forma de calibrar es usando concentraciones conocidas, para esto es necesario en el caso del sensor de alcohol usar un alcoholímetro para calibrarlo. Para esto no es necesario hacer la regresión de  la curva que nos da el datasheet la cual es válida siempre y cuando se mida en las condiciones indicadas. De dicha curva solo tomaremos la forma que tiene e incluso Ro  lo consideramos como constante. La ecuación seria de la siguiente forma.

Alcohol=a*(Rs)^b

Para calcular las constantes a y b solo necesitamos tomar dos muestras, con nuestro sensor medimos el Rs de dichas muestras y con el alcoholímetro calculamos el valor correspondiente de concentración de alcohol para dichas muestras. Con esos dos puntos ingresamos a la ecuación y calculamos las dos constantes.

Las dos formas anteriores son la forma correcta de calibrar nuestro sensor, hallando Ro con una muestra 0.4mg/L o usando un alcoholímetro para tomar muestras de referencia.

Pero para no dejar inconcluso nuestro tutorial explicaremos otro método para conseguir de forma aproximada el valor de Ro y así tener la ecuación resuelta.

En el grafico de la ecuación potencial observamos que el valor de Rs/Ro se acerca a 0.1 para valores superiores a la  máxima concentración de alcohol que el sensor puede censar,  en los puntos cercanos a este punto, la variación de rs/ro es mínima por lo que los errores que podamos tener acá para calcular Ro son pequeños.

Entonces asumiendo que el sensor se satura con 10mg/L  al cual según la gráfica le corresponde un  Rs/Ro  de 0.12, los puntos sercanos por mayor variacion de alcohol que exista el rs/ro tendra variaciones minimas. Para estar en este punto generamos un ambiente con bastante alcohol y si medimos con nuestro sensor obtendremos un voltaje de 3.02, que equivale a un Rs=655, entonces

(Rs/Ro)=0.12 si Rs=655 entonces Ro=5463

Con Ro calculado,  ya tenemos una solución de la ecuación y con esto  podemos obtener los valores aproximados de concentración de alcohol.

  

Cualquiera sea el método de Calcular la ecuación deberán de ingresarlo y modificar la ecuación en  el sketch siguiente:

void setup() {
  Serial.begin(9600);
}

void loop() {
  
  int adc_MQ = analogRead(A0); //Lemos la salida analógica  del MQ
  float voltaje = adc_MQ * (5.0 / 1023.0); //Convertimos la lectura en un valor de voltaje
  float Rs=1000*((5-voltaje)/voltaje);  //Calculamos Rs con un RL de 1k
  double alcohol=0.4091*pow(Rs/5463, -1.497); // calculamos la concentración  de alcohol con la ecuación obtenida.
  //-------Enviamos los valores por el puerto serial------------
  Serial.print("adc:");
  Serial.print(adc_MQ);
  Serial.print("    voltaje:");
  Serial.print(voltaje);
  Serial.print("    Rs:");
  Serial.print(Rs);
  Serial.print("    alcohol:");
  Serial.print(alcohol);
  Serial.println("mg/L");
  delay(100);
}

A continuación se muestra el resultado de sensar una muestra de aire con alcohol:

 Monitor Serial MQ-3 calibrado

   

Mencionar nuevamente que todos los sensores MQ como los MQ-2, MQ-3, MQ-7, MQ-135, etc tienen su propia curva y las cuales lo pueden encontrar en sus datasheet correspondientes. Y la forma correcta de calibrar nuestros MQ es usar un instrumento maestro para tomar muestras y con estos puntos calcular las constantes de la curva.

Productos relacionados
Artículos relacionados
76 Comentarios
  • Pato Naranjo

    Pato Naranjo 12/07/2021 Responder

    Alguien ha trabajado con el MQ131?
  • Manuel Piñón

    Manuel Piñón 29/12/2020 Responder

    Hola!! sabrán alguien de Ustedes si el sensor MQ135 o bien otros de los mencionados, podrá solo detectar presencia de gas cloro, ya que no me interesa la concentración sino solo su presencia, para así que envíe una señal de alerta a una PC o celular. Saludos y de antemano Gracias por su apoyo.
  • ENCARGOS 3D

    ENCARGOS 3D 09/11/2020 Responder

    La RL se mide con un ohmnimetro entre VOut y GND, se obtiene la paralela, pero simplificando es equivalente a la RL.
    Las curvas del Datasheet no sirven absolutamente de nada, pues son para unas condiciones específicas que nada tienen que ver con tu sensor en concreto.
    El sensor es un sensor de gran precisión, otra cosa es no saber sacar la relación o no considerar las variaciones de voltaje en el Arduino y cómo le afectan. El sensor CSS811, que pone que es para detectar CO2 es un sensor de alcoholes, al igual que este; vale 5€, y sí que consume menos, pero lo que mide es lo mismo, la diferencia es que lleva un microcontrolador incorporado que deduce la proporción de CO2 en función del alcohol del aire mediante un algoritmo.
    Como no podemos usar las curvas que nos dan para los MQ, hay que resolver el circuito, cuya ecuación ya está resuelta en este hilo y trabajar con la Rs resultante, sin aplicar la relación logarítmica.
    Luego solo tenemos que aplicar cantidades de CO2 conocidas a un volumen de aire y ver cómo varía e interpolarlo con EXCEL para tener una medida exacta de CO2 sin considerar la presencia de otros contaminantes.
    Con las pruebas que he comenzado he obtenido descensos de Rs del 6%-9% con pequeños aumentos en el nivel de CO2.
  • Carlos

    Carlos 29/07/2020 Responder

    si o si hay que usar un instrumento de medición? tengo el mq7
  • Santiago

    Santiago 16/04/2020 Responder

    El sensor mq2 puede funcionar con un voltaje de 3,3?
  • EDUARDO

    EDUARDO 28/02/2020 Responder

    Quiero calibrar el MQ135 para visualizar en el monitor la concentración de CO2 en ppm. Alguien sabe cómo calibrarlo para conseguirlo? Gracias
  • Adimaro

    Adimaro 03/10/2019 Responder

    Buenas noches amigo, una pregunta, no se que tan obvia sea....

    Dices que el tiempo de calentamieno es entre 12 y 24 horas, pero seria solo el primer uso, o cada que se desee sensar se debe tener este calentamiento
  • Luis

    Luis 02/10/2019 Responder

    Hola ,yo tengo una inquietud , como puedo hacer para saber los datos exactos de la curva que nos brinda el Datasheet
  • garcia

    garcia 02/09/2019 Responder

    hola quiero calcular el Ro en el MQ 8 q da lectura del hidrógeno, cual seria el valor de saturacion en el aire.
  • Nelly Catherine

    Nelly Catherine 05/08/2019 Responder

    Hola! me gustaria realizar dos preguntas.
    La primera de ellas es: cuando se realiza el sketch de lectura analogica para leer el voltaje de salida, aparece float voltaje = adc_MQ * (5.0 / 1023.0); //Convertimos la lectura en un valor de voltaje. A que correspone el valor de 1023.0?

    La segunda, el valor de RL ya viene embutida en el modulo o es la resistencia que nosotros colocamos en el circuito
    para poder leer la medida desde el microcontrolador?

    Agradezco la atención.
  • Esteban Yanson

    Esteban Yanson 08/07/2019 Responder

    Hola. Te consulto cuál es el más adecuado para mi necesidad. Tengo un ahumador de comida eléctrico y necesito detectar cuando deja de largar humo y así poner más madera. A si que necesito que sea bastante sensible ya que el humo no es tan en denso como en un incendio.

    Gracias
  • elizabeth

    elizabeth 13/06/2019 Responder

    podrías ayudarme?, no se que materiales debo utilizar para construirlo, como tal no eh encontrado materiales específicos para el sensor Mq 135. de antemano te lo agradecería mucho
  • Yeuselin Muñoz

    Yeuselin Muñoz 27/04/2019 Responder

    Hola soy nueva en este campo y estoy tratando de hacer una alarma con el MQ7, pero como lo calibrarlo para que me avise cuando detecte un valor determinado de CO y H2. Porfavor. Gracias.
  • Felipe Cardoso

    Felipe Cardoso 19/02/2019 Responder

    Amigo como você achou os pontos para plotar o gráfico no excel?
    • Nelly Catherine Barbosa Calderón

      Nelly Catherine Barbosa Calderón 05/08/2019 Responder

      Eles acharam os pontos olhando o datasheet do sensor. A escala é logarítmica e você pode pegar o maior numero de pontos que puder.
  • Juan Gonzalez

    Juan Gonzalez 10/12/2018 Responder

    Hola Buenos días. Quisiera saber si alguien que conozca de química-física me puede orientar. Lo que deseo es detectar pérdidas de Nitrogeno Líquido (LN2) de un termo criogénico. Podré usar un MQ135 para ésto ? O algún otro MQ ?
    En algún momento me dijeron que para estas aplicaciones lo que se hace es medir el nivel de Oxígeno porque supuestamente al haber una pérdida de Nitrógeno, disminuye el nivel de Oxígeno en el aire...
    Muchas gracias.
  • Jorge Campos

    Jorge Campos 03/09/2018 Responder

    Buenas noches. Felicitarlo por el excelente material. Quería saber cómo podría hacer para los resultados del sensor enviarlos por bluetooth a algún dispositivo, ya que el sensor lo quiero poner en un carrito controlado por bluetooth. Muchas gracias por su atención,
  • Bartolo

    Bartolo 11/07/2018 Responder

    Hola. Estoy haciendo una maqueta en la cual tengo un. Cuarto donde pondré un sensor MQ135 el cual lo quiero activar con humo. Como lo hago. Ayuda por favor
  • Gauna manuel

    Gauna manuel 05/06/2018 Responder

    una pregunta , si yo quisiera medir con el sensor mq-7 monoxido de carbono , tendria que ponerlo en ppm , osea que yo quiero saber que valor tengo de monoxido de carbono, como tengo que hacer me ayudar porfavor?
  • Cristian Fernando

    Cristian Fernando 12/04/2018 Responder

    Disculpen necesito realizar un tipo verificentro en arduino con matlab que me recomiendan?
  • jeimy mosquera

    jeimy mosquera 06/04/2018 Responder

    hola, necesito un sensor mq2 podrian explicare como adactarlo
  • juan manuel marin

    juan manuel marin 28/02/2018 Responder

    buenos días es para pedirles a ustedes que suban un vídeo de como conectar el sensor MQ-135 que es de calidad de el aire y los que hay son demaciados confusos para hacerlo gracias
  • santiago

    santiago 23/02/2018 Responder

    ¿Existe sensor expecífico para CO2? Entiendo que el MQ135 mide la suma de todos esos gases contaminantes, y a mí me interesa trabajar exclusivamente con CO2
  • Luis Hernando Nuñez

    Luis Hernando Nuñez 19/02/2018 Responder

    Hola buenas tardes, tengo una duda, si yo quiero utilizar un sensor MQ135 para medir NH3 o CO2 que Arduino me serviría... y que software utilizaría, o todo se pasa directo al computador ?
  • Omar López

    Omar López 16/02/2018 Responder

    Hola. Oye, tengo una duda, dices que RL por lo general es 1k pero el el costado derecho de las gráficas logarítmicas que da el fabricante indica otros valores, por ejemplo en tu caso del MQ3 indica que RL es 200k ohmios. ¿Cuál entonces es el valor real de RL?
  • Ana Labudía

    Ana Labudía 09/02/2018 Responder

    Hola! quería saber cómo hacen para calibrar un sensor MQ7, de CO, qué herramienta maestra usan, de que forma y cómo lo hacen para asegurarse la cantidad de ppm de CO que miden la primera vez??
  • Fernando Castro

    Fernando Castro 26/12/2017 Responder

    Hola que tal amigo una pregunta, yo tengo el MQ-135 y quiero calcular el hidrogeno que hay en el aire en el ambiente pero no se como seria en calcular eso o el procedimiento ya que no soy quimico no se nada de eso y queia ver si podrias ayudarme en eso en como calcular el hidrogeno del aire con este sensor te lo agradeceria muchisimo
  • Gabriel

    Gabriel 22/11/2017 Responder

    Hi
    In datasheet ia possible to see that Rs=Rl(Vc/Vrl-1)

    But you used
    Rs=Rl(Vc-Vrl/Vrl)

    Why is it different?
    Thanks!
  • Carlos Massó

    Carlos Massó 06/11/2017 Responder

    Hola!

    Muchas gracias por el post, ha sido lo más útil que he visto tras varias horas investigando sobre el tema de los sensores.

    Una pregunta. En el proyecto que estoy trabajando, no necesitamos saber la cantidad exacta de un gas, tan solo queremos saber si el nivel sube o baja, por ejemplo, si está dentro de un límite que un led se encienda en verde, si lo sobrepasa que se ponga naranja y si está en el máximo que se ponga rojo. Sería posible hacerlo sin tener que calibrarlo? Ya que no tenemos acceso a un laboratorio ni nada parecido.

    Gracias!
  • Hassan

    Hassan 11/10/2017 Responder

    buenas tardes amigo yo quisiera medir CO2 primero con un mq135 y luego con un mg811,ahorita tengo casi todo para el mq135 supondré que mi valor teórico para calibrar que serán los 385 ppm que tiene la atmósfera supuesta mente. pero en la parte de la parte de tu codigo donde tienes 5/1023 de donde sacaste el valor de 1023? y mencionas que el valor de RL es de 1K casi para todos los sensores sin embargo revise la data y en el caso de tu sensor el RL es de 200k o como sacaste el de 1K?
    • Geo

      Geo 25/05/2019 Responder

      el valor de 1023 viene dado por la resolucion del convertidor analogico digital.
  • Manuel

    Manuel 10/10/2017 Responder

    Hola amigo, excelente tutorial, de los pocos que he visto mas completos. Mira te cuento, tengo un MQ7 que estoy utilizando con un modulo NodeMCU. El caso es que seguí otro tutorial donde se utiliza un transistor NPN y hace la variacion de voltaje con una salida PWM, en el video lo hacen con un arduino leonardo y funciona perfectamente (yo tambien lo probe), despues intente hacer lo mismo con el NodeMCU y si hace el alternado de voltaje, medi con un multimetro y es casi igual a lo que hace el arduino Leonardo, el unico problema es que la lectura me la da mal, es decir me dice que esta saturado el sensor, siendo que no esta expuesto a CO.

    La pregunta es a que se puede deber esto? y si no conoces alguna otra forma de alternar el sensor MQ7 para poder trabajar con el modulo NodeMCU. ?
  • Noel

    Noel 17/09/2017 Responder

    HELLO GUYS, im trying to get the right ppm to detect presence of nh3 using mq135, any good sources to answer my request ? TYIA :)
  • Miguel

    Miguel 17/08/2017 Responder

    Hola, estoy trabajando con un sensor MQ-135, ¿cuales son los datos que debo de ingresar para hacer las gráficas correspondientes de cada uno de los gases a medir del sensor MQ-135?
  • Jose

    Jose 26/06/2017 Responder

    Hola,

    y... ¿Cómo simulamos cada caso?....

    Gracias!
  • Maria

    Maria 13/06/2017 Responder

    Muy buen artículo, tengo una duda sin embargo.
    he comprado el mq-2 que viene con un potenciómetro (no el sensor suelto). este: https://www.elecfreaks.com/wiki/index.php?title=Octopus_Smoke_Sensor_MQ-2/MQ-5_Brick

    mi duda es, el potenciómetro que incorpora sirve para ajustar la sensibilidad. Es la resistencia de carga a añadir de la que habláis en el artículo (la RL que nombráis) o se le tiene que conectar de todas formas?

    Gracias!
    • Naylamp

      Naylamp 18/06/2017 Responder

      Hola maría, según el esquemático del sensor que tienes la resistencia variable es la resistencia de carga RL
  • Marcelo

    Marcelo 31/05/2017 Responder

    Excelente artículo. Les dejo un link a una página que explica también como conectar estos módulos/sensores a las interrupciones de un Arduino, algo muy util para liberar el micro para otras tareas mientras no se detecte nada: http://www.arduinohobby.com/deteccion-de-gas-con-arduino/
  • Cristi

    Cristi 18/05/2017 Responder

    Disculpa yo quier saber como puedo hacer sI quiero detectar CO con un MQ-7
    • Naylamp

      Naylamp 28/05/2017 Responder

      Hola Cristi, el procedimiento es el mismo, solo usa la curva correspondiente para el CO. Para calibrar es mejor usar un sensor CO ya calibrado o conocer la concentración exacta de CO al que está expuesto el sensor, esto para despejar la variable Ro.
  • Edgar Alejandro

    Edgar Alejandro 24/04/2017 Responder

    Hola, qué significa el adc?
    • Naylamp

      Naylamp 30/04/2017 Responder

      Hola Edgar, el ADC (Analog to Digital Converter) es componente interno que tiene el arduino encargado de realizar las lecturas analógicas, la salida o resultado es representado en valores de 0 a 1023 (ADC de 10bit), cuando usamos analogRead(A0) realizamos la lectura del valor del ADC, el resultado de la lectura en el programa se escala a valores de 0 a 5V.
  • Juan Ignacio

    Juan Ignacio 17/04/2017 Responder

    Hola, quería saber cómo se hace para someter al sensor a un ciclo de 5v durante 60 segundos y 1.4v durante 90 segundos. Por lo que pude leer en sus mediciones, en ningun momento varían la alimentación del sensor. El módulo ya se encarga de realizar este ciclo de forma autonoma? o hay que programarlo en arduino ese ciclo de alimentación? Muchas gracias
    • Naylamp

      Naylamp 30/04/2017 Responder

      Estimado Juan, seguro te refieres al sensor MQ-7, este en particular en el datasheet recomienda alimentar con siclos de 1.4V y 5V, como mencionas, si estás trabajando con los módulos no podrás hacer esto, salvo conmutes externamente la alimentación principal del módulo. Lo correcto seria conmutar solo la bobina del calentador del MQ7.
  • Jesús

    Jesús 10/03/2017 Responder

    Estoy tratando de utilizar el sensor MQ-9, el precalentamiento debe ser de +48 horas, entonces ¿Lo conecto a una batería? ¿Como mantengo encendido tanto tiempo el sensor?
    • Naylamp

      Naylamp 26/03/2017 Responder

      Hola Jesús, si en la hoja de datos de tu MQ indica eso entonces tenlo conectado el tiempo indicado, si lo estas alimentando por USB desde una laptop usa mejor un cargador de celular, o laguna otra fuente, puedes también usar una batería: Puedes usarlo antes de las 48 horas, pero con el consentimiento que tus resultados no serán 100% correctos hasta que transcurra el tiempo indicado
  • sebstian

    sebstian 03/03/2017 Responder

    Hola, me gustaría saber si estos sensores de gases funcionan de manera independiente. Por ejemplo, si tengo un sensor MQ-8 de Hidrógeno y un MQ-7 de CO2, y los coloco a ambos en un mismo recipiente con una mezcla de gas de Hidrógeno y CO2. Cada uno analizaría el gas que le corresponde analizar? El de sensor de hidrógeno me lanzará los ppm sólo de hidrógeno o se verá interferido el resultado por el CO2 presente?

    Muchas gracias!
    • Naylamp

      Naylamp 07/03/2017 Responder

      Hola Sebastián, Los sensores MQ son sensibles a más de un tipo de gas, pero tienen mayor sensibilidad a unos que a otros gases como el MQ7 al CO y el MQ8 al H2. En los datasheet indica los gases a los que son sensibles determinado sensor, la presencia de estos otros gases sí podrían influenciar en los resultados
  • JOSE LUIS RAMIREZ

    JOSE LUIS RAMIREZ 17/01/2017 Responder

    hola les quería preguntar si se puede hacer un detector de gas refrigerante de antemano gracias
  • Raul

    Raul 13/01/2017 Responder

    Tengo una duda, fíjate que estoy haciendo un proyecto y ocupo tener un sensor que solamente y específicamente detecte Metano, veía que el MQ-2 lo detectaba junto con otros componentes...¿Me serviría? ¿O tendría problemas de confianza a la medición si se encuentra el Hidrógeno en el Ambiente?
    • Naylamp

      Naylamp 01/02/2017 Responder

      Hola Raúl, para sensar Metano puedes usar el MQ-2 o el MQ-4, pero ambos también son sensibles a otros gases, si en el ambiente que vas a sensar existe variación de esos otros gases entonces vas a tener lecturas incorrectas como mencionas.
  • Jaime

    Jaime 30/12/2016 Responder

    Hola, tengo una duda con la calibración del sensor MQ3. Dices que RL en la mayoría de módulos es de 1K, sin embargo en la curva característica de la sensibilidad, figura 3, dice que es de 200K. ¿La resistencia de carga RL es diferente de esta otra RL del datasheet?
    Gracias y saludos. Muy buen aporte.
    • Naylamp

      Naylamp 07/01/2017 Responder

      Hola Jaime, los parámetros a la izquierda de la figura son las condiciones en la que se han tomados los datos de la curva. En el caso de RL para el MQ3 debería ser de 200K pero los fabricantes de los módulos mayormente ponen otro valor, este cambio no debería de influenciar mucho en las lecturas, desde arduino medimos voltaje pero después despejamos y obtenemos el valor para Rs, este proceso si es necesario calcularlo con el valor real de RL que tiene nuestro modulo.
  • orlando

    orlando 03/12/2016 Responder

    Hola, estoy tratando de calibrar el mq135 para detectar ppm de co2 podria alguien ayudarme?
  • Jose

    Jose 28/11/2016 Responder

    Que tal amigo buenas noches, disculpas las molestias, muy buen material, estoy queriendo he intentado aprender a leer estos sensores, he visto varios ejemplos en la red entre ellos tu manual, mi duda es: tengo entendido según lo que he leído se basa en la ecuación Y=AX^B, de esta ecuación los valores que no entiendo son a y b, ya leí sobre regresión potencial y el método de mínimos cuadrados, vi como calcularlos a pie y con la ayuda de Excel para obtener la formula, por ejemplo realice paso a paso lo que pones en el manual siguiendo los puntos de la gráfica y mi formula me da y = 0.4078x-1.519 , donde a=0.4078 y b =-1.519 una pregunta sería ¿esto es por la interpretación que cada quien le da a los valores de la gráfica?. Otra duda he visto otros ejemplos para el sensor mq-135 en la página de http://davidegironi.blogspot.mx/2014/01/cheap-co2-meter-using-mq135-sensor- with.html#.WDt9O_nhDIU y el obtiene valores para a=116.6020682 y para b= -2.769034857 en otro ejemplo que está en la web para el mismo sensores manejan para a=113.7105289 y para b= -3.019713765, he intentado realizarlo para el mq-135 y no me he acercado en nada a los valores de los ejemplos, como veo, mis valores y los tuyos cambian. Los valores de los ejemplos del mq-135 cambian, por que cambian tanto estos valores, podrías decirme por favor en que estoy cometiendo mi error para que mis valores cambien a los de los ejemplos. De antemano gracias.
    • Naylamp

      Naylamp 14/12/2016 Responder

      Hola José, Si se hace regresión a la misma grafica la ecuación debería ser la misma o similar. Nosotros para el tutorial usamos un MQ-3, por eso te debe salir diferente. En internet puedes encontrar diferentes ecuaciones para el mismo sensor, el exponente debería ser similar, pero la constante A si podría varía y se debe a las unidades (L, mL, ppm, etc) en algunos casos también Ro se incluye en la constante.
  • ALi

    ALi 27/11/2016 Responder

    Hola, como podría saber el valor exacto de mi resistencia de carga (RL) exacta para mas precisión?.
    Saludos!
    • Naylamp

      Naylamp 14/12/2016 Responder

      Hola Ali, si te refieres a que resistencia de carga usar, busca en el datasheet, allí te recomienda el valor para usar, En cambio si estas usando un módulo MQ estos ya vienen un resistencia de carga, tendrías que buscar y revisar qué valor es, generalmente es de 1K pero puede variar entre diferentes módulos y fabricantes.
  • Alex

    Alex 30/10/2016 Responder


    Loco me sirvio mucho tu post, gracias a ello puedo configurar para el sensor mq6 y cualquier otro de la serie mq les explico como lo hice: para sacar la ecuación en excel en el caso del mq6, tome como eje(x) a las ppm y el eje(y) a rs/ro, al momento de graficarlo nose si me ha ocurrido solo a mi pero tuve que cambiar los ejes para que los puntos queden acorde al datasheet, luego pues
    Pues no sabemos el valor de Rs pero lo podemos calcular a traves del circuito equivalente del sensor, este forma un divisor de voltaje, por lo tanto calculamos la resistencia del sensor en función del voltaje de salida del sensor y de su resistencia de carga, la formula quedaría así: Rs= ((Vcc - Vout) / Vout ) * RL. Esta ecuación la reemplazamos en la formula anterior y nos queda en función de Vcc, Vout, RL y Ro. Los dos primeros son valores conocidos, sin embargo para RL basta con leer el datasheet del sensor en uso y ahi nos dice el valor recomendado de RL, en mi caso (el MQ6) dice 20 Kohms, mientras que para calcular Ro se debe generar una condición especial en el ambiente que es 1000 ppm
    de GLP en aire limpio, generalmente se pone un valor de 10 Kohms. Leí en un documento que el valor óptimo sería 27 Kohms pero al realizar pruebas no encontre mayor diferencia entre los valores medidos así que pueden usar cualquiera de los dos. Finalmente ya teniendo las ecuaciones resueltas solo resta programarlas en arduino y si comparan los datos arrojados son casi exactos a los del datasheet por lo que ya podemos interpretar la información obtenida. Además lo verifique interpretando los datos de una forma gráfica en matlab y se comporta igual que lo que sugiere el datasheet del sensor. Espero lo entiendan y les sirva ya que me partí la cabeza para tratar de generalizarlo para cualquier sensor de la serie mq. Mas que nada es necesario tener la gráfica de las características de la sensibilidad del sensor, con eso se hace todo. Saludos

    • Juan

      Juan 11/07/2018 Responder

      Hola por favor alguien que me ayude no entiendo nada, con las ecuaciones y eso estoy con sensor mq6 para deteccion de gas butano
    • Jose Garcia

      Jose Garcia 13/07/2017 Responder

      Que onda vato, oye suena perfecto tu método pero para empezar ¿cómo es que tomaste como eje(x) a las ppm?, es decir, cómo sacas concentración (en ppm) antes de que esté calibrado el mq, los datos que arroja el arduino son en Volts, entonces, cómo pasas esos datos de voltaje a ppm? Porfa ayuda, ya me desespere por no poder sasar la ecuación
    • Cristi

      Cristi 18/05/2017 Responder

      Disculpa necesito ayuda para realizar la gráfica del sensor MQ-7, he leido pero aun no logro omprender el procedimiento se que su RL es de 10kΩ
    • Naylamp

      Naylamp 05/11/2016 Responder

      Genial Alex, Gracias por tu aporte.
  • paolo

    paolo 21/10/2016 Responder

    Una duda estimado porque en tu caso rs:655? cual es el procedimiento que suas para saber eso? ya que mirando mi grafico no veo un numero similar
    • Naylamp

      Naylamp 25/10/2016 Responder

      Estimado Paolo, el valor de rs=655 lo despejamos de la lectura de voltaje cuando exponemos el sensor a una concentración superior a 10mg/L
  • Diego Andrés

    Diego Andrés 30/08/2016 Responder

    Buenas tardes, antes que nada te agradezco este material que es de mucha ayuda.

    He hecho paso a paso tus procedimientos y algo tengo malo y no sé, por favor verifica.

    Diré todos los pasos y formulas: SENSOR MQ2 con gráfica de Alcohol y en el datasheet muestra un RL de 5K
    1. Deje encendido los sensores por 24 horas y arrojan datos estables.
    2. Realice la curva en excel de dos maneras. 1 como la haces regresión de potencia me arroja y = 19795x^-1,494 si mal no recuerdo a=19795 b=-1494. y la otra regresión que trabaja mejor para el alcohol con la gráfica de este sensor es la exponencial y me da y = 11925e^(-0,291x).
    3. Con el mismo sensor (ya que no tengo un alcoholimetro) tomo el valor de RS sin acercar alcohol me arroja un valor de adc:110 voltaje:0.54 Rs:41500.00 alcohol:3670.07mg/L (creo que es mucho el valor de RS). Cuando acerco el alcohol Rs baja drasticamente a unos 8000 aproximadamente.
    4. En este punto para calcular Ro no se si lo hago correctamente pero igual diré las dos formas que lo hallé. 1. tomo la ecuación del punto 2 sea cual regresión haya escogido y tomando el valor de Y del RS escogido en el punto 3 es decir adc=110 y despejo y obtengo Ro pero el valor obtenido me es muy bajo. que reemplazando en la formula 2 me dan unos valores demasiado grandes "adc:295 voltaje:1.44 Rs:12338.98 alcohol:22473.30mg/L". La otra forma como calculo Ro es como tu dices "(Rs/Ro)=0.12 si Rs=655 entonces Ro=5463" suponiendo cuando el sensor se satura y despejando Ro obtengo un numero demasiado grande y al acercarle alcohol cambias el resto de valores y cuando veo el Ro comienza a descender en vez de subir los mg/L.

    Te agradecería que me ayudaras con este ya que tengo que conectar otros 2 sensores más.
    esto es lo que tengo

    otra pregunta el siguiente porgrama lo hice utilizado la regresion potencial pero la mejor es la exponencial para quitar los euler se utiliza ln() pero en arduino ese logaritmo es log() o log10() ??
    void loop() {

    int adc_MQ = analogRead(A7); //Lemos la salida analógica del MQ
    float voltaje = adc_MQ * (5.0 / 1023.0); //Convertimos la lectura en un valor de voltaje
    float Rs=5000*((5-voltaje)/voltaje); //Calculamos Rs con un RL de 1k
    double alcohol=19795*pow(Rs/13432.836, -1.494); // c
    //-------Enviamos los valores por el puerto serial------------
    Serial.print("adc:");
    Serial.print(adc_MQ);
    Serial.print(" voltaje:");
    Serial.print(voltaje);
    Serial.print(" Rs:");
    Serial.print(Rs);
    Serial.print(" alcohol:");
    Serial.print(alcohol);
    Serial.println("mg/L");
    delay(150);
    }

    disculpa que incomode espero me puedas ayudar.
    • Naylamp

      Naylamp 02/09/2016 Responder

      Hola Diego, Verifica tu ecuación que has calculado, usa una herramienta para graficar tu ecuación y verificar si es igual a la gráfica inicial. No Tomes el valor de RL del datasheet, si bien es el recomendado pero no necesariamente el que vienen en el módulo, es decir si estas usando los módulos que generalmente vienen con otro valor, busca el RL en el módulo y trabaja con ese valor.
      Si estás buscando precisión, lo mejor es calibrarlo con un instrumento, con un alcoholímetro si vas a sensar alcohol.
      En arduino log(x) es para logaritmo natural de ‘x’, y log10(x) es para logaritmo de base 10.
  • JUAN CARO

    JUAN CARO 11/08/2016 Responder

    una duda, se asume que si mi valor de lectura de voltaje es alta la cantidad de alcohol igual es alta pero al momento de llevar mi ecuacion a labview sucede lo contrario con lectura pequeña de voltaje da alta concentracion de alcohol... a q se debe, gracias
    • Naylamp

      Naylamp 12/08/2016 Responder

      Hola Juan, te debes estar equivocando en la ecuación, puede ser que estas calculando mal la ecuación o estas programando mal la ecuación.
  • Cristobal

    Cristobal 26/07/2016 Responder

    Estimado estoy trabajando con un sensor MQ-135 y tengo problemas para encontrar el RO yo se que el valor de la atmosfera es de 392 ppm, y que la constante a=116,6020682 y b=-2,769034. pero no se como sacar el RO y el Rl saudos.
    • Naylamp

      Naylamp 28/07/2016 Responder

      Para hallar las constantes de la ecuación necesitas conocer tantos puntos como numero de constantes. En tu caso si solo te falta Ro necesitas conocer un punto que sería 392ppm y con el sensor tienes que medir el correspondiente Rs para esa concentración, luego reemplaza en la ecuación y hallas Ro.
  • luis bastidas

    luis bastidas 14/07/2016 Responder

    amigo buenas tardes, porque gráficas invertido en excel?
    • Naylamp

      Naylamp 14/07/2016 Responder

      Hola Luis, solo es para tener despejada la variable de concentración de alcohol, también puedes graficar normalmente y posteriormente despejar la variable
  • Foe

    Foe 13/07/2016 Responder

    Hola
    Estoy haciendo un detector de CH4 con un MQ2
    Realicé la gráfica en exel y me da la fórmula 158.51e0.4788
    La reemplazo por la que tienen ustedes en el ejemplo y la lectura (en ppm en mi caso) cuando le acerco gas disminuye en valor ( a ustedes el exponencial es negativo pero en mi caso me da positivo)
    Quisiera saber si me pueden orientar
    Gracias
    Foe Kohei
    • Arturo

      Arturo 25/04/2017 Responder

      Si te sirve aún, tengo la solución, ya que yo igual me topé con este problema y lo resolví gracias a este video https://www.youtube.com/watch?v=PqOrlbZZvPE.
      Lo único que hay que hacer es en lugar de elegir la gráfica de líneas, elegir la gráfica de dispersión y con eso te saldrá el exponente negativo en la regresión potencial, como debería ser. En mi caso obtuve 122.7030x^-2.8728 para el MQ-135.
    • Naylamp

      Naylamp 13/07/2016 Responder

      Foe, revisa nuevamente la ecuación que estas estimando, debe ser exponencial positiva, ten en cuente que en nuestro caso la gráfica es (Rs/Ro) VS Alcohol y en Excel lo graficamos invertida: alcohol VS (Rs/Ro)
Dejar un comentario
Deja su comentario

Menú

Ajustes

Crear una cuenta gratuita para usar listas de deseos.

Registrarse