Talaan ng mga Nilalaman:

Arduino CO Monitor Gamit ang MQ-7 Sensor: 8 Hakbang (na may Mga Larawan)
Arduino CO Monitor Gamit ang MQ-7 Sensor: 8 Hakbang (na may Mga Larawan)

Video: Arduino CO Monitor Gamit ang MQ-7 Sensor: 8 Hakbang (na may Mga Larawan)

Video: Arduino CO Monitor Gamit ang MQ-7 Sensor: 8 Hakbang (na may Mga Larawan)
Video: Arduino carbon monoxide monitor 2024, Nobyembre
Anonim
Arduino CO Monitor Gamit ang MQ-7 Sensor
Arduino CO Monitor Gamit ang MQ-7 Sensor
Arduino CO Monitor Gamit ang MQ-7 Sensor
Arduino CO Monitor Gamit ang MQ-7 Sensor

Ilang mga salita kung bakit nilikha ang itinuturo na ito: isang araw ay tinawag kami ng ina ng aking kasintahan sa kalagitnaan ng gabi sapagkat nararamdaman niya na talagang may sakit siya - nagkaroon siya ng pagkahilo, tachycardia, pagduwal, mataas na presyon ng dugo, nahimatay pa siya sa hindi alam na oras (marahil ~ 5 minuto, ngunit walang paraan upang sabihin), lahat nang walang anumang maliwanag na dahilan. Nakatira siya sa isang maliit na nayon na malayo sa mga ospital (60 km mula sa aming lugar, 30 km papunta sa pinakamalapit na ospital, 10 km na walang normal na kalsada sa pagitan), kaya sumugod kami sa kanya at makarating kaagad pagkatapos ng ambulansya. Napunta siya sa ospital at sa umaga ay pakiramdam niya ay halos gumaling na siya, ngunit hindi makita ng mga doktor ang sanhi nito. Kinabukasan mayroon kaming ideya: maaaring ito ay pagkalason ng CO, dahil mayroon siyang gas water boiler (nasa larawan), at nakaupo malapit dito para sa buong gabi nang nangyari ito. Kamakailan ay bumili kami ng MQ-7 CO sensor, ngunit hindi kailanman nagkaroon ng oras upang magtipon ng mga iskema para dito, kaya't ito ang perpektong oras upang gawin ito. Matapos ang isang oras na paghahanap sa internet para sa anumang mga tagubilin, napagtanto kong hindi ako makakahanap ng anumang gabay na kasabay nito ay sumusunod sa mga tagubilin ng tagagawa ng sensor na ibinigay sa datasheet nito at ipinapaliwanag ang anuman sa lahat (ang isang halimbawa ay tila may mahusay na code, ngunit ito ay hindi malinaw kung paano ilapat ito, ang iba ay sobrang pagpapadali at hindi gagana nang maayos). Kaya't ginugol namin ang tungkol sa 12 oras para sa pagbuo ng mga eskematiko, paggawa at pag-print ng 3d case, pagsubok at pag-calibrate ng sensor, at sa susunod na araw ay nagpunta sa kahina-hinalang boiler. Ito ay naka-out na ang mga antas ng CO doon ay napakataas, at maaaring nakamamatay kung ang oras ng pagkakalantad ng CO ay mas mahaba. Kaya't naniniwala ako na ang sinumang may magkatulad na sitwasyon (tulad ng gas boiler o iba pang pagkasunog na nangyayari sa loob ng isang puwang) ay dapat kumuha ng naturang sensor upang maiwasan ang hindi magandang mangyari.

Lahat ng iyon nangyari dalawang linggo na ang nakakalipas, mula noon ay pinagbuti ko ang mga eskematiko at programa ng marami, at ngayon mukhang makatuwirang mabuti at medyo simple (hindi 3-linya-ng-code na simple, ngunit pa rin). Kahit na inaasahan kong ang isang tao na may tumpak na CO meter ay magbibigay sa akin ng ilang puna sa default na pagkakalibrate na inilagay ko sa sketch - Hinala ko na malayo ito sa mabuti. Narito ang isang kumpletong gabay na may ilang pang-eksperimentong data.

