Kazalo:
- 1. korak: Zgodba za …
- 2. korak: Kako deluje
- Korak: Material in orodja
- 4. korak: Skupaj popravite stvari
- 5. korak: Povežite stvari skupaj
- 6. korak: Priključitev senzorjev
- 7. korak: Programska oprema krmilnika
- 8. korak: Zaključek
Video: Omrežni krmilnik temperaturnega senzorja, odpornega na napake: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ta navodila vam pokažejo, kako pretvoriti ploščo Arduino Uno v enonamenski krmilnik za niz temperaturnih senzorjev DS18B20, ki lahko avtomatizirajo izolacijo okvarjenih senzorjev.
Krmilnik lahko upravlja z do 8 senzorji z Arduino Uno. (In še veliko več z Arduino Mega ali z rahlo spremembo programske opreme.)
1. korak: Zgodba za …
Pred nekaj leti sem v očetovem rastlinjaku vzpostavil omrežje temperaturnih senzorjev DS18B20 za svoj regulator ogrevanja na osnovi pi. Na žalost je bila zanesljivost krmilnika slaba predvsem zaradi pogostih izpadov senzorjev. Preizkusil sem več nastavitev - napajanje parazitov, neposredno napajanje, povezovanje omrežja s pi in njegovo povezavo s ploščo po meri na osnovi Atmega (ki je bil primarni namen pogon motorjev ventilov).
Še huje, zanesljivost senzorskega omrežja je padla predvsem v zimskih nočeh, poleti pa skoraj ni bilo težav! Kaj za vraga se dogaja tukaj?
Če želite raziskati, kateri senzor povzroča težavo, se je pojavila potreba, da jih vklopite/izklopite enega za drugim ali omogočite katero koli njihovo kombinacijo.
2. korak: Kako deluje
DS18B20 (temperaturni senzor) uporablja lastniški 1-žični protokol, ki omogoča več senzorjem, da delijo skupno podatkovno povezavo (to eno žico). Ta skupna podatkovna povezava je povezana z enim od Arduinovih zatičev GPIO in na + 5 V prek vlečnega upora-nič nenavadnega, veliko navodil pokriva to nastavitev.
Trik je v tem, da so napajalni vodi vsakega senzorja povezani z lastnimi (namenskimi) zatiči GPIO, tako da jih je mogoče vklopiti in izklopiti ločeno. Na primer, če ima senzor Vcc kabel priključen na pin #3 in GND na pin #2, nastavitev pin #3 na HIGH zagotavlja napajanje senzorja (ni presenetljivo), medtem ko nastavitev pin #2 na LOW zagotavlja ozemljitev (malo presenečenje za jaz). Nastavitev obeh nožic na vhodni način bo (skoraj) popolnoma izolirala senzor in njegovo ožičenje - ne glede na to, kakšna okvara (na primer bližnjica) se zgodi v njem, ne bo motila drugih.
(Pošteno je reči, da bo povezava podatkovne žice z nečim drugim, ki je nekako povezan z Arduinom, res povzročila motnje, vendar je v mojih nastavitvah skoraj nemogoče).
Upoštevajte, da DS18B20 porabi do 1, 5 mA, medtem ko lahko en Arduino pin zažene / potone do 40 mA, zato je popolnoma varno, da senzorje napajate neposredno z zatiči GPIO.
Korak: Material in orodja
Material
- 1 Arduino UNO plošča
- 3 ženski zatiči: 1 × 4, 1 × 6 in 1 × 6 (ali dlje - izrežem jih iz ene glave 1 × 40)
- lepilo
- kos gole bakrene žice (najmanj 10 cm)
- izolacijski trak
- spajkanje potrošnega materiala (žica, fluks …)
Orodja
- spajkalna oprema (likalnik, držala, …)
- majhne rezalne klešče
4. korak: Skupaj popravite stvari
Glave ženskih zatičev prilepite na glave plošče Arduino:
- 1 × 4 glava poleg "analognega" zatiča, ena na drugo s čepi A0 – A4
- 1 × 6 glava poleg prve glave digitalnega zatiča, bočno ob strani z nožicami 2–7
- 1 × 6 glava poleg drugega digitalnega zatiča, ena na drugo z nožicami 8–13
Upoštevajte, da so moje glave nekoliko daljše … mislim, da nima slabosti in prednosti.
5. korak: Povežite stvari skupaj
Ožičenje enožične vodilne linije:
- Povežite vse kable zlepljenih glav na "digitalni" strani (v bližini zatičev 2–13) tako, da na njih spajkate kos gole žice
- Konec te žice spajkajte na pin SCL (notranje povezan z A5)
- Priključite vse vodnike zlepljene glave na "analogno" stran (zatiči A0 -A3) tako, da na njih spajkate kos gole žice
- Konec te žice spajkajte na kable A4 in A5 (uporabil sem A5 in A6, ker imam ploščo z A6 in A7)
- Med drugi konec te žice in kabel +5 V spajkajte upor 4k7
Opombe:
- Zatiči A0 -A5, čeprav so označeni kot "analogni", se lahko uporabljajo tudi kot digitalni zatiči GPIO.
- SCL pin na "digitalni" strani je notranje povezan z A5 na "analogni" strani; priključen na glave, tvori 1-žilno vodilo
- A4 (uporablja se kot analogni vhod) meri napetost vodila za diagnostične namene. To je razlog, zakaj je neposredno povezan z avtobusom.
- Namesto A4 sem uporabil A6, ker imam ploščo z A6 & A7; prvotno sem hotel uporabiti A7 kot enožičnega vodila vodila, vendar teh dveh nožic ni mogoče konfigurirati kot digitalna GPIO.
- Da preprečite napačno povezavo priključkov senzorja, lahko iz vsakega moškega priključka izpustite / izrežete neuporabljen kontakt (ni povezan z nobeno žico) in ga vstavite v ustrezno luknjo v zlepljenem zatiču.
6. korak: Priključitev senzorjev
Pravkar ste ustvarili niz osmih vtičnic 2 × 2. Spojke 2 × 2 Dupont lahko spajkate in sestavite na senzorske kable in jih priključite v te vtičnice. Programska oprema konfigurira zatiče tako, da so parni zatiči zatiči GND, neparni pa zatiči Vcc. Za vsak senzor je Vcc pin samo pin GND + 1. Eden od drugih dveh nožic vtičnice 2 × 2 (eden od teh dveh v zlepljeni in spajkani glavi) je za podatkovno žico senzorja. Ni važno, katero uporabljate.
7. korak: Programska oprema krmilnika
Skica serijskega termometra vodi krmilnik. Najdete ga na githubu. Odprite in naložite z uporabo Arduino IDE.
Korak za korakom:
- Odprite svoj Arduino IDE in namestite knjižnico DallasTemperature in vse njene odvisnosti prek programa Sketch | Vključi knjižnico | Upravljajte knjižnice.
- Kloniraj skladišče git. Če gita ne poznate, ga prenesite in razpakirajte kjer koli v računalniku.
- Odprite skico SerialThermometer v svojem Arduino IDE.
- S kablom USB (standarden način) povežite spremenjeno ploščo Arduino z računalnikom
- Naložite skico z uporabo Arduino IDE
- Odprite serijski monitor z orodji | Serijski monitor
- Videti bi morali diagnostični izhod, ki vsebuje več fizikalnih meritev, ki jim sledijo odčitki temperature - vsaka vtičnica senzorja na eni liniji. Če se število senzorjev razlikuje, če je vklopljen ločeno in ko so vsi skupaj vklopljeni), se diagnostične zanke, dokler se ne odpravijo. Ampak brez skrbi, tudi diagnostika omogoča merjenje temperature!
Za več podrobnosti o diagnostičnih rezultatih glejte označeno sliko.
8. korak: Zaključek
Imam močan občutek, da so napake v omrežju senzorjev nastale zaradi velike kapacitivnosti moje dolge napeljave - približno 10 m kabla LIYY 314 (3 × 0, 14 mm²) za vsak senzor. Moji poskusi so pokazali, da se komunikacija prekine, če je kapacitivnost okoli ali višja od 0,01 μF med 1-žičnim vodilom in maso, mislim, da vlečni upor 4k7 ne more potegniti vodila na + 5 V dovolj hitro, da je v skladu z omejitvami protokola.
V mojih nastavitvah se to zgodi, ko so več kot 3 senzorji povezani skupaj. Nato se krmilnik vklopi v diagnostični cikel in meri senzor za senzorjem temperature (kaj je tudi kul …)
Toda tudi 5. senzor (28: ff: f2: 41: 51: 17: 04: 31) je videti precej bolan (morda napačno spajkanje), zato lahko še raziščem!
Priporočena:
Povezovanje temperaturnega senzorja DS18B20 z Arduinom in ESP8266: 8 korakov
Povezovanje temperaturnega senzorja DS18B20 z Arduinom in ESP8266: Hej, kaj je, fantje! Akarsh tukaj iz CETech -a. Danes bomo v svoj arzenal dodali nov senzor, znan kot temperaturni senzor DS18B20. To je temperaturni senzor, podoben DHT11, vendar ima drugačen nabor aplikacij. Primerjali ga bomo z
Izris podatkov v živo temperaturnega senzorja (TMP006) z uporabo MSP432 LaunchPad in Python: 9 korakov
Ustvarjanje podatkov v realnem času temperaturnega senzorja (TMP006) z uporabo MSP432 LaunchPad in Python: TMP006 je temperaturni senzor, ki meri temperaturo predmeta brez potrebe po stiku s predmetom. V tej vadnici bomo s pomočjo Pythona začrtali podatke o živi temperaturi iz BoosterPack-a (TI BOOSTXL-EDUMKII)
Ohišje temperaturnega senzorja DS18B20: 5 korakov
Ohišje temperaturnega senzorja DS18B20: Enostavna naprava s temperaturnim senzorjem na osnovi DS18B20 z odprtokodno 3D -tiskano škatlo in prototipnim tiskanim vezjem. Škatla in prototipna tiskana vezja sta neobvezna, potrebna sta le ena MCU na osnovi ESP8266 in en temperaturni senzor DS18B20. Predlagam vam WEMOS D1 min
Omrežni WiFi omrežni most Raspberry Pi Enterprise: 9 korakov
Raspberry Pi Enterprise Network Bridge: Avtor: Riley Barrett in Dylan Halland Cilj tega projekta je omogočiti, da se naprava IoT, na primer Weemo Smart Plug, Amazon Echo, Gaming Console ali katera koli druga naprava, ki podpira Wi-Fi, poveže z WPA_EAP Enterprise Network z uporabo Raspberry Pi Zero
SENZOR SUHU DENGAN LCD DAN LED (Nastavitev temperaturnega senzorja z LCD in LED): 6 korakov (s slikami)
SENZOR SUHU DENGAN LCD DAN LED (Ustvarjanje temperaturnega senzorja z LCD in LED): Pozdravljeni, Devi Rivaldi je predstavil UNIVERSITAS NUSA PUTRA v Indoneziji, v tem primeru je Arduino opremljen z izhodom za LCD in LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda