- Senzori za plin MQ-serije
- Priprema vašeg hardvera:
- Pristup mjerenju PPM iz MQ senzora za plin:
- Izračunavanje vrijednosti Ro na čistom zraku:
- Izmjerite vrijednost Rs:
- Odnos Rs / Ro odnosa s PPM:
- Program za izračunavanje PPM-a pomoću MQ senzora:
- Prikazivanje vrijednosti PPM-a na hardveru s Arduinom i MQ-137:
Još od doba industrijskog doba, mi se čovječanstvo ubrzano razvijamo. Sa svakim napretkom zagađujemo i svoju okolinu i na kraju je degradiramo. Sada je globalno zatopljenje alarmantna prijetnja, pa čak i zrak koji udišemo postaje kritičan. Tako je i praćenje kakvoće zraka počelo dobivati na važnosti. Tako ćemo u ovom članku naučiti kako koristiti bilo koji senzor za plin MQ serije s Arduinom i prikazivati izlaz u PPM (dijelovi na milijun). PPM je također izražen u miligramima po litri (mg / L). Ti su senzori obično dostupni i također su pouzdani za mjerenje različitih vrsta plina prikazanih u nastavku
Senzori za plin MQ-serije
- Ugljični dioksid (CO2): MG-811
- Ugljični monoksid (CO): MQ-9
- Ukupni hlapljivi organski spojevi (TVOC): CCS811
- Ekvivalentni ugljični dioksid (eCO2): CCS811
- Metalni oksid (MOX): CCS811
- Amonijak: MQ-137
- Kvaliteta zraka: MQ-135
- UNP, alkohol, dim: MQ2
Već smo koristili MQ2 za osjet dima i MQ-135 za projekt praćenja kakvoće zraka. Ovdje ću koristiti senzor MQ-137 tvrtke sainsmart za mjerenje amonijaka u ppm. Sa senzorom u ruci pregledao sam sve dostupne upute i otkrio da ne postoji odgovarajuća dokumentacija o mjerenju plina u ppm. Većina se vodiča bavi samo analognim vrijednostima ili uvodi neke konstante koje nisu pouzdane za mjerenje svih vrsta plina. Tako sam nakon dugog petljanja po internetu napokon otkrio kako koristiti ove senzore za plin MQ serije za mjerenje ppm-a pomoću Arduina. Objašnjavam stvari odozdo bez ikakvih knjižnica kako biste ovaj članak mogli koristiti za bilo koji senzor plina koji je dostupan kod vas.
Priprema vašeg hardvera:
Senzori za plin MQ mogu se kupiti ili kao modul ili samo kao senzori sami. Ako vam je svrha mjeriti samo ppm, najbolje je kupiti senzor sam jer je modul dobar samo za upotrebu digitalnog pina. Dakle, ako ste modul već kupili, tada morate izvršiti mali hack o kojem će biti više riječi. Za sada pretpostavimo da ste kupili senzor. Izlaz i spoj senzora prikazani su u nastavku

Kao što vidite, samo morate spojiti jedan kraj "H" za opskrbu, a drugi kraj "H" za uzemljenje. Zatim kombinirajte i A i oba B. Spojite jedan set na napon, a drugi na analogni pin. Otpor R L igra vrlo važnu ulogu u radu senzora. Zato zabilježite koju vrijednost koristite, preporučuje se vrijednost od 47k.
Ako ste već kupili modul, trebali biste pratiti tragove PCB-a kako biste pronašli vrijednost svog R L na ploči. Grauonline je već obavio ovaj posao za nas, a shema spojeva ploče MQ senzora za plin data je u nastavku.

Kao što vidite, otpor R L (R2) povezan je između Aout pina i zemlje, pa ako imate modul, vrijednost R L se može izmjeriti pomoću multimetra u režimu otpora preko Vout pina i Vcc pina modul. U mom senzoru plina sainsmart MQ-137 vrijednost RL bila je 1K i nalazila se ovdje kao što je prikazano na donjoj slici.

Međutim, na web stranici tvrdi da pruža varijabilni lonac R L što nije istina, kao što se jasno može vidjeti u spojnoj shemi, lonac se koristi za postavljanje promjenjivi napon za op-amp i nema nikakve veze sa R L. Dakle, moramo ručno lemiti gore prikazani SMD otpornik (1K) i moramo upotrijebiti vlastiti otpornik preko uzemljenja i ventila koji će djelovati kao RL. Najbolja vrijednost za RL bit će 47K kako je predloženo u tablici podataka, pa ćemo koristiti istu.

