- MQ-series Gas sensors
- Paghahanda ng iyong Hardware:
- Diskarte upang Sukatin ang PPM mula sa MQ Gas Sensors:
- Kinakalkula ang Halaga ng Ro sa Malinis na Hangin:
- Sukatin ang halaga ng Rs:
- Nauugnay ang Rs / Ro ratio sa PPM:
- Programa upang makalkula ang PPM gamit ang MQ sensor:
- Ipinapakita ang halaga ng PPM sa Hardware kasama ang Arduino at MQ-137:
Mula pa mismo sa panahon ng industriya, ang ating sangkatauhan ay mabilis na umuunlad. Sa bawat pag-unlad dinudumihan din natin ang ating kapaligiran at kalaunan ay pinapasama ito. Ngayon ang pag-init ng mundo ay isang nakakaalarma na banta at maging ang hangin na hininga natin ay nagiging kritikal. Kaya't ang pagsubaybay sa kalidad ng hangin ay nagsimula ring makakuha ng kahalagahan. Kaya sa artikulong ito matututunan natin kung paano gamitin ang anumang MQ series gas sensor na may Arduino at ipinapakita ang output sa PPM (mga bahagi bawat milyon). Ang PPM ay ipinahayag din bilang milligrams bawat litro (mg / L). Ang mga sensor na ito ay karaniwang magagamit at maaasahan din para sa pagsukat ng iba't ibang uri ng gas na ipinakita sa ibaba
MQ-series Gas sensors
- Carbon Dioxide (CO2): MG-811
- Carbon Monoxide (CO): MQ-9
- Kabuuang mga pabagu-bago ng isip na Mga Compound (TVOC): CCS811
- Katumbas na Carbon Dioxide (eCO2): CCS811
- Metal Oxide (MOX): CCS811
- Ammonia: MQ-137
- Kalidad ng Hangin: MQ-135
- LPG, Alkohol, Usok: MQ2
Gumamit na kami ng MQ2 para sa pag-sense ng usok at MQ-135 para sa proyekto sa pagsubaybay sa kalidad ng Air. Dito ko gagamitin ang MQ-137 sensor mula sainsmart upang masukat ang amonya sa ppm. Gamit ang sensor na nasa kamay ay dumaan ako sa lahat ng mga magagamit na tutorial at nalaman na walang tamang dokumentasyon kung paano sukatin ang gas sa ppm. Karamihan sa mga tutorial alinman sa pakikitungo lamang sa mga halaga ng Analog o ipakilala ang ilang mga pare-pareho na hindi maaasahan para sa pagsukat ng lahat ng uri ng gas. Kaya pagkatapos ng mahabang pag-ikot sa online nang mahabang panahon sa wakas natagpuan ko kung paano gamitin ang mga MQ series gas sensors na ito upang masukat ang ppm gamit ang Arduino. Ipinapaliwanag ko ang mga bagay mula sa ibaba nang walang anumang mga aklatan upang magamit mo ang artikulong ito para sa anumang Gas sensor na magagamit sa iyo.
Paghahanda ng iyong Hardware:
Ang MQ gas sensors ay maaaring binili bilang isang module o bilang isang sensor lamang. Kung ang iyong hangarin ay upang masukat lamang ang ppm pagkatapos pinakamahusay na bilhin ang sensor nang mag-isa dahil ang module ay mabuti para sa paggamit lamang ng Digital pin. Kaya't kung binili mo na ang module mayroon ka na magsagawa ng isang maliit na pag-hack na tatalakayin pa. Sa ngayon, ipagpalagay nating binili mo ang sensor. Ang pinout at koneksyon ng sensor ay ipinapakita sa ibaba
Tulad ng nakikita mo kailangan mo lamang ikonekta ang isang dulo ng 'H' upang ibigay at ang iba pang dulo ng 'H' sa lupa. Pagkatapos pagsamahin ang parehong A at parehong B. Ikonekta ang isang hanay upang magbigay ng boltahe at ang isa pa sa iyong analog pin. Ang risistor na R L ay gumaganap ng isang napakahalagang papel sa paggawa ng sensor. Kaya gumawa ng tala kung aling halaga ang iyong ginagamit, inirerekumenda ang halagang 47k.
Kung bumili ka na ng isang module, dapat mong subaybayan ang iyong mga bakas ng PCB upang mahanap ang halaga ng iyong R L sa pisara. Ginawa na ng Grauonline ang gawaing ito para sa amin at ang circuit diagram ng MQ gas sensor board ay ibinibigay sa ibaba.
Tulad ng nakikita mo ang risistor R L (R2) ay konektado sa pagitan ng Aout pin at sa lupa, kaya kung nagkakaroon ka ng isang module ang halaga ng R L ay maaaring masukat sa pamamagitan ng paggamit ng isang multimeter sa resistence mode sa buong Vout pin at Vcc pin ng ang modyul. Sa aking sainsmart MQ-137 gas sensor ang halaga ng RL ay 1K at ito ay matatagpuan dito tulad ng ipinakita sa larawan sa ibaba.
Gayunman, ang website claims na ito ay nagbibigay ng isang variable na palayok ng R L na kung saan ay hindi totoo dahil maaari mong malinaw na makita sa circuit diagram, ang palayok ay ginagamit upang itakda ang variable na boltahe para sa op-amp at may walang kinalaman sa R L. Kaya kailangan nating manu-manong maghinang ng SMD risistor (1K) na ipinakita sa itaas at kailangan naming gamitin ang aming sariling risistor sa kabuuan ng Ground at Vout pin na kikilos bilang RL. Ang pinakamahusay na halaga para sa RL ay magiging 47K tulad ng iminungkahi ng datasheet samakatuwid gagamitin namin ang pareho.
Diskarte upang Sukatin ang PPM mula sa MQ Gas Sensors:
Ngayon na alam namin ang halaga ng R L ay nagpapatuloy sa kung paano talaga masukat ang ppm mula sa mga sensor na ito. Tulad ng lahat ng mga sensor ang lugar upang magsimula ay ang datasheet nito. Ang MQ-137 Datasheet ay ibinibigay dito ngunit tiyaking nakita mo ang tamang datasheet para sa iyong sensor. Sa loob ng datasheet kailangan namin ng isang grap na lalagyan laban sa (Rs / Ro) VS PPM ito ang kailangan namin para sa aming mga kalkulasyon. Kaya't itabi ito at panatilihin itong madaling gamitin. Ang isa para sa aking sensor ay ipinapakita sa ibaba.
Lumalabas na ang MQ137 sensor ay maaaring masukat ang NH3, C2H6O at kahit ang CO. Ngunit, narito ako interesado lamang sa mga halaga ng NH3. Gayunpaman maaari mong gamitin ang parehong pamamaraan upang makalkula ang ppm para sa anumang sensor na gusto mo. Ang graph na ito ang tanging mapagkukunan para sa amin upang mahanap ang halaga ng ppm at kung maaari naming kahit paano makalkula ang rasyon ng Rs / Ro (X-axis) maaari naming gamitin ang grap na ito upang hanapin ang halaga ng ppm (Y-axis). Upang mahanap ang halaga ng Rs / Ro kailangan nating hanapin ang halaga ng Rs at ang halaga ng Ro. Kung saan ang Rs ay ang paglaban ng Sensor sa konsentrasyon ng gas at ang Ro ay ang paglaban ng sensor sa malinis na ginoo.
Yess… ito ang plano tingnan natin kung paano tayo makakawala dito….
Kinakalkula ang Halaga ng Ro sa Malinis na Hangin:
Tandaan na sa graph na halaga ng Rs / Ro ay pare-pareho para sa hangin (makapal na asul na linya) upang magamit natin ito sa aming kalamangan at sabihin na kapag ang sensor ay gumagana sa sariwang hangin ang halaga ng Rs / Ro ay magiging 3.6 sumangguni sa larawan sa ibaba
Rs / Ro = 3.6
Mula sa datasheet nakakakuha din kami ng isang formula para sa pagkalkula ng halaga ng Rs. Ang pormula ay ipinapakita sa ibaba. Kung interesado kang malaman kung paano nagmula ang formula na ito maaari mong basahin sa pamamagitan ng jay con system, nais ko rin silang kredihin sa pagtulong sa akin na ayusin ito.
Sa pormulang ito ang halaga ng Vc ay ang aming boltahe ng suplay (+ 5V) at ang halaga ng R L ay ang isa na aming kinakalkula (47K para sa aking sensor). Kung nagsusulat kami ng isang maliit na programa ng Arduino maaari rin naming mahanap ang halaga ng V RL at sa wakas ay kalkulahin ang halaga ng Rs. Nagbigay ako ng isang Arduino Program sa ibaba na binabasa ang analog voltage (V RL) ng sensor at kinakalkula ang halaga ng Rs gamit ang formula na ito at sa wakas ay ipinapakita ito sa serial monitor. Maayos na ipinaliwanag ang programa sa pamamagitan ng seksyon ng komento kaya't nilalaktawan ko ang paliwanag dito upang mapanatili ang maikling artikulong ito.
/ * * Program upang masukat ang halaga ng R0 para sa isang alam na RL sa sariwang kondisyon ng hangin * Program ni: B.Aswinth Raj * Website: www.circuitdigest.com * Petsa: 28-12-2017 * / // Ang program na ito ay pinakamahusay na gumagana sa isang sariwang air room na may temperaure Temp: 20 ℃, Humidity: 65%, O2 konsentrasyon 21% at kapag ang halaga ng Rl ay 47K #define RL 47 // Ang halaga ng resistor RL ay 47K void setup () // Tumatakbo lamang sabay {Serial.begin (9600); // Initialise serial COM para sa pagpapakita ng halaga} void loop () {float analog_value; lumutang VRL; float Rs; float Ro; para sa (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Basahin ang analog na output ng sensor nang 200 beses {analog_value = analog_value + analogRead (A0); // idagdag ang mga halaga para sa 200} analog_value = analog_value / 500.0; // Take average VRL = analog_value * (5.0 / 1023.0);// I-convert ang halagang analog sa boltahe // RS = ((Vc / VRL) -1) * Ang RL ay ang mga formula na nakuha namin mula sa datasheet Rs = ((5.0 / VRL) -1) * RL; // RS / RO ay 3.6 tulad ng nakuha namin mula sa grap ng datasheet Ro = Rs / 3.6; Serial.print ("Ro at fresh air ="); Serial.println (Ro); // Display kinakalkula Ro pagkaantala (1000); // pagkaantala ng 1sec}
Tandaan: Ang halaga ng Ro ay magkakaiba, payagan ang sensor na paunang mag-init kahit 10 oras at pagkatapos ay gamitin ang halaga ng Ro.
Natapos ko ang halaga ng Ro na 30 KΩ para sa aking sensor (kapag ang R L ay 47kΩ). Ang iyo ay maaaring bahagyang mag-iba.
Sukatin ang halaga ng Rs:
Ngayon alam na natin ang halaga ng Ro madali nating makalkula ang halaga ng Rs gamit ang dalawang pormula sa itaas. Tandaan na ang halaga ng mga R na kinakalkula dati ay para sa sariwang kondisyon ng hangin at hindi ito magiging pareho kapag ang ammonia ay naroroon sa hangin. Ang pagkalkula ng halaga ng Rs ay hindi isang malaking isyu kung saan maaari kaming direktang mag-ingat sa huling programa.
Nauugnay ang Rs / Ro ratio sa PPM:
Ngayon alam na namin kung paano sukatin ang halaga ng Rs at Ro maaari naming mahanap ang ratio nito (Rs / Ro). Pagkatapos ay maaari naming gamitin ang tsart (ipinapakita sa ibaba) upang maiugnay sa kaukulang halaga ng PPM.
Bagaman ang linya ng NH3 (kulay ng cyan) ay lilitaw na linear hindi talaga ito guhit. Ang hitsura ay dahil ang scale ay nahahati nang hindi pare-pareho para sa hitsura. Kaya't ang pagkakaugnay sa pagitan ng Rs / Ro at PPM ay talagang logaritmiko na maaaring kinatawan ng ibaba sa equation.
mag-log (y) = m * log (x) + b kung saan, y = ratio (Rs / Ro) x = PPM m = slope ng linya b = intersection point
Upang hanapin ang mga halaga ng m at b kailangan nating isaalang-alang ang dalawang puntos (x1, y1) at (x2, y2) sa aming linya ng gas. Narito kami ay nagtatrabaho sa amonya kaya ang dalawang puntos na isinasaalang-alang ko ay (40,1) at (100,0.8) tulad ng ipinakita sa larawan sa itaas (minarkahan ng pula) na may pulang marka.
m = / m = log (0.8 / 1) / log (100/40) m = -0.243
Katulad nito para sa (b) kunin natin ang halagang midpoint (x, y) mula sa grap na (70,0.75) tulad ng ipinakita sa larawan sa itaas (minarkahan ng asul)
b = log (y) - m * log (x) b = log (0.75) - (-0.243) * log (70) b = 0.323
Iyon lang ngayon na kinakalkula namin ang halaga ng m at b maaari nating ihambing ang halaga ng (Rs / Ro) sa PPM gamit ang formula sa ibaba
PPM = 10 ^ {/ m}
Programa upang makalkula ang PPM gamit ang MQ sensor:
Ang kumpletong programa upang makalkula ang PPM gamit ang isang MQ sensor ay ibinibigay sa ibaba. Ilang mga mahahalagang linya ang ipinaliwanag sa ibaba.
Bago magpatuloy sa programa kailangan nating pakainin ang mga halaga ng paglaban sa Load (RL), Slope (m), Intercept (b) at ang halaga ng Paglaban sa sariwang hangin (Ro). Ang pamamaraan upang makuha ang lahat ng mga halagang ito ay naipaliwanag na kaya't pakainin lamang natin sila ngayon
#define RL 47 // Ang halaga ng risistor RL ay 47K # tukuyin m -0.263 // Ipasok ang kinakalkula na Slope #define b 0.42 // Ipasok ang kinakalkula na intercept #define Ro 30 // Ipasok ang nahanap na halaga ng Ro
Pagkatapos basahin ang drop ng Boltahe sa kabuuan ng sensor (VRL) at i-convert ito sa Boltahe (0V hanggang 5V) dahil ang binasa ng analog ay magbabalik lamang ng mga halaga mula 0 hanggang 1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Sukatin ang pagbagsak ng boltahe at i-convert sa 0-5V
Ngayon, na ang halaga ng VRL ay kinakalkula maaari mong gamitin ang pormula na tinalakay sa itaas upang makalkula ang halaga ng Rs at ang ratio din (Rs / Ro)
ratio = Rs / Ro; // find ratio Rs / Ro
Panghuli, maaari nating kalkulahin ang PPM sa aming logarithmic formula at ipakita ito sa aming serial monitor tulad ng ipinakita sa ibaba
doble ppm = pow (10, ((log10 (ratio) -b) / m)); // use formula upang makalkula ang ppm Serial.print (ppm); // Ipakita ang ppm
Ipinapakita ang halaga ng PPM sa Hardware kasama ang Arduino at MQ-137:
Sapat na sa lahat ng teorya ipaalam sa amin na bumuo ng isang simpleng circuit na may sensor at LCD upang ipakita ang halaga ng gas sa PPM. Narito ang sensor na ginagamit ko ay MQ137 na sumusukat sa amonya, ang circuit diagram para sa aking set up ay ipinapakita sa ibaba.
Ikonekta ang iyong sensor at iyong LCD tulad ng ipinakita sa diagram ng Circuit at i-upload ang code na ibinigay sa pagtatapos ng programa. Kailangan mong baguhin ang halagang Ro tulad ng ipinaliwanag sa itaas. Gawin din ang mga pagbabago sa mga halagang parameter kung gumagamit ka ng iba pang risistor bilang RL maliban sa 4.7K.
Iwanan ang iyong set-up na pinapatakbo nang hindi bababa sa 2 oras bago ka kumuha ng anumang mga pagbabasa, (inirerekumenda ang 48 na oras para sa mas tumpak na mga halaga). Ang oras na ito ay tinatawag na oras ng pag-init, kung saan umiinit ang sensor. Pagkatapos nito, dapat mong makita ang halaga ng PPM at ang boltahe na ipinapakita sa iyong LCD screen tulad ng ipinakita sa ibaba.
Ngayon upang matiyak kung ang mga halaga ay talagang may kaugnayan sa pagkakaroon ng ammonia, ilagay natin ang set-up na ito sa loob ng isang saradong lalagyan at ipadala ang ammonia gas sa loob nito upang suriin kung ang mga halaga ay tumataas. Wala akong tamang meter ng PPM sa akin na i-calibrate ito at masarap kung ang isang tao na may meter ay maaaring subukan ang set-up na ito at ipaalam sa akin.
Maaari mong panoorin ang video sa ibaba upang suriin kung paano nag-iiba ang mga pagbasa batay sa pagkakaroon ng amonya. Inaasahan kong naintindihan mo ang konsepto at nasiyahan sa pag-aaral nito. Kung mayroon kang anumang mga pagdududa iwanan ang mga ito sa seksyon ng komento o para sa mas detalyadong tulong na gamitin ang forum dito.