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

Սխալներին հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ `8 քայլ
Սխալներին հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ `8 քայլ

Video: Սխալներին հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ `8 քայլ

Video: Սխալներին հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ `8 քայլ
Video: Ես կիսում եմ գաղտնիքները. Ինչպես պատրաստել հողը ձմռանը սոխ տնկելու համար և ինչպես պարարտացնել 2024, Նոյեմբեր
Anonim
Սխալներին հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ
Սխալներին հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ

Այս Instructable- ը ցույց է տալիս, թե ինչպես փոխարկել Arduino Uno տախտակը մեկ նպատակի վերահսկիչի համար DS18B20 ջերմաստիճանի տվիչների մի շարք, որոնք ունակ են անսարք տվիչների ավտոմատ մեկուսացում:

Կարգավորիչը կարող է կառավարել մինչև 8 սենսոր Arduino Uno- ով: (Եվ շատ ավելին Arduino Mega- ի կամ ծրագրակազմի փոքր փոփոխությամբ):

Քայլ 1: Պատմություն հետևում…

Մի քանի տարի առաջ ես հորս ջերմոցում ստեղծեցի ջերմաստիճանի տվիչների DS18B20 ցանց իմ պի վրա հիմնված ջեռուցման վերահսկիչի համար: Unfortunatelyավոք, վերահսկիչի հուսալիությունը վատ էր հիմնականում սենսորների հաճախակի անջատումների պատճառով: Ես փորձեցի բազմաթիվ կարգավորումներ ՝ մակաբույծ էներգիա, ուղղակի էներգիա, ցանցը միացնելով pi- ին, ինչպես նաև միացնելով Atmega- ի վրա հիմնված հատուկ տախտակին (որի հիմնական նպատակը փականային շարժիչներ վարելն էր):

Ավելի վատ, սենսորային ցանցի հուսալիությունը հիմնականում ընկավ ձմեռային գիշերների ընթացքում, մինչդեռ ամռանը գրեթե խնդիրներ չկային: Ի՞նչ լավ է կատարվում այստեղ:

Հետազոտելու համար, թե որ սենսորն է առաջացնում խնդիրը, անհրաժեշտություն առաջացավ միացնել դրանք մեկ առ մեկ կամ միացնել դրանց ցանկացած համադրություն:

Քայլ 2: Ինչպես է այն աշխատում

DS18B20- ը (ջերմաստիճանի ցուցիչ) օգտագործում է 1 լարի սեփական արձանագրություն, որը թույլ է տալիս բազմաթիվ սենսորների կիսել տվյալների ընդհանուր կապը (այդ մեկ մետաղալարը): Տվյալների ընդհանուր այս կապը միացված է Arduino- ի GPIO կապումներից մեկին և + 5 V- ին `ձգվող դիմադրության միջոցով:

Խաբեությունն այն է, որ յուրաքանչյուր սենսորի հոսանքի լարերը միացված են սեփական (նվիրված) GPIO կապումներին, այնպես որ դրանք կարող են անջատվել և անջատվել առանձին: Օրինակ, եթե սենսորին Vcc կապը միացված է թիվ 3 կապին, իսկ GND- ը ՝ թիվ 2 կապին, ապա թիվ 3 կապը բարձրության վրա ապահովում է սենսորի հզորությունը (զարմանալի չէ), իսկ թիվ 2 կապը դեպի OWԱOWՐ ապահովում է հիմք (փոքր անակնկալ ես): Երկու կապում մուտքային ռեժիմի կարգավորելը (գրեթե) ամբողջովին մեկուսացնելու է սենսորը և դրա լարերը.

(Արդարացի է ասել, որ տվյալների հաղորդալարը Arduino- ին ինչ -որ կերպ միացված այլ բանի հետ միացնելն իրոք միջամտություն կառաջացնի, բայց իմ պարամետրերում դա գրեթե անհնար է):

Ուշադրություն դարձրեք, որ DS18B20- ը սպառում է մինչև 1, 5 մԱ, մինչդեռ մեկ Arduino- ի քորոցը կարող է սնուցել / խորտակել մինչև 40 մԱ, ուստի անթույլատրելի է սենսորները միացնել GPIO կապում ուղղակիորեն:

Քայլ 3: Նյութեր և գործիքներ

Նյութական

  • 1 Arduino UNO տախտակ
  • 3 կին գլխիկ ՝ 1 × 4, 1 × 6 և 1 × 6 (կամ ավելի երկար ՝ դրանք կտրել եմ մեկ 1 × 40 վերնագրից)
  • սոսինձ
  • մի կտոր մերկ կոպերի մետաղալար (առնվազն 10 սմ)
  • մեկուսիչ ժապավեն
  • զոդման ծախսվող նյութեր (մետաղալար, հոսք …)

Գործիքներ

  • զոդման սարքավորումներ (երկաթ, ամրակներ,…)
  • փոքր տափակաբերան աքցան

Քայլ 4: Միասին շտկեք իրերը

Միասին շտկեք իրերը
Միասին շտկեք իրերը

Կին սոսինձները կպցրեք Arduino- ի տախտակի վերնագրերին.

  1. 1 × 4 վերնագիր «անալոգային» կապի վերնագրի կողքին, A0 – A4 կապում կողք կողքի
  2. 1 × 6 վերնագիր առաջին թվային կապի վերնագրի կողքին, կողք կողքի 2-7 կապում
  3. 1 × 6 վերնագիր երկրորդ թվային կապի վերնագրի կողքին, 8-13 կապում կողք կողքի

Ուշադրություն դարձրեք, որ իմ վերնագրերը մի փոքր ավելի երկար են … ենթադրում եմ, որ դա ոչ մի վատ և լավ կողմ չունի:

Քայլ 5: Լարային իրեր միասին

Wire Things Together
Wire Things Together
Wire Things Together
Wire Things Together

1-մետաղալար ավտոբուսի գծի միացում

  1. Միացրեք սոսնձված վերնագրերի բոլոր կապերը «թվային» կողմում (2-13 կապումներին կից) ՝ դրանց վրա զոդելով մի կտոր մերկ մետաղալար
  2. Այս մետաղալարերի ծայրը կպցրեք SCL կապի կապին (ներքին միացված է A5- ին)
  3. Միացրեք սոսնձված վերնագրի բոլոր տողերը «անալոգային» կողմում (կապեր A0 – A3) ՝ նրանց վրա զոդելով մի մերկ մետաղալար
  4. Այս մետաղալարերի ծայրը միացրեք A4 և A5 լարերին (ես օգտագործել եմ A5 և A6, քանի որ ունեմ տախտակ, որն ունի A6 և A7)
  5. Այս մետաղալարերի մյուս ծայրերի և +5 V կապի կապարի միջև զոդեք 4k7 ռեզիստոր

Նշումներ

  • A0 – A5 կապում, թեև նշվում է որպես «անալոգային», կարող են օգտագործվել նաև որպես GPIO թվային կապում:
  • «Թվային» կողմի SCL կապը ներքին միացված է «անալոգային» կողմի A5- ին; վերնագրերի հետ կապված ՝ սա կազմում է 1-լարային ավտոբուսի գիծը
  • A4 (օգտագործվում է որպես անալոգային մուտք) չափում է ավտոբուսի լարումը ախտորոշիչ նպատակներով: Դա է պատճառը, որ այն ուղղակիորեն միացված է ավտոբուսին:
  • Ես օգտագործել եմ A6- ը A4- ի փոխարեն, քանի որ ունեմ տախտակ, որն ունի A6 & A7; ի սկզբանե ես ուզում էի օգտագործել A7- ը որպես 1-լարի ավտոբուսի վարպետ, բայց այս երկու կապում հնարավոր չէ կարգավորել թվային GPIO- ներ:
  • Սենսորային միակցիչների սխալ միացումը կանխելու համար դուք կարող եք բաց թողնել / կտրել չօգտագործված կոնտակտը (միացված չէ որևէ մետաղալարերի) յուրաքանչյուր արական միակցիչից և տեղադրել այն սոսնձված կապի վերնագրի համապատասխան անցքին:

Քայլ 6: Սենսորների միացում

Սենսորների միացում
Սենսորների միացում

Դուք պարզապես ստեղծել եք eight 2 × 2 վարդակից զանգված: Դուք կարող եք զոդել և հավաքել 2 × 2 Dupont միակցիչ սենսորային մալուխներին և միացնել դրանք այս վարդակներին: Theրագրակազմը կարգավորում է կապումներն այնպես, որ նույնիսկ կապումներն են GND կապում, իսկ կենտ կապերը ՝ Vcc կապում: Յուրաքանչյուր սենսորի համար Vcc կապը պարզապես GND կապ է + 1. 2 × 2 վարդակից մնացած երկու կապումներից մեկը (սոսնձված և զոդված վերնագրում նշված երկուսից մեկը) սենսորի տվյալների հաղորդալարի համար է: Կարևոր չէ, թե որն եք օգտագործում:

Քայլ 7: Վերահսկիչ ծրագրակազմ

Վերահսկիչ ծրագրակազմ
Վերահսկիչ ծրագրակազմ

SerialThermometer ուրվագիծը գործարկում է վերահսկիչը: Դուք կարող եք գտնել այն github- ում: Բացեք և վերբեռնեք Arduino IDE- ի միջոցով:

Քայլ առ քայլ:

  1. Բացեք ձեր Arduino IDE- ն և տեղադրեք DallasTemperature գրադարանը և դրա բոլոր կախվածությունները Sketch | - ի միջոցով Ներառել գրադարան | Կառավարեք գրադարանները:
  2. Կլոնավորել git պահեստը: Եթե ծանոթ չեք git- ին, ներբեռնեք և բացեք այս փոստային հասցեն ձեր համակարգչի ցանկացած վայրում:
  3. Բացեք SerialThermometer ուրվագիծը ձեր Arduino IDE- ում:
  4. Միացրեք ձեր փոփոխված Arduino տախտակը ձեր համակարգչին USB մալուխի միջոցով (ստանդարտ եղանակ)
  5. Վերբեռնեք ուրվագիծը ՝ օգտագործելով ձեր Arduino IDE- ն
  6. Բացեք սերիական մոնիտորը գործիքների միջոցով | Սերիական մոնիտոր
  7. Դուք պետք է տեսնեք ախտորոշիչ ելք, որը պարունակում է մի քանի ֆիզիկական չափումներ, որին հաջորդում են ջերմաստիճանի ընթերցումները. Եթե սենսորների քանակը տարբերվում է, երբ այն միացված է առանձին և երբ բոլորը միացված են), ախտորոշիչ օղակները մինչև լուծումը: Բայց մի անհանգստացեք, ախտորոշումը նաև ապահովում է ջերմաստիճանի չափումներ:

Ախտորոշման արդյունքի մասին ավելի մանրամասն տես տե՛ս ծանոթագրված նկարը:

Քայլ 8: Եզրակացություն

Ես ուժեղ զգացում ունեմ, որ իմ սենսորային ցանցի խափանումները պայմանավորված էին իմ երկար լարերի բարձր հզորությամբ `յուրաքանչյուր սենսորի համար LIYY 314 (3 × 0, 14 մմ²) մալուխի մոտ 10 մ հեռավորության վրա: Իմ փորձերը ցույց տվեցին, որ հաղորդակցությունը խզվում է, եթե մեկ լարային ավտոբուսի և գետնի միջև 0.01 μF- ի շուրջ կամ ավելի բարձր հզորություն կա, ես կարծում եմ, որ 4k7 ձգվող դիմադրիչը չի կարող ավտոբուսը բավականաչափ արագ քաշել + 5 Վ լարման համար, որպեսզի համապատասխանի արձանագրության սահմաններին:.

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

Բայց նաև 5 -րդ սենսորը (28: ff: f2: 41: 51: 17: 04: 31) բավականին վատ տեսք ունի (գուցե սխալ է զոդում), այնպես որ ես կարող եմ հետաքննություն անցկացնել:

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