Բովանդակություն:

Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ. 8 քայլ (նկարներով)
Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ. 8 քայլ (նկարներով)

Video: Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ. 8 քայլ (նկարներով)

Video: Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ. 8 քայլ (նկարներով)
Video: how to make CO Detector with mq-7 and Arduino (mq-7 sensor Arduino) 2024, Հուլիսի
Anonim
Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ
Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ
Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ
Arduino CO մոնիտոր ՝ օգտագործելով MQ-7 տվիչ

Մի քանի բառ, թե ինչու է ստեղծվել այս հրահանգը. րոպե, բայց ասելու միջոց չկա), բոլորը առանց որևէ ակնհայտ պատճառի: Նա ապրում է հիվանդանոցներից հեռու գտնվող մի փոքրիկ գյուղում (60 կմ մեր կողմից, 30 կմ մինչև ամենամոտ հիվանդանոց, 10 կմ առանց որևէ նորմալ ճանապարհի միջև), այնպես որ մենք շտապեցինք նրա մոտ և շտապօգնության մեքենայից անմիջապես հետո հասանք այնտեղ: Նա հոսպիտալացվել է և առավոտյան իրեն գրեթե լավ էր զգում, բայց բժիշկները չկարողացան պարզել դրա պատճառը: Հաջորդ օրը մենք գաղափար ունեինք. Դա կարող էր թունավորվել, քանի որ նա գազի կաթսա ունի (լուսանկարում) և ամբողջ երեկո նստած էր դրան մոտ, երբ դա տեղի ունեցավ: Մենք վերջերս գնեցինք MQ-7 CO սենսոր, բայց երբեք ժամանակ չունեի դրա համար սխեմաներ հավաքելու, այնպես որ սա կատարյալ ժամանակն էր դա անելու համար: Ինտերնետում ցանկացած ցուցում փնտրելուց հետո ես հասկացա, որ չեմ գտնում որևէ ուղեցույց, որը միևնույն ժամանակ հետևի սենսորների արտադրողի հրահանգներին, որոնք տրված են իր տվյալների թերթիկում և բացատրում է որևէ բան ընդհանրապես (մեկ օրինակը, կարծես, բավականին լավ կոդ ուներ, բայց դա պարզ չէր, թե ինչպես կիրառել այն, մյուսները չափազանց պարզեցված էին և լավ չէին աշխատի): Այսպիսով, մենք մոտ 12 ժամ ծախսեցինք սխեմաների մշակման, եռաչափ պատյան պատրաստելու և տպելու, սենսորը փորձարկելու և չափագրելու համար, իսկ հաջորդ օրը գնացինք կասկածելի կաթսայի մոտ: Պարզվեց, որ այնտեղ CO- ի մակարդակը չափազանց բարձր էր և կարող էր մահացու լինել, եթե CO- ի ազդեցության ժամանակը ավելի երկար լիներ: Այնպես որ, ես կարծում եմ, որ յուրաքանչյուր ոք, ով ունի նման իրավիճակ (օրինակ ՝ գազի կաթսա կամ կենդանի տարածքի ներսում այլ այրման դեպքեր), պետք է ունենա այդպիսի սենսոր ՝ կանխելու համար ինչ -որ վատ բան:

Այն ամենը, ինչ տեղի ունեցավ երկու շաբաթ առաջ, այդ ժամանակվանից ես բավականին բարելավեցի սխեմաներն ու ծրագիրը, և այժմ թվում է, որ դա ողջամիտ լավ է և համեմատաբար պարզ (ոչ թե 3 տող-կոդի պարզ, բայց դեռ): Չնայած ես հույս ունեմ, որ ինչ -որ մեկը ճշգրիտ CO հաշվիչով ինձ որոշակի հետադարձ կապ կտա էսքիզում տեղադրած լռելյայն ճշգրտման վերաբերյալ, ես կասկածում եմ, որ այն հեռու է լավից: Ահա մի ամբողջական ուղեցույց որոշ փորձարարական տվյալներով:

Քայլ 1: Նյութերի հաշիվ

Ապրանքների հաշիվը
Ապրանքների հաշիվը

