Agregar sensores de calidad del aire compensados a Internet de las cosas

Colaboración de Editores de DigiKey de América del Norte

Agregar sensores de calidad del aire a sistemas de edificios inteligentes permite a los ingenieros implementar la advertencia temprana vinculada a la acumulación de gases peligrosos y productos químicos, pero los sensores de calidad del aire comerciales carecen de las capacidades integradas requeridas para incorporarse a una red de edificios inteligentes. No obstante, al elegir kits de desarrollo fáciles de usar, los ingenieros pueden agregar la potencia de procesamiento y la capacidad inalámbrica exigidas para superar este obstáculo.

El tipo más popular de dispositivo de calidad del aire para determinar la concentración de ppm de CO2 o compuestos orgánicos volátiles (VOC, por sus siglas en inglés) en el medio ambiente está basado en un elemento electroquímico semiconductor que genera un voltaje de salida proporcional a la concentración del gas o producto químico que se mide. Sin embargo, la precisión de la medición se ve afectada por la temperatura y humedad. Los sensores de temperatura y humedad, que podrían ofrecer los datos para un algoritmo de compensación continua para mejorar la exactitud del resultado de un sensor de calidad del aire, no se incorporan de manera rutinaria con este tipo de sensor de calidad del aire.

Además, la oferta actual de sensores de calidad del aire carece de la tecnología inalámbrica común de otros tipos de sensores y requerida para la conectividad con redes de edificios inteligentes.

Estas deficiencias hacen que sea difícil para un ingeniero diseñar sensores de calidad del aire para redes inalámbricas de aplicaciones domésticas, comerciales e industriales.

No obstante, la presentación reciente de kits de desarrollo para productos de monitoreo de calidad del aire que incluyen sensores de temperatura y humedad, además de conectividad inalámbrica, facilita el desafío del diseño. En este artículo se describe cómo usar estos kits de desarrollo para acortar el ciclo de diseño de un producto de calidad del aire.

Características de los sensores MOS

Hay distintos tipos de sensores para el monitoreo de la calidad del aire. Entre los ejemplos se incluyen sensores electroquímicos (EC), infrarrojos no dispersivos (NDIR), detectores de fotoionización (PID) y térmicos.

Pero el tipo de semiconductor de óxido de metal (MOS, por sus siglas en inglés) es aquel que satisface mejor los requisitos de monitoreo para aplicaciones de edificios inteligentes. Los dispositivos son compactos, relativamente económicos, pueden funcionar con baterías (con capacidad suficiente para energizar periódicamente el calentador del sensor MOS) y el rango de detección es equivalente a las concentraciones típicas de C02 y VOC de lugares de trabajo en entornos cerrados (Figura 1).

Gráfico del cambio en la concentración de CO2 y VOC en un dormitorio

Figura 1: Cambio en la concentración de CO2 y VOC en un dormitorio durante el día. (Fuente de la imagen: IDT)

Durante el funcionamiento, el elemento de detección se calienta a varios cientos de grados Celsius (°C). La temperatura precisa determina la selectividad del elemento a un gas o producto químico en particular. La sensibilidad depende del espesor del material.

Los sensores se fabrican a partir de elementos de detección semiconductores de tipo n o de tipo p. El elemento de detección absorbe (tipo p) o desabsorbe (tipo n) el producto químico de destino, y una reacción electroquímica con el compuesto de destino agrega o elimina electrones de la banda de conducción del semiconductor. La migración de electrones cambia linealmente la resistividad o conductividad del elemento de detección a partir de un valor inicial conocido (Figura 2).

Gráfico de resistividad de un elemento del sensor MOS

Figura 2: La resistividad de un elemento de sensor MOS cambia linealmente en respuesta a un cambio en la concentración del producto químico de destino. En este ejemplo, se trata del etanol. (Fuente de la imagen: IDT)

