Temperatuurianduritehnoloogia

MCU-ga ühendatud temperatuuriandur DS18B20

DS18B20 temperatuurianduri teadmiste tutvustus
DS18B20 on tavaliselt kasutatav digitaalne temperatuuriandur. See väljastab digitaalseid signaale, sellel on väikese suuruse omadused, madal riistvarakulu, tugev häiretevastane võime, kõrge täpsusega, ja seda kasutatakse laialdaselt.

Digitaalne temperatuurisond DS18B20 pakub 9 juurde 12 natuke

Digitaalne temperatuurisond DS18B20 pakub 9 juurde 12 natuke

Veekindel DS18B20 andurisond

Veekindel DS18B20 andurisond

TPE Overmolding IP68 veekindel DS18B20 andur

TPE Overmolding IP68 veekindel DS18B20 andur

Temperatuurianduri DS18B20 tutvustus
Tehnilised omadused:
①. Unikaalne ühejuhtmelise liidese režiim. Kui DS18B20 on ühendatud mikroprotsessoriga, ainult 1 mikroprotsessori ja DS18B20 vahelise kahesuunalise side loomiseks on vaja traati.
②. Temperatuuri mõõtmise vahemik -55℃~+125℃, omane temperatuuri mõõtmise viga 1 ℃.
③. Toetage mitmepunktilise võrgu funktsiooni. Mitu DS18B20 saab ühendada paralleelselt ainult kolme juhtmega, ja maksimaalselt 8 saab paralleelselt ühendada, et teostada mitmepunktilist temperatuuri mõõtmist. Kui arv on liiga suur, toitepinge on liiga madal, mille tulemuseks on ebastabiilne signaaliedastus.
④. Töötav toiteallikas: 3.0~5,5V/DC (andmeliini parasiittoiteallikat saab kasutada).
⑤. Kasutamise ajal pole perifeerseid komponente vaja.
⑥. Mõõtmistulemused edastatakse seeriaviisiliselt 9~12-bitisel digitaalsel kujul.
⑦. Roostevabast terasest kaitsetoru läbimõõt on Φ6.
⑧. See sobib erinevate keskmiste tööstuslike torustike DN15 ~ 25 temperatuuri mõõtmiseks, DN40~DN250 ja seadmed kitsastes kohtades.
⑨. Standardsed paigalduskeermed M10X1, M12X1,5, G1/2” on valikulised.
⑩. PVC-kaabel on otse ühendatud või Saksa kuultüüpi harukarp on ühendatud, mida on mugav ühendada teiste elektriseadmetega.

DS18B20 lugemise ja kirjutamise ajastus ning temperatuuri mõõtmise põhimõte:
DS18B20 temperatuuri mõõtmise põhimõte on näidatud joonisel 1. Joonisel kujutatud madala temperatuuri koefitsiendiga kristallostsillaatori võnkesagedust mõjutab temperatuur vähe, ja seda kasutatakse fikseeritud sagedusega impulsssignaali genereerimiseks, mis saadetakse loendurile 1. Kõrge temperatuuri koefitsiendiga kristallostsillaatori võnkesagedus muutub oluliselt koos temperatuuriga, ja genereeritud signaali kasutatakse loenduri impulsssisendina 2. Loendur 1 ja temperatuuriregister on eelseadistatud baasväärtusele, mis vastab -55 ℃. Loendur 1 lahutab madala temperatuuri koefitsiendiga kristallostsillaatori poolt genereeritud impulsi signaali. Kui loenduri eelseadistatud väärtus 1 on taandatud 0, temperatuuriregistri väärtust suurendatakse võrra 1, ja loenduri eelseadistus 1 laaditakse uuesti. Loendur 1 käivitub uuesti, et lugeda madala temperatuuri koefitsiendiga kristallostsillaatori poolt genereeritud impulsssignaali, ja tsükkel jätkub kuni loendurini 2 loeb 0, temperatuuriregistri väärtuse kogunemise peatamine. Sel ajal, temperatuuriregistris olev väärtus on mõõdetud temperatuur. Kallaku akumulaatorit kasutatakse temperatuuri mõõtmise protsessi mittelineaarsuse kompenseerimiseks ja korrigeerimiseks, ja selle väljundit kasutatakse loenduri eelseadistatud väärtuse korrigeerimiseks 1.

Joonis 1 on järgmine:

DS18B20 ja MCU ühendusskeem

DS18B20 ja MCU ühendusskeem

