- МК6 сензор за гас
- Како измерити ППМ помоћу сензора за гас МК?
- Потребне компоненте
- Шема
- МК сензор са ПИЦ програмирањем
Сензори за гас МК серије су врло чести типови сензора који се користе у детекторима гаса за откривање или мерење одређених врста гасова. Ови сензори се широко користе у свим уређајима повезаним са гасом, попут једноставних детектора дима до индустријских монитора за квалитет ваздуха. Већ смо користили ове МК сензоре за гас са Ардуином за мерење неких штетних гасова попут амонијака. У овом чланку ћемо научити како да користимо ове сензоре за гас са ПИЦ микроконтролерима, да меримо ППМ вредност гаса и приказујемо га на ЛЦД-у димензија 16к2.
Као што је раније поменуто, на тржишту су доступне различите врсте сензора из серије МК и сваки сензор може да мери различите врсте гасова као што је приказано у доњој табели. За потребе овог чланка користићемо сензор за гас МК6 са ПИЦ који се може користити за откривање присуства и концентрације ТНГ гаса. Међутим, коришћењем истог хардвера и фирмвера, други сензори серије МК такође се могу користити без већих промена у коду и хардверском делу.
Сензор | Открива |
МК-2 | Метан, бутан, ТНГ, дим |
МК-3 | Алкохол, етанол, дим |
МК-4 | Метан, ЦНГ гас |
МК-5 | Природни гас, ТНГ |
МК-6 | ТНГ, гас бутан |
МК-7 | Угљен моноксид |
МК-8 | Водоник гас |
МК-9 | Угљенмоноксид, запаљиви гасови. |
МК131 | Озон |
МК135 | Квалитет ваздуха (бензен, алкохол, дим) |
МК136 | Водоник сулфид гас |
МК137 | Амонијак |
МК138 | Бензен, толуен, алкохол, ацетон, пропан, плин формалдехида, водоник |
МК214 | Метан, Природни гас |
МК216 | Природни гас, гас од угља |
МК303А | Алкохол, етанол, дим |
МК306А | ТНГ, гас бутан |
МК307А | Угљен моноксид |
МК309А | Угљенмоноксид, запаљиви гасови |
МГ811 | Угљен-диоксид (ЦО2) |
АК-104 | Квалитет ваздуха |
МК6 сензор за гас
Доња слика приказује дијаграм пина МК6 сензора. Међутим, лева слика је МК6 сензор заснован на модулу за повезивање са јединицом микроконтролера, пин дијаграм модула је такође приказан на тој слици.
Пин 1 је ВЦЦ, Пин 2 је ГНД, Пин 3 је Дигитални излаз (Логика је мала када се детектује гас.) И Пин 4 је Аналогни излаз. Лонац се користи за подешавање осетљивости. Није РЛ. РЛ отпорник је прави отпорник ДОУТ ЛЕД-а.
Сваки сензор серије МК има грејни елемент и сензорски отпор. У зависности од концентрације плина, отпор осјетника се мијења и откривањем промјењивог отпора може се измјерити концентрација плина. За мерење концентрације гаса у ППМ сви МК сензори пружају логаритамски графикон који је веома важан. Графикон даје преглед концентрације гаса са односом РС и РО.
Како измерити ППМ помоћу сензора за гас МК?
РС је осећајни отпор током присуства одређеног гаса, док је РО осећајни отпор у чистом ваздуху без икаквог одређеног гаса. Доњи логаритамски графикон преузет из листа са подацима даје преглед концентрације гаса са осећајним отпором сензора МК6. МК6 сензор се користи за откривање концентрације ТНГ гаса. Због тога ће сензор МК6 пружити посебан отпор током чистог ваздуха тамо где ТНГ гас није доступан. Такође, отпор ће се променити кад год сензор МК6 детектује ТНГ гас.
Дакле, овај графикон морамо уцртати у наш фирмвер слично ономе што смо урадили у нашем пројекту Ардуино Гас детецтор. Формула има 3 различите тачке података. Прве две тачке података су почетак ТНГ криве у Кс и И координатама. Трећи податак је нагиб.
Дакле, ако одаберемо тамноплаву криву која је ЛПГ крива, почетак криве у Кс и И координати је 200 и 2. Дакле, прва тачка података са логаритамске скале је (лог200, лог2) која је (2.3, 0.30).
Направимо као, Кс1 и И1 = (2,3, 0,30). Крај криве је друга тачка података. Истим горе описаним поступком, Кс2 и И2 су (лог 10000, лог0.4). Дакле, Кс2 и И2 = (4, -0,40). Да би се добио нагиб криве, формула је
= (И2-И1) / (Кс2-Кс1) = (- 0,40 - 0,30) / (4 - 2,3) = (-0,70) / (1,7) = -0,41
Графикон који нам је потребан може се дати као
ЛПГ_Цурве = {старт Кс и старт И, нагиб} ЛПГ_Цурве = {2.3, 0.30, -0.41}
За остале МК сензоре, горе наведене податке преузмите из листа са подацима и графикона графикона Логаритамског графикона. Вредност ће се разликовати у зависности од мереног сензора и гаса. За овај одређени модул има дигитални пин који пружа само информације о присутном плину или не. За овај пројекат се такође користи.
Потребне компоненте
Потребне компоненте за повезивање МК сензора са ПИЦ микроконтролером дате су испод -
- Напајање од 5В
- Бреадбоард
- Отпорник 4.7к
- ЛЦД 16к2
- 1к отпорник
- Кристал од 20 МХз
- 33пФ кондензатор - 2ком
- ПИЦ16Ф877А микроконтролер
- Сензор МК серије
- Берг и друге прикључне жице.
Шема
Шема за овај сензор за гас са пројектом ПИЦ је прилично јасна. Аналогни пин је повезан са РА0, а дигитални са РД5 за мерење аналогног напона који пружа модул сензора за гас. Ако сте потпуно нови у ПИЦ-у, можда ћете желети да погледате Водич за ПИЦ АДЦ и Водич за ПИЦ ЛЦД да бисте боље разумели овај пројекат.
Коло је направљено у плочи за плочу. Једном када су везе завршене, моја поставка изгледа овако, приказано доле.
МК сензор са ПИЦ програмирањем
Главни део овог кода је главна функција и друге повезане периферне функције. Комплетан програм можете пронаћи на дну ове странице, важни исечци кода објашњени су на следећи начин
Следећа функција се користи за добијање вредности отпора сензора у слободном ваздуху. Како се користи аналогни канал 0, он добија податке са аналогног канала 0. Ово је за калибрацију сензора гаса МК.
флоат СенсорЦалибратион () { инт цоунт; // Ова функција ће калибрирати сензор у слободном ваздушном пловку вал = 0; фор (цоунт = 0; цоунт <50; цоунт ++) {// узети више узорака и израчунати просечну вредност вал + = израчунати_отпор (АДЦ_Реад (0)); __делаи_мс (500); } вал = вал / 50; вал = вал / РО_ВАЛУЕ_ЦЛЕАН_АИР; // подељено са РО_ЦЛЕАН_АИР_ФАЦТОР даје повратни вал Ро ; }
Испод Функција се користи за очитавање аналогних вредности МК сензора и просечно израчунавање вредности Рс
флоат реад_МК () { инт цоунт; флоат рс = 0; фор (цоунт = 0; цоунт <5; цоунт ++) {// узмите више очитавања и просечите га. рс + = израчунај_отпор (АДЦ_Реад (0)); // рс се мења у зависности од концентрације гаса. __делаи_мс (50); } рс = рс / 5; ретурн рс; }
Функција у наставку се користи за израчунавање отпора отпора отпорника дјелитеља напона и отпора оптерећења.
флоат израчунај_отпор (инт адц_цханнел) {// сензор и отпорник оптерећења чине делитељ напона. па користећи аналогну вредност и поврат вредности учитавања (((флоат) РЛ_ВАЛУЕ * (1023-адц_цханнел) / адц_цханнел)); // наћи ћемо отпорник сензора. }
РЛ_ВАЛУЕ је дефинисан на почетку кода као што је приказано доле
#дефине РЛ_ВАЛУЕ (10) // дефинишемо отпор оптерећења на плочи, у кило-ома
Промените ову вредност након провере отпора оптерећења на броду. Може се разликовати на другим МК сензорским плочама. Да би се расположиви подаци уцртали у скалу дневника, користи се доња функција.
инт гас_плот_лог_сцале (флоат рс_ро_ратио, флоат * цурве) { ретурн пов (10, (((лог (рс_ро_ратио)-цурве) / кривуља) + крива)); }
Крива је ЛПГ крива дефинисана у горњем делу кода који је претходно израчунат у нашем чланку изнад.
плутајућа МК6_кривина = {2.3,0.30, -0,41}; // Графички приказ, промените ово за одређени сензор
На крају, главна функција унутар које меримо аналогну вредност, израчунавамо ППМ и приказујемо је на ЛЦД-у је дата у наставку
воид маин () { систем_инит (); цлеар_сцреен (); лцд_цом (ФИРСТ_ЛИНЕ); лцд_путс ("Калибрација…."); Ро = СенсорЦалибратион (); // цлеар_сцреен (); лцд_цом (ФИРСТ_ЛИНЕ); лцд_путс ("Готово!"); // цлеар_сцреен (); лцд_цом (ФИРСТ_ЛИНЕ); лцд_принт_нумбер (Ро); лцд_путс ("К ома"); __делаи_мс (1500); гас_детецт = 0; вхиле (1) { иф (гас_детецт == 0) { лцд_цом (ФИРСТ_ЛИНЕ); лцд_путс („Гас је присутан“); лцд_цом (СЕЦОНД_ЛИНЕ); лцд_путс ("Гас ппм ="); флоат рс = реад_МК (); пливајући однос = рс / Ро; лцд_принт_нумбер (гас_плот_лог_сцале (однос, МК6_кривина)); __делаи_мс (1500); цлеар_сцреен (); } елсе { лцд_цом (ФИРСТ_ЛИНЕ); лцд_путс („Плин није присутан“); } } }
Прво, РО сензора се мери на чистом ваздуху. Затим се чита дигитални пин да би се проверило да ли је гас присутан или не. Ако је присутан гас, гас се мери помоћу дате ЛПГ криве.
Помоћу упаљача сам проверио да ли се вредност ППМ мења када се детектује гас. Ови упаљачи за цигаре имају у себи ТНГ гас који ће наш сензор очитати када се пусти у ваздух, а вредност ППМ на ЛЦД-у се мења као што је приказано доле.
Комплетан рад можете пронаћи у видео запису на дну ове странице. Ако имате питања, оставите их у одељку за коментаре или користите наша форум за друга техничка питања.