Ձեզ հարկավոր կլինի `0: Arduino տախտակ: Ես նախընտրում եմ Arduino Nano- ի չինական կլոնը `իր 3 դոլար չմարված գնով, բայց ցանկացած 8-բիթանոց arduino- ն այստեղ կաշխատի: Էսքիզը օգտագործում է ժամանակաչափի որոշ առաջադեմ գործողություններ և փորձարկվել է միայն atmega328 միկրոկոնտրոլերի վրա, չնայած, հավանաբար, այն լավ կաշխատի նաև մյուսների վրա: MQ-7 CO սենսոր: Այս թռչող ձկան սենսորային մոդուլի հետ ամենատարածվածը այն պետք է անցնի մի փոքր փոփոխության միջոցով, հաջորդ քայլին մանրամասներ կամ կարող եք օգտագործել անջատող MQ-7 սենսոր:

2. NPN երկբեւեռ տրանզիստոր: Գործնականում ցանկացած NPN տրանզիստոր, որը կարող է աշխատել 300 մԱ կամ ավելի, կաշխատի այստեղ: PNP տրանզիստորը չի աշխատի նշված Flying Fish մոդուլի հետ (քանի որ այն ունի տաքացուցիչի միակցիչ, որը սոսնձված է սենսորի ելքին), բայց կարող է օգտագործվել MQ-7 սենսորով:

3. Ռեզիստորներ. 2 x 1k (0.5k- ից 1.2k- ը լավ կաշխատի) և 1 x 10k (այդ մեկը լավագույն դեպքում ճշգրիտ է պահվում, չնայած, եթե բացարձակապես պետք է օգտագործեք այլ արժեք, ուրվագծում համապատասխանաբար կարգավորեք reference_resistor_kOhm փոփոխականը):

4. Կոնդենսատորներ `2 x 10uF կամ ավելի: Պահանջվում են տանտալ կամ կերամիկական նյութեր, էլեկտրոլիտիկը լավ չի աշխատի բարձր ESR- ի պատճառով (նրանք չեն կարողանա ապահովել բավականաչափ հոսանք `բարձր ընթացիկ ալիքները հարթելու համար): Կանաչ և կարմիր LED- ներ ՝ CO- ի ներկայիս մակարդակը նշելու համար (կարող եք նաև օգտագործել մեկ երկգույն LED ՝ 3 տերմինալով, ինչպես օգտագործել էինք մեր դեղին տուփի նախատիպում): Պիեզո ազդանշան `նշելու CO- ի բարձր մակարդակը: 7. Գրատախտակ և լարեր (կարող եք նաև ամեն ինչ զոդել Նանոյի կապում կամ սեղմել Uno վարդակների մեջ, բայց այս կերպ սխալվելը հեշտ է):

Քայլ 2. Մոդուլի փոփոխություն կամ դիսկրետ սենսորային լարերի միացում

Մոդուլի փոփոխում կամ դիսկրետ սենսորային լարերի միացում
Մոդուլի փոփոխում կամ դիսկրետ սենսորային լարերի միացում

Մոդուլի համար դուք պետք է ապամոդացնեք դիմադրիչն ու կոնդենսատորը, ինչպես ցույց է տրված լուսանկարում: Հիմնականում ամեն ինչ կարող եք ապամոնտաժել, եթե ցանկանում եք. Մոդուլային էլեկտրոնիկան լիովին անօգուտ է, մենք այն օգտագործում ենք միայն որպես սենսորի պահիչ, բայց այս երկու բաղադրիչները թույլ չեն տա ճիշտ ընթերցումներ ստանալ, Եթե դուք օգտագործում եք դիսկրետ սենսոր, միացրեք ջեռուցիչի կապիչները (H1 և H2) 5 Վ -ին և համապատասխանաբար տրանզիստորների կոլեկտորին: Կցեք մի զգայուն կողմը (A- ի ցանկացած կապում) 5V- ին, մեկ այլ զգայուն կողմը (B- ի ցանկացած կապում) 10k ռեզիստորին, ինչպես սխեմատիկայում մոդուլի անալոգային քորոցը:

Քայլ 3. Գործողության սկզբունքը

Գործողության սկզբունքը
Գործողության սկզբունքը
Գործողության սկզբունքը
Գործողության սկզբունքը

Ինչու՞ են մեզ ընդհանրապես պետք այս բոլոր բարդությունները, ինչու՞ չկապել 5 Վ, գետնին և պարզապես ընթերցումներ ստանալ: Դե, այս ձևով, ցավոք, ոչ մի օգտակար բան չեք ստանա: Ըստ MQ-7 տվյալների թերթիկի, սենսորը պետք է անցնի բարձր արագությամբ և ցածր ջեռուցման ցիկլեր `համապատասխան չափումներ ստանալու համար: Lowածր ջերմաստիճանի փուլում CO- ն ներծծվում է ափսեի վրա ՝ արտադրելով իմաստալից տվյալներ: Բարձր ջերմաստիճանի ընթացքում կլանված CO- ն և այլ միացություններ գոլորշիանում են սենսորային ափսեից ՝ մաքրելով այն հաջորդ չափման համար:

