Sensores de C02

Tempo de leitura: 6 minutes

Cliente BlueTooth BLE com Esp32

  • Introdução aos sensores dos sensores de C02.
  • Sensor MGS881 para C02 e VOCs.
  • Exemplo de conexão e programa de leitura.

 

Material Necessário

Placa ESP32 (Genérica)
Sensor CCSD881 (Importada)

 

Medição de Concentrações de CO2

Há algum tempo, todo mundo quer medir as concentrações de gás. Estamos muito atentos à nossa saúde e às administrações públicas estaduais e europeias, elas não param de emitir regulamentos obrigando o controle da qualidade do ar nas áreas de acesso público, o que não é ruim, mas acaba gerando uma certa psicose de insegurança entre os pedestres, certamente indocumentada em esses assuntos e com pouca informação relevante para evitá-lo.

Além disso, há a questão do aquecimento global causado pelas emissões industriais de C02 na atmosfera, e tanto se escreveu que o mortal comum considera o C02 mais ou menos um serial killer, e os terroristas aqueles que o geram.

Não é de surpreender que o desejo de controlar as emissões de C02 tenha se espalhado e que apareçam projetos em todos os lugares que desejam medir suas concentrações nos lugares mais inesperados e, para isso, não há dúvida de que Arduinos e afins se prestam especialmente bem. .

Neste humilde tutorial, veremos alguns desses sensores acima e faremos um exemplo com um deles para medir a concentração de C02 e componentes orgânicos voláteis, (Compostos Orgânicos Voláteis ou VOC) que podem afetar a saúde humana se ocorrer exposição excessiva.

Tradicionalmente, os sensores de C02 são caros, mas nos últimos tempos alguns caíram de preço e surgiram outros que oferecem medição de concentração razoavelmente precisa a preços mais acessíveis.

Nesta sessão apresentaremos um destes últimos, o CCS811. Vemos suas características e faremos um exemplo básico de como conectá-lo ao nosso Arduino (a vários deles, aliás). Então fique à vontade, vamos ao que interessa.

 

Sensores de CO2

Normalmente, os sensores de gás, como os que vimos em um tutorial anterior, geralmente são analógicos, ou seja, fornecem uma saída em milivolts proporcional à concentração do gás alvo que detectam. Naturalmente, todos nós pensamos que este valor que lemos com nossos ADCs nos permite calcular a concentração do gás alvo com precisão… mas não é o caso.

Principalmente porque a sensibilidade do detector varia bastante com as mudanças de umidade e temperatura, por exemplo, e para complicar ainda mais, os sensores não reagem apenas a um gás específico, mas em geral a famílias de gases semelhantes, diferenciando se detectou um gás ou outro é uma tarefa impossível (com esses sensores baratos)

Mas o mercado exige medições precisas dos gases que considera dignos de monitoramento, e como poderia ser de outra forma, sempre há fabricantes que fornecem essas medições em ppm (partes por milhão) o que parece indiscutível, embora na realidade tenham seus mais e mais seus pontos negativos.

O sensor com o qual estamos lidando hoje, o CCS811, é um bom exemplo. É um dispositivo com muitas vantagens que é sensível ao que chamamos de Compostos Orgânicos Voláteis, VOCs, que é sensível, certamente ao CO2, mas também a uma série de outros componentes como aldeídos, cetonas, álcoois, aminas e outros compostos aromáticos compostos além do monóxido de carbono.

Como não é fácil saber em detalhes quais gases estão presentes, o sensor incorpora um microprocessador que permite calcular, por um lado, o que chama de TVOC ou Composto Orgânico Volátil Total, que é algo como um valor equivalente de tudo junto com especial interesse na análise de interiores para que possa cumprir a legislação.

E por outro lado, ele mede o que chama de concentração equivalente de CO2, que é algo como fazer certos cálculos e estimativas para que você tenha um número claro de CO2 em ppm, que é o que estávamos procurando desde o início por questões legais imperativo.