Hakbang 1: Bill ng Mga Materyales

Bill ng Mga Materyales
Bill ng Mga Materyales

Kakailanganin mo ang: 0. Board ng Arduino. Mas gusto ko ang clone ng Tsino ng Arduino Nano para sa natitirang presyo na $ 3, ngunit ang anumang 8-bit arduino ay gagana dito. Gumagamit ang sketch ng ilang advanced na pagpapatakbo ng timer, at nasubukan lamang sa atmega328 microcontroller - kahit na malamang na gagana rin ito sa iba.1. MQ-7 CO sensor. Karamihan sa mga karaniwang magagamit sa module ng sensor ng Flying Fish na ito, kailangan nitong patakbuhin ang isang maliit na pagbabago, mga detalye sa susunod na hakbang, o maaari mong gamitin ang isang pinaghiwalay na MQ-7sensor.

2. NPN bipolar transistor. Halos anumang transistor ng NPN na maaaring hawakan ang 300 mA o higit pa ay gagana dito. Ang PNP transistor ay hindi gagana sa isang nabanggit na module ng Flying Fish (dahil mayroon itong pin na pampainit na solder sa output ng sensor), ngunit maaaring magamit sa isang discrete MQ-7 sensor.

3. Mga Resistor: 2 x 1k (mula sa 0.5k hanggang 1.2k ay gagana nang maayos), at 1 x 10k (na ang isa ay pinakamahusay na pinananatiling tumpak - kahit na kung talagang kailangan mong gumamit ng ibang halaga, ayusin ang variable ng referral_resistor_kOhm sa sketch nang naaayon).

4. Mga Capacitor: 2 x 10uF o higit pa. Kinakailangan ang mga tanum o ceramic, ang electrolytic ay hindi gagana nang maayos dahil sa mataas na ESR (hindi sila makapagbibigay ng sapat na kasalukuyang upang makinis ang mataas na kasalukuyang ripple).5. Ang berde at pula na LEDs upang ipahiwatig ang kasalukuyang antas ng CO (maaari mo ring gamitin ang isang solong dalawahang kulay na LED na may 3 mga terminal, tulad ng ginamit namin sa aming dilaw na kahon na prototype).6. Piezo buzzer upang ipahiwatig ang mataas na antas ng CO.7. Breadboard at wires (maaari mo ring i-solder ang lahat sa mga pin ng Nano o iipit sa mga socket ng Uno, ngunit madali itong magkamali sa ganitong paraan).

Hakbang 2: Pagbabago ng Modyul o Mga Kable ng Discrete Sensor

Pagbabago ng Module o Mga Kable ng Discrete Sensor
Pagbabago ng Module o Mga Kable ng Discrete Sensor

Para sa module, dapat mong masira ang risistor at capacitor, tulad ng ipinakita sa larawan. Maaari mong sirain ang lahat ng bagay kung nais mo - ang module ng electronics ay ganap na walang silbi, ginagamit lamang namin ito bilang may-ari para sa sensor mismo, ngunit ang dalawang sangkap na ito ay pipigilan kang makakuha ng wastong pagbabasa, Kung gumagamit ka ng discrete sensor, ilakip ang mga heater pin (H1 at H2) sa 5V at kolektor ng transistor na tumutugma. Ikabit ang isang panig sa pandama (alinman sa mga A pin) sa 5V, isa pang bahagi ng sensing (alinman sa mga B pin) sa 10k risistor, tulad ng analog pin ng module sa mga eskematiko.

Hakbang 3: Prinsipyo sa Pagpapatakbo

Prinsipyo sa Operasyon
Prinsipyo sa Operasyon
Prinsipyo sa Operasyon
Prinsipyo sa Operasyon

