Medidor de CO2 con ESP8266 (NodeMCU) y sensor Senseair S8

Última modificación el 28 julio, 2021

Vamos a ver cómo montar el medidor de CO2 con un sensor Senseair S8 LP.

Este va a ser un artículo muy corto, solo con las diferencias importantes con respecto al montaje con el sensor MH-Z19B o MH-Z19C. Vamos a ir “al grano“.

Si no has visto el artículo “Un medidor de CO2 casero con Wifi contra el coronavirus“, deberías verlo ahora ya que este montaje se basa en él. Casi todo es igual y aquí solo trataremos las diferencias.

¿Por qué utilizar el sensor Senseair S8?

Creo que la pregunta correcta sería, ¿por qué montar un medidor de CO2 con otro sensor?

Hay varios motivos importantes que se me ocurren para utilizar este sensor, en lugar del MH-Z19B o MH-Z19C.

  • El sensor NDIR Senseair S8 es un sensor de mejor calidad, de una empresa sueca
  • Proporciona medidas más precisas
  • Tiene mayor duración
  • Por el momento no hay falsificaciones
  • Da menos problemas con la alimentación

Parecidos en el montaje

La construcción del medidor con este sensor es prácticamente idéntica. El sensor es muy parecido, tiene casi la misma forma física y las conexiones son iguales.

Para toda la parte de montaje, puedes seguir el tutorial “Un medidor de CO2 casero con Wifi contra el coronavirus“. Las conexiones son exactamente iguales.

A lo mejor también te interesa:  Utilizar un zumbador (buzzer) con ESP Easy
Diagrama de conexión NodeMCU a Senseair S8

Como en otros casos, te recomiendo que si tu placa NodeMCU dispone que un pin VU (no todas lo tienen), conectes el positivo del Senseair S8 LP (VCC) a ese pin, en lugar de Vin.

Diferencias

Las diferencias en el montaje del medidor se centran en el firmware, ya que la comunicación con este sensor es diferente, aunque la configuración, en general, es básicamente igual que con los sensores MH-Z19B o MH-Z19C.

Configurar ESP Easy para el Senseair S8

La mayor diferencia consiste en que tenemos que elegir el dispositivo correcto en el menú “Devices” (dispositivos).

A continuación, nos aparecerá la página web de ESP Easy en la que haremos la configuración del sensor.

Simplemente tenemos que introducir la información como se muestra a continuación.

¿Dónde comprar el sensor Senseair S8?

Te dejo aquí el enlace donde lo he comprado yo: Senseair S8 LP. Me llegó muy rápido (una semana):

Cuesta unos 24 Euros aquí: Senseair S8 LP

Es una tienda con muchas valoraciones positivas y el envío es por AliExpress Standard Shipping, por lo que deberías tenerlo en casa en unas dos semanas.

Ten cuidado porque existen otras versiones del sensor Senseair S8 que no son válidas para el fin de queremos (con, por ejemplo, para el sector del automóvil).

Si no quieres esperar tanto tiempo, tienes la opción de comprar estos componentes en Amazon, con envío rápido. Sale más caro, pero si lo quieres rápidamente, lo tendrás en casa en 24 Horas, en muchos casos.

Sensor infrarrojo de CO2 Dióxido de carbono 400-2000PPM Comunicación en serie/Salida PWM SenseAir S8-0053
  • Tamaño pequeño, bajo consumo de energía. Muy sensible, proporciona una buena experiencia de uso.
  • Material: aleación de aluminio; Peso aproximado. 6g; Fuente de alimentación: 4.5-5.25VDC; Rango de medición: 400-2000ppm
  • el módulo de CO2 se utiliza ampliamente en entornos de alta concentración, como incubadoras de dióxido de carbono y analizadores de dióxido de carbono
  • Alta precisión, durabilidad y larga vida útil. Tipo de expansión para incubadora, muy práctica.
  • Fabricación profesional, rendimiento estable y alta fiabilidad.

Calibración del sensor de CO2 Senseair S8 LP

El Senseair S8 LP tiene un sistema de calibración automática (ABC, Automatic Baseline Correction) muy bueno por lo que, en condiciones normales, no tendrás que hacer calibración manual y el usuario se puede desentender de ella.

A lo mejor también te interesa:  Experimentos con ESP Easy (ESP8266) y bajo consumo - v2.0

El algoritmo ABC vigila permanentemente la lectura de CO2 mínima durante un periodo preconfigurado y corrigen lentamente cualquier deriva en el largo plazo comparado con la concentración de 400 ppm (o 0.004%vol) de CO2 esperada al aire libre.

El máximo ajuste permitido por el algoritmo ABC del Senseair S8 es de 30-50 ppm por cada periodo de ABC.