Այսպիսով, ընդհանուր առմամբ պարզ է.

1. Կիրառեք 5 Վ 60 վայրկյան, մի օգտագործեք այս ցուցանիշները CO չափման համար:

2. Կիրառեք 1.4 Վ 90 վայրկյան, օգտագործեք այս ցուցանիշները CO չափման համար:

3. Գնացեք 1 -ին քայլ:

Բայց ահա խնդիրը. Arduino- ն չի կարող բավականաչափ էներգիա ապահովել այս սենսորը իր կապումներից գործարկելու համար. Սենսորի ջեռուցիչը պահանջում է 150 մԱ, մինչդեռ Arduino քորոցը կարող է ապահովել ոչ ավելի, քան 40 մԱ, այնպես որ, եթե ուղղակի կցվի, Arduino- ի քորոցը կայրվի, և սենսորը դեռ շահում է: չի աշխատում: Այսպիսով, մենք պետք է օգտագործենք մի տեսակ ընթացիկ ուժեղացուցիչ, որը փոքր մուտքային հոսանք է տանում ՝ ելքային մեծ հոսանքը վերահսկելու համար: Մեկ այլ խնդիր է 1.4 Վ լարման ստացումը: Այս արժեքը հուսալիորեն ստանալու առանց բազմաթիվ անալոգային բաղադրիչների ներդրման PWM (Pulse Width Modulation) մոտեցումն օգտագործելն է հետադարձ կապով, որը վերահսկելու է ելքային լարումը:

NPN տրանզիստորը լուծում է երկու խնդիրները. Երբ այն անընդհատ միացված է, սենսորի լարումը 5 Վ է, և այն տաքանում է բարձր ջերմաստիճանի փուլում: Երբ մենք PWM- ն կիրառում ենք դրա մուտքի վրա, հոսանքը զարկերակային է, այնուհետև այն հարթվում է կոնդենսատորի միջոցով, և միջին լարումը մնում է անփոփոխ: Եթե մենք օգտագործում ենք բարձր հաճախականության PWM (էսքիզում այն ունի 62.5 ԿՀց հաճախականություն) և միջինից շատ անալոգային ընթերցումներ (ուրվագծում մենք միջինում գերազանցում ենք ~ 1000 ընթերցում), ապա արդյունքը բավականին հուսալի է:

Շատ կարևոր է կոնդենսատորներ ավելացնել ըստ սխեմայի: Այստեղ պատկերները պատկերում են ազդանշանի տարբերությունը C2 կոնդենսատորով և առանց դրա. Առանց դրա PWM ալիքը հստակ տեսանելի է, և այն զգալիորեն խեղաթյուրում է ընթերցումները:

Քայլ 4. Սխեմատիկա և գրատախտակ

Սխեմատիկա և գրատախտակ
Սխեմատիկա և գրատախտակ
Սխեմատիկա և գրատախտակ
Սխեմատիկա և գրատախտակ
Սխեմատիկա և գրատախտակ
Սխեմատիկա և գրատախտակ

Ահա սխեմաների և տախտակի հավաքումը:

WԳՈՇԱՈՄ Ստանդարտ ճեղքման մոդուլի փոփոխություն է պահանջվում: Առանց փոփոխության մոդուլն անօգուտ է: Փոփոխությունը նկարագրված է երկրորդ քայլում:

LED- ների համար կարևոր է օգտագործել D9 և D10 կապերը, քանի որ այնտեղ մենք ունենք Timer1 ապարատային արդյունքներ, ինչը թույլ կտա սահուն փոխել դրանց գույները: D5 և D6 կապումներն օգտագործվում են ազդանշանի համար, քանի որ D5 և D6- ը Timer0 ապարատային արտադրանք են: Մենք կկարգավորենք դրանք միմյանց հակադարձ լինելը, այնպես որ նրանք կփոխվեն (5V, 0V) և (0V, 5V) վիճակների միջև ՝ դրանով իսկ ձայն հնչեցնելով բզզոցում: Arnգուշացում. Սա ազդում է Arduino- ի հիմնական ժամանակային ընդհատման վրա, ուստի ժամանակից կախված բոլոր գործառույթները (ինչպես millis ()) այս ուրվագծում ճիշտ արդյունքներ չեն տա (այս մասին ավելի ուշ): Pin D3- ին միացված է Timer2 սարքավորման արտադրանք (ինչպես նաև D11 - բայց D11- ի վրա մետաղալար դնելը ավելի քիչ հարմար է, քան D3- ը), ուստի այն օգտագործում ենք լարման վերահսկիչ տրանզիստորի համար PWM ապահովելու համար: Ռեզիստոր R1- ը օգտագործվում է LED- ների պայծառությունը վերահսկելու համար: Այն կարող է լինել 300 -ից 3000 Օմ, 1k- ը բավականին օպտիմալ է պայծառության/էներգիայի սպառման մեջ: Resistor R2- ը օգտագործվում է տրանզիստորի բազային հոսանքը սահմանափակելու համար: Այն չպետք է լինի 300 Օմ -ից ցածր (Arduino քորոցը չծանրաբեռնելու համար), և ոչ ավելի, քան 1500 Օմ: 1k կա անվտանգ ընտրություն:

Ռեզիստոր R3- ը օգտագործվում է սենսորների ափսեի շարքով `լարման բաժանարար ստեղծելու համար: Սենսորի ելքի լարումը հավասար է R3 / (R3 + Rs) * 5V, որտեղ Rs- ը ընթացիկ սենսորի դիմադրությունն է: Սենսորային դիմադրությունը կախված է CO- ի կոնցենտրացիայից, ուստի լարումը համապատասխանաբար փոխվում է: C1 կոնդենսատորն օգտագործվում է MQ -7 սենսորի վրա PWM լարման մուտքը հարթեցնելու համար, որքան բարձր է նրա հզորությունը, այնքան ավելի լավ, բայց նաև պետք է ունենա ցածր ESR, այնպես որ կերամիկական (կամ տանտալ) այստեղ նախընտրելի է կոնդենսատորը, էլեկտրոլիտիկը լավ չի աշխատի:

Կոնդենսատոր C2- ն օգտագործվում է սենսորի անալոգային ելքը հարթեցնելու համար (ելքային լարումը կախված է մուտքային լարումից, և այստեղ մենք ունենք բավականին բարձր հոսանքի PWM, որն ազդում է բոլոր սխեմաների վրա, ուստի մեզ անհրաժեշտ է C2): Ամենապարզ լուծումն այն է, որ օգտագործվի նույն կոնդենսատորը, ինչ C1. NPN տրանզիստորը կամ անընդհատ հոսանք է հաղորդում սենսորի տաքացուցիչի վրա բարձր հոսանք ապահովելու համար, կամ աշխատում է PWM ռեժիմում ՝ այդպիսով նվազեցնելով ջեռուցման հոսանքը:

Քայլ 5. Arduino ծրագիր

Arduino ծրագիր
Arduino ծրագիր

WԳՈՇԱՈՄ. ՍԵՆՍՈՐԸ ՊԱՀԱՆՈ MANՄ Է ՁԵՌՆԱԿԱՆ ՉԱՓՈՐՈՇՈՄ անկացած գործնական օգտագործման համար: ԱՌԱՆ ԿԱԼԻԲՐԱԻԱԻ, ԿԱԽՎԱ ՁԵՐ ՄԱՍՆԱԿՈ SԹՅԱՆ ՍԵՆՍՈՐԻ ARՈՈՎՐԴՆԵՐՈՎ, Էս Էսքիզը կարող է միացնել ահազանգը մաքուր օդում կամ չբացահայտել ածխածնի ածխածնի մոնոքսիդային կոնցենտրացիան:

Կալիբրացիան նկարագրված է հետևյալ քայլերում: Կոպիտ տրամաչափումը շատ պարզ է, ճշգրիտը ՝ բավականին բարդ:

Ընդհանուր առմամբ, ծրագիրը բավականին պարզ է.

Սկզբում մենք չափաբերում ենք մեր PWM- ը ՝ սենսորով պահանջվող կայուն 1.4 Վ արտադրելու համար (ճիշտ PWM լայնությունը կախված է բազմաթիվ պարամետրերից, ինչպիսիք են ճշգրիտ դիմադրության արժեքները, տվյալ սենսորի դիմադրությունը, տրանզիստորի VA կորը և այլն և այլն), ուստի լավագույն միջոցը տարբեր արժեքներ փորձելն է: և օգտագործեք մեկը, որը լավագույնս համապատասխանում է): Հետո, մենք անընդհատ անցնում ենք 60 վայրկյան տաքացման և 90 վայրկյան չափման ցիկլով: Իրականացման ընթացքում այն որոշակիորեն բարդանում է: Մենք պետք է օգտագործենք ապարատային ժամաչափեր, քանի որ այն, ինչ մենք ունենք այստեղ, անհրաժեշտ է բարձր հաճախականությամբ կայուն PWM ՝ ճիշտ գործելու համար: Կոդն այստեղ կցված է և կարելի է ներբեռնել մեր github- ից, ինչպես նաև Fritzing- ի սխեմատիկ աղբյուրից: programրագրում կան 3 գործառույթներ, որոնք կարգավորում են ժամաչափերը. կարգավորել ամեն ինչ ներսում: և սահմանել ժամաչափի համապատասխան արժեքներ 5V- ից մինչև 1.4V ջեռուցում փոխելու համար: LED- ների վիճակը սահմանվում է ֆունկցիայի setLED- ով, որն ընդունում է կանաչ և կարմիր պայծառությունը (գծային 1-100 մասշտաբով) և փոխակերպում է ժամաչափի համապատասխան կարգավորմանը:

Buzzer- ի վիճակը վերահսկվում է `օգտագործելով buzz_on, buzz_off, buzz_beep գործառույթները: Միացման/անջատման գործառույթները միացնում և անջատում են ձայնը, ազդանշանային գործառույթը արտադրում է ազդանշանային որոշակի հաջորդականություն ՝ 1,5 վայրկյան տևողությամբ, եթե այն պարբերաբար կոչվում է (այս գործառույթը վերադառնում է անմիջապես, որպեսզի չդադարեցնի հիմնական ծրագիրը, բայց դուք պետք է այն նորից ու նորից զանգահարեք) ազդանշանային ազդանշան արտադրելու համար):

