- Сензори за гас серије МК
- Припрема хардвера:
- Приступ мерењу ППМ из МК сензора за гас:
- Израчунавање вредности Ро на чистом ваздуху:
- Измерите вредност Рс:
- Однос Рс / Ро са односом ППМ:
- Програм за израчунавање ППМ помоћу МК сензора:
- Приказивање ППМ вредности на хардверу са Ардуином и МК-137:
Још од доба индустријског доба, ми се човечанство брзо развијамо. Са сваким напретком загађујемо и своју животну средину и на крају је деградирамо. Сада је глобално загревање алармантна претња, па чак и ваздух који удишемо постаје критичан. Дакле, праћење квалитета ваздуха такође је почело да добија на значају. Тако ћемо у овом чланку научити како да користимо било који сензор за гас МК серије са Ардуином и приказујемо излаз у ППМ (делови на милион). ППМ се такође изражава у милиграмима по литру (мг / Л). Ови сензори су обично доступни и такође су поуздани за мерење различитих врста гаса приказаних у наставку
Сензори за гас серије МК
- Угљен-диоксид (ЦО2): МГ-811
- Угљенмоноксид (ЦО): МК-9
- Укупна испарљива органска једињења (ТВОЦ): ЦЦС811
- Еквивалентни угљен-диоксид (еЦО2): ЦЦС811
- Метални оксид (МОКС): ЦЦС811
- Амонијак: МК-137
- Квалитет ваздуха: МК-135
- ТНГ, алкохол, дим: МК2
Већ смо користили МК2 за детекцију дима и МК-135 за пројекат праћења квалитета ваздуха. Овде ћу користити сензор МК-137 компаније Саинсмарт за мерење амонијака у ппм. Са сензором у руци прошао сам кроз све доступне водиче и открио да не постоји одговарајућа документација о томе како измерити гас у ппм. Већина водича се бави само аналогним вредностима или уводи неке константе које нису поуздане за мерење свих врста гаса. Дакле, након дугог петљања по мрежи, коначно сам открио како да користим ове сензоре за гас МК серије за мерење ппм користећи Ардуино. Објашњавам ствари одоздо, без икаквих библиотека, тако да можете да користите овај чланак за било који сензор за гас доступан код вас.
Припрема хардвера:
Сензори за гас МК могу се купити или као модул или само као сензори сами. Ако је ваша сврха да мерите само ппм, најбоље је купити сензор сам јер је модул добар само за употребу дигиталног пина. Дакле, ако сте модул већ купили, тада морате извршити мали хацк о којем ће бити више речи. За сада претпоставимо да сте купили сензор. Пиноут и веза сензора приказани су испод
Као што видите, само морате спојити један крај „Х“ за напајање, а други крај „Х“ за уземљење. Затим комбинујте и А и оба Б. Повежите један сет за напајање, а други на аналогни пин. Отпор Р Л игра веома важну улогу у раду сензора. Дакле, забележите коју вредност користите, препоручује се вредност од 47к.
Ако сте већ купили модул, требало би да пратите трагове ПЦБ-а да бисте пронашли вредност свог Р Л на плочи. Грауонлине је већ обавио овај посао за нас, а шема кола МК плоче сензора за гас дата је у наставку.
Као што видите отпорник Р Л (Р2) је повезан између Аоут пина и земље, па ако имате модул, вредност Р Л се може измерити помоћу мултиметра у режиму отпора преко Воут пина и Вцц пина модул. У мом сензору плина саинсмарт МК-137 вредност РЛ је била 1К и налазила се овде као што је приказано на доњој слици.
Међутим, вебсите тврди да пружа варијабилни лонац Р Л што није тачно као што се јасно може видети у кола дијаграм, пот се користи за постављање променљиве напон за оп-амп и нема никакве везе са Р Л. Дакле, морамо ручно да залемимо СМД отпорник (1К) приказан горе, а морамо да користимо сопствени отпорник преко уземљења и напона, који ће деловати као РЛ. Најбоља вредност за РЛ биће 47К како је предложено у табели података, па ћемо користити исту.
Приступ мерењу ППМ из МК сензора за гас:
Сад кад знамо вредност Р Л, хајде да наставимо како заправо мерити ппм са ових сензора. Као и код свих сензора, место за почетак је табела података. Табела података МК-137 је дата овде, али обавезно пронађите тачну листу података за свој сензор. Унутар табеле података потребан нам је само један графикон који ће бити уцртан у односу на (Рс / Ро) ВС ППМ, ово је онај који нам је потребан за наше прорачуне. Зато га закуцајте и нека вам буде при руци. Она за мој сензор је приказана у наставку.
Испоставило се да сензор МК137 може мерити НХ3, Ц2Х6О, па чак и ЦО. Али, овде ме занимају само вредности НХ3. Међутим, можете користити исти метод за израчунавање ппм за било који сензор који желите. Овај граф нам је једини извор за проналажење вредности ппм и ако бисмо некако могли да израчунамо однос Рс / Ро (Кс-оса), помоћу овог графа можемо пронаћи вредност ппм (И-оса). Да бисмо пронашли вредност Рс / Ро морамо пронаћи вредност Рс и вредност Ро. Где је Рс отпор сензора при концентрацији гаса, а Ро отпор сензора у чистом господину.
Ипак… ово је план, хајде да видимо како се можемо извући са овим….
Израчунавање вредности Ро на чистом ваздуху:
Имајте на уму да је на графикону вредност Рс / Ро константна за ваздух (дебела плава линија), па то можемо искористити у своју корист и рећи да када сензор ради на свежем ваздуху, вредност Рс / Ро ће бити 3,6, погледајте слику доле
Рс / Ро = 3,6
Из техничког листа такође добијамо формулу за израчунавање вредности Рс. Формула је приказана у наставку. Ако сте заинтересовани да знате како је изведена ова формула коју можете прочитати кроз системе јаи цон, такође бих волео да им захвалим што су ми помогли да ово решим.
У овој формули вредност Вц је наш напон напајања (+ 5В), а вредност Р Л је она коју смо већ израчунали (47К за мој сензор). Ако напишемо мали Ардуино програм, могли бисмо такође пронаћи вредност В РЛ и коначно израчунати вредност Рс. У наставку сам дао Ардуино програм који очитава аналогни напон (В РЛ) сензора и израчунава вредност Рс помоћу ове формуле и на крају приказује на серијском монитору. Програм је добро објашњен кроз одељак за коментаре, па овде прескачем његово објашњење како би овај чланак био кратак.
/ * * Програм за мерење вредности Р0 за познати РЛ у стању свежег ваздуха * Програм: Б.Асвинтх Рај * Веб локација: ввв.цирцуитдигест.цом * Датум: 28-12-2017 * / // Овај програм најбоље функционише у просторији са свежим ваздухом са температуром Темп: 20 ℃, Влажност: 65%, концентрација О2 21% и када је вредност Рл 47К # дефинисати РЛ 47 // Вредност отпорника РЛ је 47К воид сетуп () // Само ради једном {Сериал.бегин (9600); // Иницирај серијски ЦОМ за приказ вредности} воид лооп () {флоат аналог_валуе; флоат ВРЛ; флоат Рс; флоат Ро; фор (инт тест_цицле = 1; тест_цицле <= 500; тест_цицле ++) // Прочитајте аналогни излаз сензора 200 пута {аналог_валуе = аналог_валуе + аналогРеад (А0); // додамо вредности за 200} аналог_валуе = аналог_валуе / 500.0; // Узмимо просечни ВРЛ = аналог_валуе * (5.0 / 1023.0);// Претварање аналогне вредности у напон // РС = ((Вц / ВРЛ) -1) * РЛ је формула коју смо добили из листа са подацима Рс = ((5.0 / ВРЛ) -1) * РЛ; // РС / РО је 3,6 како смо добили из графикона табеле података Ро = Рс / 3,6; Сериал.принт ("Ро на свежем ваздуху ="); Сериал.принтлн (Ро); // Приказ израчунатог кашњења Ро (1000); // кашњење од 1сек}
Напомена: Вредност Ро ће варирати, омогућити сензору да се загреје најмање 10 сати, а затим користити вредност Ро.
Закључио сам да је вредност Ро 30 КΩ за мој сензор (када је Р Л 47кΩ). Ваш се може мало разликовати.
Измерите вредност Рс:
Сада када знамо вредност Ро, лако можемо израчунати вредност Рс користећи горње две формуле. Имајте на уму да је вредност Рс која је претходно израчуната за стање свежег ваздуха и неће бити иста када је амонијак присутан у ваздуху. Израчунавање вредности Рс није велико питање о којем се можемо директно побринути у коначном програму.
Однос Рс / Ро са односом ППМ:
Сада када знамо како да измеримо вредност Рс и Ро, могли бисмо да пронађемо његов однос (Рс / Ро). Тада можемо користити графикон (приказан доле) да бисмо се повезали са одговарајућом вредношћу ППМ.
Иако се чини да је линија НХ3 (цијан боја) линеарна, она заправо није линеарна. Изглед је зато што је скала неравномерно подељена по изгледу. Дакле, однос између Рс / Ро и ППМ је заправо логаритамски што се може представити доњом једначином.
лог (и) = м * лог (к) + б где је и = однос (Рс / Ро) к = ППМ м = нагиб линије б = тачка пресека
Да бисмо пронашли вредности м и б, морамо узети у обзир две тачке (к1, и1) и (к2, и2) на нашем гасоводу. Овде радимо са амонијаком, па су две тачке које сам узео у обзир (40,1) и (100,0,8) као што је приказано на горњој слици (означено црвеном бојом) са црвеном ознаком.
м = / м = лог (0,8 / 1) / лог (100/40) м = -0,243
Слично за (б) узмимо средњу вредност (к, и) са графикона који је (70,0.75) као што је приказано на горњој слици (означено плавом бојом)
б = лог (и) - м * лог (к) б = лог (0,75) - (-0,243) * лог (70) б = 0,323
То је то сада када смо израчунали вредност м и б можемо вредност (Рс / Ро) изједначити са ППМ користећи доњу формулу
ППМ = 10 ^ {/ м}
Програм за израчунавање ППМ помоћу МК сензора:
Комплетан програм за израчунавање ППМ помоћу сензора МК дат је у наставку. У наставку је објашњено неколико важних редова.
Пре него што наставимо са програмом, потребно је да унесемо вредности отпора оптерећења (РЛ), нагиба (м), пресека (б) и вредности отпора на свежем ваздуху (Ро). Процедура за добијање свих ових вредности је већ објашњена, па их сада само убацимо
#дефине РЛ 47 // Вредност отпорника РЛ је 47К #дефине м -0.263 // Унесите израчунати нагиб #дефине б 0.42 // Унесите израчунати пресјек #дефине Ро 30 // Унесите пронађену вредност Ро
Затим очитајте пад напона на сензору (ВРЛ) и претворите га у напон (0В до 5В) јер ће аналогно очитавање вратити само вредности од 0 до 1024.
ВРЛ = аналогРеад (МК_сенсор) * (5.0 / 1023.0); // Измерите пад напона и претворите у 0-5В
Сада, када се израчунава вредност ВРЛ, можете користити горе разматрану формулу за израчунавање вредности Рс и такође односа (Рс / Ро)
однос = Рс / Ро; // пронађи однос Рс / Ро
На крају, можемо израчунати ППМ помоћу наше логаритамске формуле и приказати га на нашем серијском монитору као што је приказано доле
двоструки ппм = прах (10, ((лог10 (однос) -б) / м)); // користимо формулу за израчунавање ппм Сериал.принт (ппм); // Прикажи ппм
Приказивање ППМ вредности на хардверу са Ардуином и МК-137:
Довољно је свих теорија да направимо једноставно коло са сензором и ЛЦД-ом за приказ вредности гаса у ППМ. Овде је сензор који користим МК137 који мери амонијак, шема кола за моје подешавање је приказана испод.
Повежите сензор и ЛЦД како је приказано на дијаграму кола и отпремите код дат на крају програма. Морате да измените вредност Ро како је горе објашњено. Такође извршите промене у вредностима параметара ако користите било који други отпорник као РЛ, осим 4.7К.
Оставите уређај најмање 2 сата пре покретања било каквих очитавања (за тачније вредности препоручује се 48 сати). Ово време се назива време загревања, током којег се сензор загрева. После овога, требали бисте бити у могућности да видите вредност ППМ и напон приказан на вашем ЛЦД екрану као што је приказано доле.
Сада да бисмо се уверили да ли су вредности заиста повезане са присуством амонијака, ставимо ову поставку у затворену посуду и у њу пошаљите гас амонијака да бисте проверили да ли се вредности повећавају. Немам одговарајући ППМ мерач са мном да га калибришем и било би сјајно када би неко са бројилом могао да тестира ову поставку и обавести ме.
Можете погледати видео испод да бисте проверили како се очитавања разликују у зависности од присуства амонијака. Надам се да сте разумели концепт и уживали сте у учењу. Ако сумњате, оставите их у одељку за коментаре или за детаљнију помоћ користите форум овде.