- Sensors de gas de la sèrie MQ
- Preparació del maquinari:
- Enfocament per mesurar PPM dels sensors de gas MQ:
- Càlcul del valor de Ro a l'aire net:
- Mesureu el valor de Rs:
- Relació de la relació RS / Ro amb PPM:
- Programa per calcular PPM mitjançant el sensor MQ:
- Es mostra el valor PPM al maquinari amb Arduino i MQ-137:
Des de l’època industrial, la humanitat ens hem desenvolupat ràpidament. Amb cada progrés també contaminem el nostre entorn i, finalment, el degradem. Ara l’escalfament global és una amenaça alarmant i fins i tot l’aire que respirem es torna crític. Així doncs, el control de la qualitat de l’aire també ha començat a guanyar importància. Així doncs, en aquest article aprendrem com utilitzar qualsevol sensor de gas de la sèrie MQ amb Arduino i mostrar la sortida en PPM (parts per milió). El PPM també s’expressa en mil·ligrams per litre (mg / L). Aquests sensors estan disponibles habitualment i també són fiables per mesurar diferents tipus de gas que es mostren a continuació
Sensors de gas de la sèrie MQ
- Diòxid de carboni (CO2): MG-811
- Monòxid de carboni (CO): MQ-9
- Compostos orgànics volàtils totals (TVOC): CCS811
- Diòxid de carboni equivalent (eCO2): CCS811
- Oxxid de metall (MOX): CCS811
- Amoníac: MQ-137
- Qualitat de l'aire: MQ-135
- GLP, alcohol, fum: MQ2
Ja hem utilitzat MQ2 per a la detecció de fum i MQ-135 per al projecte de control de qualitat de l’aire. Aquí faré servir el sensor MQ-137 de sainsmart per mesurar l’ amoníac en ppm. Amb el sensor a la mà, vaig passar per tots els tutorials disponibles i vaig trobar que no hi havia cap documentació adequada sobre com mesurar el gas en ppm. La majoria dels tutorials tracten només els valors analògics o introdueixen algunes constants que no són fiables per mesurar tot tipus de gas. Per tant, després de jugar durant molt de temps en línia per fi, vaig trobar com utilitzar aquests sensors de gas de la sèrie MQ per mesurar ppm mitjançant Arduino. Estic explicant les coses des de la part inferior sense biblioteques perquè pugueu utilitzar aquest article per a qualsevol sensor de gas disponible.
Preparació del maquinari:
Els sensors de gas MQ es poden comprar com a mòdul o només com a sensor. Si el vostre propòsit és mesurar només ppm, és millor comprar el sensor sol, ja que el mòdul només serveix per utilitzar el pin digital. Per tant, si ja heu comprat el mòdul, haureu de realitzar un petit hack que es discutirà més endavant. De moment, suposem que heu comprat el sensor. A continuació es mostra la fixació i la connexió del sensor

Com podeu veure, només heu de connectar un extrem de "H" per subministrar-lo i l'altre extrem de "H" a terra. A continuació, combineu tant A com B. Connecteu un conjunt per subministrar tensió i l’altre al vostre pin analògic. La resistència R L juga un paper molt important a l’hora de fer funcionar el sensor. Per tant, anoteu quin valor utilitzeu; es recomana un valor de 47 k.
Si ja heu comprat un mòdul, haureu de fer un seguiment de les traces de PCB per trobar el valor de la vostra R L a la placa. Grauonline ja ha fet aquest treball per nosaltres i el diagrama de circuits de la placa del sensor de gas MQ es mostra a continuació.

Com podeu veure, la resistència R L (R2) està connectada entre el pin Aout i la terra, de manera que si teniu un mòdul, el valor de R L es pot mesurar mitjançant un multímetre en mode de resistència a través del pin Vout i el pin Vcc de el mòdul. Al meu sensor de gas sainsmart MQ-137 el valor de RL era 1K i es trobava aquí com es mostra a la imatge següent.

No obstant això, les reclamacions de llocs web que proporciona una olla variable R L que no és cert com es pot veure clarament en el diagrama de circuit, el pot es fa servir per ajustar el voltatge variable per amplificador operacional i no té res a veure amb R L. Per tant, hem de soldar manualment la resistència SMD (1K) que es mostra més amunt i hem d’utilitzar la nostra pròpia resistència a través del pin Ground i Vout, que actuarà com a RL. El millor valor per a RL serà de 47 K, tal com suggereix el full de dades, per tant, farem servir el mateix.

