Turinys:
- 1 žingsnis: istorija už…
- 2 žingsnis: kaip tai veikia
- 3 žingsnis: medžiaga ir įrankiai
- 4 žingsnis: sutvarkykite dalykus kartu
- 5 žingsnis: Sujunkite dalykus kartu
- 6 veiksmas: jutiklių prijungimas
- 7 žingsnis: valdiklio programinė įranga
- 8 žingsnis: Išvada
Video: Gedimams atsparus temperatūros jutiklio tinklo valdiklis: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Ši instrukcija parodo, kaip „Arduino Uno“plokštę paversti vienos paskirties valdikliu, skirtu DS18B20 temperatūros jutikliams, galintiems automatiškai izoliuoti sugedusius jutiklius.
Valdiklis gali valdyti iki 8 jutiklių su „Arduino Uno“. (Ir daug daugiau naudojant „Arduino Mega“arba šiek tiek pakeitus programinę įrangą.)
1 žingsnis: istorija už…
Prieš porą metų tėvo šiltnamyje sukūriau temperatūros jutiklių tinklą DS18B20, skirtą mano pi šildymo valdikliui. Deja, valdiklio patikimumas buvo prastas daugiausia dėl dažnų jutiklių gedimų. Išbandžiau daugybę sąrankų - parazitų maitinimas, tiesioginė galia, tinklo prijungimas prie pi, taip pat prijungimas prie „Atmega“pagrįstos pasirinktinės plokštės (kurios pagrindinis tikslas buvo valdyti vožtuvų variklius).
Dar blogiau, jutiklių tinklo patikimumas sumažėjo daugiausia žiemos naktimis, o vasarą beveik nebuvo jokių problemų! Kas, po velnių, čia vyksta?
Norint ištirti, kuris jutiklis sukelia problemą, atsirado poreikis juos įjungti/išjungti po vieną arba įjungti bet kurį jų derinį.
2 žingsnis: kaip tai veikia
DS18B20 (temperatūros jutiklis) naudoja patentuotą 1 laidų protokolą, leidžiantį keliems jutikliams dalytis bendra duomenų nuoroda (vienu laidu). Šis bendras duomenų ryšys yra prijungtas prie vieno iš „Arduino“GPIO kaiščių ir prie + 5 V per ištraukiamąjį rezistorių-nieko neįprasto, daugelis nurodymų apima šią sąranką.
Faktas yra tas, kad kiekvieno jutiklio maitinimo laidai yra prijungti prie nuosavų (specialių) GPIO kaiščių, kad juos būtų galima įjungti ir išjungti atskirai. Pavyzdžiui, jei jutiklis turi Vcc laidą, prijungtą prie kaiščio Nr. 3, o GND - į kaištį #2, nustačius kaištį Nr. 3 į AUKŠTAS, jutiklis gauna maitinimą (nenuostabu), o nustačius kaištį Nr. aš). Abiejų kaiščių nustatymas įvesties režimu (beveik) visiškai izoliuos jutiklį ir jo laidus - nesvarbu, koks gedimas (pvz., Nuoroda) įvyks jo viduje, jis netrukdys kitiems.
(Sąžiningai galiu pasakyti, kad duomenų laido prijungimas prie kažko kito, kažkaip prijungto prie „Arduino“, tikrai sukels trikdžių, tačiau mano sąrankoje tai beveik neįmanoma).
Atkreipkite dėmesį, kad DS18B20 sunaudoja iki 1, 5 mA, o vienas „Arduino“kaištis gali tiekti / nuskęsti iki 40 mA, todėl visiškai saugu maitinti jutiklius tiesiogiai iš GPIO kaiščių.
3 žingsnis: medžiaga ir įrankiai
Medžiaga
- 1 „Arduino UNO“lenta
- 3 moterų kaiščių antraštės: 1 × 4, 1 × 6 ir 1 × 6 (arba ilgiau - jas iškirpiau iš vienos 1 × 40 antraštės)
- klijai
- plikos vielos gabalas (mažiausiai 10 cm)
- izoliacinė juosta
- litavimo medžiagos (viela, srautas …)
Įrankiai
- litavimo įranga (lygintuvas, laikikliai ir kt.)
- mažos pjovimo replės
4 žingsnis: sutvarkykite dalykus kartu
Klijuokite moterų kaiščių antraštes prie „Arduino“plokštės antraščių:
- 1 × 4 antraštė šalia „analoginės“kaiščio antraštės, iš vienos pusės į kitą su smeigtukais A0 – A4
- 1 × 6 antraštė šalia pirmosios skaitmeninės kaiščio antraštės, iš vienos pusės į kitą su 2–7 kaiščiais
- 1 × 6 antraštė šalia antrosios skaitmeninio kaiščio antraštės, iš vienos pusės į kitą su 8–13 kaiščiais
Atkreipkite dėmesį, kad mano antraštės yra šiek tiek ilgesnės … manau, kad jis neturi trūkumų ir jokių privalumų.
5 žingsnis: Sujunkite dalykus kartu
1 laidų magistralės linijos prijungimas:
- Prijunkite visas klijuotų antgalių laidus „skaitmeninėje“pusėje (greta 2–13 kaiščių), lituodami prie jų plikos vielos gabalėlį
- Lituokite šio laido galą prie SCL kaiščio laido (viduje prijungtas prie A5)
- Prijunkite visus klijuotos antraštės laidus „analoginėje“pusėje (kaiščiai A0 – A3), lituodami prie jų plikos vielos gabalėlį
- Lituokite šio laido galą prie A4 ir A5 laidų (naudojau A5 ir A6, nes turiu plokštę su A6 ir A7)
- Lituokite 4k7 rezistorių tarp kito šio laido galo ir +5 V kaiščio laido
Pastabos:
- Smeigtukai A0 – A5, nors ir pažymėti kaip „analoginiai“, gali būti naudojami ir kaip GPIO skaitmeniniai kaiščiai.
- SCL kaištis „skaitmeninėje“pusėje yra iš vidaus prijungtas prie A5 „analoginėje“pusėje; prijungtas prie antraščių, tai sudaro 1 laidų magistralės liniją
- A4 (naudojamas kaip analoginis įėjimas) matuoja magistralės įtampą diagnostikos tikslais. Štai kodėl jis yra tiesiogiai prijungtas prie autobuso.
- Aš naudojau A6, o ne A4, nes turiu plokštę, kurioje yra A6 ir A7; iš pradžių norėjau naudoti A7 kaip 1 laidų magistralės magistralę, tačiau šių dviejų kaiščių negalima sukonfigūruoti kaip skaitmeninių GPIO.
- Kad išvengtumėte neteisingo jutiklių jungčių prijungimo, galite praleisti / iškirpti nenaudojamą kontaktą (neprijungtą prie jokio laido) iš kiekvienos kištukinės jungties ir įkišti jį į atitinkamą skylę klijuoto kaiščio antraštėje.
6 veiksmas: jutiklių prijungimas
Jūs ką tik sukūrėte aštuonių 2 × 2 lizdų masyvą. Galite lituoti ir surinkti 2 × 2 „Dupont“jungtis prie jutiklių kabelių ir prijungti prie šių lizdų. Programinė įranga sukonfigūruoja kaiščius taip, kad lygūs kaiščiai būtų GND kaiščiai, o nelyginiai - Vcc kaiščiai. Kiekvieno jutiklio Vcc kaištis yra tik GND kaištis + 1. Vienas iš kitų dviejų 2 × 2 lizdo kaiščių (vienas iš tų dviejų klijuotoje ir lituotoje antraštėje) skirtas jutiklio duomenų vielai. Nesvarbu, kurį naudojate.
7 žingsnis: valdiklio programinė įranga
„SerialThermometer“eskizas valdo valdiklį. Jį galite rasti „github“. Atidarykite ir įkelkite naudodami „Arduino IDE“.
Žingsnis po žingsnio:
- Atidarykite „Arduino IDE“ir įdiekite „DallasTemperature“biblioteką bei visas jos priklausomybes naudodami „Sketch“| Įtraukti biblioteką | Tvarkyti bibliotekas.
- Clone git saugykla. Jei nesate susipažinę su „git“, atsisiųskite ir išpakuokite šį ZIP failą bet kurioje savo kompiuterio vietoje.
- Atidarykite „SerialThermometer“eskizą savo „Arduino IDE“.
- Prijunkite modifikuotą „Arduino“plokštę prie kompiuterio USB kabeliu (standartiniu būdu)
- Įkelkite eskizą naudodami „Arduino IDE“
- Atidarykite serijinį monitorių naudodami Įrankiai | Serijinis monitorius
- Turėtumėte matyti diagnostikos išvestį, kurioje yra keli fiziniai matavimai, po to temperatūros rodmenys - kiekvienas jutiklio lizdas vienoje linijoje. Jei jutiklių skaičius skiriasi, kai įjungiamas atskirai ir kai visi įjungiami kartu), diagnostikos ciklai tol, kol išsispręs. Bet nesijaudinkite, diagnostika taip pat leidžia matuoti temperatūrą!
Daugiau informacijos apie diagnostikos išvestį rasite paveikslėlyje su anotacija.
8 žingsnis: Išvada
Manau, kad mano jutiklių tinklo gedimus lėmė didelė mano ilgo laido talpa - maždaug 10 m kiekvieno jutiklio LIYY 314 (3 × 0, 14 mm²) kabelio. Mano eksperimentai parodė, kad ryšys nutrūksta, jei tarp 1 laidų magistralės ir žemės yra maždaug 0,01 μF arba didesnė talpa, manau, nes 4k7 ištraukiamasis rezistorius negali pakankamai greitai ištraukti magistralės iki + 5 V, kad atitiktų protokolo ribas.
Mano sąrankoje tai atsitinka, kai kartu yra sujungti daugiau nei 3 jutikliai. Tada valdiklis įjungia diagnostikos ciklą, matuodamas temperatūros jutiklį po jutiklį (kas taip pat yra vėsu …)
Bet ir penktasis jutiklis (28: ff: f2: 41: 51: 17: 04: 31) atrodo gana blogai (galbūt netinkamas litavimas), todėl galiu toliau tirti!
Rekomenduojamas:
Namų tinklo temperatūros jutiklis: 7 žingsniai
Namų tinklo temperatūros jutiklis: Ką reikia žinoti norint įgyvendinti šį projektą: Turite žinoti apie: - kai kuriuos elektronikos įgūdžius (litavimas) - „Linux“- „Arduino IDE“(turėsite atnaujinti papildomas plokštes IDE: http: // arduino.esp8266.com/stable/package_esp8266 …) - atnaujinimas
YABC - dar vienas „Blynk“valdiklis - „IoT“debesų temperatūros ir drėgmės valdiklis, ESP8266: 4 žingsniai
YABC - Dar vienas „Blynk“valdiklis - „IoT“debesų temperatūros ir drėgmės valdiklis, ESP8266: Sveiki, kūrėjai, neseniai pradėjau auginti grybus namuose, austrių grybus, bet jau turiu 3 kartus šių valdiklių namuose, kad galėčiau kontroliuoti savo namų alaus fermentacijos temperatūrą, žmona dabar taip pat daro šį „Kombucha“dalyką ir yra šilumos termostatas
Kas yra prie mano durų? PIR judesio jutiklio/diapazono jutiklio projektas: 5 žingsniai
Kas yra prie mano durų? PIR judesio jutiklio/diapazono jutiklio projektas: Mūsų projekto tikslas yra pajusti judesį per PIR ir atstumo jutiklius. „Arduino“kodas skleis vaizdo ir garso signalą, kad vartotojui būtų pranešta, kad kažkas yra šalia. MATLAB kodas atsiųs el. Pašto signalą, kad įspėtų vartotoją, kad kažkas yra šalia. Šis įrenginys
„IoT“tinklo valdiklis. 9 dalis. Daiktų internetas, namų automatika: 10 žingsnių (su paveikslėliais)
„IoT“tinklo valdiklis. 9 dalis. Daiktų internetas, namų automatizavimas: atsisakymas Skaitykite šį pirmą kartą Šioje instrukcijoje išsamiai aprašytas projektas, kuriame naudojama elektros energija (šiuo atveju JK 240 VAC RMS), nors buvo stengiamasi naudoti saugią praktiką ir gerus projektavimo principus, visada yra mirtino pavojaus išrinkti
Atsparus vandeniui LM35 temperatūros jutiklis: 6 žingsniai (su nuotraukomis)
Atsparus vandeniui LM35 temperatūros jutiklis: čia yra instrukcija, kaip apsaugoti LM35, kad būtų galima naudoti pririštą ROV, naudojant 12 V automobilio akumuliatorių kaip energijos šaltinį. Tai atsirado dėl poreikio dalyvauti MATE ROV konkurse. LM35 serija yra tikslūs integruotų grandinių temperatūros jutikliai, kurie