Bakit kailangan natin ang lahat ng mga komplikasyon na ito, bakit hindi maglakip ng 5V, ground, at makakuha lamang ng mga pagbasa? Sa gayon, hindi ka makakakuha ng anumang kapaki-pakinabang sa ganitong paraan, sa kasamaang palad. Ayon sa MQ-7 datasheet, ang sensor ay kailangang tumakbo sa high- at mga low cycle ng pag-init upang makakuha ng tamang sukat. Sa panahon ng mababang temperatura, ang CO ay hinihigop sa plato, na gumagawa ng makabuluhang data. Sa panahon ng mataas na temperatura phase, hinihigop ang CO at iba pang mga compound na sumingaw mula sa plate ng sensor, nililinis ito para sa susunod na pagsukat.

Kaya sa pangkalahatang operasyon ay simple:

1. Mag-apply ng 5V sa loob ng 60 segundo, huwag gamitin ang mga pagbabasa na ito para sa pagsukat ng CO.

2. Mag-apply ng 1.4V sa loob ng 90 segundo, gamitin ang mga pagbabasa na ito para sa pagsukat ng CO.

3. Pumunta sa hakbang 1.

Ngunit narito ang problema: Ang Arduino ay hindi maaaring magbigay ng sapat na lakas upang patakbuhin ang sensor na ito mula sa mga pin nito - ang heater ng sensor ay nangangailangan ng 150 mA, habang ang Arduino pin ay maaaring magbigay ng hindi hihigit sa 40 mA, kaya kung direktang nakakabit, ang Arduino pin ay masusunog at nanalo pa rin ang sensor hindi ito gagana. Kaya dapat nating gamitin ang ilang uri ng kasalukuyang amplifier na tumatagal ng maliit na kasalukuyang pag-input upang makontrol ang malalaking kasalukuyang output. Ang isa pang problema ay ang pagkuha ng 1.4V. Ang tanging paraan upang mapagkakatiwalaan makuha ang halagang ito nang hindi nagpapakilala ng maraming mga sangkap ng analog ay ang paggamit ng PWM (Pulse Width Modulation) na diskarte na may feedback na makokontrol ang output boltahe.

Nalulutas ng NPN transistor ang parehong mga problema: kapag ito ay patuloy na naka-on, ang boltahe sa kabuuan ng sensor ay 5V at ito ay nag-iinit para sa mataas na temperatura na yugto. Kapag inilapat namin ang PWM sa input nito, ang kasalukuyang ay pumuputok, pagkatapos ay ito ay kininis ng kapasitor, at ang average na boltahe ay pinananatiling pare-pareho. Kung gumagamit kami ng mataas na dalas ng PWM (sa sketch mayroon itong dalas na 62.5KHz) at average ng maraming mga analog na pagbabasa (sa sketch na average kami ng higit sa ~ 1000 na pagbasa), kung gayon ang resulta ay lubos na maaasahan.

Kritikal na magdagdag ng mga capacitor alinsunod sa mga eskematiko. Ang mga imahe dito ay naglalarawan ng pagkakaiba sa signal na may at walang C2 capacitor: kung wala ito, ang PWM ripple ay malinaw na nakikita at makabuluhang iniistorbo ang mga pagbasa.

Hakbang 4: Schematics at Breadboard

Schematics at Breadboard
Schematics at Breadboard
Schematics at Breadboard
Schematics at Breadboard
Schematics at Breadboard
Schematics at Breadboard

Narito ang mga iskema ng iskema at pagpupulong.

BABALA! Kinakailangan ang pagbabago ng isang karaniwang module ng breakout! Nang walang modification module ay walang silbi. Ang pagbabago ay inilarawan sa ikalawang hakbang