Reler as linhas acima me deixou um pouco mais cínico do que pretendia, pois se o que você quer é controlar a qualidade do ar em um interior habitável, este é o seu sensor. Ele fornecerá leituras razoáveis ​​das concentrações atuais de CO2 e TVOCs, mas é claro que este não é um sensor que mede especificamente o dióxido de carbono e nada mais. Para isso existem outros sensores (nessa faixa de preço. Com mais massa existe o que você quer, mas são caros), o principal é o sensor MG811, que é mais seletivo mas tem a enorme desvantagem de ser analógico com os problemas que isso implica e custa o dobro.

 

O Sensor de CO2 CCS811

Dentro dos sensores de baixo custo e desempenho razoável, o CCS811 é um bom exemplo de como os sensores melhoraram nos últimos anos.

 

  • É um sensor digital que inclui um micro para processar os dados.
  • Dá-nos medidas em ppm (partes por milhão)
  • Ele se comunica via I2C, o que é ideal para nossos Arduinos.
  • Fornece medições de concentrações de CO2 e TVOC.
  • Possui sensor de temperatura interno para corrigir as leituras.
  • É muito baixo consumo e preço.

Para resumir, é um sensor ideal, que é facilmente conectado via I2C ao nosso Arduino e nos envia leituras sob demanda através da biblioteca que os amigos da Adafruit nos fornecem e que é apreciada.

Para ler as concentrações basta ligar e lenha ao I2C e para isso vamos começar com um exemplo básico de como se faz.

Conectando o sensor  CCS811

A ligação deste homem é trivial sem mais do que conhecer os pinos que correspondem ao I2C no seu modelo. Por exemplo, vou usar um NodeMCU V2, (que é um dos meus favoritos e injustamente encurralado pelo ESP32) e não poderia ser mais fácil, conforme esta tabela de conexões:

NODEMCU3V3GNDSCLSDA
CCS811VccGNDD1D2
  • De acordo com o manual do sensor, seria necessário conectar o pino WAK ao GND para comunicar, mas funcionou para mim na primeira vez deixando-o no ar.

Se você quiser conectar um Arduino UNO, seria:

ARDUINO UNO5VGNDA5A4
CCS811VccGNDSCLSDA

 

Programa de Controle

Vamos usar a biblioteca Adafruit para o CCs811 e você pode instalá-la diretamente do gerenciador de bibliotecas:

E agora digite CCS811 na tela que aparece e pressione Enter:

Instale a primeira biblioteca que aparecer e pronto. Se você quiser testar suas conexões e sensor, basta carregar o exemplo básico para ler o sensor que você acabou de instalar nos exemplos:

E isso e tudo. Compile e carregue seu programa para o seu Arduino e você receberá imediatamente leituras como estas no console:

Você deve ter em mente que o fabricante recomenda negligenciar as primeiras medições na inicialização porque, como você pode ver, elas não são muito confiáveis ​​e até recomenda que o sensor fique conectado por pelo menos um dia para que ele possa aquecer.

Via de regra, a concentração de C02 no ar livre rural é de cerca de 360 ​​ppm (partes por milhão) e nas cidades chega a 600 – 900 ppm (devido ao excesso de pessoas, os motores de combustão dos veículos e o excesso de cervejas que se bebem sem medida) e a concentração diminui com a altura porque o C02 pesa mais que o ar respirável e se concentra nas partes mais baixas.

Se você quiser ver as leituras de C02 subirem, basta soprar o ar de sua respiração em direção ao sensor e você verá como ele é atacado, já que o que exalamos quando respiramos é basicamente ar e principalmente CO2 (Você sabia que você contribui para o aquecimento global toda vez que você o que você respira?)

E caso alguém tenha curiosidade em saber os endereços I2C do sensor, nosso velho conhecido I2C_scanner nos dá a resposta:

Vamos deixar o tópico aqui por enquanto e na próxima sessão adicionaremos um display I2C ao setup para que possamos visualizar as medições com facilidade.