El periodo de ABC configurado de fábrica es de 8 días.

Para evitar problemas y desajustar un sensor que viene correctamente calibrado de fábrica, ESP Easy no permite inicial la calibración por software del sensor.

Si, aun así, quieres calibrar manualmente el sensor deberás hacer lo siguiente:

Tienes que conectar el pin bCAL_in a GND durante un mínimo de 4 segundos y un máximo de 8 segundos e iniciarás una calibración manual.

Antes de iniciar la calibración manual, el sensor debe estar a unos 400 ppm durante algunos minutos (te sugiero un mínimo de 15 minutos) para que el sensor se estabilice. Esto es: tendrás que dejar el sensor funcionando en el exterior durante, al menos, 15 minutos antes de comenzar la calibración.

El procedimiento es muy fácil:

  • Dejas el sensor funcionando en exterior, al menos, 15 minutos
  • Unes el pin bCAL_in a GND durante más de 4 segundos y menos de 8 segundos
  • Mantienes el sensor en el exterior durante unos 5 minutos para que complete su calibración y se estabilice
  • Ya está. El sensor asumirá la concentración que haya en ese momento como 400 ppm

Es importante que no dejes el pin bCAL_in unido a GND durante más de 8 segundos, ya que si se superan los 13 segundos el sensor inicia un modo de calibración diferente, que no es el que te interesa (es un modo de calibración con una concentración de 0 ppm de CO2, para lo que tendrías que sumergir el sensor en nitrógeno, por ejemplo).

A lo mejor también te interesa:  ¿Qué tiene que ver el CO₂ con la Covid?

En mi experiencia, si el sensor recibe aire del exterior de vez en cuando, la calibración manual es completamente innecesaria. A día de hoy (abril de 2021) llevo más de cuatro meses con mi sensor de referencia Senseair S8 y no he necesitado calibrarlo una sola vez.

Sin embargo, si el sensor está colocado en un sitio que rara vez se ventila bien con aire del exterior, te recomiendo calibrarlo manualmente en exterior de vez en cuando.