Mahalagang gamitin ang mga pin na D9 at D10 para sa mga LED, dahil doon mayroon kaming mga output ng hardware Timer1, papayagan nitong maayos na baguhin ang kanilang mga kulay. Ang Pins D5 at D6 ay ginagamit para sa buzzer, dahil ang D5 at D6 ay mga output ng hardware Timer0. Ise-configure namin ang mga ito upang maging kabaligtaran ng isa't isa, kaya't lilipat sila sa pagitan ng (5V, 0V) at (0V, 5V) na estado, sa gayon ay gumagawa ng tunog sa buzzer. Babala: nakakaapekto ito sa pangunahing pag-timer ng Arduino, kaya't ang lahat ng mga pagpapaandar na umaasa sa oras (tulad ng millis ()) ay hindi makagawa ng tamang mga resulta sa sketch na ito (higit pa sa paglaon). Ang Pin D3 ay may output ng Timer2 na hardware na konektado dito (pati na rin D11 - ngunit hindi gaanong maginhawa upang ilagay ang kawad sa D11 kaysa sa D3) - kaya ginagamit namin ito upang magbigay ng PWM para sa boltahe na pagkontrol sa transistor. Ginagamit ang Resistor R1 upang makontrol ang liwanag ng mga LED. Maaari itong maging kahit saan mula 300 hanggang 3000 Ohm, ang 1k ay lubos na pinakamainam sa liwanag / pagkonsumo ng kuryente. Ginagamit ang Resistor R2 upang limitahan ang kasalukuyang pangkasalukuyan ng transistor. Hindi ito dapat mas mababa sa 300 Ohms (upang hindi mag-overload ang Arduino pin), at hindi mas mataas sa 1500 Ohms. 1k mayroong isang ligtas na pagpipilian.

Ginagamit ang Resistor R3 sa serye na may plate ng sensor upang lumikha ng isang divider ng boltahe. Ang boltahe sa output ng sensor ay katumbas ng R3 / (R3 + Rs) * 5V, kung saan ang Rs ay kasalukuyang pagtutol ng sensor. Ang paglaban ng sensor ay nakasalalay sa konsentrasyon ng CO, kaya't nababago nang naaayon ang boltahe. Ang capacitor C1 ay ginagamit upang makinis ang input ng PWM boltahe sa MQ-7 sensor, mas mataas ang capacitance nito mas mabuti, ngunit mayroon din itong mababang ESR - kaya ceramic (o tantalum) ginusto ang capacitor dito, ang isang electrolytic ay hindi gagana nang maayos.

Ang Capacitor C2 ay ginagamit upang makinis ang analog output ng sensor (ang output boltahe ay nakasalalay sa boltahe ng pag-input - at mayroon kaming isang mataas na kasalukuyang PWM dito, na nakakaapekto sa lahat ng mga iskema, kaya kailangan namin ng C2). Ang pinakasimpleng solusyon ay ang paggamit ng parehong kapasitor tulad ng C1. NPN transistor alinman ay nagsasagawa ng kasalukuyang sa lahat ng oras upang magbigay ng mataas na kasalukuyang sa heater ng sensor, o gumagana sa PWM mode sa gayon binabawasan ang kasalukuyang pag-init.

Hakbang 5: Arduino Program

Programa ng Arduino
Programa ng Arduino

BABALA: KINAKAILANGAN NG SENSOR ANG MANwal na Kwalipikasyon Para sa ANUMANG PRAKTIKAL NA PAGGAMIT. Nang WALANG KALIBRASYON, NAKasalalay sa mga PARAMETER NG IYONG PARTICULAR SENSOR, ANG SKETCH NA ITO AY MAAARING MAG-ONGAR SA ALARM SA MALINIS NA AIR O HINDI MAKITA ANG LETHAL CARBON MONOXIDE CONCENTRATION

Ang pagkakalibrate ay inilarawan sa mga sumusunod na hakbang. Ang magaspang na pagkakalibrate ay napaka-simple, tumpak na medyo kumplikado.

Sa pangkalahatang antas, ang programa ay sa halip simple:

Una naming na-calibrate ang aming PWM upang makagawa ng matatag na 1.4V na kinakailangan ng sensor (ang tamang lapad ng PWM ay nakasalalay sa maraming mga parameter tulad ng eksaktong halaga ng risistor, paglaban ng partikular na sensor na ito, curve ng VA ng transistor atbp atbp - kaya ang pinakamahusay na paraan ay upang subukan ang iba't ibang mga halaga at gumamit ng isa na pinakaangkop). Pagkatapos, patuloy kaming tumatakbo sa pamamagitan ng pag-ikot ng 60 segundo na pag-init at pagsukat ng 90 segundo. Sa pagpapatupad medyo kumplikado ito. Kailangan naming gumamit ng mga timer ng hardware dahil ang lahat na mayroon tayo dito ay nangangailangan ng mataas na dalas na matatag na PWM upang gumana nang maayos. Ang code ay nakalakip dito at maaaring mai-download mula sa aming github, pati na rin ang mga mapagkukunan ng eskematiko sa Fritzing. Sa programa mayroong 3 mga pag-andar na humahawak sa mga timer: setTimer0PWM, setTimer1PWM, setTimer2PWM. Ang bawat isa sa kanila ay nagtatakda ng timer sa PWM mode na may ibinigay na mga parameter (nagkomento sa code), at nagtatakda ng lapad ng pulso ayon sa mga halaga ng pag-input. Ang mga phase ng pagsukat ay inililipat gamit ang mga pag-andar startMeasurementPhase at start HeatingPhase, sila hawakan ang lahat sa loob. at itakda ang wastong mga halaga ng timer para sa paglipat sa pagitan ng 5V at 1.4V na pag-init. Ang estado ng LEDs ay itinakda ng mga function setLED na tumatanggap ng berde at pulang ningning sa pag-input nito (sa linear 1-100 scale) at binago ito sa kaukulang setting ng timer.

Ang estado ng buzzer ay kinokontrol gamit ang mga pagpapaandar buzz_on, buzz_off, buzz_beep. Ang mga pagpapaandar na naka-on / off ay nakabukas at nakabukas, ang pagpapaandar ng beep ay gumagawa ng tiyak na pagkakasunud-sunod ng pag-beep na may tagal na 1.5 segundo kung pana-panahong tinatawag ito (babalik agad ang pagpapaandar na ito upang hindi ito i-pause ang pangunahing programa - ngunit kailangan mo itong tawagan muli at muli upang makabuo ng pattern ng beeping).

Pinapatakbo muna ng programa ang pagpapaandar na pwm_adjust na malaman ang wastong lapad ng ikot ng PWM upang makamit ang 1.4V sa panahon ng pagsukat. Pagkatapos ay sumisigaw ito ng ilang beses upang ipahiwatig na ang sensor ay handa na, lumipat sa yugto ng pagsukat, at sinisimulan ang pangunahing loop.

Sa pangunahing loop, susuriin ng programa kung gumugol kami ng sapat na oras sa kasalukuyang yugto (90 segundo para sa yugto ng pagsukat, 60 segundo para sa yugto ng pag-init) at kung oo, pagkatapos ay binabago ang kasalukuyang yugto. Patuloy din nitong ina-update ang mga pagbabasa ng sensor gamit ang exponential smoothing: new_value = 0.999 * old_value + 0.001 * new_reading. Sa mga naturang parameter at cycle ng pagsukat, nag-a-average ito ng signal ng humigit-kumulang sa huling 300 millisecond. BABALA: KINAKAILANGAN NG SENSOR ANG MANwal na KALIBRASYON PARA SA ANUMANG PRAKTIKAL NA PAGGAMIT. Nang WALANG KALIBRASYON, NAKasalalay sa mga PARAMETER NG IYONG PARTICULAR SENSOR, ANG SKETCH NA ITO AY MAAARING MAG-ONGAR SA ALARM SA MALINIS NA AIR O HINDI MAKITA ANG LETHAL CARBON MONOXIDE CONCENTRATION.

Hakbang 6: Unang Patakbuhin: Ano ang aasahan

Unang Takbo: Ano ang Aasahan
Unang Takbo: Ano ang Aasahan

Kung naipon mo nang maayos ang lahat, pagkatapos ng pagpapatakbo ng sketch makakakita ka ng tulad nito sa Serial monitor:

pagsasaayos ng PWM w = 0, V = 4.93

pagsasaayos ng PWM w = 17, V = 3.57PWM na resulta: lapad 17, boltahe 3.57

at pagkatapos ay isang serye ng mga numero na kumakatawan sa kasalukuyang mga pagbabasa ng sensor. Ang bahaging ito ay inaayos ang lapad ng PWM upang makagawa ng boltahe ng pampainit ng sensor na malapit sa 1.4V hangga't maaari, ang sinusukat na boltahe ay ibabawas mula sa 5V, kaya ang aming perpektong nasusukat na halaga ay 3.6V. Kung ang prosesong ito ay hindi kailanman nagtatapos o nagtatapos pagkatapos ng isang solong hakbang (nagreresulta sa lapad na katumbas ng 0 o 254) - kung gayon may isang bagay na mali. Suriin kung ang iyong transistor ay talagang NPN at maayos na konektado (siguraduhin na gumamit ka ng base, kolektor, mga pin ng emitter kanan - base ay pupunta sa D3, kolektor sa MQ-7 at emitter sa lupa, huwag asahan ang Fritzing na pagtingin sa breadboard - ito ay mali para sa ilang mga transistors) at tiyaking nakakonekta mo ang input ng sensor sa input ng Arduino's A1. Kung ang lahat ay mabuti, dapat mong makita sa Serial Plotter mula sa Arduino IDE isang bagay na katulad ng imahe. Ang mga siklo ng pag-init at pagsukat na haba ng 60 at 90 segundo ay tumatakbo nang sunud-sunod, na may CO ppm na sinusukat at na-update sa pagtatapos ng bawat pag-ikot. Maaari kang kumuha ng bukas na apoy malapit sa sensor kapag ang ikot ng pagsukat ay halos tapos na at makita kung paano ito makakaapekto sa mga pagbasa (depende sa uri ng apoy, maaari itong makabuo ng hanggang sa 2000 ppm CO konsentrasyon sa bukas na hangin - kaya kahit na isang maliit na bahagi lamang ng ito ay talagang napupunta sa sensor, bubukas pa rin nito ang alarma, at hindi ito papatay hanggang sa katapusan ng susunod na ikot). Ipinakita ko ito sa imahe, pati na rin ang tugon sa sunog mula sa mas magaan.

Hakbang 7: Pagkalibrate ng Sensor

Pagkakalibrate ng Sensor
Pagkakalibrate ng Sensor
Pagkakalibrate ng Sensor
Pagkakalibrate ng Sensor

Ayon sa datasheet ng gumawa, ang sensor ay dapat na nagpapatakbo ng mga cycle ng pag-init-paglamig ng 48 na oras sa isang hilera bago ito mai-calibrate. At dapat mo itong gawin kung balak mong gamitin ito sa mahabang panahon: sa aking kaso, ang pagbabasa ng sensor sa malinis na hangin ay nagbago nang halos 30% sa loob ng 10 oras. Kung hindi mo ito isasaalang-alang, maaari kang makakuha ng 0 ppm na resulta kung saan mayroong talagang 100 ppm ng CO. Kung hindi mo nais na maghintay ng 48 oras, maaari mong subaybayan ang output ng sensor sa pagtatapos ng siklo ng pagsukat. Kapag higit sa isang oras hindi ito magbabago ng higit sa 1-2 puntos - maaari mong ihinto ang pag-init doon.

Mahigpit na pagkakalibrate:

Matapos ang pagpapatakbo ng sketch nang hindi bababa sa 10 oras sa malinis na hangin, kumuha ng hilaw na halaga ng sensor sa pagtatapos ng cycle ng pagsukat, 2-3 segundo bago magsimula ang yugto ng pag-init, at isulat ito sa variable ng sensor_reading_clean_air (linya 100). Ayan yun. Tatantya ng programa ang iba pang mga parameter ng sensor, hindi sila magiging tumpak, ngunit dapat sapat upang makilala ang pagitan ng 10 at 100 ppm na konsentrasyon.

Tiyak na pagkakalibrate:

Masidhing inirerekumenda kong maghanap ng isang naka-calibrate na CO meter, gumawa ng 100 ppm CO sample (magagawa ito sa pamamagitan ng pagkuha ng flue gas sa hiringgilya - CO konsentrasyon doon ay maaaring maging sa saklaw ng libu-libong ppm - at dahan-dahang inilalagay ito sa closed jar na may naka-calibrate meter at MQ-7 sensor), kumuha ng hilaw na sensor na nagbabasa sa konsentrasyong ito at ilagay ito sa variable ng sensor_reading_100_ppm_CO. Kung wala ang hakbang na ito, ang iyong pagsukat sa ppm ay maaaring mali nang maraming beses sa alinmang direksyon (ok pa rin kung kailangan mo ng alarma para sa mapanganib na konsentrasyon ng CO sa bahay, kung saan normal na dapat ay walang CO, ngunit hindi mabuti para sa anumang aplikasyon sa industriya).

Dahil wala akong CO meter, gumamit ako ng mas sopistikadong diskarte. Una ay naghanda ako ng mataas na konsentrasyon ng CO gamit ang pagkasunog sa nakahiwalay na dami (unang larawan). Sa papel na ito nakita ko ang pinaka-kapaki-pakinabang na data, kasama ang ani ng CO para sa iba't ibang mga uri ng apoy - wala ito sa larawan, ngunit ang panghuling eksperimento ay gumamit ng propane gas combustion, na may parehong pag-set up, na nagreresulta sa ~ 5000 ppm CO konsentrasyon. Pagkatapos ito ay diluted 1:50 upang makamit ang 100 ppm, tulad ng nakalarawan sa pangalawang larawan, at ginamit upang matukoy ang sangguniang punto ng sensor.

Hakbang 8: Ilang Data ng Pang-eksperimentong

Ilang Data ng Pang-eksperimentong
Ilang Data ng Pang-eksperimentong

Sa aking kaso, ang sensor ay nagtrabaho ng maayos - hindi ito masyadong sensitibo para sa talagang mababang konsentrasyon, ngunit sapat na mahusay para sa pagtuklas ng anumang mas mataas sa 50ppm. Sinubukan kong dagdagan ang konsentrasyon nang paunti-unti, pagkuha ng mga sukat, at bumuo ng isang hanay ng mga tsart. Mayroong dalawang hanay ng mga linya ng 0ppm - purong berde bago ang pagkakalantad ng CO at dilaw na berde pagkatapos. Tila binabago ng sensor nang kaunti ang malinis na paglaban ng hangin pagkatapos ng pagkakalantad, ngunit ang epektong ito ay maliit. Tila hindi malinaw na makilala ang 8 at 15, 15 at 26, 26 at 45 ppm na konsentrasyon - ngunit ang kalakaran ay napakalinaw, kaya masasabi kung ang konsentrasyon ay nasa 0-20 o 40-60 ppm range. Para sa mas mataas na mga konsentrasyon ng pagtitiwala ay higit na natatangi - kapag nahantad sa maubos ng isang bukas na apoy, ang kurba ay umakyat mula sa simula nang hindi bumababa sa lahat, at ang dynamics nito ay ganap na magkakaiba. Kaya para sa mataas na konsentrasyon walang duda na ito ay gumagana nang maaasahan, kahit na hindi ko makumpirma ang katumpakan nito dahil wala akong na-rate na CO meter. Gayundin, ang hanay ng mga eksperimentong ito ay ginawa gamit ang 20k load resistor - at pagkatapos nito ay nagpasya ako upang magrekomenda ng 10k bilang default na halaga, dapat itong maging mas sensitibo sa ganitong paraan. Iyon lang. Kung mayroon kang isang maaasahang CO meter at tipunin ang board na ito, mangyaring ibahagi ang ilang puna tungkol sa katumpakan ng sensor - mahusay na mangolekta ng mga istatistika sa iba't ibang mga sensor at pagbutihin ang mga default na pagpapalagay ng sketch.

Inirerekumendang: