Përmbajtje:
- Hapi 1: Historia prapa…
- Hapi 2: Si funksionon
- Hapi 3: Materiali dhe Mjetet
- Hapi 4: Rregulloni gjërat së bashku
- Hapi 5: Gjërat me tela së bashku
- Hapi 6: Lidhja e sensorëve
- Hapi 7: Softueri i kontrolluesit
- Hapi 8: Përfundimi
Video: Kontrolluesi i Rrjetit të Sensorit të Temperaturës me Gabim Tolerant: 8 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:24
Ky udhëzues ju tregon se si të shndërroni një bord Arduino Uno në një kontrollues me një qëllim të vetëm për një sërë sensorë të temperaturës DS18B20 të aftë për izolimin e automatizuar të sensorëve të dëmtuar.
Kontrolluesi mund të menaxhojë deri në 8 sensorë me Arduino Uno. (Dhe shumë më tepër me Arduino Mega ose me një modifikim të lehtë të softuerit.)
Hapi 1: Historia prapa…
Nja dy vjet më parë krijova një rrjet të sensorëve të temperaturës DS18B20 në serën e babait tim për kontrolluesin tim të ngrohjes me bazë pi. Fatkeqësisht, besueshmëria e kontrolluesit ishte e dobët kryesisht për shkak të ndërprerjeve të shpeshta të sensorit. Provova konfigurime të shumta - fuqi parazitare, fuqi direkte, lidhjen e rrjetit me pi si dhe lidhjen me bordin e personalizuar të bazuar në Atmega (qëllimi kryesor i të cilit ishte të drejtonte motorët e valvulave).
Për më keq, besueshmëria e rrjetit të sensorëve ra kryesisht gjatë netëve të dimrit, ndërsa në verë pothuajse nuk kishte probleme! Çfarë dreqin po ndodh këtu?
Për të hetuar se cili sensor shkakton problemin, u shfaq nevoja për t'i aktivizuar/fikur ato një nga një ose për të mundësuar ndonjë kombinim të tyre.
Hapi 2: Si funksionon
DS18B20 (sensori i temperaturës) përdor protokoll pronësor me 1 tela që lejon sensorë të shumtë të ndajnë lidhjen e përbashkët të të dhënave (atë një tel). Kjo lidhje e zakonshme e të dhënave është e lidhur me një nga kunjat GPIO të Arduino dhe me + 5 V nëpërmjet një rezistori tërheqës-asgjë e pazakontë, shumë udhëzime mbulojnë këtë konfigurim.
Truku qëndron në faktin se prizat e energjisë të secilit sensor janë të lidhura me kunjat e veta (të dedikuar) GPIO, në mënyrë që ato të mund të ndizen dhe fiken veç e veç. Për shembull, nëse një sensor ka një prizë Vcc të lidhur me kunjin #3 dhe GND në pinin #2, vendosja e kunjit #3 në LART HIGH siguron energji për sensorin (nuk është befasi) ndërsa vendosja e kunjit #2 në LOW siguron terren (një surprizë e vogël për une). Vendosja e të dy kunjave në modalitetin e hyrjes do të (pothuajse) izolojë plotësisht sensorin dhe telat e tij - pavarësisht se çfarë dështimi (p.sh. një shkurtore) ndodh brenda tij, nuk do të ndërhyjë me të tjerët.
(E drejtë të thuhet se lidhja e telit të të dhënave me diçka tjetër të lidhur disi me Arduino do të shkaktojë me të vërtetë ndërhyrje, por është pothuajse e pamundur në konfigurimin tim).
Vini re se DS18B20 konsumon deri në 1, 5 mA ndërsa një kunj Arduino mund të burojë / fundoset deri në 40 mA, kështu që është krejtësisht e sigurt për të ndezur sensorët drejtpërdrejt nga kunjat GPIO.
Hapi 3: Materiali dhe Mjetet
Materiale
- 1 bord Arduino UNO
- 3 kokë femrash me kunja: 1 × 4, 1 × 6 dhe 1 × 6 (ose më gjatë - i kam prerë nga një kokë 1 × 40)
- një zam
- një copë teli të zhveshur të cooper (të paktën 10 cm)
- një shirit izolues
- materialet e saldimit (tela, fluks …)
Mjetet
- pajisje për saldim (hekur, mbajtëse,…)
- pincë të vogla prerëse
Hapi 4: Rregulloni gjërat së bashku
Ngjitni titujt e femrave me kokë në titujt e bordit Arduino:
- Koka 1 × 4 pranë kokës së pinit "analog", krah për krah me kunjat A0 – A4
- Koka 1 × 6 pranë kokës së parë dixhitale të kunjit, krah për krah me kunjat 2-7
- Koka 1 × 6 pranë kokës së dytë dixhitale të kunjit, krah për krah me kunjat 8-13
Vini re se titujt e mi janë pak më të gjatë … supozoj se nuk ka të këqija dhe asnjë të mirë.
Hapi 5: Gjërat me tela së bashku
Instalimi i linjës së autobusit me 1 tela:
- Lidhni të gjitha lidhjet e titujve të ngjitur në anën "dixhitale" (ngjitur me kunjat 2-13) duke ngjitur një copë teli të zhveshur në to
- Ngjiteni fundin e këtij teli në prizën e kunjit SCL (e lidhur brenda me A5)
- Lidhni të gjitha lidhjet e kokës së ngjitur në anën "analoge" (kunjat A0 – A3) duke ngjitur një copë teli të zhveshur në to
- Ngjiteni fundin e këtij teli në prizat A4 dhe A5 (kam përdorur A5 dhe A6 sepse kam një tabelë që ka A6 & A7)
- Lidhni një rezistencë 4k7 midis skajit tjetër të këtij teli dhe plumbit të kunjave +5 V.
Shënime:
- Kunjat A0 – A5, megjithëse shënohen "analoge", mund të përdoren gjithashtu si kunja dixhitale GPIO.
- Kunja SCL në anën "dixhitale" është e lidhur brenda me A5 në anën "analoge"; i lidhur me titujt, kjo formon linjën e autobusit me 1 tela
- A4 (përdoret si hyrje analoge) mat tensionin e autobusit për qëllime diagnostikuese. Kjo është arsyeja pse lidhet drejtpërdrejt me autobusin.
- Kam përdorur A6 në vend të A4 sepse kam një tabelë që ka A6 & A7; fillimisht doja të përdorja A7 si master autobusi me 1 tela, por këto dy kunja nuk mund të konfigurohen të jenë GPIO dixhitale.
- Për të parandaluar lidhjen e gabuar të lidhësve të sensorit, mund të hiqni / prerë kontaktin e papërdorur (jo i lidhur me asnjë tel) nga secili lidhës mashkull dhe ta futni në vrimën përkatëse në kokën e kunjës së ngjitur.
Hapi 6: Lidhja e sensorëve
Ju sapo krijuat një grup prej tetë bazash 2 × 2. Ju mund të lidhni dhe montoni lidhës 2 × 2 Dupont në kabllot e sensorit dhe t'i lidhni ato në këto priza. Softueri konfiguron kunjat në mënyrë që kunjat e barabarta të jenë kunja GND dhe kunjat e çuditshëm janë kunjat Vcc. Për secilin sensor, kunja Vcc është vetëm kunj GND + 1. Një nga dy kunjat e tjerë të prizës 2 × 2 (një nga ato dy në kokën e ngjitur dhe ngjitur) është për telin e të dhënave të sensorit. Nuk ka rëndësi se cilën përdorni.
Hapi 7: Softueri i kontrolluesit
Skica SerialThermometer drejton kontrolluesin. Mund ta gjeni në github. Hapni dhe ngarkoni duke përdorur Arduino IDE.
Hap pas hapi:
- Hapni Arduino IDE tuaj dhe instaloni bibliotekën DallasTemperature dhe të gjitha varësitë e saj përmes Sketch | Përfshi Bibliotekën | Menaxhoni Bibliotekat.
- Klononi depo git. Nëse nuk jeni njohur me git, shkarkoni dhe shpaketoni këtë zip kudo në kompjuterin tuaj.
- Hapni skicën SerialThermometer në IDE tuaj Arduino.
- Lidhni bordin tuaj të modifikuar Arduino me kompjuterin tuaj me kabllo USB (mënyra standarde)
- Ngarko skicën duke përdorur Arduino IDE
- Hapni Monitorin Serial përmes Mjeteve | Monitor Serial
- Duhet të shihni daljen diagnostike që përmban disa matje fizike të ndjekura nga leximet e temperaturës - secila prizë sensori në një linjë të vetme. Nëse numri i sensorëve ndryshon kur ndizet veçmas dhe kur të gjithë ndizen së bashku), bëni sythe diagnostikues derisa të zgjidhen. Por mos u shqetësoni, gjithashtu diagnostikimi siguron matje të temperaturës!
Shihni foton e shënuar për më shumë detaje në lidhje me daljen diagnostike.
Hapi 8: Përfundimi
Kam një ndjenjë të fortë se dështimet e rrjetit tim të sensorit janë shkaktuar nga kapaciteti i lartë i instalimeve të mia të gjata - rreth 10 m kabllo LIYY 314 (3 × 0, 14 mm²) për secilin sensor. Eksperimentet e mia treguan se komunikimi prishet nëse ka kapacitet rreth ose më të lartë se 0.01 μF midis autobusit me 1 tela dhe tokës, mendoj se rezistenca tërheqëse 4k7 nuk është në gjendje të tërheqë autobusin në + 5 V aq shpejt sa të përputhet me limitet e protokollit Me
Në konfigurimin tim ndodh kur më shumë se 3 sensorë janë të lidhur së bashku. Pastaj, kontrolluesi lakon në ciklin diagnostikues, duke matur sensorin e temperaturës sipas sensorit (ajo që është gjithashtu e ftohtë …)
Por edhe sensori i 5 -të (28: ff: f2: 41: 51: 17: 04: 31) duket mjaft keq (ndoshta bashkim i gabuar), kështu që mund të hetoj më tej!
Recommended:
Kontrolluesi dhe kontrolluesi i zënies së dhomës MicroBit: 4 hapa
Kontrolluesi dhe kontrolluesi i zënies së dhomës MicroBit: Gjatë një pandemie, një mënyrë për të zvogëluar transmetimin e virusit është të maksimizoni distancën fizike midis njerëzve. Në dhoma ose dyqane, do të ishte e dobishme të dini se sa njerëz janë në hapësirën e mbyllur në çdo kohë. Ky projekt përdor një palë
Sensori i temperaturës së rrjetit në shtëpi: 7 hapa
Sensori i Temperaturës së Rrjetit të Shtëpisë: Çfarë duhet të dini për të realizuar këtë projekt: Duhet të dini për: - Disa aftësi elektronike (bashkim) - Linux - Arduino IDE (do t'ju duhet të përditësoni tabela shtesë në IDE: http: // arduino.esp8266.com/stable/package_esp8266 …) - Updatin
Unaza Solar Sign Teardown: Unë e bëra atë gabim kështu që nuk keni pse: 11 hapa
Ring Solar Sign Teardown: Unë e bëra atë gabim kështu që ju nuk keni nevojë: Unë mora një Unazë Ring Door, e cila është goxha e mrekullueshme. Yay for Ring. Pastaj mora një kamerë Ring Stick-up kur të gjitha shitjet në internet rreth ditës së Falënderimeve po zhvilloheshin. 50 dollarë ulje, dhe ata më dërguan këtë shenjë të mrekullueshme unazore diellore FALAS (vetëm një vlerë prej 49 dollarësh!). Jam i sigurt se
Kontrolluesi i rrjetit IoT. Pjesa 9: IoT, Automatizimi në shtëpi: 10 hapa (me fotografi)
Kontrolluesi i rrjetit IoT. Pjesa 9: IoT, Automatizimi i Shtëpisë: Mospranim LEXO KIST PARST Ky udhëzues detajon një projekt i cili përdor energjinë kryesore (në këtë shembull UK 240VAC RMS), ndërsa çdo kujdes është marrë për të përdorur praktika të sigurta dhe parime të mira të projektimit, ekziston gjithmonë një rrezik potencialisht vdekjeprurës zgjedh
Si të shpëtojmë nga budallai " .hex Asnjë skedar i tillë " Gabim kur Ngarkoni Arduino!: 4 Hapa
Si të shpëtojmë nga budallai " .hex Asnjë skedar i tillë " Gabim kur Ngarkoni Arduino!: Ky Instructable do t'ju japë udhëzime hap pas hapi se si të bëni një Arduino Diecemella të ngarkojë në fakt kodin e përgatitur në shtëpi, në vend të vetëm shembujve në Windows XP