- MQ-sarjan kaasuanturit
- Laitteiston valmistelu:
- Lähestymistapa MQ-kaasuantureiden PPM: n mittaamiseen:
- Ro-arvon laskeminen puhtaassa ilmassa:
- Mittaa R: n arvo:
- Rs / Ro-suhteen suhde PPM: ään:
- Ohjelma laskea PPM MQ-anturin avulla:
- PPM-arvon näyttäminen laitteistossa Arduinolla ja MQ-137:
Teollisuuden iästä lähtien ihmiskunta on kehittynyt nopeasti. Jokaisella edistyksellä saastumme myös ympäristöämme ja lopulta hajoamme sitä. Maapallon lämpeneminen on nyt hälyttävä uhka, ja jopa hengitämme ilmaa tulee kriittiseksi. Joten myös ilmanlaadun seuranta on alkanut saada merkitystä. Joten tässä artikkelissa opimme käyttämään mitä tahansa MQ-sarjan kaasuanturia Arduinon kanssa ja näyttämään tuotoksen PPM: ssä (miljoonasosat). PPM ilmaistaan myös milligrammoina litrassa (mg / l). Nämä anturit ovat yleisesti saatavilla, ja ne ovat myös luotettavia alla kuvattujen erityyppisten kaasujen mittaamiseen
MQ-sarjan kaasuanturit
- Hiilidioksidi (CO2): MG-811
- Hiilimonoksidi (CO): MQ-9
- Haihtuvat orgaaniset yhdisteet (TVOC) yhteensä: CCS811
- Vastaava hiilidioksidi (eCO2): CCS811
- Metallioksidi (MOX): CCS811
- Ammoniakki: MQ-137
- Ilmanlaatu: MQ-135
- Nestekaasu, alkoholi, savu: MQ2
Olemme jo käyttäneet MQ2: ta savun tunnistamiseen ja MQ-135: tä ilmanlaadun seurantaprojektiin. Tässä käytän sainsmartin MQ-137-anturia ammoniakin mittaamiseen ppm: ssä. Anturi kädessä käin läpi kaikki saatavilla olevat opetusohjelmat ja huomasin, että ei ole asianmukaista dokumentaatiota siitä, kuinka mitata kaasua ppm: ssä. Useimmat opetusohjelmat joko käsittelevät vain analogisia arvoja tai esittävät joitain vakioita, jotka eivät ole luotettavia kaikentyyppisten kaasujen mittaamiseen. Joten kun olen käynyt pitkään verkossa, löysin vihdoin kuinka käyttää näitä MQ-sarjan kaasuantureita ppm: n mittaamiseen Arduinolla. Selitän asioita alhaalta ilman kirjastoja, jotta voit käyttää tätä artikkelia mihin tahansa kaasuanturiin.
Laitteiston valmistelu:
MQ-kaasuanturit voidaan ostaa joko moduulina tai pelkästään anturina. Jos tarkoituksena on mitata vain ppm, on parasta ostaa anturi yksin, koska moduuli on hyvä vain digitaalisen nastan käyttämiseen. Joten jos olet ostanut moduulin jo, sinun on suoritettava pieni hakkerointi, josta keskustellaan tarkemmin. Oletetaan toistaiseksi, että olet ostanut anturin. Anturin pinout ja liitäntä on esitetty alla
Kuten näette, sinun on vain kytkettävä H: n toinen pää syöttöön ja H: n toinen pää maahan. Yhdistä sitten sekä A: t että molemmat B: t. Liitä yksi sarja syöttöjännitteeseen ja toinen analogiseen nastaa. Vastuksella R L on erittäin tärkeä rooli anturin toiminnassa. Joten kirjoita käyttämäsi arvo, suositeltava arvo on 47k.
Jos olet jo ostanut moduulin, sinun tulisi seurata piirilevyn jälkiä löytääksesi L L: n arvon taululta. Grauonline on jo tehnyt tämän työn puolestamme ja alla oleva MQ-kaasuanturilevyn piirikaavio.
Kuten näette, vastus R L (R2) on kytketty Aout-nastan ja maan väliin, joten jos sinulla on moduuli, R L: n arvo voidaan mitata käyttämällä yleismittaria resistanssitilassa Vout-nastan ja Vcc-nastan yli. moduulin. Sainsmart MQ-137 -kaasusensorissani RL oli 1K ja sijaitsi täällä alla olevan kuvan mukaisesti.
Sivusto kuitenkin väittää, että se tarjoaa muuttuvan R L potin, mikä ei ole totta, kuten voit selvästi nähdä piirikaaviosta, pottia käytetään muuttavan jännitteen asettamiseen op-amp: lle ja sillä ei ole mitään tekemistä R L: n kanssa. Joten meidän on juotettava yllä esitetty SMD-vastus (1K) manuaalisesti ja meidän on käytettävä omaa vastustamme Ground- ja Vout-nastojen yli, jotka toimivat RL: nä. Paras arvo RL: lle on 47K, kuten taulukko ehdottaa, joten aiomme käyttää samaa.
Lähestymistapa MQ-kaasuantureiden PPM: n mittaamiseen:
Nyt kun tiedämme arvo R L antaa edetä miten itse mitata ppm nämä anturit. Kuten kaikki anturit, aloituskohta on sen tietolomake. Tässä on MQ-137-tietolomake, mutta varmista, että löydät anturillesi oikean tietolomakkeen. Datalehden sisällä tarvitsemme vain yhden kaavion, joka piirretään (Rs / Ro) VS PPM: ää vastaan. Tätä tarvitsemme laskelmissamme. Joten ota se ja pidä se missä tahansa. Anturini anturi näkyy alla.
Osoittautuu, että MQ137-anturi voi mitata NH3: ta, C2H6O: ta ja jopa CO: ta. Mutta tässä olen kiinnostunut vain NH3: n arvoista. Voit kuitenkin käyttää samaa tapaa laskea minkä tahansa anturin ppm. Tämä kaavio on ainoa lähde, jolta voimme löytää ppm-arvon, ja jos voimme jotenkin laskea Rs / Ro-suhde (X-akseli), voimme käyttää tätä kuvaajaa ppm: n arvon (Y-akseli) löytämiseen. Rs / Ro-arvon löytämiseksi meidän on löydettävä Rs-arvo ja Ro-arvo. Jossa Rs on anturin vastus kaasupitoisuudessa ja Ro on anturin vastus puhtaassa herrassa.
Kyllä… tämä on suunnitelma, katsotaanpa, kuinka voimme päästä eroon tästä….
Ro-arvon laskeminen puhtaassa ilmassa:
Huomaa, että käyrässä Rs / Ro: n arvo on vakio ilmalle (paksu sininen viiva), joten voimme käyttää tätä eduksi ja sanoa, että kun anturi työskentelee raitissa ilmassa, Rs / Ro: n arvo on 3,6 viittaa kuvaan alla
Rs / Ro = 3,6
Datalehdestä saamme myös kaavan Rs: n arvon laskemiseksi. Kaava on esitetty alla. Jos olet kiinnostunut tietämään, kuinka tämä kaava on johdettu, voit lukea jay con -järjestelmien kautta, haluaisin myös kiittää heitä siitä, että autan minua selvittämään tämän.
Tässä kaavassa Vc: n arvo on syöttöjännitteemme (+ 5 V) ja R L: n arvo on se, jonka laskimme jo (47K anturilleni). Jos kirjoitamme pienen Arduino-ohjelman, voimme löytää myös V RL: n arvon ja lopulta laskea R: n arvon. Olen antanut alla olevan Arduino-ohjelman, joka lukee anturin analogisen jännitteen (V RL) ja laskee R: n arvon tämän kaavan avulla ja näyttää sen lopuksi sarjavalvonnassa. Ohjelma on selitetty hyvin kommenttiosassa, joten ohitan sen selityksen tässä artikkelissa, jotta tämä artikkeli olisi lyhyt.
/ * * Ohjelma R0: n arvon mittaamiseksi tietylle RL: lle tuoreessa ilmastossa * Ohjelma: B.Aswinth Raj * Verkkosivusto: www.circuitdigest.com * Päivämäärä: 28-12-2017 * / // Tämä ohjelma toimii parhaiten raikkaassa huoneessa, jossa lämpötila on Lämpötila: 20 ℃, kosteus: 65%, O2-pitoisuus 21% ja kun Rl: n arvo on 47K #määrittele RL 47 // Vastuksen RL arvo on 47K mitätön asetus () // Toimii vain kerran {Sarja.alku (9600); // Alusta sarja-COM arvon näyttämiseksi} void loop () {float analog_value; kelluva VRL; kelluva Rs; kelluva Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Lue anturin analogilähtö 200 kertaa {analog_value = analoginen_arvo + analogRead (A0); // lisää arvot arvolle 200} analogiarvo = analogiarvo / 500,0; // Ota keskimääräinen VRL = analogiarvo * (5,0 / 1023,0);// Muunna analoginen arvo jännitteeksi // RS = ((Vc / VRL) -1) * RL on kaavat, jotka saimme tietolomakkeesta Rs = ((5,0 / VRL) -1) * RL; // RS / RO on 3,6, kuten olemme saaneet taulukon Ro = Rs / 3,6 kaaviosta; Sarja.tulos ("Ro tuoreessa ilmassa ="); Serial.println (Ro); // Näytä laskettu Ro-viive (1000); // 1 sekunnin viive}
Huomaa: Ro-arvo vaihtelee, anna anturin esikuumentua vähintään 10 tuntia ja käyttää sitten Ro-arvoa.
Päätin, että Ro: n arvo on 30 KΩ anturilleni (kun R L on 47 kΩ). Sinun saattaa vaihdella hieman.
Mittaa R: n arvo:
Nyt kun tiedämme Ro-arvon, voimme helposti laskea R-arvot käyttämällä kahta yllä olevaa kaavaa. Huomaa, että aiemmin laskettu Rs-arvo on tuoreen ilman olosuhteissa, eikä se ole sama, kun ammoniakkia on ilmassa. R: n arvon laskeminen ei ole iso asia, josta voimme suoraan huolehtia lopullisessa ohjelmassa.
Rs / Ro-suhteen suhde PPM: ään:
Nyt kun tiedämme kuinka mitata R: n ja Ro: n arvo, voimme löytää sen suhteen (Rs / Ro). Sitten voimme käyttää kaaviota (esitetty alla) suhteutumaan vastaavaan PPM-arvoon.
Vaikka NH3-linja (syaaniväri) näyttää olevan lineaarinen, se ei oikeastaan ole lineaarinen. Ulkonäkö johtuu siitä, että asteikko on jaettu epätasaisesti ulkonäön suhteen. Joten Rs / Ro: n ja PPM: n välinen yhteys on itse asiassa logaritminen, joka voidaan esittää alla olevalla yhtälöllä.
log (y) = m * log (x) + b missä, y = suhde (Rs / Ro) x = PPM m = suoran kaltevuus b = leikkauspiste
M: n ja b: n arvojen löytämiseksi meidän on otettava huomioon kaksi pistettä (x1, y1) ja (x2, y2) kaasulinjassa. Työskentelemme tässä ammoniakin kanssa, joten tarkastelemani kaksi pistettä ovat (40,1) ja (100,0,8), kuten yllä olevassa kuvassa näkyy (merkitty punaisena) punaisella merkinnällä.
m = / m = log (0,8 / 1) / log (100/40) m = -0,243
Vastaavasti (b) saadaan keskipisteen arvo (x, y) kaaviosta, joka on (70,0,75), kuten yllä olevassa kuvassa (sinisellä merkitty)
b = log (y) - m * log (x) b = log (0.75) - (-0.243) * log (70) b = 0.323
Se on nyt, kun olemme laskeneet m: n ja b: n arvon, voimme verrata (Rs / Ro): n arvon PPM: ään alla olevan kaavan avulla
PPM = 10 ^ {/ m}
Ohjelma laskea PPM MQ-anturin avulla:
Täydellinen ohjelma laskea PPM käyttäen MQ anturi on alla. Muutama tärkeä rivi selitetään alla.
Ennen ohjelman jatkamista meidän on syötettävä kuormitusresistanssin (RL), kaltevuuden (m), leikkauspisteen (b) ja vastuksen arvon raikkaassa ilmassa (Ro) arvo. Menettely kaikkien näiden arvojen saamiseksi on jo selitetty, joten syötetään vain nyt
#define RL 47 // Vastuksen RL arvo on 47K #define m -0,263 // Syötä laskettu kaltevuus #define b 0,42 // Syötä laskettu leikkaus #define Ro 30 // Syötä löydetty Ro-arvo
Sitten lukea jännitehäviö yli anturin (VRL) ja muuntaa sen jännite (0V 5V), koska analogisen luku palauttaa vain arvot 0-1024.
VRL = analoginen luku (MQ-anturi) * (5,0 / 1023,0); // Mittaa jännitehäviö ja muunna se arvoksi 0-5V
Nyt kun VRL-arvo on laskettu, voit käyttää yllä käsiteltyä kaavaa Rs: n arvon ja myös suhteen (Rs / Ro) laskemiseen.
suhde = Rs / Ro; // etsi suhde Rs / Ro
Lopuksi voimme laskea PPM: n logaritmisella kaavallamme ja näyttää sen sarjamonitorissamme alla olevan kuvan mukaisesti
kaksinkertainen ppm = pow (10, ((log10 (suhde) -b) / m)); // käytä kaavaa laskeaksesi ppm Serial.print (ppm); // Näytä ppm
PPM-arvon näyttäminen laitteistossa Arduinolla ja MQ-137:
Riittävästi kaikesta teoriasta rakentakaamme yksinkertainen piiri anturilla ja nestekidenäytöllä kaasun arvon näyttämiseksi PPM: ssä. Tässä anturini, jota käytän, on MQ137, joka mittaa ammoniakkia, alla olevan piirikaavio on näytetty.
Liitä anturi ja nestekidenäyttösi piirikaavion mukaisesti ja lataa ohjelman lopussa annettu koodi. Sinun on muokattava Ro-arvoa yllä selitetyllä tavalla. Tee muutokset myös parametriarvoihin, jos RL: ksi käytetään muuta vastusta kuin 4.7K.
Jätä laitetta virtalähteeksi vähintään 2 tunniksi, ennen kuin otat mitään lukemia (tarkempia arvoja varten suositellaan 48 tuntia). Tätä aikaa kutsutaan lämmitysajaksi, jonka aikana anturi lämpenee. Tämän jälkeen sinun pitäisi pystyä näkemään LCD-näytöllä näkyvä PPM-arvo ja jännite alla olevan kuvan mukaisesti.
Varmistaaksemme nyt, liittyvätko arvot todella ammoniakin läsnäoloon, sijoitetaan tämä kokoonpano suljetussa astiassa ja lähetetään ammoniakkikaasua sen sisään tarkistamaan, nousevatko arvot. Minulla ei ole oikeaa PPM-mittaria, kalibroi se, ja olisi hienoa, jos joku, jolla on mittari, voisi testata tämän kokoonpanon ja ilmoittaa minulle.
Voit katsella alla olevaa videota tarkistaaksesi, kuinka lukemat vaihtelivat ammoniakin perusteella. Toivottavasti ymmärrät käsitteen ja nautit sen oppimisesta. Jos sinulla on epäilyksiä, jätä ne kommenttiosioon tai saat tarkempaa apua foorumin käytöstä täällä.