- Capteurs de gaz série MQ
- Préparation de votre matériel:
- Approche pour mesurer les PPM à partir des capteurs de gaz MQ:
- Calcul de la valeur de Ro à Clean Air:
- Mesurez la valeur de Rs:
- Relation du rapport Rs / Ro avec PPM:
- Programme pour calculer PPM à l'aide du capteur MQ:
- Affichage de la valeur PPM sur le matériel avec Arduino et MQ-137:
Dès l'époque de l'ère industrielle, nous, l'humanité, nous sommes rapidement développés. Avec chaque progrès, nous polluons également notre environnement et le dégradons finalement. Maintenant, le réchauffement climatique est une menace alarmante et même l'air que nous respirons devient critique. La surveillance de la qualité de l'air a donc commencé à prendre de l'importance. Donc, dans cet article, nous allons apprendre à utiliser n'importe quel capteur de gaz de la série MQ avec Arduino et à afficher la sortie en PPM (parties par million). La PPM est également exprimée en milligrammes par litre (mg / L). Ces capteurs sont couramment disponibles et sont également fiables pour mesurer différents types de gaz indiqués ci-dessous
Capteurs de gaz série MQ
- Dioxyde de carbone (CO2): MG-811
- Monoxyde de carbone (CO): MQ-9
- Composés organiques volatils totaux (COVT): CCS811
- Dioxyde de carbone équivalent (eCO2): CCS811
- Oxyde de métal (MOX): CCS811
- Ammoniac: MQ-137
- Qualité de l'air: MQ-135
- GPL, alcool, fumée: MQ2
Nous avons déjà utilisé MQ2 pour la détection de fumée et MQ-135 pour le projet de surveillance de la qualité de l'air. Ici, j'utiliserai le capteur MQ-137 de sainsmart pour mesurer l' ammoniac en ppm. Avec le capteur en main, j'ai parcouru tous les didacticiels disponibles et j'ai constaté qu'il n'y avait pas de documentation appropriée sur la façon de mesurer le gaz en ppm. La plupart des didacticiels traitent uniquement des valeurs analogiques ou présentent des constantes qui ne sont pas fiables pour mesurer tous les types de gaz. Donc, après avoir bidouillé en ligne pendant une longue période, j'ai finalement trouvé comment utiliser ces capteurs de gaz de la série MQ pour mesurer les ppm à l'aide d'Arduino. J'explique les choses par le bas sans aucune bibliothèque afin que vous puissiez utiliser cet article pour n'importe quel capteur de gaz disponible avec vous.
Préparation de votre matériel:
Les capteurs de gaz MQ peuvent être achetés en tant que module ou simplement en tant que capteur seul. Si votre objectif est de mesurer uniquement les ppm, il est préférable d'acheter le capteur seul, car le module est bon pour utiliser uniquement la broche numérique. Donc, si vous avez déjà acheté le module, vous devez effectuer un petit hack qui sera discuté plus loin. Pour l'instant, supposons que vous ayez acheté le capteur. Le brochage et la connexion du capteur sont indiqués ci-dessous
Comme vous pouvez le voir, il vous suffit de connecter une extrémité de «H» à l'alimentation et l'autre extrémité de «H» à la terre. Ensuite, combinez les deux A et les deux B. Connectez un ensemble à la tension d'alimentation et l'autre à votre broche analogique. La résistance R L joue un rôle très important dans le fonctionnement du capteur. Prenez donc note de la valeur que vous utilisez, une valeur de 47k est recommandée.
Si vous avez déjà acheté un module, vous devez suivre vos traces de PCB pour trouver la valeur de votre R L dans la carte. Grauonline a déjà effectué ce travail pour nous et le schéma de circuit de la carte du capteur de gaz MQ est donné ci-dessous.
Comme vous pouvez le voir, la résistance R L (R2) est connectée entre la broche Aout et la terre, donc si vous avez un module, la valeur de R L peut être mesurée en utilisant un multimètre en mode résistance sur la broche Vout et la broche Vcc de le module. Dans mon capteur de gaz sainsmart MQ-137, la valeur de RL était de 1K et se situait ici, comme indiqué sur l'image ci-dessous.
Cependant, les revendications de site Web qu'il fournit un pot variable de R L qui est pas vrai que vous pouvez voir clairement dans le schéma, le pot est utilisé pour régler la tension variable pour ampli-op et n'a rien à voir avec R L. Nous devons donc souder manuellement la résistance SMD (1K) illustrée ci-dessus et nous devons utiliser notre propre résistance à travers la broche Ground et Vout qui agira comme RL. La meilleure valeur pour RL sera 47K comme suggéré par la fiche technique, nous allons donc utiliser la même chose.
Approche pour mesurer les PPM à partir des capteurs de gaz MQ:
Maintenant que nous connaissons la valeur de R L, passons à la mesure des ppm à partir de ces capteurs. Comme tous les capteurs, le point de départ est sa fiche technique. La fiche technique du MQ-137 est donnée ici, mais assurez-vous de trouver la fiche technique appropriée pour votre capteur. À l'intérieur de la fiche technique, nous n'avons besoin que d'un graphique qui sera tracé par rapport à (Rs / Ro) VS PPM, c'est celui dont nous avons besoin pour nos calculs. Alors bavardez et gardez-le quelque part à portée de main. Celui de mon capteur est illustré ci-dessous.
Il s'avère que le capteur MQ137 peut mesurer NH3, C2H6O et même CO. Mais, ici je ne m'intéresse qu'aux valeurs de NH3. Cependant, vous pouvez utiliser la même méthode pour calculer les ppm pour n'importe quel capteur que vous aimez. Ce graphique est la seule source pour nous de trouver la valeur de ppm et si nous pouvions en quelque sorte calculer le rapport de Rs / Ro (axe X), nous pouvons utiliser ce graphique pour trouver la valeur de ppm (axe Y). Pour trouver la valeur de Rs / Ro, nous devons trouver la valeur de Rs et la valeur de Ro. Où Rs est la résistance du capteur à la concentration de gaz et Ro est la résistance du capteur en mode propre.
Oui… c'est le plan, voyons comment nous pouvons nous en sortir…
Calcul de la valeur de Ro à Clean Air:
Notez que dans le graphique, la valeur de Rs / Ro est constante pour l'air (ligne bleue épaisse) afin que nous puissions l'utiliser à notre avantage et dire que lorsque le capteur fonctionne à l'air frais, la valeur de Rs / Ro sera de 3,6. au dessous de
Rs / Ro = 3,6
À partir de la fiche technique, nous obtenons également une formule pour calculer la valeur de Rs. La formule est présentée ci-dessous. Si vous êtes intéressé de savoir comment cette formule est dérivée, vous pouvez lire les systèmes Jay Con, je voudrais également les remercier de m'avoir aidé à résoudre ce problème.
Dans cette formule la valeur de Vc est notre tension d'alimentation (+ 5V) et la valeur de R L est celle que nous avons déjà calculée (47K pour mon capteur). Si nous écrivons un petit programme Arduino, nous pourrions également trouver la valeur de V RL et enfin calculer la valeur de Rs. J'ai donné un programme Arduino ci-dessous qui lit la tension analogique (V RL) du capteur et calcule la valeur de Rs en utilisant cette formule et l'affiche enfin dans le moniteur série. Le programme est bien expliqué dans la section des commentaires, je saute donc son explication ici afin de garder cet article court.
/ * * Programme pour mesurer la valeur de R0 pour un RL connu à l'air frais * Programme par: B.Aswinth Raj * Site Web: www.circuitdigest.com * Daté: 28-12-2017 * / // Ce programme fonctionne le mieux dans une pièce d'air frais avec température Temp: 20 ℃, humidité: 65%, concentration d'O2 21% et lorsque la valeur de Rl est 47K #define RL 47 // La valeur de la résistance RL est 47K void setup () // Fonctionne uniquement une fois {Serial.begin (9600); // Initialise COM série pour afficher la valeur} void loop () {float analog_value; float VRL; float Rs; float Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Lire la sortie analogique du capteur 200 fois {analog_value = analog_value + analogRead (A0); // ajoute les valeurs pour 200} valeur_analogique = valeur_analogique / 500.0; // Prenez VRL moyen = valeur_analogique * (5,0 / 1023,0);// Convertit la valeur analogique en tension // RS = ((Vc / VRL) -1) * RL est les formules que nous avons obtenues à partir de la fiche technique Rs = ((5.0 / VRL) -1) * RL; // RS / RO est de 3,6 comme nous l'avons obtenu à partir du graphique de la fiche technique Ro = Rs / 3,6; Serial.print ("Ro at fresh air ="); Serial.println (Ro); // Affichage du retard Ro calculé (1000); // délai de 1 s}
Remarque: La valeur de Ro variera, laissez le capteur préchauffer au moins pendant 10 heures, puis utilisez la valeur de Ro.
J'ai conclu que la valeur de Ro était de 30 KΩ pour mon capteur (lorsque R L est de 47 kΩ). Le vôtre peut légèrement varier.
Mesurez la valeur de Rs:
Maintenant que nous connaissons la valeur de Ro, nous pouvons facilement calculer la valeur de Rs en utilisant les deux formules ci-dessus. Notez que la valeur de Rs qui a été calculée précédemment est pour l'air frais et qu'elle ne sera pas la même lorsque de l'ammoniac est présent dans l'air. Le calcul de la valeur de Rs n'est pas un gros problème dont nous pouvons directement nous occuper dans le programme final.
Relation du rapport Rs / Ro avec PPM:
Maintenant que nous savons mesurer la valeur de Rs et Ro, nous pourrions trouver son rapport (Rs / Ro). Ensuite, nous pouvons utiliser le graphique (ci-dessous) pour établir un rapport avec la valeur correspondante de PPM.
Bien que la ligne NH3 (couleur cyan) semble linéaire, elle n'est en fait pas linéaire. L'apparence est due au fait que l'échelle n'est pas divisée uniformément pour l'apparence. Ainsi, la relation entre Rs / Ro et PPM est en fait logarithmique, ce qui peut être représenté par l'équation ci-dessous.
log (y) = m * log (x) + b où, y = rapport (Rs / Ro) x = PPM m = pente de la droite b = point d'intersection
Pour trouver les valeurs de m et b, nous devons considérer deux points (x1, y1) et (x2, y2) sur notre conduite de gaz. Ici, nous travaillons avec de l'ammoniac, donc les deux points que j'ai considérés sont (40,1) et (100,0,8) comme le montre l'image ci-dessus (marquée en rouge) avec un marquage rouge.
m = / m = log (0,8 / 1) / log (100/40) m = -0,243
De même pour (b) obtenons la valeur médiane (x, y) du graphique qui est (70,0,75) comme le montre l'image ci-dessus (marqué en bleu)
b = log (y) - m * log (x) b = log (0,75) - (-0,243) * log (70) b = 0,323
Voilà maintenant que nous avons calculé la valeur de m et b, nous pouvons assimiler la valeur de (Rs / Ro) à PPM en utilisant la formule ci-dessous
PPM = 10 ^ {/ m}
Programme pour calculer PPM à l'aide du capteur MQ:
Le programme complet pour calculer PPM à l'aide d'un capteur MQ est donné ci-dessous. Quelques lignes importantes sont expliquées ci-dessous.
Avant de poursuivre le programme, nous devons entrer les valeurs de résistance de charge (RL), de pente (m), d'interception (b) et la valeur de résistance à l'air frais (Ro). La procédure pour obtenir toutes ces valeurs a déjà été expliquée, il suffit donc de les introduire maintenant
#define RL 47 // La valeur de la résistance RL est 47K #define m -0,263 // Entrez la pente calculée #define b 0,42 // Entrez l'interception calculée #define Ro 30 // Entrez la valeur Ro trouvée
Ensuite, lisez la chute de tension à travers le capteur (VRL) et convertissez-la en tension (0V à 5V) car la lecture analogique ne retournera que des valeurs de 0 à 1024.
VRL = analogRead (MQ_sensor) * (5,0 / 1023,0); // Mesurer la chute de tension et convertir en 0-5V
Maintenant que la valeur de VRL est calculée, vous pouvez utiliser la formule décrite ci-dessus pour calculer la valeur de Rs et aussi le rapport (Rs / Ro)
rapport = Rs / Ro; // trouver le rapport Rs / Ro
Enfin, nous pouvons calculer le PPM avec notre formule logarithmique et l'afficher sur notre moniteur série comme indiqué ci-dessous
double ppm = pow (10, ((log10 (rapport) -b) / m)); // utilise la formule pour calculer ppm Serial.print (ppm); // Affichage ppm
Affichage de la valeur PPM sur le matériel avec Arduino et MQ-137:
Assez de toute la théorie, construisons un circuit simple avec le capteur et l'écran LCD pour afficher la valeur du gaz en PPM. Ici, le capteur que j'utilise est MQ137 qui mesure l'ammoniac, le schéma de circuit de ma configuration est indiqué ci-dessous.
Connectez votre capteur et votre écran LCD comme indiqué dans le schéma de circuit et téléchargez le code donné à la fin du programme. Vous devez modifier la valeur Ro comme expliqué ci-dessus. Modifiez également les valeurs des paramètres si vous utilisez une autre résistance comme RL autre que 4,7K.
Laissez votre installation sous tension pendant au moins 2 heures avant de prendre des mesures (48 heures sont recommandées pour des valeurs plus précises). Ce temps est appelé le temps de chauffage, pendant lequel le capteur se réchauffe. Après cela, vous devriez être en mesure de voir la valeur de PPM et la tension affichée sur votre écran LCD comme indiqué ci-dessous.
Maintenant, pour nous assurer que les valeurs sont vraiment liées à la présence d'ammoniac, plaçons ce montage dans un conteneur fermé et envoyons du gaz ammoniac à l'intérieur pour vérifier si les valeurs augmentent. Je n'ai pas de compteur PPM approprié avec moi pour le calibrer et ce serait formidable si quelqu'un avec un compteur pouvait tester cette configuration et me le faire savoir.
Vous pouvez regarder la vidéo ci-dessous pour vérifier comment les lectures varient en fonction de la présence d'ammoniac. J'espère que vous avez compris le concept et que vous avez aimé l'apprendre. Si vous avez des doutes, laissez-les dans la section des commentaires ou pour une aide plus détaillée, utilisez le forum ici.