El mundo de los sensores de gases se ha expandido enormemente en los últimos años, especialmente por la creciente preocupación por la calidad del aire y la salud en entornos interiores. Uno de los sensores que más interés ha generado en la comunidad maker, educativa y profesional es el MH-Z19B. Su reputación se debe a su capacidad para medir con precisión el dióxido de carbono (CO2), su integración sencilla con plataformas como Arduino y ESP8266/ESP32, y un precio más accesible en comparación con alternativas profesionales. Si te preguntas qué es el MH-Z19B, cómo funciona, qué lo hace tan especial y cómo puedes usarlo en tus proyectos, has llegado al lugar indicado.
En este artículo te adentrarás en todos los detalles del sensor MH-Z19B, desde sus principios de funcionamiento y especificaciones técnicas, hasta las mejores prácticas de uso, calibración y aplicaciones reales. Todo ello presentado con un enfoque comprensible, accesible y útil para quienes quieren ir más allá de las hojas técnicas y experimentar con la medición de CO2 en distintos escenarios.
¿Qué es el sensor MH-Z19B?
El MH-Z19B es un sensor de gas especializado en la medición de CO2 ambiental. Su diseño compacto, bajo coste y facilidad de uso lo han convertido en una de las opciones más populares tanto para entusiastas de la tecnología como profesionales y educadores. Fabricado por la compañía china Winsen, este sensor utiliza el principio de infrarrojo no dispersivo (NDIR) para cuantificar la concentración de dióxido de carbono en el aire, evitando interferencias con otros gases y asegurando una mayor precisión que los sensores electroquímicos o de óxidos metálicos.
El principio NDIR se basa en que el CO2 absorbe la luz infrarroja a determinada longitud de onda. Dentro del sensor hay una pequeña cámara donde se hace pasar este haz de luz a través de una muestra del aire. El detector mide la atenuación producida por la presencia de CO2, permitiendo calcular la cantidad presente en partes por millón (ppm). Gracias a esta tecnología, el MH-Z19B ofrece una baja sensibilidad cruzada (es decir, apenas le afectan otros gases como el oxígeno), larga vida útil y buena fiabilidad.
Características técnicas y variantes del MH-Z19B
El MH-Z19B destaca, ante todo, por su versatilidad y facilidad de integración. No sólo está pensado para usuarios avanzados: es habitual ver cómo aparece en proyectos educativos, instalaciones domóticas, estaciones meteorológicas caseras o incluso sistemas de monitorización ambiental en colegios y oficinas. Veamos con detalle sus especificaciones principales:
Corriente media<60 mA
Característica | Valor |
---|---|
Tipo de sensor | NDIR (Infrarrojo no dispersivo) |
Gas detectado | Dióxido de carbono (CO2) |
Rangos de medición | 0–2000 ppm, 0–5000 ppm, 0–10000 ppm (según versión) |
Precisión | ±50 ppm + 3% de la lectura |
Voltaje de operación | 4.5–5.5 V DC |
Corriente máxima | 150 mA |
Salida de señal | UART (Serie), PWM, Analógica |
Nivel de interfaz | 3.3 V (compatible 5 V) |
Tiempo de precalentamiento | 3 minutos |
Tiempo de respuesta | <120 s (T90) |
Temperatura de funcionamiento | 0–50°C |
Humedad relativa | 0–90% RH (sin condensación) |
Dimensiones | 33 x 20 x 9 mm |
Peso | 5 gramos |
Vida útil | Más de 5 años |
El MH-Z19B comparte familia con otros modelos como el MH-Z19C y MH-Z19D. Cada uno de ellos presenta ligeras diferencias, sobre todo en precisión y tolerancia de voltaje de alimentación. De hecho, el MH-Z19C requiere un rango de alimentación muy estrecho (4.9 a 5.1 V), lo que puede complicar su uso sin una fuente bien estabilizada. Por otro lado, el MH-Z19D es más reciente y todavía está pendiente de análisis a fondo por la comunidad.
Características adicionales del sensor
- Baja sensibilidad cruzada: no le afecta la presencia de oxígeno ni otros gases comunes, lo que incrementa la fiabilidad de las mediciones.
- Cámara de gas chapada en oro: esto le proporciona resistencia a la corrosión y alarga su vida útil.
- Compensación interna de temperatura: aunque el sensor incluye un termistor interno para ajustar sus medidas, la temperatura reportada no está pensada para su uso externo.
- Salida múltiple: puedes elegir entre UART, PWM y salida analógica para extraer la información dependiendo de tus necesidades.
- Filtro de agua integrado: evita daños o contaminaciones por humedad.
- Autocalibración ABC: ajusta automáticamente el nivel base de CO2 si el sensor se expone a aire limpio durante al menos 20 minutos en un periodo de 24 horas, garantizando lecturas precisas en el tiempo.
Diferentes versiones del MH-Z19 y sus particularidades
La línea MH-Z19 cuenta con varias iteraciones que pueden encontrarse en el mercado. El modelo MH-Z19B es el más extendido y suele reconocerse como la opción mejor equilibrada entre precio, precisión y facilidad de integración. No obstante, existen otras variantes con diferencias importantes a tener en cuenta:
- MH-Z19 (original): versiones de 2000 y 5000 ppm, precisión de ±50 ppm + 5% de la lectura. Algo anticuado pero aún funcional.
- MH-Z19B: versiones de 2000, 5000 y 10000 ppm, precisión mejorada de ±50 ppm + 3%. Es la versión mejorada y más recomendable para uso general.
- MH-Z19C: mismo rango de 2000, 5000 o 10000 ppm, precisión de ±50 ppm + 5% y exigiendo alimentación muy precisa (4.9-5.1V). Esta limitación lo hace menos recomendable para la mayoría de usuarios.
- MH-Z19D: la novedad más reciente, con un comportamiento muy similar al C, aunque todavía está siendo estudiado por los entusiastas y carece de documentación extensa en inglés.
Una cuestión crucial es la proliferación de sensores falsos en el mercado, especialmente en plataformas de importación. Suele advertirse que los sensores MH-Z19B con la PCB negra, en vez de la tradicional verde o azul, pueden ser versiones no oficiales o clones, con prestaciones inciertas. Para evitar problemas de fiabilidad conviene adquirir el sensor en distribuidores conocidos.
Cómo funciona el MH-Z19B: principio NDIR
El corazón del sensor es su tecnología NDIR, ampliamente utilizada en sensores profesionales. El funcionamiento del MH-Z19B puede resumirse en varios pasos clave:
- Se introduce una muestra de aire en la cámara interna del sensor, que contiene una fuente de luz infrarroja y un detector.
- La luz infrarroja atravesará la cámara, pero parte de esa luz será absorbida por las moléculas de CO2 según su concentración.
- El detector mide cuánta luz llega tras el paso por el aire de muestra, y calcula la cantidad de CO2 presente.
- El sensor proporciona el valor de CO2 en partes por millón (ppm).
Gracias a este método indirecto, la medida es muy poco sensible a la presencia de humedad, temperatura o gases distintos al CO2, siempre que se respeten los límites de funcionamiento marcados en el datasheet.
Salidas de datos disponibles en el MH-Z19B
Una de las múltiples ventajas del MH-Z19B es su flexibilidad a la hora de obtener datos. Puedes escoger entre tres principios de salida, según prefieras facilidad, precisión o integración en tu sistema:
- UART (Serie TTL a 3.3V/5V): es la opción más sencilla pues el sensor envía directamente el valor en ppm. Sólo se necesita una velocidad de 9600 baudios y puedes conectarlo fácilmente a un microcontrolador. Para ampliar tus conocimientos, también puedes consultar nuestra guía sobre sensores de calidad ambiental y aprender a integrar diferentes sensores en tus proyectos.
- PWM: el sensor genera una señal modulada en pulsos, cuyo ciclo útil refleja la concentración de CO2. Es ideal si necesitas una salida directa sin complicaciones y quieres aprovechar la lectura de pulsos en tu microcontrolador.
- Salida Analógica: menos habitual pero permite leer una señal proporcional a la concentración de CO2. Puede requerir calibración adicional y no es la opción preferida por la mayoría de usuarios.
Cada uno de estos métodos aporta sus ventajas. Para Arduino o ESP, la salida por UART es, con diferencia, la más práctica y precisa, ya que no precisa cálculos adicionales y la interpretación del dato es directa.
Calibración del MH-Z19B: asegurando la exactitud
La exactitud de cualquier sensor puede variar con el tiempo debido a factores ambientales y el propio envejecimiento del componente. El MH-Z19B incorpora dos métodos de calibración para garantizar que las lecturas permanezcan fiables:
Calibración manual (Zero Point Calibration)
Si quieres asegurarte de que tu sensor está bien ajustado, puedes realizar una calibración manual. Esto implica exponer el sensor a aire bien ventilado, idealmente en exteriores, donde la concentración de CO2 es de unos 400 ppm. Tras al menos 20 minutos de funcionamiento estable, una simple orden vía hardware (unir los pines HD y GND durante 7 segundos) o comando por software, marca ese punto como referencia cero para el sensor. Hay que tener en cuenta que esta calibración es fundamental tras el transporte o si se han alterado las condiciones ambientales del entorno donde se instala el sensor.
Calibración automática ABC (Automatic Baseline Correction)
El MH-Z19B incorpora un algoritmo de autocalibración que, cada 24 horas, detecta el valor más bajo de CO2 y lo usa para ajustar su referencia. Esto es muy cómodo en entornos habitados donde periódicamente hay renovación de aire fresco. Es imprescindible que el sensor tenga acceso a aire limpio al menos 20 minutos cada 24 horas; de lo contrario, la corrección podría resultar inexacta. Si instalas el sensor en espacios cerrados y poco ventilados (como invernaderos) es mejor desactivar este modo y recurrir a calibraciones manuales periódicas.
Por último, existe un método para calibrar el punto alto o Span Point, pero no suele estar recomendado a usuarios domésticos, ya que requiere una atmósfera estable con una concentración de CO2 conocida y controlada (por ejemplo, 2000 ppm) y equipos específicos de laboratorio.
Aplicaciones y ejemplos de uso del MH-Z19B
La versatilidad del MH-Z19B es tal que su aplicación se extiende mucho más allá de los típicos medidores de calidad de aire caseros. A continuación, algunos de los entornos y casos de uso más populares:
- Sistemas HVAC y aire acondicionado: monitoriza la concentración de CO2 para optimizar la renovación del aire en viviendas, oficinas y aulas.
- Domótica y hogares inteligentes: integra el sensor en plataformas como Home Assistant o similares para controlar ventiladores y purificadores de aire en función de los niveles detectados.
- Monitorización educativa: numerosos centros educativos han implementado sensores MH-Z19B para garantizar una ventilación adecuada en las aulas, especialmente tras la pandemia de COVID-19.
- Invernaderos y agricultura de precisión: controlar los niveles de CO2 en invernaderos permite optimizar el crecimiento de las plantas.
- Purificadores y sistemas de calidad del aire: algunos purificadores comerciales integran sensores NDIR para operar según las necesidades reales del ambiente.
- Proyectos DIY (hazlo tú mismo): es habitual encontrar tutoriales para montar semáforos de CO2 que alertan mediante leds o avisos acústicos cuando la concentración supera ciertos umbrales.
El sensor MH-Z19B también puede encontrarse integrado en sistemas de vigilancia medioambiental, medidores portátiles, estaciones meteorológicas caseras y equipos de laboratorio de bajo presupuesto.
Cómo conectar el MH-Z19B a microcontroladores
La conexión eléctrica del MH-Z19B destaca por su sencillez. Dispone de pines claramente marcados en la serigrafía del sensor, y la configuración básica requiere sólo cuatro conexiones (alimentación y datos). Este es un ejemplo de cómo se asociarían los pines para un Arduino MEGA:
Arduino MEGA | MH-Z19B |
---|---|
19 (RX1) | TX |
18 (TX1) | RX |
GND | GND |
5V | Vin |
En otros modelos de placa o microcontrolador puede ser necesario emplear conversores de nivel lógico, aunque el MH-Z19B es compatible con 3.3V y 5V en su entrada de datos. Como buena práctica, revisa siempre el esquema de pines de tu sensor específico, ya que pueden presentarse pequeñas variaciones según el lote o fabricante.
Lectura y procesamiento de datos del MH-Z19B
Obtener datos útiles del MH-Z19B es tan sencillo como conectar la salida UART a la placa de desarrollo y leer los datos transmitidos. La comunicación se realiza a 9600 baudios, con 8 bits de datos, 1 bit de stop y sin paridad. Puedes usar una librería específica para simplificar el trabajo con Arduino, por ejemplo MHZ19.h, o enviar los comandos manualmente según la hoja de datos del fabricante.
Ejemplo básico de uso en un programa Arduino:
#include <MHZ19.h> MHZ19 mhz(&Serial1); // Usando Serial1 para la comunicación con el sensor void setup() { Serial.begin(115200); Serial1.begin(9600); } void loop() { MHZ19_RESULT response = mhz.retrieveData(); if (response == MHZ19_RESULT_OK) { Serial.print("CO2: "); Serial.println(mhz.getCO2()); } delay(2000); }
El resultado será la concentración de CO2 en ppm. Es igualmente posible acceder a la temperatura interna del sensor, aunque, como se ha mencionado anteriormente, este dato está orientado a la compensación interna y no debe emplearse como referencia de temperatura ambiental.
Modo PWM y cálculo manual de CO2
Si prefieres usar la salida PWM, la interpretación de la señal exige un pequeño cálculo para convertir la duración de los pulsos en la correspondiente concentración de CO2. La ecuación típica proporcionada para el rango de 2000 ppm es:
CO2(ppm) = 2000 · (T_H – 2ms) / (T_H + T_L – 4ms)
donde T_H es el tiempo en milisegundos del ciclo alto (HIGH), y T_L el tiempo en bajo (LOW). Para el rango 5000 ppm, simplemente sustituye el 2000 por 5000.
Comandos y funcionamiento avanzado
Para quienes desean exprimir todas las funciones del sensor, el MH-Z19B responde a distintos comandos de control vía UART. Algunos de los más relevantes:
- Lectura de concentración de CO2: comando 0x86
- Calibración del punto cero: comando 0x87
- Calibración del punto SPAN: comando 0x88
- Activar/desactivar autocalibración: comando 0x79
- Consulta de rango de medida: comando 0x99
Las respuestas del sensor siempre incluyen un código CRC para verificación, lo que aumenta la seguridad ante errores de transmisión.
Recomendaciones de uso, mantenimiento y precauciones
La operativa del MH-Z19B es bastante robusta, pero hay ciertas recomendaciones clave para prolongar su vida útil y asegurar la calidad de las mediciones:
- Evita tocar los pines directamente para minimizar riesgos de electricidad estática.
- No apliques presión sobre la carcasa mientras soldas: el cuerpo no es sólo un envoltorio, sino parte activa del sensor.
- Evita temperaturas extremas y exposición directa al sol en instalaciones permanentes.
- Mantén ventilada la zona de instalación, especialmente la ventana de difusión del sensor.
- Evita la acumulación de polvo durante periodos prolongados de uso.
- Revisa el voltaje de alimentación: la fuente debe estar bien estabilizada y suministrar al menos 150 mA para evitar lecturas erróneas o fallos de funcionamiento.
- No uses soldadura por ola o inmersión: limita el tiempo de soldadura a 3 segundos por pin y deja enfriar entre conexión y conexión.
- Realiza calibraciones periódicas, especialmente si el sensor se traslada, sufre cambios bruscos de temperatura o se instala en lugares poco ventilados.
Todas estas medidas alargarán la vida del sensor y garantizarán unas mediciones más consistentes y fiables.
Modelos semejantes y sensores alternativos
Si bien el MH-Z19B es uno de los favoritos por su equilibrio calidad-precio, existen otros modelos y alternativas con prestaciones similares o complementarias. Uno de los sensores que podría considerarse en este contexto es el MH-Z1311A, también de Winsen, que presume de un consumo energético muy bajo y es apto para proyectos alimentados por batería. Por otro lado, el MG811 y la familia MQ (como MQ-135) han sido populares históricamente, si bien sus lecturas pueden estar más afectadas por la humedad, temperatura o gases diversos y requieren más calibración y ajustes para obtener resultados fiables. En aplicaciones donde la precisión real de CO2 es crítica, el MH-Z19B suele situarse por encima de estos modelos en cuanto a facilidad y exactitud.
Notas sobre sensores falsos y calidad de las mediciones
Uno de los retos actuales es la proliferación de sensores MH-Z19B de origen dudoso. La pista más evidente suele ser el color de la placa (negra en vez de verde o azul) y la ausencia de documentación o etiquetas originales. Estos sensores pueden parecer funcionales, pero sus mediciones pueden ser poco fiables y su durabilidad sustancialmente menor. Es recomendable adquirir el sensor a distribuidores reputados y evitar gangas excesivas en plataformas no verificadas.
Mitos y aspectos poco conocidos del MH-Z19B
No todo en este tipo de sensores es oro, y conviene aclarar algunos puntos que suelen generar dudas:
- El sensor de temperatura integrado no es fiable para medición ambiental: su función es exclusivamente interna, para ajustar la lectura de CO2. No lo uses como termómetro.
- El valor ‘U’ reportado por algunos comandos es un parámetro interno: no está documentado y no aporta información útil al usuario.
- No todas las variantes de rango son físicamente diferentes: es posible, mediante comandos por software, cambiar el rango máximo de detección del sensor, aunque la precisión óptima se garantiza hasta 2000 ppm.
- La calidad de la alimentación eléctrica es crucial: en sensores como el MH-Z19C, la menor desviación fuera del rango de 4.9–5.1V puede invalidar las lecturas, por lo que es fundamental un buen regulador o fuente de precisión.
Fuentes de información y recursos adicionales
El universo de documentación sobre el MH-Z19B es amplio. Además de los datasheets oficiales que puedes consultar en la web del fabricante Winsen, existen numerosos blogs, foros y repositorios en GitHub con ejemplos y librerías para distintos microcontroladores. Entre las fuentes más completas destacan:
- Datasheets de fabricante: para obtener las instrucciones, comandos hexadecimales y detalles técnicos más precisos.
- Blogs técnicos y foros: espEasy, Prometec, Emariete, entre otros, ofrecen tutoriales, comparativas y resolución de dudas en castellano.
- GitHub: para encontrar código fuente actualizado y librerías de manejo del MH-Z19B.
Además, hay grupos de usuarios activos en comunidades de makers, donde es posible compartir experiencias, trucos y problemas recurrentes.