Enfocament per mesurar PPM dels sensors de gas MQ:
Ara que sabem que el valor de R L permet procedir a la mesura real de ppm a partir d’aquests sensors. Com tots els sensors, el lloc per començar és el seu full de dades. Aquí es proporciona el full de dades MQ-137, però assegureu-vos de trobar el full de dades correcte per al sensor. Dins del full de dades només necessitem un gràfic que es traçarà contra (Rs / Ro) VS PPM, aquest és el que necessitem per als nostres càlculs. Llavors, fes-ho i fes-lo servir a qualsevol lloc. El del meu sensor es mostra a continuació.

Resulta que el sensor MQ137 pot mesurar NH3, C2H6O i fins i tot CO. Però aquí només m'interessen els valors de NH3. Tanmateix, podeu utilitzar el mateix mètode per calcular ppm per a qualsevol sensor que vulgueu. Aquest gràfic és l’única font per trobar el valor de ppm i, d’alguna manera, podríem calcular la ració de Rs / Ro (eix X), podem utilitzar aquest gràfic per trobar el valor de ppm (eix Y). Per trobar el valor de Rs / Ro hem de trobar el valor de Rs i el valor de Ro. On Rs és la resistència del sensor a la concentració de gas i Ro és la resistència del sensor en senyor net.
Sí… aquest és el pla, a veure com podem sortir amb això….
Càlcul del valor de Ro a l'aire net:
Tingueu en compte que a la gràfica el valor de Rs / Ro és constant per a l’aire (línia blava gruixuda), de manera que podem utilitzar-ho per al nostre avantatge i dir que quan el sensor funcioni a l’aire fresc el valor de Rs / Ro serà de 3,6, consulteu la imatge baix

Rs / Ro = 3,6
A partir del full de dades també obtenim una fórmula per calcular el valor de Rs. La fórmula es mostra a continuació. Si esteu interessats en saber com es deriva aquesta fórmula, podeu llegir-los a través de sistemes jay con, també m'agradaria acreditar-los que m'ajudessin a solucionar-ho.

En aquesta fórmula, el valor de Vc és la nostra tensió d’alimentació (+ 5V) i el valor de R L és el que ja hem calculat (47K per al meu sensor). Si escrivim un petit programa Arduino també podríem trobar el valor de V RL i finalment calcular el valor de Rs. A continuació he donat un programa Arduino que llegeix el voltatge analògic (V RL) del sensor i calcula el valor de Rs mitjançant aquesta fórmula i, finalment, el mostra al monitor sèrie. El programa s’explica bé a través de la secció de comentaris, de manera que omet la seva explicació aquí per fer breu aquest article.
/ * * Programa per mesurar el valor de R0 per a un RL conegut en condicions d’aire fresc * Programa de: B.Aswinth Raj * Lloc web: www.circuitdigest.com * Data: 28-12-2017 * / // Aquest programa funciona millor en una habitació d’aire fresc amb temperatura: 20 ℃, humitat: 65%, concentració d’O2 un 21% i quan el valor de Rl és de 47 K #define RL 47 // El valor de la resistència de RL és de 47 K una vegada {Serial.begin (9600); // Inicialitzar COM sèrie per mostrar el valor} void loop () {float analog_value; VRL flotant; Rs flotants; surar Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Llegiu la sortida analògica del sensor 200 vegades {analog_value = analog_value + analogRead (A0); // afegiu els valors de 200} valor_analògic = valor_analògic / 500,0; // Agafeu VRL mitjà = valor_analògic * (5.0 / 1023.0);// Converteix el valor analògic en tensió // RS = ((Vc / VRL) -1) * RL són les fórmules que hem obtingut del full de dades Rs = ((5.0 / VRL) -1) * RL; // RS / RO és 3,6 tal com hem obtingut del gràfic de la fitxa tècnica Ro = Rs / 3.6; Serial.print ("Ro a l'aire fresc ="); Serial.println (Ro); // Mostra el retard de Ro calculat (1000); // retard d'1 segon}
Nota: el valor de Ro variarà, permetrà que el sensor preescalfe almenys durant 10 hores i després utilitzar el valor de Ro.

Vaig concloure que el valor de Ro era de 30 KΩ per al meu sensor (quan R L és de 47 kΩ). El vostre pot variar lleugerament.
Mesureu el valor de Rs:
Ara que coneixem el valor de Ro, podem calcular fàcilment el valor de Rs utilitzant les dues fórmules anteriors. Tingueu en compte que el valor de Rs que es va calcular anteriorment és per a la climatització de l'aire fresc i no serà el mateix quan hi hagi amoníac a l'aire. El càlcul del valor de Rs no és un gran problema que podem tenir en compte directament al programa final.
Relació de la relació RS / Ro amb PPM:
Ara que sabem mesurar el valor de Rs i Ro, seríem capaços de trobar la seva relació (Rs / Ro). A continuació, podem utilitzar el gràfic (que es mostra a continuació) per relacionar-se amb el valor corresponent de PPM.

Tot i que la línia NH3 (color cian) sembla ser lineal, en realitat no és lineal. L'aspecte es deu al fet que l'escala es divideix de manera uniforme per a l'aparença. Així doncs, la relació entre Rs / Ro i PPM és realment logarítmica, que es pot representar mitjançant l’equació següent.
log (y) = m * log (x) + b on, y = relació (Rs / Ro) x = PPM m = pendent de la recta b = punt d'intersecció
Per trobar els valors de m i b hem de considerar dos punts (x1, y1) i (x2, y2) a la nostra línia de gas. Aquí estem treballant amb amoníac, de manera que els dos punts que he considerat són (40,1) i (100,0,8) tal com es mostra a la imatge superior (marcats com a vermells) amb marques vermelles.
m = / m = log (0,8 / 1) / log (100/40) m = -0,243
De manera similar per a (b) obtenim el valor del punt mitjà (x, y) del gràfic que és (70,0,75) tal com es mostra a la imatge superior (marcat en blau)
b = log (y) - m * log (x) b = log (0,75) - (-0,243) * log (70) b = 0,323
Això és ara que hem calculat el valor de m ib podem equiparar el valor de (Rs / Ro) a PPM mitjançant la fórmula següent
PPM = 10 ^ {/ m}
Programa per calcular PPM mitjançant el sensor MQ:
A continuació es mostra el programa complet per calcular PPM mitjançant un sensor MQ. A continuació s’expliquen poques línies importants.
Abans de continuar amb el programa, hem d’ incloure els valors de resistència de càrrega (RL), pendent (m), intercepció (b) i el valor de resistència a l’aire fresc (Ro). El procediment per obtenir tots aquests valors ja s'ha explicat, així que només els alimentem ara
#define RL 47 // El valor de la resistència RL és 47K #define m -0.263 // Introduïu el pendent calculat #define b 0,42 // Introduïu la intercepció calculada #defineu Ro 30 // Introduïu el valor Ro
A continuació, llegiu la caiguda de tensió del sensor (VRL) i converteix-la a voltatge (0V a 5V), ja que la lectura analògica només retornarà valors de 0 a 1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Mesura la caiguda de tensió i converteix-lo a 0-5V
Ara, que es calcula el valor de VRL, podeu utilitzar la fórmula comentada anteriorment per calcular el valor de Rs i també la relació (Rs / Ro)
relació = Rs / Ro; // trobar la relació Rs / Ro
Finalment, podem calcular el PPM amb la nostra fórmula logarítmica i mostrar-lo al nostre monitor sèrie com es mostra a continuació
ppm doble = pow (10, ((log10 (ratio) -b) / m)); // utilitzeu la fórmula per calcular ppm Serial.print (ppm); // Mostra ppm
Es mostra el valor PPM al maquinari amb Arduino i MQ-137:
Prou de tota la teoria, permetem construir un circuit senzill amb el sensor i la pantalla LCD per mostrar el valor del gas en PPM. Aquí el sensor que faig servir és MQ137, que mesura l’amoníac; a continuació es mostra el diagrama del circuit per a la meva configuració.

Connecteu el sensor i la pantalla LCD tal com es mostra al diagrama del circuit i pengeu el codi que es dóna al final del programa. Heu de modificar el valor Ro tal com s’explica més amunt. Feu també els canvis en els valors dels paràmetres si utilitzeu qualsevol altra resistència com a RL que no sigui 4.7K.
Deixeu la configuració alimentada com a mínim 2 hores abans de fer cap lectura (es recomana 48 hores per obtenir valors més precisos). Aquest temps s’anomena temps d’escalfament, durant el qual el sensor s’escalfa. Després d'això, hauríeu de poder veure el valor de PPM i el voltatge que es mostra a la pantalla LCD, tal com es mostra a continuació.

Ara, per assegurar-nos si els valors estan realment relacionats amb la presència d'amoníac, col·loquem aquesta instal·lació dins d'un contenidor tancat i enviem-hi gas amoníac per comprovar si els valors augmenten. No tinc un mesurador PPM adequat per calibrar-lo i estaria molt bé que algú amb mesurador pogués provar aquesta configuració i avisar-me.
Podeu veure el vídeo següent per comprovar com variaven les lectures en funció de la presència d'amoníac. Espero que hagueu entès el concepte i us hagi agradat aprendre’l. Si teniu dubtes, deixeu-los a la secció de comentaris o per obtenir ajuda més detallada, utilitzeu el fòrum aquí.