9 comentarios en «Medidor de CO2 con ESP8266 (NodeMCU) y sensor Senseair S8»

  1. Hola nuevamente.
    Ayer me llegó el Sensair s8, hoy la pantalla y mañana ESPero que me llegue el ESP, así que iniciaré el trabajo de montaje el fin de semana. Eso sí, acabo de llevar un poco de susto al leer en las especificaciones del S8 https://rmtplusstoragesenseair.blob.core.windows.net/docs/publicerat/PSP126.pdf que advierte que NUNCA TOCAR CON LOS MANOS DESNUDAS EL SENSOR (habría que utilizar guantes ESD, creo que uno de látex sirve) y yo ayer ya lo estuve manoseando pa echarle un vistazo…. Como me parece que no indicas nada al respecto en este y otros tutoriales, ¿sabes si realmente por el hecho de haberlo tocado unos minutos se puede haber fastidiado?. Con mi atrevimiento y tu permiso…en cuando me ponga a la tarea, si tengo algún tropiezo que no pueda solventar, pasaré por aquí a consultar.
    Saludos.

    Responder
    • Hola Llorinte.

      El datasheet del que pones el enlace no corresponde a este sensor sino a otro modelo y está enlazado a una web que no es la oficial. Con tu permiso he editado tu mensaje para poner el correcto y que no confunda a ningún usuario.

      El correcto, oficial del fabricante, es el que está enlazado en este blog (que es este: https://rmtplusstoragesenseair.blob.core.windows.net/docs/publicerat/PSP126.pdf).

      Dicho esto: Este tipo de componentes suele, en general, ser sensible a las descargas electrostáticas por lo que hay que manipularlos con cierto cuidado. Otra cosa es que se estropeen fácilmente por eso, y no es tan fácil. No conozco un solo caso de los usuarios de este blog que haya montado el medidor (y créeme que son muchos) que se le haya estropeado el sensor por haberlo tocado con las manos.

      La posibilidad, siendo estrictos, está ahí, pero es bastante pequeña. Yo mismamente tengo aquí desde hace años varios sensores de este tipo de diferentes fabricantes y no solo los toco con las manos, sino que los tengo amontonados por la mesa con cosas por encima…

      No obstante, pondré un aviso en el tutorial por si acaso.

      Responder
      • Perfecto. Gracias por la corrección, lo había sacado de un youtube ruso sin reparar en que el enlace era de otro modelo distinto al que tu pones, y sólo me quedé con esa advertencia que también había visto en otra serie de vídeos sobre calibración del S8 que lo manipulaba con guantes y que si es el igual al de tu tutorial (https://www.youtube.com/watch?v=n059hQpybsE) ,
        Saludos.

        Responder
  2. Hola Mariete. Gracias por este tutorial. Ya tengo el sensor y hoy me llega la placa. Tengo una duda, ¿cómo sujetar correctamente el sensor? He comprado la caja de plástico que recomiendas, con la placa supongo que no habrá problemas para atornillarla pero el sensor no sé como colocarlo para fijarlo bien. Gracias!
    Un saludo.

    Responder
    • Hola Juan Luis.

      Yo te recomiendo que pegues el sensor a la caja de alguna manera. Yo lo hago con pegamento caliente pero también puedes utilizar cinta adhesiva de doble cara.

      Un saludo.

      Responder
      • Me parece buena idea. Justo hace un rato me acaban de llegar el resto de piezas. La caja tiene muy buena pinta, tocará hacer bricolage con ella también.
        Gracias! Un saludo.

        Responder
  3. Hola.
    Nada…me está desesperando un poco esto…después de la guerra que me dio el soldar los cables al Senseair, la instalación del firmware me fue imposible. me da un error que no veo que lo tengas reportado por nadie en el tutorial principal. Es con el segundo Nodemcu Lolin V3 que pruebo y me da el mismo error al flashearlo. Sí me carga el firmware del medidor de partículas del proyecto https://sensor.community/fr/sensors/airrohr/ que ya tengo funcionando perfectamente.
    Me da el siguiente error y un log del que no entiendo nada (probé con los 2 puertos COM3 y COM4 que puedo seleccionar. En otro PC no me deja cargar los drivers CH341…no sé por que razón, esta noche probaré con otro PC, a ver….):
    Flash didn’t complete due to error [3], please read log file:
    20210209194252.txt
    (or try pressing reset on the unit)
    Start flashing on COM3 (approx 105 seconds).
    _______________________________________________________________
    El log a que hace referencia dice:

    ######2021-02-09######
    #######0.04.007#######
    ######FLASH INFO######
    BIN file: ESP_Easy_mega_20201130_normal_ESP8266_4M1M.bin
    COM port: (COM3) USB-SERIAL CH340 (Port_#0001.Hub_#0001)
    Baud rate: 115200
    ######POST FLASH######
    No post flash information entered…
    ######FLASH LOG######
    [esptool.exe -vv -cd nodemcu -cb 115200 -cp COM3 -ca 0x00000 -cf “C:\Users\meteo2\Downloads\espyeasy Medidor CO2\bin\ESP_Easy_mega_20201130_normal_ESP8266_4M1M.bin”]
    [09/02/2021 19:42:53] esptool v0.4.12 – (c) 2014 Ch. Klippel
    [09/02/2021 19:42:53] setting board to nodemcu
    [09/02/2021 19:42:53] setting baudrate from 115200 to 115200
    [09/02/2021 19:42:53] setting port from to COM3
    [09/02/2021 19:42:53] setting address from 0x00000000 to 0x00000000
    [09/02/2021 19:42:53] espcomm_upload_file
    [09/02/2021 19:42:53] espcomm_upload_mem
    [09/02/2021 19:42:53] error: Failed to open COM3
    [09/02/2021 19:42:53] error: espcomm_open failed
    [09/02/2021 19:42:53] error: espcomm_upload_mem failed
    [2021-02-09 19:42:53] STOPPED due to 3 errors! (try reset on the unit, then start a new flash attempt)

    (Reseteé unas cuantas veces con el botón de la izda del nodemcu….pero nada, me da error y un nuevo log)
    Perdón por la extensión del mensaje…una vez lo leas puedes borrar todo lo que veas innecesario.
    Gracias y Saludos.

    Responder
    • Hola Llorinte.

      Vaya, siento que tengas problemas y lamento tu frustración. 😞

      Lo que te dice el log es solo que no puede abrir el puerto COM3.

      Revisa estos puntos:

      1. ¿No tendrás algún otro programa que esté utilizando el COM3?
      2. Asegúrate de que el NodeMCU esté realmente conectado a COM3
      3. Intenta ejecutar el programa de grabación como administrador (botón derecho en el icono y “Ejecutar como administrador”)
      4. Otra opción es que cargues el fichero de firmware con el mismo programa de grabación que estás utilizando con el otro proyecto y no te da problemas.
      5. Desinstala los drivers e instálalos de nuevo.
      6. Asegúrate de no tener conectado el sensor de CO2 (y aún mejor, ningún otro sensor) cuando vayas a flashear.

      De todas formas, te sugiero que te pases por el grupo de Telegram: https://t.me/emariete_chat seguro que entre todos encontramos una solución.

      Un saludo.

      Responder

Deja un comentario