Satura rādītājs:
- 1. darbība: stāsts aiz…
- 2. darbība. Kā tas darbojas
- 3. darbība: materiāli un rīki
- 4. solis. Labojiet lietas kopā
- 5. solis: vadiet lietas kopā
- 6. darbība: sensoru pievienošana
- 7. darbība: kontroliera programmatūra
- 8. solis. Secinājums
Video: Kļūdu tolerants temperatūras sensora tīkla kontrolieris: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šajā pamācībā ir parādīts, kā pārvērst Arduino Uno plati par viena mērķa kontrolieri DS18B20 temperatūras sensoru kopumam, kas spēj automātiski izolēt bojātos sensorus.
Kontrolieris var pārvaldīt līdz 8 sensoriem, izmantojot Arduino Uno. (Un vēl daudz vairāk, izmantojot Arduino Mega vai ar nelielu programmatūras modifikāciju.)
1. darbība: stāsts aiz…
Pirms pāris gadiem es tēva siltumnīcā ierīkoju temperatūras sensoru tīklu DS18B20 savam apkures regulatoram. Diemžēl kontroliera uzticamība bija slikta galvenokārt biežu sensoru pārtraukumu dēļ. Es izmēģināju vairākus iestatījumus - parazītu jaudu, tiešo strāvu, tīkla savienošanu ar pi, kā arī pieslēgšanu pie Atmega balstītas pielāgotās plates (kuras galvenais mērķis bija vadīt vārstu motorus).
Kas vēl ļaunāk, sensoru tīkla uzticamība samazinājās galvenokārt ziemas naktīs, kamēr vasarā gandrīz nebija problēmu! Kas pie velna te notiek?
Lai izpētītu, kurš sensors rada problēmu, radās nepieciešamība tos pa vienam ieslēgt/izslēgt vai iespējot jebkuru to kombināciju.
2. darbība. Kā tas darbojas
DS18B20 (temperatūras sensors) izmanto patentētu 1 vadu protokolu, kas ļauj vairākiem sensoriem koplietot kopīgu datu saiti (vienu vadu). Šī kopējā datu saite ir savienota ar vienu no Arduino GPIO tapām un ar + 5 V, izmantojot uzvilkšanas rezistoru-nekas neparasts, daudzi norādījumi aptver šo iestatījumu.
Triks ir tāds, ka katra sensora barošanas vadi ir savienoti ar savām (speciālajām) GPIO tapām, lai tos varētu atsevišķi ieslēgt un izslēgt. Piemēram, ja sensoram ir pieslēgts Vcc vads pie tapas Nr. 3 un GND - tapai #2, nospiežot tapu #3 uz HIGH, tiek nodrošināta sensora barošana (nav pārsteigums), bet, nospiežot tapu #2 uz LOW, tiek nodrošināta zeme (neliels pārsteigums es). Abu tapu iestatīšana ievades režīmā (gandrīz) pilnībā izolēs sensoru un tā vadu - neatkarīgi no tā, kāda kļūme (piemēram, saīsne) notiks tā iekšpusē, tas netraucēs citiem.
(Godīgi sakot, ka datu vada savienošana ar kaut ko citu, kas kaut kādā veidā ir savienots ar Arduino, patiešām radīs traucējumus, bet manā iestatījumā tas ir gandrīz neiespējami).
Ņemiet vērā, ka DS18B20 patērē līdz 1, 5 mA, savukārt viena Arduino tapa var avot / nogremdēt līdz 40 mA, tāpēc ir pilnīgi droši sensori barot tieši ar GPIO tapām.
3. darbība: materiāli un rīki
Materiāls
- 1 Arduino UNO tāfele
- 3 sieviešu tapas: 1 × 4, 1 × 6 un 1 × 6 (vai ilgāk - es tos izgriezu no vienas 1 × 40 galvenes)
- līmi
- plikas kabeļa stieples gabals (vismaz 10 cm)
- izolācijas lenti
- lodēšanas palīgmateriāli (stieple, plūsma …)
Rīki
- lodēšanas iekārtas (dzelzs, turētāji, …)
- mazas griešanas knaibles
4. solis. Labojiet lietas kopā
Līmējiet sieviešu tapas galvenes ar Arduino tāfeles galvenēm:
- 1 × 4 galvene blakus "analogās" tapas galvenei, no vienas puses uz otru ar tapām A0 – A4
- 1 × 6 galvene blakus pirmajai digitālās tapas galvenei, no vienas puses uz otru ar tapām 2–7
- 1 × 6 galvene blakus otrajai ciparu tapas galviņai, no vienas puses uz otru ar tapām 8–13
Ievērojiet, ka manas galvenes ir nedaudz garākas … man šķiet, ka tam nav mīnusu un plusu.
5. solis: vadiet lietas kopā
1 vadu autobusu līnijas vadi:
- Pievienojiet visus līmēto galviņu vadus "digitālajā" pusē (blakus tapām 2–13), pielodējot tiem kailu stieples gabalu
- Lodējiet šī stieples galu ar SCL tapas vadu (iekšēji savienots ar A5)
- Pievienojiet visus līmētās galvenes vadus "analogā" pusē (tapas A0 - A3), pielodējot tiem tukšas stieples gabalu
- Lodējiet šī stieples galu pie A4 un A5 vadiem (es izmantoju A5 un A6, jo man ir tāfele ar A6 un A7)
- Lodējiet 4k7 rezistoru starp šī stieples otru galu un +5 V kontakta vadu
Piezīmes:
- Tapas A0 – A5, lai gan ir apzīmētas kā “analogas”, var tikt izmantotas arī kā GPIO digitālās tapas.
- SCL tapa "digitālajā" pusē ir iekšēji savienota ar A5 "analogā" pusē; savienots ar galvenēm, tas veido 1 vadu kopnes līniju
- A4 (izmanto kā analogo ieeju) mēra kopnes spriegumu diagnostikas nolūkos. Tas ir iemesls, kāpēc tas ir tieši savienots ar autobusu.
- Es izmantoju A6, nevis A4, jo man ir tāfele, kurā ir A6 un A7; sākotnēji es gribēju izmantot A7 kā 1 vadu kopnes galveno, bet šīs divas tapas nevar konfigurēt kā digitālās GPIO.
- Lai novērstu nepareizu sensoru savienotāju pieslēgšanu, varat izlaist / izgriezt neizmantoto kontaktu (nav pievienots nevienam vadam) no katra savienotāja un ievietot to atbilstošajā caurumā līmētās tapas galviņā.
6. darbība: sensoru pievienošana
Jūs tikko izveidojāt astoņu 2 × 2 ligzdu masīvu. Jūs varat pielodēt un salikt 2 × 2 Dupont savienotājus sensoru kabeļos un savienot tos ar šīm ligzdām. Programmatūra konfigurē tapas tā, lai pat tapas būtu GND tapas un nepāra tapas ir Vcc tapas. Katram sensoram Vcc tapa ir tikai GND tapa + 1. Viena no pārējām divām 2 × 2 kontaktligzdas tapām (viena no šīm divām līmētajā un lodētajā galvenē) ir paredzēta sensora datu vadam. Nav svarīgi, kuru jūs izmantojat.
7. darbība: kontroliera programmatūra
SerialThermometer skice vada kontrolieri. Jūs to varat atrast vietnē github. Atveriet un augšupielādējiet, izmantojot Arduino IDE.
Soli pa solim:
- Atveriet savu Arduino IDE un instalējiet DallasTemperature bibliotēku un visas tās atkarības, izmantojot Sketch | Iekļaut bibliotēku | Pārvaldīt bibliotēkas.
- Klonēt git krātuvi. Ja neesat pazīstams ar git, lejupielādējiet un izpakojiet šo zip jebkurā vietā datorā.
- Atveriet SerialThermometer skici savā Arduino IDE.
- Pievienojiet modificēto Arduino plati datoram, izmantojot USB kabeli (standarta veids)
- Augšupielādējiet skici, izmantojot savu Arduino IDE
- Atveriet sērijas monitoru, izmantojot rīkus | Sērijas monitors
- Jums vajadzētu redzēt diagnostikas izvadi, kas satur vairākus fiziskus mērījumus, kam seko temperatūras rādījumi - katra sensora ligzda vienā līnijā. Ja sensoru skaits atšķiras, ja tie tiek ieslēgti atsevišķi un kad visi ir ieslēgti kopā), diagnostikas cilpas, līdz tās tiek novērstas. Bet neuztraucieties, arī diagnostika nodrošina temperatūras mērījumus!
Skatiet attēlu ar anotāciju, lai iegūtu sīkāku informāciju par diagnostikas izvadi.
8. solis. Secinājums
Man ir spēcīga sajūta, ka manu sensoru tīkla kļūmes izraisīja mana garā elektroinstalācija - aptuveni 10 m LIYY 314 (3 × 0, 14 mm²) kabeļa katram sensoram. Mani eksperimenti parādīja, ka sakari pārtrūkst, ja starp 1 vadu kopni un zemi ir aptuveni 0,01 μF kapacitāte vai lielāka, es domāju, jo 4k7 pievilkšanas rezistors nespēj pietiekami ātri novilkt autobusu līdz + 5 V, lai tas atbilstu protokola ierobežojumiem.
Manā iestatījumā tas notiek, ja kopā ir savienoti vairāk nekā 3 sensori. Pēc tam kontrolieris veic diagnostikas cikla darbības, mērot temperatūras sensoru pa sensoru (kas ir arī foršs …)
Bet arī 5. sensors (28: ff: f2: 41: 51: 17: 04: 31) izskatās diezgan slikti (varbūt nepareiza lodēšana), tāpēc varu izpētīt tālāk!
Ieteicams:
Mājas tīkla temperatūras sensors: 7 soļi
Mājas tīkla temperatūras sensors: Kas jums jāzina, lai izveidotu šo projektu: Jums jāzina par: - dažām elektronikas prasmēm (lodēšana) - Linux - Arduino IDE (jums būs jāatjaunina papildu paneļi IDE: http: // arduino.esp8266.com/stable/package_esp8266 …) - updatin
YABC - vēl viens Blynk kontrolieris - IoT mākoņa temperatūras un mitruma kontrolieris, ESP8266: 4 soļi
YABC - Vēl viens Blynk kontrolieris - IoT mākoņa temperatūras un mitruma kontrolieris, ESP8266: Sveiki, Makers, es nesen sāku audzēt sēnes mājās, austeru sēnes, bet man jau ir 3x no šiem kontrolieriem mājās, lai raudzētu temperatūras kontroli savai mājas brūvei, sieva arī tagad dara šo Kombucha lietu un kā siltuma termostatu
Sensora tīkla ierīce: 4 soļi
Sensora tīkla ierīce: šī sensoru tīkla ierīce spēj lasīt un rakstīt no vairākiem sensoriem no tīmekļa lapas. Sensora dati tiek pārsūtīti, izmantojot RS485 sakarus, uz aveņu pi, kur dati tiek nosūtīti uz tīmekļa lapu, izmantojot php
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: 5 soļi
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: Mūsu projekta mērķis ir uztvert kustību, izmantojot PIR un attāluma sensorus. Arduino kods izvadīs vizuālu un audio signālu, lai informētu lietotāju, ka kāds atrodas tuvumā. MATLAB kods nosūtīs e -pasta signālu, lai brīdinātu lietotāju, ka kāds atrodas tuvumā. Šī ierīce
IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija: 10 soļi (ar attēliem)
IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija: atruna IZLASIET ŠO PIRMAJI ievēlēt