Firstրագիրը նախ գործարկում է pwm_adjust գործառույթը, որը պարզում է PWM ցիկլի ճիշտ լայնությունը `չափման փուլում 1.4 Վ հասնելու համար: Այնուհետև այն մի քանի անգամ ազդանշան է տալիս ՝ նշելու, որ սենսորը պատրաստ է, անցնում է չափման փուլին և սկսում հիմնական հանգույցը:

Հիմնական հանգույցում ծրագիրը ստուգում է, թե արդյոք մենք բավական ժամանակ ենք անցկացրել ընթացիկ փուլում (90 վայրկյան չափման փուլում, 60 վայրկյան ջեռուցման փուլում), և եթե այո, ապա փոխում է ընթացիկ փուլը: Նաև անընդհատ թարմացնում է սենսորների ընթերցումները `օգտագործելով էքսպոնենցիալ հարթեցում. New_value = 0.999*old_value + 0.001*new_reading: Նման պարամետրերով և չափման ցիկլով այն միջինում ազդանշան է տալիս մոտավորապես 300 միլիվայրկյանների ընթացքում: ARԳՈՇԱՈՄ. ԱՌԱՆ ԿԱԼԻԲՐԱԻԱԻ, ԿԱԽՎԱ ՁԵՐ ՄԱՍՆԱԿՈ SԹՅԱՆ Սենսորի պարամետրերից, այս էսքիզը կարող է միացնել ահազանգը մաքուր օդում կամ չբացահայտել ածխածնի ածխածնի մոնոքսիդային կոնցենտրացիան:

Քայլ 6: Առաջին վազք. Ինչ ակնկալել

Առաջին վազք. Ինչ սպասել
Առաջին վազք. Ինչ սպասել

Եթե ամեն ինչ ճիշտ եք հավաքել, ուրվագիծը վարելուց հետո սերիական մոնիտորում կտեսնեք այսպիսի բան.

կարգավորելով PWM w = 0, V = 4.93

