[Benchmark] Capteur Qualité d’Air

Posté sur: oct. 12, 2021

Catégories: Arduino , Raspberry Pi

Auteur: Fabien

Les différents type de capteurs

Exemple d'application : détecter la fumée de cigarette ou la présence de poussières dans l'air.

Capteur GP2Y1011U0F

https://electropeak.com/learn/interfacing-gp2y1010au0f-optical-dust-sensor-module-with-arduino/

Ce capteur de qualité d'air mesure la teneur moyenne de particules PM10 dans l’air (c'est-à-dire de particules dont le diamètre n’excède pas 10μ). Avec un capteur plus sensible, il est possible de mesurer la teneur moyenne de particule PM2.5.

Principales particules détectées par ce capteur et spécifications :

  • Poussières et fumée de cigarette (PM2.5) avec les valeurs recommandées pour comparer avec les valeurs renvoyées par le capteur.
  • Matières particulaires fines PM2.5 (10μg/m3 moyenne annuelle et 25μg/m3 moyenne sur 24h).
  • Matières particulaires grossières PM10 (20μg/m3 moyenne annuelle et 50μg/m3 moyenne sur 24h).

https://github.com/PaulZC/GP2Y1010AU0F_Dust_Sensor

Ce capteur n'a pas grand intérêt à être testé puisqu’il n'est possible de le comparer avec un autre capteur : les données ne représentent pas le taux de CO2 (en ppm) dans l’air comme les deux capteurs suivants. Les informations fournies représentent la teneur en particule. 

Avec le site AirParif, nous obtenons une estimation de la qualité de l’air en temps réel pour différentes particules. On pourrait comparer les valeurs obtenues via le capteur avec les données fournies par AirParif

Capteur Flying-Fish MQ135 (taux de CO2 dans l’air en ppm)

Tutoriel avec un Arduino: https://projetsdiy.fr/mq135-mesure-qualite-air-polluant-arduino/

Il es nécessaire de laisser le capteur alimenté au moins 48h avant une première utilisation. Une calibration est à faire afin d'obtenir une valeur fiable (modifier la valeur de R0 à chaque fois).

Procédure de calibrage:

  1. Modifier la valeur ATMOCO2 dans MQ135.h (on peut récupérer cette valeur en suivant ce lien : https://gml.noaa.gov/ccgg/trends/gl_trend.html )
  2. Reporter la valeur de R0 dans MQ135.h

Le taux de CO2 normal dans l’atmosphère est entre 350 à 450 ppm. Dans les lieux fermés le taux de CO2 est entre 600 et 800 ppm. 

Résultats:

Les valeurs retournées par ce capteur sont très approximatives sur un court temps. De plus les résultats dépendent énormément de la valeur de R0. 

Pour avoir des mesures plus précises, on peut rajouter la température et l’humidité comme paramètre. On obtient alors une valeur du taux de CO2 plus précise.  

Librairies pour communiquer avec le MQ135: https://github.com/GeorgK/MQ135/blob/master/MQ135.h

Le capteur est simple d’utilisation grâce à la librairie MQ135.h. Il faut attendre que la valeur de R0 se stabilise au bout d’un certain temps sinon les valeurs sont faussées.

 

CCS811: capteur de gaz numérique 

https://projetsdiy.fr/test-du-ccs811-iaq-capteur-qualite-air-tcov-eco2-i2c-arduino-esp8266/

Ce capteur permet de mesurer la présence de COV (Composés organiques volatiles) dans l’atmosphère et le taux de CO2 équivalent. Celui-ci communique via le bus I2C présent sur l’Arduino.

Il faut laisser la capteur marcher en continue 48h (en mode 4) pour que les mesures soient représentatives au début puis 30 min en fonctionnement normal. 

setDriveMode(): choisir le mode de fonctionnement du capteur

Adresse I2C du capteur : 0x5A ou 0x5B (On pourra utiliser un scanner I2C pour trouver l’adresse exacte).

Voici le lien de la librairie Adafruit pour communiquer avec le capteur CCS811 : https://github.com/adafruit/Adafruit_CCS811.

Optionnel:

Si on veut avoir des mesures avec un peu plus de précision, on peut rajouter la température et l’humidité  comme paramètre (que l’on peut mesurer avec d’autres capteurs). C’est le cas aussi pour le MQ135. 

On pourra utiliser la fonction setEnvironementalData() pour mesurer la température et l’humidité pour avoir une meilleure précision.

Résultats: 

Dans un environnement normal, nous obtenons du capteur les résultats suivants : CO2=400 ppm TVCO: 0

Si je souffle sur le capteur, la valeur change en CO2 et passe aux alentours de 1200 ppm. Ensuite la valeur redescend et revient autour de 400-500 ppm.

En réalité ce capteur ne mesure pas le CO2 dans l’air mais les TVOC et à partir de ce TVOC, il calcule ce qu’on appelle l’eCO2. Il y a un décalage entre la valeur réelle de CO2 dans l’air et l’eCO2 qui peut être grande si le taux de TVOC est élevé. 

Rappel: TVOC (composés organiques volatiles) ce sont des molécules chimiques produites par le corps humain, produits de nettoyage, de cosmétique,.... .

Conclusion de ce benchmark :

Parmi les trois capteurs, celui qui est le plus fiable et simple d’utilisation est le CCS811. Il faut cependant le laisser fonctionner 48h lors de la première utilisation mais est tout de suite fonctionnel. De plus, même pendant le temps de chauffe de 48h, les valeurs sont plutôt cohérentes. 

Le MQ-135 est aussi simple d’utilisation mais le fait de devoir ajuster la valeur de R0 à chaque fois devient très contraignant. 

Après 48h de chauffe à la mise en marche du capteur, on obtient des valeurs assez cohérentes. Si l’on souhaite plus de précision, on peut combiner ce capteur avec un capteur de température et d’humidité. Pour diminuer le taux de CO2 on rappellera qu'il faut ouvrir les fenêtres.

laissez un commentaire

Se connecter