La empresa ams ofrece un sensor MOS comercial para aplicaciones de hogares inteligentes. CCS811B es una solución de sensor MOS digital, que incorpora un conversor analógico a digital (ADC) de microcontrolador, y una interfaz I2C (Figura 3). El dispositivo transforma las mediciones del sensor sin procesar a valores de “VOC total equivalente” de salida (eTVOC) y “CO2 equivalente” (eCO2). El sensor está disponible en un paquete de 10 conductores, de 2,7 x 4,0 x 1,1 mm.

Diagrama del sensor MOS digital CCS811B de ams

Figura 3: el sensor MOS digital CCS811B de ams incluye un microcontrolador para el procesamiento incorporado de datos del sensor sin procesar. (Fuente de la imagen: ams)

Cada sensor MOS posee una resistencia inicial característica para una determinada composición del aire, la temperatura y la humedad. Esto se usa como base para el cálculo de la concentración de gas o producto químico, la diferencia en la resistencia a partir del valor inicial es proporcional a la concentración de gas o producto químico.

En el campo, la temperatura y humedad del ambiente afectan la resistencia del elemento del sensor y cambian su sensibilidad y, a su vez, la precisión. Por ejemplo, un aumento en la temperatura ambiente eleva la resistencia inicial del elemento del sensor (para una humedad determinada), mientras que un aumento en la humedad puede disminuir la resistencia inicial (para una temperatura determinada).

Los fabricantes de sensores aconsejan equiparar el sensor de calidad del aire con sensores de temperatura y humedad de modo que un microprocesador de supervisión pueda ejecutar un algoritmo para compensar de manera continua las variaciones en la resistencia inicial.

Un dispositivo popular para esta aplicación es el BME280 de Bosch Sensortec. El BME280 combina humedad, presión y temperatura digitales en un paquete LGA con un espacio físico de 2,5 x 2,5 x 0,93 mm. El sensor tiene una interfaz I2C para comunicarse con un microprocesador externo y requiere una fuente de alimentación de 1,71 a 3,6 voltios (V) para alimentar el sensor. Cuando el sensor está en modo de hibernación, el consumo de corriente cae a 0,1 microamperios (μA).

Los sensores MOS comerciales carecen de la conectividad integrada requerida para incorporarse a una red inalámbrica. No obstante, hay muchos chips inalámbricos de baja potencia diseñados para crear interfaces directas con sensores. Muchos de estos dispositivos también incluyen microprocesadores incorporados, que tienen la potencia suficiente para ejecutar los algoritmos requeridos para procesar los datos iniciales del sensor y compensar las variaciones de humedad y temperatura. (Para obtener más información sobre las tecnologías inalámbricas adecuadas para esta aplicación, consulte el artículo de DigiKey “Comparación de tecnologías inalámbricas de baja potencia”).

Desarrollo de un sensor básico de calidad del aire

El diseño de un monitor de calidad del aire conectado de forma inalámbrica requiere que el ingeniero combine un sensor MOS discreto, un sensor de humedad y temperatura, un transceptor inalámbrico y (en algunos casos) un microprocesador en un sistema en funcionamiento. Dicha complejidad transforma esta tarea en un proceso abrumador y prolongado.

No obstante, hay una selección de kits de desarrollo en el mercado que facilitan considerablemente el diseño inicial y el proceso de pruebas. Por ejemplo, la placa del paquete combinado ambiental Qwiic SEN-14348 de SparkFun Electronics para el desarrollo de sensores de calidad del aire combina un sensor de calidad del aire CC811B con un sensor BME280 para la compensación de temperatura y humedad, e incluye dos interfaces I2C físicas en la forma de conectores Qwiic polarizados de 4 pines (Figura 4).

Imagen de la placa SEN-14348 de SparkFun

Figura 4: La placa SEN-14348 de SparkFun combina un sensor CC811B con un dispositivo BME280 para la compensación de temperatura y humedad. (Fuente de la imagen: SparkFun)