2. DS18B20 ja MCU ühendusskeem

DS18B20 viigu parameetri määratlus

DS18B20 viigu parameetri määratlus

3. DS18B20 viigu määratlus:

DQ: Andmete sisend/väljund. Avage äravoolu 1-juhtmeline liides. Samuti võib see anda seadmele toite, kui seda kasutatakse parasiittoiterežiimis VDD: positiivne toiteallikas GND: toite maandus 4. DS18B20 siseanalüüsi tutvustus:

DS18B20 sisestruktuuri analüüs ja tutvustamine

DS18B20 sisestruktuuri analüüs ja tutvustamine

Ülaltoodud joonisel on kujutatud DS18B20 plokkskeem, ja 64-bitine ROM salvestab seadme unikaalse seeriakoodi. Puhvermälu sisaldab 2 baiti temperatuuriregistreid, mis salvestavad temperatuurianduri digitaalse väljundi. Lisaks, puhvermälu võimaldab juurdepääsu 1-baidistele ülemisele ja alumisele häire käivitamise registrile (TH ja TL) ja 1-baidised konfiguratsiooniregistrid. Konfiguratsiooniregister võimaldab kasutajal määrata temperatuuri eraldusvõime digitaalseks teisendamiseks 9, 10, 11, või 12 bitti. TH, TL, ja konfiguratsiooniregistrid on püsimatud (EEPROM), nii et need säilitavad andmed, kui seade on välja lülitatud. DS18B20 kasutab Maximi ainulaadset 1-juhtmelise siini protokolli, mis kasutab juhtsignaali. Juhtliin vajab nõrka tõmbetakistit, kuna kõik seadmed on siiniga ühendatud läbi 3-olekulise või avatud äravooluga pordi (DQ pin DS18B20 puhul). Selles siinisüsteemis on mikroprotsessor (meister) kasutab iga seadme jaoks ainulaadset 64-bitist koodi. Kuna igal seadmel on unikaalne kood, ühel siinil adresseeritavate seadmete arv on praktiliselt piiramatu.

Temperatuuriregistri vorming

DS18B20 temperatuuriregistri vormingu diagramm

DS18B20 temperatuuriregistri vormingu diagramm

Temperatuuri/andmete suhe

DS18B20 Temperatuuri ja andmete suhe

DS18B20 Temperatuuri ja andmete suhe

Toimingu häiresignaal

Pärast seda, kui DS18B20 teostab temperatuuri muundamise, see võrdleb temperatuuri väärtust kasutaja määratud kahe komplemendi häire päästiku väärtusega, mis on salvestatud 1-baidistesse TH- ja TL-registritesse. Märgibitt näitab, kas väärtus on positiivne või negatiivne: positiivne S=0, negatiivne S=1. TH- ja TL-registrid on püsimatud (EEPROM) ja seetõttu ei lendu need, kui seade on välja lülitatud. TH-le ja TL-ile pääseb juurde baitide kaudu 2 ja 3 mälust.
TH ja TL registri formaat:

DS18B20 konfiguratsiooniregistrid

DS18B20 konfiguratsiooniregistrid

Skemaatiline diagramm DS18B20 toiteallikast välise toiteallika abil

Välise toiteallika kasutamise skemaatiline skeem DS18B20 toiteks

Välise toiteallika kasutamise skemaatiline skeem DS18B20 toiteks

64-biti laser-kirjutuskaitstud mälukood:

DS18B20 64-bitine laser-kirjutuskaitstud mälukood

DS18B20 64-bitine laser-kirjutuskaitstud mälukood

Iga DS18B20 sisaldab unikaalset 64-bitist koodi, mis on salvestatud ROM-i. Kõige vähem oluline 8 ROM-koodi bitid sisaldavad DS18B20 ühejuhtmelise perekonna koodi: 28h. Järgmine 48 bitid sisaldavad ainulaadset seerianumbrit. Kõige märkimisväärsem 8 bitid sisaldavad tsüklilist liiasuse kontrolli (CRC) bait, mida arvutatakse esimesest 56 ROM-koodi bitid.

DS18B20 mälukaart

DS18B20 mälukaart

DS18B20 mälukaart

Konfiguratsiooniregister:

Joonis 2

DS18B20 konfiguratsiooniregistrid

DS18B20 konfiguratsiooniregistrid