կարգավորելով PWM w = 17, V = 3.57PWM արդյունքը `լայնությունը 17, լարումը 3.57

և այնուհետև մի շարք թվեր, որոնք ներկայացնում են ընթացիկ սենսորային ընթերցումները: Այս մասը կարգավորում է PWM լայնությունը `սենսորի ջեռուցիչի լարումը հնարավորինս մոտ 1.4 Վ -ի մոտ, չափված լարումը հանվում է 5 Վ -ից, ուստի մեր իդեալական չափված արժեքը 3.6 Վ է: Եթե այս գործընթացը երբեք չի ավարտվում կամ ավարտվում է մեկ քայլից հետո (արդյունքում ստացվում է 0 կամ 254 հավասար լայնություն), ապա ինչ -որ բան այն չէ: Ստուգեք, արդյոք ձեր տրանզիստորն իսկապես NPN է և պատշաճ կերպով կապված է (համոզվեք, որ ճիշտ եք օգտագործել հիմքը, կոլեկտորը, ճառագայթման կապում - հիմքը գնում է D3, կոլեկտորը ՝ MQ -7, իսկ թողարկողը ՝ գետնին, մի՛ ապավինեք Fritzing breadboard- ի տեսքին. սխալ է որոշ տրանզիստորների համար) և համոզվեք, որ սենսորի մուտքը միացրել եք Arduino- ի A1 մուտքին: Եթե ամեն ինչ կարգին է, ապա Arduino IDE- ի Serial Plotter- ում պետք է տեսնեք պատկերի նման մի բան: 60 և 90 վայրկյան տևողությամբ ջեռուցման և չափման ցիկլերն ընթանում են մեկը մյուսի հետևից, իսկ CO ppm- ն չափվում և թարմացվում է յուրաքանչյուր ցիկլի վերջում: Երբ չափման ցիկլը գրեթե ավարտված է, կարող եք մի փոքր բոց վերցնել սենսորին մոտ և տեսնել, թե ինչպես դա կազդի ընթերցումների վրա (կախված կրակի տեսակից, այն կարող է բաց օդում արտադրել մինչև 2000 ppm CO կոնցենտրացիա, այնպես որ, չնայած դրա միայն մի փոքր մասն է այն իրականում մտնում է սենսորի մեջ, այն դեռ կմիացնի ահազանգը և չի անջատվի մինչև հաջորդ ցիկլի ավարտը): Ես դա ցույց տվեցի նկարի վրա, ինչպես նաև կրակայրիչից կրակի արձագանքը:

Քայլ 7: Սենսորների տրամաչափում

Սենսորների տրամաչափում
Սենսորների տրամաչափում
Սենսորների տրամաչափում
Սենսորների տրամաչափում

Ըստ արտադրողի տվյալների թերթիկի, սենսորը պետք է տաքացում-հովացման ցիկլեր շարունակի 48 ժամ անընդմեջ, նախքան այն կարող է ճշգրտվել: Եվ դուք պետք է դա անեք, եթե մտադիր եք այն երկար օգտագործել Եթե դա հաշվի չեք առնում, կարող եք ստանալ 0 ppm արդյունք, որտեղ իրականում կա 100 ppm CO: Եթե չեք ցանկանում սպասել 48 ժամ, կարող եք վերահսկել սենսորների ելքը չափման ցիկլի վերջում: Երբ մեկ ժամից ավելի այն չի փոխվի 1-2 կետից ավելի, այնտեղ կարող եք դադարեցնել ջեռուցումը:

Կոպիտ ճշգրտում

Մաքուր օդում առնվազն 10 ժամ էսքիզ անելուց հետո վերցրեք չափիչ ցիկլի վերջը `ջեռուցման փուլը սկսելուց 2-3 վայրկյան առաջ և գրեք այն sensor_reading_clean_air փոփոխականի մեջ (տող 100): Վերջ: Programրագիրը կգնահատի սենսորային այլ պարամետրեր, դրանք ճշգրիտ չեն լինի, բայց պետք է բավական լինեն `10 -ից 100 ppm կոնցենտրացիան տարբերելու համար:

Շգրիտ ճշգրտում