Pristup mjerenju PPM iz MQ senzora za plin:
Sad kad znamo vrijednost R L, nastavimo kako zapravo izmjeriti ppm od ovih senzora. Kao i svi senzori, mjesto za početak je njegova tablica podataka. Podatkovni list MQ-137 dat je ovdje, ali pripazite da pronađete točan podatkovni list za svoj senzor. Unutar tablice podataka potreban nam je samo jedan graf koji će biti ucrtan u odnosu na (Rs / Ro) VS PPM, ovo je onaj koji nam treba za naše izračune. Zato ga zataknite i neka bude pri ruci. Onaj za moj senzor prikazan je u nastavku.

Ispostavilo se da senzor MQ137 može mjeriti NH3, C2H6O, pa čak i CO. Ali, ovdje me zanimaju samo vrijednosti NH3. Međutim, možete koristiti istu metodu za izračunavanje ppm za bilo koji senzor koji želite. Ovaj nam je graf jedini izvor za pronalaženje vrijednosti ppm i ako bismo nekako mogli izračunati omjer Rs / Ro (os X), pomoću ovog grafa možemo pronaći vrijednost ppm (os Y). Da bismo pronašli vrijednost Rs / Ro moramo pronaći vrijednost Rs i vrijednost Ro. Gdje je Rs otpor senzora pri koncentraciji plina, a Ro otpor senzora u čistom gospodinu.
Ipak… ovo je plan, da vidimo kako se možemo izvući s ovim….
Izračunavanje vrijednosti Ro na čistom zraku:
Imajte na umu da je na grafikonu vrijednost Rs / Ro konstantna za zrak (debela plava crta) pa to možemo iskoristiti u svoju korist i reći da će, kada senzor radi na svježem zraku, vrijednost Rs / Ro biti 3,6, prikazati sliku ispod

Rs / Ro = 3,6
Iz podatkovnog lista također imamo formulu za izračunavanje vrijednosti Rs. Formula je prikazana u nastavku. Ako vas zanima kako je izvedena ova formula, možete pročitati sustave jay con, također bih im zahvalio što su mi pomogli da to riješim.

U ovoj formuli vrijednost Vc je naš napon napajanja (+ 5V), a vrijednost R L je ona koju smo već izračunali (47K za moj senzor). Ako napišemo mali Arduino program, također bismo mogli pronaći vrijednost V RL i konačno izračunati vrijednost Rs. U nastavku sam dao Arduino program koji očitava analogni napon (V RL) senzora i izračunava vrijednost Rs pomoću ove formule i napokon prikazuje na serijskom monitoru. Program je dobro objašnjen kroz odjeljak za komentare, pa ovdje preskačem njegovo objašnjenje kako bi ovaj članak bio kratak.
/ * * Program za mjerenje vrijednosti R0 za poznati RL na svježem zraku * Program: B.Aswinth Raj * Web mjesto: www.circuitdigest.com * Datum: 28-12-2017 * / // Ovaj program najbolje radi u sobi sa svježim zrakom s temperaturom Temp: 20 ℃, Vlaga: 65%, koncentracija O2 21% i kada je vrijednost Rl 47K # definiraj RL 47 // Vrijednost otpora RL iznosi 47K void setup () // Samo radi jednom {Serial.begin (9600); // Iniciraj serijski COM za prikaz vrijednosti} void loop () {float analog_value; plutajući VRL; plutajuće Rs; plutati Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // 200 puta pročitajte analogni izlaz senzora {analog_value = analog_value + analogRead (A0); // dodamo vrijednosti za 200} analog_value = analog_value / 500.0; // Uzmimo prosječnu VRL = analogna_vrijednost * (5.0 / 1023.0);// Pretvaranje analogne vrijednosti u napon // RS = ((Vc / VRL) -1) * RL je formula koju smo dobili iz podatkovnog lista Rs = ((5.0 / VRL) -1) * RL; // RS / RO je 3,6 kako smo dobili iz grafikona podatkovnog lista Ro = Rs / 3,6; Serial.print ("Ro na svježem zraku ="); Serial.println (Ro); // Prikaz izračunatog kašnjenja Ro (1000); // kašnjenje od 1 sek}
Napomena: Vrijednost Ro varirat će, dopustiti senzoru da se prethodno zagrije najmanje 10 sati, a zatim upotrijebiti vrijednost Ro.

Zaključio sam da je vrijednost Ro 30 KΩ za moj senzor (kada je R L 47kΩ). Vaše se malo može razlikovati.
Izmjerite vrijednost Rs:
Sad kad znamo vrijednost Ro, lako možemo izračunati vrijednost Rs koristeći gornje dvije formule. Imajte na umu da je vrijednost Rs koja je prethodno izračunata za svježi zrak i neće biti ista kada je amonijak prisutan u zraku. Izračun vrijednosti Rs nije veliko pitanje o kojem se možemo izravno pobrinuti u konačnom programu.
Odnos Rs / Ro odnosa s PPM:
Sad kad znamo kako izmjeriti vrijednost Rs i Ro, mogli bismo pronaći njegov omjer (Rs / Ro). Tada možemo koristiti grafikon (prikazan u nastavku) kako bismo se povezali s odgovarajućom vrijednošću PPM-a.