Bait 4 mälu sisaldab konfiguratsiooniregistrit, mis on korraldatud joonisel näidatud viisil 2. Kasutaja saab määrata DS18B20 teisenduseraldusvõime, kasutades siin bitte R0 ja R1, nagu on näidatud tabelis 2. Nende bittide sisselülitamise vaikeseaded on R0 = 1 ja R1 = 1 (12-biti eraldusvõime). Pange tähele, et eraldusvõime ja teisendusaja vahel on otsene seos. Natuke 7 ja bitti 0 juurde 4 konfiguratsiooniregistris on reserveeritud seadme sisekasutuseks ja neid ei saa üle kirjutada.

Tabel 2 Termomeetri eraldusvõime konfiguratsioon

DS18B20 termomeetri eraldusvõime konfiguratsioon

DS18B20 termomeetri eraldusvõime konfiguratsioon

CRC põlvkond

CRC bait on osa DS18B20 64-bitisest ROM-koodist ja see asub märkmiku 9. baidis. ROM-i kood CRC arvutatakse esimesest 56 bitti ROM-koodist ja see sisaldub ROM-i kõige olulisemas baidis. Märkmiku CRC arvutatakse märkmikusse salvestatud andmete põhjal, nii et see muutub, kui andmed märkmikus muutuvad. CRC pakub siini hostile DS18B20 andmete lugemisel andmete kontrollimise meetodit. Pärast andmete korrektse lugemise kontrollimist, siini ülem peab vastuvõetud andmete põhjal ümber arvutama CRC ja seejärel võrdlema seda väärtust ROM-koodiga CRC (ROM-i lugemiseks) või kriimustusplaat CRC (märkmiku lugemiseks). Kui arvutatud CRC ühtib loetud CRC-ga, andmed on õigesti vastu võetud. Otsus võrrelda CRC väärtusi ja jätkata on täielikult bussijuhi äranägemisel. DS18B20 sees ei ole ühtegi vooluringi, mis takistaks käsujada täitmist, kui:
DS18B20 CRC (ROM või märkmik) ei ühti siiniülema genereeritud väärtusega.
CRC ekvivalentne polünoomfunktsioon on:
CRC = X8 + X5 + X4 + 1
Siini juht saab CRC ümber arvutada ja võrrelda seda DS18B20 CRC väärtusega:
Polünoomigeneraator on näidatud joonisel 3. Ahel sisaldab nihkeregistrit ja yihuo väravaid, ja nihkeregistri bitid initsialiseeritakse 0. ROM-koodi kõige vähem oluline bitt või baidi kõige vähem oluline bitt 0 kriimustusplaadis tuleks nihutada ükshaaval nihkeregistrisse. Pärast natuke sisselülitamist 56 ROM-ist või baidi kõige olulisemast bitist 7 märkimisplaadilt, polünoomigeneraator sisaldab ümberarvutatud CRC-d. Edasi, 8-bitine ROM-kood või CRC-signaal märkmikus DS18B20 tuleb ahelasse nihutada. Sel hetkel, kui ümberarvutatud CRC on õige, nihkeregister on kõik 0-d.

Joonis 3: CRC generaator

DS18B20 CRC generaatori protsessiskeem

DS18B20 CRC generaatori protsessiskeem

V. Juurdepääs DS18B20-le:
DS18B20-le juurdepääsu järjekord on järgmine:
Samm 1. Initsialiseerimine;

Samm 2. ROM-i käsk (järgneb vajalik andmevahetus);

Samm 3. DS18B20 funktsiooni käsk (järgneb vajalik andmevahetus);

Märkus: Seda järjestust järgitakse iga kord, kui DS18B20-le juurde pääsete, sest DS18B20 ei reageeri, kui järjestuses mõni samm puudub või on korrast ära. Selle reegli erand on otsingu-ROM [F0h] ja häireotsing [Ech] käske. Pärast nende kahe ROM-i käsu väljastamist, peremees peab tagasi astuma 1 järjekorras.
(Ülaltoodud sissejuhatus on tõlgitud ametlikust juhendist)

ROM-i käsk
1, Lugege ROM-i [33h]
2, Sobitage ROM [55h]
3, Jäta ROM vahele [CCh]
4, Häire otsing [Ech]

