El sensor de CO2 Sensirion SCD41 (y el SCD40)

Última modificación el 8 julio, 2021

¿Quieres un sensor de CO2 pequeño, de bajo consumo, versátil y de calidad?

Es bastante probable que el sensor de CO2 Sensirion SCD41 (y su mellizo el SCD40) sea el sensor que estás buscando.

En este artículo te traigo un análisis, junto con mis primeras impresiones, de los sensores Sensirion SCD41 y SCD40.

Sensirion es un fabricante sueco con una larga experiencia en la fabricación de sensores de CO2 de calidad.

Su sensor SCD30, un sensor NDIR de doble canal, ha sido un referente durante estos últimos años. Un claro favorito cuando lo que se perseguía era un sensor de calidad a un precio aceptable.

Recientemente, durante el segundo trimestre del año 2021, Sensirion nos ha sorprendido añadiendo nuevos miembros a la familia de sensores de CO2, los SCD40 y SCD41.

¿Qué hace especial a los sensores Sensirion SCD40 y SCD41?

La verdad es que no hay nada más que mirarlo. Lo que hace especiales a estos sensores entra por los ojos.

Lo primero que llama la atención de este sensor es su diminuto tamaño. Solamente 10x10x6mm.

Pero este sensor es mucho más que una cara bonita en un cuerpo delgado… ofrece unas características, sobre el papel, que nada tiene que envidiar a sensores de un tamaño (y consumo) mucho mayores, sin apenas sacrificios.

¿Cuál es la diferencia entre el Sensirion SCD40 y el SCD41?

Estos dos sensores son prácticamente iguales, son dos gemelos, pero no son gemelos univitelinos, son gemelos bivitelinos.

Igual que en los hermanos, ambos proceden de dos o más óvulos que son fecundados por distintos espermatozoides. Los gemelos univitelinos tienen las mismas características hereditarias y su aspecto es casi igual. Los gemelos bivitelinos pueden ser de distinto sexo y externamente no tienen por qué parecerse.

Externamente ambos sensores parecen iguales, pero en su interior se trata de dos bestias distintas.

Dicho esto, las mayores diferencias las encontramos en su rango de medición y su consumo.

El sensor Sensirion SCD40 puede medir concentraciones de CO2 de 400 a 2000 ppm y tiene un consumo típico de 15mA a 3.3V o 11mA a 5V.

El SCD41 además de poder medir un rango más amplio, de entre 400 y 5000 ppm, tiene un consumo típico mínimo de solo 0.45mA a 3.3V y 0.36mA a 5V, lo que nos permite crear medidores de CO2 con gran autonomía.

Para conseguir este consumo tan bajo, el SCD41 cuenta con un modo de funcionamiento de “medida única”, llamado “single shot mode” en la que el sensor se utiliza a petición para tomar una única medida (el consumo anterior es el correspondiente a una medida cada 5 minutos).

¿Cómo ha conseguido Sensirion un sensor tan pequeño?

El secreto de Sensirion para conseguir este tamaño tan pequeño ha sido utilizar una tecnología diferente a la NDIR a la que estamos acostumbrados, aunque manteniendo su alta calidad de medida, ha creado un sensor de tecnología electroacústica.

¿Qué es un sensor de CO2 electroacústico?

En los sensores NDIR que solemos utilizar, el funcionamiento se basa en la absorción que el CO2 supone sobre un haz de infrarrojos.

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

En un sensor NDIR existe un emisor de infrarrojos y un sensor que los detecta. Cuanto más CO2 existe entre el emisor de infrarrojos y el sensor que los detecta, menos infrarrojos detecta el sensor.

Los sensores electroacústicos se basan en los efectos que la concentración de CO2 produce en las ondas sonoras.

Principio de medición electroacústico

Se emite, en una cámara de medición cerrada casi por completo, una luz de banda estrecha que coincide con las longitudes de onda que con absorbidas por las moléculas de CO2.

Las moléculas de CO2 en la cámara de medición absorben una parte de la luz irradiada, mientras que otras moléculas no contribuyen a la absorción debido al espectro de la luz emitida.

Cuantas más moléculas de CO2 haya en la célula de medición, mayor será la energía absorbida.

La energía absorbida de las moléculas de CO2 excita principalmente las vibraciones moleculares, lo que da lugar a un aumento de la energía de traslación de las moléculas y, debido a la cámara de medición cerrada, a un aumento de la presión en la cámara.

Una modulación de la fuente de luz provoca un cambio de presión periódico en la célula de medición, que puede medirse con un micrófono. La señal del micrófono sirve así para medir el número de moléculas de CO2 presentes en la cámara de medición y puede utilizarse para calcular la concentración de CO2.

Sensirion llama a su implementación de esta tecnología PASens® Technology.

¿Cuánto cuesta un Sensirion SCD40 o SCD41?

La verdad es que esto ha supuesto una verdadera sorpresa, sobre todo si lo comparamos con sensores de ultra bajo consumo.

Estamos acostumbrados, sobre todo los makers, a comprar nuestros sensores en China, en sitios como AliExpress, y eso facilita el que los precios sean mucho más bajos que en los canales de comercialización oficiales.

Por ejemplo, el sensor SCD30 en un distribuidor oficial como puede ser Mouser, cuesta aproximadamente 55€. Este mismo sensor, como puedes ver en este enlace Sensirion SCD30 en AliExpress (mismo enlace donde yo lo compré y me tardo solo 7 días en llegar), cuesta unos 32€.

Bien, pues el SCD40 cuesta en Mouser unos 36€ y el SCD41 47€. Si lo comparamos con el precio del SCD30 en China, si pudiéramos comprar el SCD41 en AliExpress (todavía no está disponible, avisaré aquí cuando lo esté, si lo ves tú antes avísame), costaría del orden de 25€.

Además, para aplicaciones en las que necesitamos una buena autonomía, este sensor es bastante más barato que otros sensores de ultra bajo consumo, como el Senseair Sunrise S11 (que cuesta unos 55€ en Digikey) y el Cubic CM1106SL-NS (que ni siquiera se puede comprar fácilmente pero que, previsiblemente, tendría un precio similar al Senseair Sunrise S11).

El kit de desarrollo Sensirion SCD41

No todo van a ser ventajas en estos sensores.

Una desventaja para los makers, es que esta miniaturización, conlleva un efecto lateral y es que, para conseguir ese tamaño tan compacto, Sensirion ha utilizado un encapsulado QFN, lo que complica la cosa bastante porque necesitaremos una placa de circuito impreso a medida y hacer unas soldaduras bastante difíciles de realizar para el aficionado medio.

Afortunadamente, si no queremos soldarlo nosotros mismos, tenemos una solución que viene a nuestro rescate: El kit de desarrollo.

El kit de desarrollo no es más que el sensor SCD41 o SCD40, soldado a una pequeña placa de circuito impreso a medida con conectores, terminales y cable para que resulte más fácil cacharrear con el sensor.

Claro, no todo van a ser ventajas, si nos decidimos por utilizar la placa de desarrollo nos vamos a encontrar con:

  • Un precio sensiblemente mayor que el sensor suelto
  • Un tamaño también mayor, por la placa y el conector.
A lo mejor también te interesa:  Experimentos con ESP Easy (ESP8266) y bajo consumo - v2.0

Programación del Sensirion SCD40 y SCD41, documentación y librerías disponibles

Una cosa muy buena de este fabricante, sobre todo si lo comparamos con otros fabricantes de sensores de CO2, es la gran cantidad de documentación que proporcionan, así como las librerías y ejemplos de programación para múltiples plataformas.

Te dejo aquí un enlace a la documentación técnica del Sensirion SCD4x.

Los sensores Sensirion SCD4x se comunican con el mundo exterior (nuestro microcontrolador, por ejemplo) a través de un BUS I2C y, la verdad, es que tienen bastante comandos que podemos utilizar.

Por suerte, Sensirion ha preparado una librería oficial que soporta los principales microcontroladores (Arduino, ESP8266, ESP32, STM32, y otros muchos), lo que facilita muchísimo su utilización.

La verdad es que solamente me llevo un par de horas adaptar mi medidor de CO2 de ultra bajo consumo para utilizarlo con el SCD41 y empezar a hacer las primeras pruebas.

Estas dos horas incluían aprender absolutamente todo sobre el sensor y su forma de uso porque, es lo malo de ser un pionero, cuando me puse, no encontré un solo proyecto que utilizara este sensor, del que pudiera aprender.

Aquí puedes ver el medidor de CO2, temperatura y humedad que construí para pruebas con el SCD41:

Espero que, gracias a este artículo, sea más sencillo para ti.

Todavía no he realizado pruebas suficientes para llegar a conclusiones sobre la calidad de sus medidas, pero en breve actualizaré el artículo con ellas para que puedas ver cómo se compara con otros sensores.

Te dejo, simplemente, este gráfico que medidas tomadas con el Sensirion SCD41, junto a las de un Senseair S8 para que te hagas a la idea:

Modos de funcionamiento del Sensirion SCDx

Los sensores SCDx tiene tres modos de funcionamiento que afectan, sobre todo, a su consumo.

Es importante elegir el modo correcto en función al uso que vamos a hacer del sensor.

Modo de medida periódico

En el modo de medida periódico, que es el modo de funcionamiento por defecto del sensor, el más fácil de usar y con mayor precisión, supone que el sensor esté funcionando permanentemente y nos proporcione una medida actualizada con la concentración de CO2, la temperatura y la humedad cada 5 segundos.

Solo tenemos que enviarle orden “start_periodic_measurement” al sensor para que empiece a funcionar en modo de medida periódico y cada 5 segundos podremos pedirle una nueva medida, sin necesidad de hacer nada más por nuestra parte.

En este modo, el consumo medio del sensor alimentado a 3.3V es de entre 15 (típico) y 18mA (máximo), según el datasheet, aunque puede haber picos muy cortos en los que el sensor llegue a consumir hasta entre 175mA (típico) y 205mA (máximo).

En mis propias pruebas y experimentos, el consumo medio ha sido de 15.78mA, lo que está muy bien y es muy cercano a lo indicado por el fabricante en el datasheet.

En el siguiente gráfico puedes ver algunas medidas de consumo de mis experimentos, tomadas durante periodo de tiempo de un minuto. Esto es, son medidas reales, no lo que dice el fabricante.

Modo de medida periódico de bajo consumo

Este modo, soportado tanto por el sensor SCD40 como SCD41, es para utilizarlo en los casos de uso en los que el consumo del sensor es importante, este modo con un periodo de actualización de aproximadamente 30 segundos (el sensor nos proporciona una nueva medida de CO2 cada 30 segundos).

A lo mejor también te interesa:  Como controlar Milight desde Rflink

Solamente tenemos que activar este tipo de medidas enviando al sensor el comando start_low_power_periodic_measurement y él realizará una medida cada 30 segundos automáticamente.

Fíjate que el sensor tomará esa medida cada 30 segundos independientemente de que la leamos o no. Dicho de otra forma, si queremos que nuestro medidor de CO2 solo muestra una medida cada 3 minutos, el sensor tomará seis medidas en esos tres minutos, por lo que cinco de ellas (y la energia utilizada para realizarlas) se habrán desperdiciado.

En el siguiente gráfico con el perfil de consumo del sensor durante un minuto, puedes ver como el consumo medio es de 2.72mA. Cinco veces menos que en el modo normal. Esto es incluso menos de los 3.2mA indicados por el fabricante en el datasheet.

También puedes comprobar como el sensor tiene un consumo muy bajo excepto en el tiempo, cada 30 segundos, en el que toma la medida.

A continuación, puedes ver un zoom de esa misma medida con el detalle de ese periodo, que se repite cada 30 segundos, en el que el sensor realiza la lectura del CO2.

Como ves, para realizar esa medida de CO2, el sensor consume una media de 51.26mA durante 1.2 segundos.

Modo de medida única (solo SCD41)

En el modo de medida única tenemos el control total sobre las medidas de CO2 que el sensor realiza y cuando las hace.

Es un modo con un consumo muy bajo en el que podemos decirle al sensor en cualquier momento que tome una medida. De esa forma, no se desperdiciará energía en tomar medidas que no serán utilizadas.

Si tenemos un medidor CO2 con batería, que solo queremos que actualize el CO2 presente en el aire cada tres minutos, podremos tener el sensor con un consumo realmente bajo durante la mayor parte de esos tres minutos y solamente decirle que mida una vez en esos tres minutos con un importantísimo ahorro de energía sobre los modos de medición periódica de los que hemos hablado antes.

El ahorro de energía puede ser tanto como que, si realizamos una lectura de CO2 cada 5 minutos, el consumo medio sería de entre 0.45mA (típico) y 0.5mA (máximo), según el datasheet.

Este artículo no pretende ser un tutorial de programación del SCD41, por lo que no entraré en los detalles, solo te daré algunas pinceladas:

  • Cuando le pedimos una medida al sensor, este tarda unos 5 segundos en dárnosla.
  • Si solo queremos medir temperatura y humedad, hay un comando que solo tarda 50ms.
  • El fabricante, Sensirion, indica en el datasheet que tras proporcionar alimentación al sensor (encenderlo) las dos primeras medidas tomadas en este modo deben ser descartadas.
  • Para reducir el ruido en las medidas, el fabricante nos sugiere que podemos tomar varias medidas seguidas y hacer la media entre ellas.
  • Según el datasheet, el consumo del sensor entre medidas es de entre 0.15mA (típico) y 0.2mA (máximo).
  • En el modo de medida única, la calibración automática sigue funcionando, siempre y cuando el sensor no sea apagado entre medidas.

Según mis propias medidas, realizadas durante mis experimentos, el sensor SCD41 tiene un consumo en reposo de 171µA. y la media de consumo durante 60 segundos con una medida única en ese periodo ha sido de 1.20mA.

3 comentarios en «El sensor de CO2 Sensirion SCD41 (y el SCD40)»

  1. Hola, la verdad muy interesante el artículo, como todos los demás de la página.
    Actualmente estoy trabajando en la medición de CO2 en invernaderos. Estuve probando el sensor MHZ19B, pero el problema que presenta es que debo calibrarlo diariamente, y esto resulta poco practico para el usuario.
    Hay algún método que pueda optimizar este proceso, que no sea el ABC?.
    Los precios entre el MHZ y SCD4x son similares, ¿ recomiendas utilizar este último? ¿Crees que solucionaría el problema de descalibración?
    Considerando que las mediciones son cada 30 minutos y siendo alimentados por batería, tendrás alguna otro recomendación ?
    Desde ya muchas gracias.

    Responder
    • Hola Danilo.

      Cuando usas sensores de CO2 en invernaderos, y otras aplicaciones similares, no puedes utilizar el ABC. Desactívalo y haz una calibración manual en exterior de vez en cuando (digamos una vez a la semana o una vez al mes, dependiendo de tus necesidades), no es necesario calibrarlo a diario.

      Mejor que el MHZ19B, yo utilizaría el Senseair S8 (https://s.click.aliexpress.com/e/_9GsnY9), que mantiene su calibración durante más tiempo.

      Tanto el MHZ19B como el Senseair S8 tienen un consumo de energía bastante alto por lo que probablemente el SCD41 sería una mejor opción si lo vas a usar con batería ya que tiene un modo de medida única te permitiría que el sensor solamente haga una lectura cada 30 minutos con un consumo bastante bajo.

      Desde un punto de vista de calidad de las medidas, estabilidad de la calibración, etc. todavía tengo este sensor “en observación”, tengo que hacer más pruebas. Si quieres una opción probada, de muy bajo consumo (mucho menos incluso que el SCD41) y con un funcionamiento muy bueno, te recomiendo el Senseair Sunrise S11.

      Responder
      • Claro, había leído que no era recomendado utilizar el ABC, por eso mismo tenía el problema de descalibración.

        Por ahora solo había hecho solo pruebas con el MHZ19B porque aquí en Argentina era el único que conseguía más fácilmente.

        Tomaré tu recomendación y haré pruebas con el Sunrise, que también me soluciona algunos temas de alimentación ya que el MHZ19 no tiene forma de “saltear” el regulador y alimentar con 3.3V como si he hecho en otros sensores de Windsen como el ZE07-CO.

        Muchas gracias por todo!

        Responder

Deja un comentario