Iako se čini da je linija NH3 (cijan boja) linearna, ona zapravo nije linearna. Izgled je zato što je ljestvica podijeljena nejednoliko zbog izgleda. Dakle, odnos između Rs / Ro i PPM zapravo je logaritamski što se može prikazati donjom jednadžbom.
log (y) = m * log (x) + b gdje je y = omjer (Rs / Ro) x = PPM m = nagib crte b = točka presjeka
Da bismo pronašli vrijednosti m i b, moramo uzeti u obzir dvije točke (x1, y1) i (x2, y2) na našem plinovodu. Ovdje radimo s amonijakom pa su dvije točke koje sam uzeo u obzir (40,1) i (100,0,8), kao što je prikazano na gornjoj slici (označeno crvenom bojom) s crvenom oznakom.
m = / m = log (0,8 / 1) / log (100/40) m = -0,243
Slično za (b) uzmimo srednju vrijednost (x, y) iz grafa koji je (70,0.75) kao što je prikazano na gornjoj slici (označeno plavom bojom)
b = log (y) - m * log (x) b = log (0,75) - (-0,243) * log (70) b = 0,323
To je to sada kad smo izračunali vrijednost m i b, možemo izjednačiti vrijednost (Rs / Ro) s PPM koristeći donju formulu
PPM = 10 ^ {/ m}
Program za izračunavanje PPM-a pomoću MQ senzora:
Kompletan program za izračun PPM pomoću senzora MQ je dano u nastavku. U nastavku je objašnjeno nekoliko važnih redaka.
Prije nastavka s programom moramo unijeti vrijednosti otpora opterećenja (RL), nagiba (m), presjeka (b) i vrijednosti otpora na svježem zraku (Ro). Postupak za dobivanje svih ovih vrijednosti već je objašnjen, pa ih sad samo ubacimo
#define RL 47 // Vrijednost otpornika RL je 47K #define m -0.263 // Unesite izračunati nagib #define b 0.42 // Unesite izračunati presjek #define Ro 30 // Unesite pronađenu vrijednost Ro
Zatim očitajte pad napona na senzoru (VRL) i pretvorite ga u napon (0V do 5V) jer će analogno očitanje vratiti samo vrijednosti od 0 do 1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Izmjerite pad napona i pretvorite u 0-5V
Sada, kada se izračunava vrijednost VRL, možete upotrijebiti gore razmatranu formulu za izračun vrijednosti Rs i također omjera (Rs / Ro)
omjer = Rs / Ro; // pronađi omjer Rs / Ro
Napokon, možemo izračunati PPM pomoću naše logaritamske formule i prikazati ga na našem serijskom monitoru kao što je prikazano u nastavku
dvostruki ppm = prah (10, ((log10 (omjer) -b) / m)); // koristimo formulu za izračun ppm Serial.print (ppm); // Prikaz ppm
Prikazivanje vrijednosti PPM-a na hardveru s Arduinom i MQ-137:
Dovoljno je svih teorija, napravimo jednostavni sklop sa senzorom i LCD-om za prikaz vrijednosti plina u PPM. Ovdje je senzor koji koristim MQ137 koji mjeri amonijak, shema spojeva za moje postavljanje prikazana je dolje.

Spojite senzor i LCD kako je prikazano na dijagramu sklopa i prenesite kod naveden na kraju programa. Morate izmijeniti vrijednost Ro kako je gore objašnjeno. Također napravite promjene u vrijednostima parametara ako koristite bilo koji drugi otpornik kao RL, osim 4,7K.
Ostavite uređaj najmanje 2 sata prije nego što počnete očitavati, (za preciznije vrijednosti preporučuje se 48 sati). Ovo se vrijeme naziva vremenom zagrijavanja, tijekom kojeg se senzor zagrijava. Nakon toga trebali biste moći vidjeti vrijednost PPM-a i napon prikazan na vašem LCD zaslonu kao što je prikazano u nastavku.

Da bismo sada osigurali jesu li vrijednosti stvarno povezane s prisutnošću amonijaka, stavimo ovaj uređaj u zatvoreni spremnik i u njega pošaljite plin amonijak da provjeri povećavaju li se vrijednosti. Nemam odgovarajući PPM mjerač sa sobom da ga kalibriram i bilo bi sjajno kada bi netko s mjeračem mogao testirati ovu postavku i javiti mi.
U donjem videozapisu možete provjeriti kako su se očitanja razlikovala na temelju prisutnosti amonijaka. Nadam se da ste razumjeli koncept i uživali ste ga naučiti. Ako sumnjate, ostavite ih u odjeljku za komentare ili za detaljniju pomoć koristite forum ovdje.