DS18B20 funktsioonikäsk
1, Temperatuuri teisendamine [44h]
2, Kirjutage märkmeleht (Mälu) [4Eh]
3, Lugege märkmelehte (Mälu) [BEh]
4, Kopeeri märkmeleht (Mälu [48h]
5, Ärata uuesti E2 [B8h]
6, Lugege Power [B4h]

(Ülaltoodud käskude üksikasjalik kirjeldus, vaadake ametlikku juhendit)

VI. Juurdepääs DS18B20 ajastusele
Initsialiseerimisprotsessi ajal, siini juht saadab lähtestusimpulsi (TX) madalal tasemel vähemalt 480 µs, tõmmates 1-juhtmelist siini. Siis, siini juht vabastab siini ja läheb vastuvõturežiimi (RX). Pärast bussi vabastamist, 5kΩ tõmbetakisti tõmbab 1-juhtmelise siini kõrgele. Kui DS18B20 tuvastab selle tõusva serva, see ootab 15 µs kuni 60 µs ja saadab seejärel kohalolekuimpulsi, tõmmates 1-juhtmelise siini madalale 60 µs kuni 240 µs.

Initsialiseerimise ajastus:

Kirjutamisajapilusid on kahte tüüpi: “Kirjutage 1” ajapilud ja “Kirjutage 0” ajapilud. Buss kasutab Write'i 1 ajapilu loogika kirjutamiseks 1 DS18B20-le ja kirjutage 0 ajapilu loogika kirjutamiseks 0 DS18B20-le. Kõik kirjutamisajapilud peavad kestma vähemalt 60 µs ja taastumisaeg üksikute kirjutamisajapilude vahel peab olema vähemalt 1 µs. Mõlemat tüüpi kirjutamisajapilu käivitab ülem, tõmmates 1-juhtmelise siini madalale (vaata joonist 14). Kirjutamise loomiseks 1 ajapilu, pärast 1-juhtmelise siini madalaks tõmbamist, siini juht peab vabastama 1-Wire siini 15 µs jooksul. Pärast bussi vabastamist, 5kΩ tõmbetakisti tõmbab siini kõrgele. Genereeri a
Kirjutage 0 ajapilu, pärast 1-juhtmelise liini madalale tõmbamist, bussijuht peab jätkama bussi madalal hoidmist kogu ajapilu (vähemalt 60 µs). DS18B20 proovib 1-juhtmelist siini 15 µs kuni 60 µs jooksul pärast seda, kui ülem käivitab kirjutamisajapilu. Kui siin on proovivõtuakna ajal kõrgel, a 1 on kirjutatud DS18B20-le. Kui liin on madal, a 0 on kirjutatud DS18B20-le.
Märkus: Ajapilu on osa ajapilu teabe järjestikusest isemultipleksimisest, mis on pühendatud ühele kanalile.
Joonis 14 on järgmine:

DS18B20 kirjutamisajapilusid juhib host, et tõmmata 1-juhtmeline siini madalale tasemele

DS18B20 kirjutamisajapilusid juhib host, et tõmmata 1-juhtmeline siini madalale tasemele

Lugege ajavahemikku:
DS18B20 saab hostile andmeid saata ainult siis, kui host annab lugemisajapilu. Seetõttu, host peab genereerima lugemisajapilu kohe pärast lugemismälu käsu andmist [BEh] või lugemistoiteallikat [B4h] käsk, et DS18B20 esitaks vajalikud andmed. Alternatiivina, host saab luua lugemisajapilu pärast teisenda T väljastamist [44h] või kutsuge tagasi E2 [B8h] käsk oleku väljaselgitamiseks. Kõik lugemise ajapilud peavad kestma vähemalt 60 µs ja ajapilude vaheline minimaalne taastumisaeg on 1 µs. Lugemise ajapilu käivitab ülem, tõmbab 1-juhtmelise siini madalale, et hoida seda madalal vähemalt 1 µs, ja seejärel vabastab siini (vaata joonist 14). Pärast seda, kui juht algatab lugemise ajapilu, DS18B20 hakkab siin saatma kas 1-sid või 0-sid. DS18B20 saadab a 1 bussi kõrgel hoides ja saadab a 0 bussi madalaks tõmmates. Kui a 0 saadetakse, DS18B20 vabastab siini, hoides siini kõrgel. Ajapilu lõpeb ja siini tõmmatakse tõmbetakisti abil tagasi kõrgesse tühikäigu olekusse.

DS18B20 üksikasjalik hosti lugemine 1 Ajapilu

DS18B20 üksikasjalik hosti lugemine 1 Ajapilu

DS18B20 Soovitatav hosti lugemine 1 ajapilu

DS18B20 Soovitatav hosti lugemine 1 ajapilu