Si bien se puede usar la placa SEN-14348 como base de un diseño de sensor de calidad del aire compensado en cuanto a humedad y temperatura, no es una solución completa. Mientras que el CC811B incluye un microprocesador, el dispositivo tiene capacidad limitada más allá de supervisar las mediciones periódicas y de llevar a cabo la compensación inicial. En relación con aplicaciones más complejas, tales como el monitoreo de umbrales de calidad del aire o el cálculo de concentraciones de gas o productos químicos a largo plazo, las mismas superan la capacidad del microprocesador. Para respaldar aplicaciones más avanzadas con el SEN-14348, es necesario conectarlo a un microprocesador con más capacidad.

Para el desarrollo inicial, SparkFun sugiere conectar la placa SEN-14348 a un equipo compatible con Arduino, tal como el RedBoard. RedBoard se conecta a un equipo a través de un cable USB (que también ofrece alimentación a la placa) para cargar el código desde el IDE de Arduino. Para usar RedBoard con la placa Qwiic, el equipo debe adaptarse utilizando un blindaje Qwiic DEV-14352. El blindaje incluye un conector I2C y también regula el suministro de 5 voltios de RedBoard hasta los 3,3 voltios requeridos para los sensores en la placa SEN-14348.

Para comenzar, el desarrollador necesita descargar las bibliotecas SparkFun CC811 y BME280 Arduino de Github. Los sensores se configuran a partir del IDE de Arduino con información como la velocidad de las muestras, los coeficientes de filtro de respuesta finita al impulso (FIR) y los modos de sobremuestreo.

El fragmento de código a continuación muestra la rutina para inicializar el sensor BME280 antes de tomar lecturas (la rutina de inicialización para el CC811 es similar).

Copiar

#include <SparkFunBME280.h>

#include <SparkFunCCS811.h>

#define CCS811_ADDR 0x5B //Default I2C Address

//#define CCS811_ADDR 0x5A //Alternate I2C Address

//Global sensor objects

CCS811 myCCS811(CCS811_ADDR);

BME280 myBME280;

void setup()

{

Serial.begin(9600);

Serial.println();

Serial.println("Apply BME280 data to CCS811 for compensatio

n.");

//This begins the CCS811 sensor and prints error status of .

begin()

CCS811Core::status returnCode = myCCS811.begin();

if (returnCode != CCS811Core::SENSOR_SUCCESS)

{

Serial.println("Problem with CCS811");

printDriverError(returnCode);

}

else {

Serial.println("CCS811 online");

}

//Initialize BME280

//For I2C, enable the following and disable the SPI section

myBME280.settings.commInterface = I2C_MODE;

myBME280.settings.I2CAddress = 0x77;

myBME280.settings.runMode = 3; //Normal mode

myBME280.settings.tStandby = 0;

myBME280.settings.filter = 4;

myBME280.settings.tempOverSample = 5;

myBME280.settings.tempOverSample = 5;

myBME280.settings.humidOverSample = 5;

//Calling .begin() causes the settings to be loaded

delay(10);  //Make sure sensor had enough time to turn on. B

ME280 requires 2ms to start up.

byte id = myBME280.begin(); //Returns ID of 0x60 if successf

ul

if (id != 0x60)

{

Serial.println("Problem with BME280");

}

else {

Serial.println("BME280 online");

}

}

Fragmento de código 1: Rutina de inicialización para el sensor BME280 antes de tomar lecturas. (Fuente del código: SparkFun)

Para tomar lecturas de los sensores, se debe agregar un bucle nulo al código (el “borrador” de Arduino) (Fragmento de código 2).

Copiar

void loop() {

if (myCCS811.dataAvailable()) //Check to see if CCS811 has n ew data (it's the slowest sensor)

{

myCCS811.readAlgorithmResults(); //Read latest from CCS81

1 and update tVOC and CO2 variables

//getWeather(); //Get latest humidity/pressure/temp data f

rom BME280

printData(); //Pretty print all the data

}

else if (myCCS811.checkForStatusError()) //Check to see if C

CS811 has thrown an error

{

Serial.println(myCCS811.getErrorRegister()); //Prints what

ever CSS811 error flags are detected

}

delay(2000); //Wait for next reading

}

Fragmento de código 2: Rutina para tomar e imprimir lecturas del sensor CC811. (Fuente del código: SparkFun)

Los datos ambientales (“ENV_DATA”) de BME280 se escriben en CC811 de modo que se pueda aplicar un factor de compensación a la resistencia inicial para calcular el efecto de la temperatura y humedad.

La información sobre humedad y temperatura se comunica como un valor entero no firmado de 16 bits con una resolución de 1/512 % de HR y 1/512 grados. El valor predeterminado para la humedad es del 50 % (= 0x64, 0x00). Por ejemplo, 48,5 % de humedad = 0x61, 0x00. La lectura de temperatura incluye una compensación con asignación 0 a -25 °C. El valor predeterminado es 25 °C (= 0x64, 0x00). Por ejemplo, 23,5 °C = 0x61, 0x00.

Extraer la temperatura y humedad del BME280 e incorporarlas al CC811 permite que el microprocesador aplique el algoritmo de compensación (Fragmento de código 3).

Copiar

void loop() {

//Check to see if data is available

if (myCCS811.dataAvailable())

{

//Calling this function updates the global tVOC and eCO2 v

ariables

myCCS811.readAlgorithmResults();

//printData fetches the values of tVOC and eCO2

printData();

float BMEtempC = myBME280.readTempC();

float BMEhumid = myBME280.readFloatHumidity();

Serial.print("Applying new values (deg C, %): ");

Serial.print(BMEtempC);

Serial.print(",");

Serial.println(BMEhumid);

Serial.println();

//This sends the temperature data to the CCS811

myCCS811.setEnvironmentalData(BMEhumid, BMEtempC);

}

else if (myCCS811.checkForStatusError())

{

Serial.println(myCCS811.getErrorRegister()); //Prints what

ever CSS811 error flags are detected

}

delay(2000); //Wait for next reading

}

Fragmento de código 3: Extraer los datos de temperatura y humedad para permitir que el sensor CC811 ejecute un algoritmo de compensación. (Fuente del código: SparkFun)

Adición de un sensor de calidad del aire al IoT

Si bien la placa SEN-14348 de SparkFun, el equipo Arduino y el blindaje permiten controlar y recopilar datos de calidad del aire, el sistema no ofrece conectividad inalámbrica. El Kit PSoC 4 BLE Pioneer CY8CKIT-042-BLE-A de Cypress Semiconductor incluye capacidad inalámbrica para resolver este requisito.

EL Kit PSoC 4 BLE Pioneer es una herramienta de desarrollo diseñada para ayudar a los ingenieros a desarrollar aplicaciones de sensores inalámbricos. El kit permite que un ingeniero codifique y compile aplicaciones y, luego conecte el firmware al SoC de Bluetooth de bajo consumo PSoC 4 de Cypress. El SoC incorpora un procesador de 32 bits, 48 MHz Arm® Cortex®-M0 y radio de Bluetooth de bajo consumo.

En este caso, los datos de calidad del aire compensados de la placa se transmiten a través de la conexión I2C a un conector I2C en la placa informática del kit. Además de recibir datos de la línea SDA de la interfaz I2C, el procesador puede restablecer, interrumpir e hibernar los sensores.

Se requiere algún trabajo de desarrollo para programar y depurar un diseño de sensor de calidad del aire al usar el kit. Cypress ofrece la Herramienta de emulación de host Windows CySmart (que se ejecuta en un equipo) y un dongle de Bluetooth de bajo consumo para la codificación y pruebas. Tanto el dongle como el Kit Pioneer pueden conectarse al mismo tiempo a un equipo host común durante el proceso de desarrollo (Figura 5).

Imagen de herramientas de desarrollo de Bluetooth de bajo consumo (haga clic para ampliar)

Figura 5: Cypress suministra herramientas de desarrollo de Bluetooth de bajo consumo y un dongle (configurado como dispositivo central de Bluetooth de bajo consumo) para asistir en el desarrollo de firmware de aplicaciones con el Kit PSoC 4 BLE Pioneer. (Fuente de la imagen: Cypress Semiconductor)

El desarrollo con el proceso de diseño de Kit CY8CKIT-042-BLE-A PSoC 4 BLE Pioneer comprende cuatro etapas:

  • Crear el diseño en la página esquemática PSoC Creator
  • Escribir el firmware para inicializar y manejar los eventos de Bluetooth de bajo consumo
  • Programar el SoC de Bluetooth de bajo consumo usando el Kit Pioneer
  • Probar el diseño usando la Herramienta de emulación de host CySmart (o aplicación móvil)

(Para obtener más información sobre el desarrollo de la aplicación de Bluetooth de bajo consumo, consulte el artículo de DigiKey “Los SoC y las herramientas Bluetooth de bajo consumo compatibles con Bluetooth 4.1, 4.2 y 5 responden a los desafíos del IoT”).

El firmware de la aplicación permite que el SoC de Bluetooth de bajo consumo recopile y procese los datos de los sensores y transmita la información a través de un enlace de Bluetooth de bajo consumo, por ejemplo, a un teléfono inteligente para el análisis y la visualización.

Los datos del sensor pueden entonces reenviarse desde el teléfono inteligente a un servidor de nube para guardar los datos y quizás activar notificaciones “Si sucede esto, entonces” (If This Then That, IFTTT) sobre la base de los datos. Por ejemplo, una lectura de CO2 alta de manera persistente en el dormitorio de un niño puede activar una notificación en el teléfono inteligente del padre en la que se aconseje aumentar la ventilación.

La conexión directa con la nube desde el sensor es un poco más compleja. Los SoC de Bluetooth de bajo consumo, como el componente Cypress, generalmente carecen de una capa de red IPv6 original. La solución es enviar los datos Bluetooth a una “puerta de enlace” que emplee un protocolo alternativo para conectarse a la nube (por ej., Wi-Fi).

Cypress y SparkFun se han asociado una vez más para hacer que esto sea posible. Al usar un Kit PSoC 6 BLE Pioneer CY8CKIT-062-BLE de Cypress y un blindaje complementario PSoC Pioneer IoT DEV-14531 de SparkFun (con un módulo XB2B-WFWT-001 XBee Wi-Fi), un ingeniero puede desarrollar una red que tome los datos de calidad del aire compensados del sensor, los transmita a través de un enlace de Bluetooth de bajo consumo desde el Kit PSoC 4 BLE Pioneer CY8CKIT-042-BLE-A al Kit PSoC 6 BLE Pioneer CY8CKIT-062-BLE, y desde allí (a través de Wi-Fi) a la nube (Figura 6). (Consulte el artículo técnico de DigiKey, “Módulos 802.11x, kits para desarrolladores que pueden ayudar a simplificar los esfuerzos de diseño inalámbricos IoT” para obtener más información sobre cómo usar módulos Wi-Fi para conectar a la nube).

Diagrama de sistema inalámbrico creado a partir de kits de desarrollo de Cypress y SparkFun

Figura 6: Este sistema inalámbrico creado a partir de kits de desarrollo de Cypress y SparkFun usa Bluetooth de bajo consumo y Wi-Fi para enviar datos del sensor de calidad del aire a la nube. (Fuente de la imagen: DigiKey)

Conclusión

Incluir los sensores de calidad del aire como parte de una red de edificios inteligentes es cada vez más importante dada la creciente conciencia sobre los efectos perjudiciales para la salud de la acumulación de VOC y gases como CO2 en edificios con ventilación controlada.

En la actualidad, los sensores de calidad del aire comerciales carecen del potente microprocesador integrado y la conectividad inalámbrica típica de otros sensores (modulares). No obstante, al elegir herramientas de diseño fáciles de usar, un ingeniero no solo puede compensar los datos de calidad del aire sin procesar en cuanto a efectos de temperatura y humedad, sino también transmitir de manera inalámbrica la información a través de una red de Bluetooth de bajo consumo, y a través de una red de teléfono inteligente o módulo Wi-Fi a la nube.

DigiKey logo

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.

Información sobre la editorial

Editores de DigiKey de América del Norte