Խստորեն խորհուրդ եմ տալիս գտնել տրամաչափված CO հաշվիչ, պատրաստել 100 ppm CO նմուշ (դա կարելի է անել ներարկիչի մեջ ծխատար գազ վերցնելով. չափագրված հաշվիչ և MQ-7 սենսոր), վերցրեք այս կոնցենտրացիայի սենսորների հում ընթերցումը և դրեք այն sensor_reading_100_ppm_CO փոփոխականի մեջ: Առանց այս քայլի, ձեր ppm- ի չափումը կարող է մի քանի անգամ սխալ լինել ցանկացած ուղղությամբ (միևնույն է, եթե ձեզ անհրաժեշտ է ահազանգ տանը `CO- ի վտանգավոր կոնցենտրացիայի համար, որտեղ սովորաբար CO- ն ընդհանրապես չպետք է լինի, բայց ոչ լավ արդյունաբերական կիրառման համար):

Քանի որ ես չունեի CO հաշվիչ, ես ավելի բարդ մոտեցում էի կիրառում: Սկզբում ես պատրաստեցի CO- ի բարձր կոնցենտրացիա այրման միջոցով մեկուսացված ծավալով (առաջին լուսանկար): Այս հոդվածում ես գտա ամենաօգտակար տվյալները, ներառյալ CO- ի եկամտաբերությունը բոցի տարբեր տեսակների համար. Դա լուսանկարում չէ, բայց վերջնական փորձը օգտագործեց պրոպանի գազի այրումը ՝ նույն կազմավորմամբ, ինչը հանգեցրեց p 5000 ppm CO- ի կոնցենտրացիայի: Այնուհետև այն զտվել է 1:50 կետով `100 ppm- ի հասնելու համար, ինչպես ցույց է տրված երկրորդ լուսանկարում, և այն օգտագործվել է սենսորի հղման կետը որոշելու համար:

Քայլ 8: Որոշ փորձարարական տվյալներ

Որոշ փորձարարական տվյալներ
Որոշ փորձարարական տվյալներ

Իմ դեպքում, սենսորը բավականին լավ էր աշխատում. Այն շատ զգայուն չէ իրոք ցածր կոնցենտրացիաների համար, բայց բավական լավ է 50ppm- ից բարձր բան հայտնաբերելու համար: Փորձեցի աստիճանաբար բարձրացնել համակենտրոնացումը ՝ չափումներ կատարելով և կառուցեցի գծապատկերների շարք: Գոյություն ունի 0 էջ / րոպե տողերի երկու հավաքածու `մաքուր կանաչ` CO- ի ազդեցությունից առաջ, և դեղին կանաչից հետո: Սենսորը կարծես թե փոքր -ինչ փոխում է մաքուր օդի դիմադրությունը մերկացումից հետո, սակայն այս ազդեցությունը փոքր է: Թվում է, թե ի վիճակի չէ հստակ տարբերակել 8 և 15, 15 և 26, 26 և 45 ppm կոնցենտրացիաները, բայց միտումը շատ հստակ է, ուստի այն կարող է ասել, թե արդյոք կոնցենտրացիան 0-20 կամ 40-60 ppm տիրույթում է:. Ավելի բարձր կոնցենտրացիաների դեպքում կախվածությունը շատ ավելի տարբերակիչ է. Բաց կրակի արտանետման ազդեցության տակ կորը սկզբից բարձրանում է առանց ընդհանրապես իջնելու, և դրա դինամիկան բոլորովին այլ է: Այսպիսով, բարձր կոնցենտրացիաների դեպքում կասկած չկա, որ այն աշխատում է հուսալիորեն, չնայած ես չեմ կարող հաստատել դրա ճշգրտությունը, քանի որ ես չունեմ գնահատված CO հաշվիչ: Բացի այդ, փորձերի այս հավաքածուն կատարվել է 20k բեռի դիմադրիչի միջոցով, և դրանից հետո ես որոշեցի առաջարկել 10k որպես կանխադրված արժեք, այն պետք է ավելի զգայուն լինի այս կերպ: Դա այն է: Եթե ունեք հուսալի CO հաշվիչ և կհավաքեք այս տախտակը, խնդրում ենք կիսվել սենսորների ճշգրտության վերաբերյալ որոշ կարծիքներով. Հիանալի կլիներ վիճակագրություն հավաքել տարբեր սենսորների վերաբերյալ և բարելավել էսքիզների կանխադրված ենթադրությունները:

Խորհուրդ ենք տալիս: