Hőmérséklet-érzékelő technológia

DS18B20 hőmérséklet-érzékelő csatlakoztatva az MCU-hoz

DS18B20 hőmérséklet-érzékelő ismeretek bemutatása
A DS18B20 egy általánosan használt digitális hőmérséklet -érzékelő. Digitális jeleket ad ki, kis méret jellemzőivel rendelkezik, alacsony hardver, erős anti-interferencia képesség, nagy pontosságú, és széles körben használják.

A DS18B20 digitális hőmérsékletszonda biztosítja 9 hogy 12 bit

A DS18B20 digitális hőmérsékletszonda biztosítja 9 hogy 12 bit

Vízálló DS18B20 érzékelőszonda

Vízálló DS18B20 érzékelőszonda

TPE Overmolding IP68 vízálló DS18B20 érzékelő

TPE Overmolding IP68 vízálló DS18B20 érzékelő

A DS18B20 hőmérséklet-érzékelő bemutatása
Műszaki jellemzők:
①. Egyedi egyvezetékes interfész mód. Amikor a DS18B20 csatlakozik egy mikroprocesszorhoz, csak 1 vezetékre van szükség a mikroprocesszor és a DS18B20 közötti kétirányú kommunikáció megvalósításához.
②. Hőmérséklet mérési tartomány -55℃~+125℃, belső hőmérséklet mérési hiba 1 ℃.
③. Támogassa a többpontos hálózati funkciót. Több DS18B20 párhuzamosan csatlakoztatható az egyetlen három vezetéknél, és maximum 8 párhuzamosan csatlakoztatható a többpontos hőmérsékleti mérés megvalósításához. Ha a szám túl nagy, A tápegység feszültsége túl alacsony lesz, ami instabil jelátvitelt eredményez.
④. Működő tápegység: 3.0~ 5,5 V/DC (Adatvonal parazita tápegység használható).
⑤. A használat során nincs szükség perifériás alkatrészekre.
⑥. A mérési eredményeket 9-12 bites digitális formában sorosan továbbítják.
⑦. A rozsdamentes acél védőcső átmérője φ6.
⑧. Alkalmas különféle DN15-25 közepes ipari csővezetékek hőmérsékletmérésére, DN40~DN250 és szűk helyeken lévő berendezések.
⑨. Szabványos beépítési menetek M10X1, M12X1.5, A G1/2” nem kötelező.
⑩. A PVC kábel közvetlenül vagy német golyós csatlakozódoboz csatlakoztatva van, amely kényelmesen csatlakoztatható más elektromos berendezésekhez.

A DS18B20 olvasási és írási időzítés és hőmérsékletmérés elve:
A DS18B20 hőmérséklet mérési elve az ábrán látható 1. Az ábrán látható alacsony hőmérsékleti együtthatójú kristályoszcillátor rezgési frekvenciáját a hőmérséklet kevéssé befolyásolja, és egy fix frekvenciájú impulzusjel generálására szolgál, amelyet a számlálóhoz kell küldeni 1. A magas hőmérsékleti együtthatójú kristályoszcillátor rezgési frekvenciája jelentősen változik a hőmérséklettel, és a generált jelet a számláló impulzusbemeneteként használjuk 2. Ellen 1 és a hőmérsékletregiszter előre be van állítva -55 ℃-nak megfelelő alapértékre. Ellen 1 levonja az alacsony hőmérsékleti együtthatójú kristályoszcillátor által generált impulzusjelet. Amikor a számláló előre beállított értéke 1 -re redukálódik 0, a hőmérsékletregiszter értéke eggyel nő 1, és a számláló előre beállított értéke 1 újra lesz töltve. Ellen 1 újraindul, hogy megszámolja az alacsony hőmérsékleti együtthatójú kristályoszcillátor által generált impulzusjelet, és a ciklus a számlálóig folytatódik 2 számít 0, a hőmérsékleti regiszterérték felhalmozódásának leállítása. Ebben az időben, a hőmérséklet-regiszterben szereplő érték a mért hőmérséklet. A lejtős akkumulátor a nemlinearitás kompenzálására és korrigálására szolgál a hőmérsékletmérés folyamatában, kimenete pedig a számláló előre beállított értékének korrigálására szolgál 1.

Ábra 1 a következő:

DS18B20 és MCU csatlakozási kapcsolási rajz

DS18B20 és MCU csatlakozási kapcsolási rajz

2. DS18B20 és MCU csatlakozási rajz

DS18B20 tűs paraméter meghatározása

DS18B20 tűs paraméter meghatározása

3. DS18B20 tű definíció:

DQ: Adatbevitel/kimenet. Nyissa meg a lefolyó 1 vezetékes interfészt. Ezenkívül tápellátást is biztosíthat az eszköz számára, ha VDD parazita üzemmódban használják: pozitív tápegység GND: tápföld 4. DS18B20 belső elemzés bevezetése:

A DS18B20 belső szerkezetének elemzése és bemutatása

A DS18B20 belső szerkezetének elemzése és bemutatása

A fenti ábra a DS18B20 blokkvázlatát mutatja, a 64 bites ROM pedig az eszköz egyedi sorozatkódját tárolja. A puffer memória tartalmaz 2 bájt hőmérséklet-regiszterek, amelyek a hőmérséklet-érzékelő digitális kimenetét tárolják. Ezen kívül, a puffermemória hozzáférést biztosít az 1 bájtos felső és alsó riasztási trigger regiszterekhez (TH és TL) és 1 bájtos konfigurációs regiszterek. A konfigurációs regiszter lehetővé teszi a felhasználó számára, hogy beállítsa a hőmérséklet felbontását digitális átalakításra 9, 10, 11, vagy 12 bitek. TH, TL, és a konfigurációs regiszterek nem felejtők (EEPROM), így megőrzik az adatokat, amikor az eszközt kikapcsolják. A DS18B20 a Maxim egyedi 1 vezetékes buszprotokollját használja, amely vezérlőjelet használ. A vezérlővezeték gyenge felhúzó ellenállást igényel, mivel minden eszköz egy 3 állapotú vagy nyílt leeresztő porton keresztül csatlakozik a buszhoz (DQ tű a DS18B20 esetében). Ebben a buszrendszerben a mikroprocesszor (fő-) egyedi 64 bites kódot használ minden eszközhöz. Mert minden eszköznek egyedi kódja van, az egy buszon címezhető eszközök száma gyakorlatilag korlátlan.

Hőmérséklet-nyilvántartási formátum

DS18B20 hőmérséklet-regiszter formátum diagramja

DS18B20 hőmérséklet-regiszter formátum diagramja

Hőmérséklet/adat kapcsolat

DS18B20 Hőmérséklet-adat kapcsolat

DS18B20 Hőmérséklet-adat kapcsolat

Üzemeltetési riasztási jelzés

Miután a DS18B20 hőmérséklet-átalakítást végez, összehasonlítja a hőmérsékleti értéket az 1 bájtos TH és TL regiszterekben tárolt két komplement riasztási trigger értékével.. Az előjelbit jelzi, hogy az érték pozitív vagy negatív: pozitív S=0, negatív S=1. A TH és TL regiszterek nem felejtők (EEPROM) és ezért nem illékonyak, amikor a készülék ki van kapcsolva. A TH és a TL bájton keresztül érhető el 2 és 3 az emlékről.
TH és TL regiszter formátum:

DS18B20 konfigurációs regiszterek

DS18B20 konfigurációs regiszterek

A DS18B20 külső tápegységről történő táplálásának vázlata

A külső tápegység DS18B20 tápellátásának kapcsolási rajza

A külső tápegység DS18B20 tápellátásának kapcsolási rajza

64-bit lézer csak olvasható memóriakód:

DS18B20 64 bites lézer csak olvasható memóriakód

DS18B20 64 bites lézer csak olvasható memóriakód

Minden DS18B20 egyedi 64 bites kódot tartalmaz a ROM-ban. A legkevésbé jelentős 8 A ROM kód bitjei a DS18B20 egyvezetékes családkódját tartalmazzák: 28h. A következő 48 A bitek egyedi sorozatszámot tartalmaznak. A legjelentősebb 8 bitek ciklikus redundancia ellenőrzést tartalmaznak (CRC) byte, amelyet az elsőtől számítanak ki 56 a ROM kód bitjeit.

DS18B20 memóriatérkép

DS18B20 memóriatérkép

DS18B20 memóriatérkép

Konfigurációs nyilvántartás:

Ábra 2

DS18B20 konfigurációs regiszterek

DS18B20 konfigurációs regiszterek

Byte 4 a memória tartalmazza a konfigurációs regisztert, amely az ábrán látható módon van elrendezve 2. A felhasználó itt beállíthatja a DS18B20 konverziós felbontását az R0 és R1 bitek használatával, a táblázat szerint. 2. Ezeknek a biteknek a bekapcsolási alapértékei: R0 = 1 és R1 = 1 (12-bit felbontás). Vegye figyelembe, hogy közvetlen kapcsolat van a felbontás és a konverziós idő között. Bit 7 és bitek 0 hogy 4 a konfigurációs regiszterben az eszköz belső használatra vannak fenntartva, és nem írhatók felül.

Táblázat 2 A hőmérő felbontásának beállítása

A DS18B20 hőmérő felbontásának konfigurációja

A DS18B20 hőmérő felbontásának konfigurációja

CRC generáció

A CRC bájt a DS18B20 64 bites ROM kód része, és a jegyzettömb 9. bájtjában található. A CRC ROM kódot az elsőtől számítjuk 56 bitjei a ROM kódnak, és a ROM legjelentősebb bájtjában található. A scratchpad CRC kiszámítása a jegyzettömbben tárolt adatok alapján történik, tehát megváltozik, ha a jegyzettömbben lévő adatok módosulnak. A CRC egy adatellenőrzési módszert biztosít a buszgazda számára, amikor adatokat olvas ki a DS18B20-ról. Az adatok helyes beolvasásának ellenőrzése után, a buszmasternek újra kell számítania a CRC-t a kapott adatokból, majd össze kell hasonlítania ezt az értéket a CRC ROM kóddal (ROM olvasásához) vagy a scratchpad CRC (a jegyzettömb olvasásához). Ha a számított CRC megegyezik az olvasott CRC-vel, az adatok helyesen érkeztek. A CRC értékek összehasonlítása és a továbblépés döntése teljes mértékben a buszmester belátása szerint történik. A DS18B20 belsejében nincs olyan áramkör, amely megakadályozná egy parancssorozat végrehajtását, ha:
A DS18B20 CRC (ROM vagy scratchpad) nem egyezik a busmaster által generált értékkel.
A CRC ekvivalens polinomfüggvénye az:
CRC = X8 + X5 + X4 + 1
A buszmester újra tudja számítani a CRC-t és összehasonlítani a DS18B20 CRC értékével.:
ábrán látható a polinomgenerátor 3. Az áramkör tartalmaz egy váltóregisztert és yihuo kapukat, és az eltolási regiszter bitjeit inicializáljuk 0. A ROM kód legkisebb jelentőségű bitje vagy a bájt legkisebb jelentőségű bitje 0 a jegyzettömbben egyenként kell áthelyezni a műszakregiszterbe. Bit váltás után 56 a ROM-ból vagy a bájt legjelentősebb bitjéből 7 a jegyzettömbről, a polinomgenerátor az újraszámított CRC-t fogja tartalmazni. Következő, a 8 bites ROM kódot vagy a CRC jelet a DS18B20 scratchpadban át kell tolni az áramkörbe. Ezen a ponton, ha az újraszámított CRC helyes, a műszakregiszter csupa 0 lesz.

Ábra 3: CRC generátor

DS18B20 CRC generátor folyamatábra

DS18B20 CRC generátor folyamatábra

V. Hozzáférés a DS18B20-hoz:
A DS18B20 elérésének sorrendje a következő:
Lépés 1. Inicializálás;

Lépés 2. ROM parancs (ezt követi a szükséges adatcsere);

Lépés 3. DS18B20 funkcióparancs (ezt követi a szükséges adatcsere);

Jegyzet: Ezt a sorrendet követi minden alkalommal, amikor hozzáfér a DS18B20-hoz, mert a DS18B20 nem válaszol, ha a szekvencia bármely lépése hiányzik vagy nem működik. Ez alól a szabály alól kivétel a Search ROM [F0h] és Riasztáskeresés [Ech] parancsokat. A két ROM-parancs kiadása után, a házigazdának vissza kell térnie a lépéshez 1 sorban.
(A fenti bevezető a hivatalos kézikönyvből van lefordítva)

ROM parancs
1, Olvassa el a ROM-ot [33h]
2, Match ROM [55h]
3, ROM kihagyása [CCh]
4, Riasztás keresése [Ech]

DS18B20 Funkcióparancs
1, Hőmérséklet konvertálása [44h]
2, Írjon Firkálótömböt (Memória) [4Eh]
3, Olvassa el a Firkálótömböt (Memória) [BEh]
4, Firkálótömb másolása (Memória [48h]
5, Ébressze újra az E2-t [B8h]
6, Olvassa el a Powert [B4h]

(A fenti parancsok részletes leírása, lásd a hivatalos kézikönyvet)

VI. Hozzáférés a DS18B20 időzítéshez
Az inicializálási folyamat során, a buszmester nullázási impulzust küld (TX) alacsony szinten legalább 480 µs-ig az 1-Wire busz meghúzásával. Majd, a buszmester feloldja a buszt és vételi módba lép (RX). A busz elengedése után, az 5kΩ-os felhúzó ellenállás magasra húzza az 1 vezetékes buszt. Amikor a DS18B20 érzékeli ezt a felfutó élt, vár 15 µs-tól 60 µs-ig, majd jelenléti impulzust küld az 1 vezetékes busz alacsony szintre húzásával 60 µs és 240 µs között.

Inicializálás időzítése:

Kétféle írási időrés létezik: “Írj 1” idősávok és “Írj 0-t” idősávok. A busz Write-t használ 1 időrés egy logika írásához 1 a DS18B20 és egy Write 0 időrés egy logika írásához 0 a DS18B20-hoz. Minden írási időrésnek legalább 60 µs hosszúságúnak kell lennie, és az egyes írási időrések között legalább 1 µs helyreállítási időnek kell lennie. Mindkét típusú írási időrést úgy kezdeményezi, hogy a mester lehúzza az 1-vezetékes buszt (lásd ábra 14). Írás létrehozásához 1 időrés, miután alacsonyra húzta az 1 vezetékes buszt, a buszmesternek 15µs-on belül ki kell engednie az 1-vezetékes buszt. A busz elengedése után, az 5kΩ-os felhúzó ellenállás magasra húzza a buszt. Generáljon a
Írj 0 időrés, miután alacsonyra húzta az 1 vezetékes vezetéket, a buszmesternek továbbra is alacsonyan kell tartania a buszt az időrés időtartama alatt (legalább 60 µs). A DS18B20 mintát vesz az 1 vezetékes buszról 15 µs és 60 µs közötti ablakon belül, miután a master kezdeményezi az írási időrést. Ha a busz magasan van a mintavételi ablak alatt, a 1 a DS18B20-ra van írva. Ha alacsony a vonal, a 0 a DS18B20-ra van írva.
Jegyzet: Az időrés az időrés-információk soros önmultiplexálásának egy része, amely egyetlen csatornára vonatkozik.
Ábra 14 a következő:

A DS18B20 írási időréseit a gazdagép vezérli, hogy az 1-vezetékes buszt alacsony szintre húzza

A DS18B20 írási időréseit a gazdagép vezérli, hogy az 1-vezetékes buszt alacsony szintre húzza

Olvasási idősáv:
A DS18B20 csak akkor tud adatokat küldeni a gazdagépnek, ha a gazdagép olvasási időrést ad ki. Ezért, a gazdagépnek azonnal létre kell hoznia egy olvasási időrést az olvasási memóriaparancs kiadása után [BEh] vagy Read Power Supply [B4h] parancsot, hogy a DS18B20 megadja a szükséges adatokat. Alternatív megoldásként, a gazdagép olvasási időrést generálhat a Convert T kiadása után [44h] vagy hívja vissza az E2-t [B8h] parancsot, hogy megtudja az állapotot. Minden olvasási időrésnek legalább 60 µs hosszúságúnak kell lennie, az időrések közötti minimális helyreállítási idővel pedig 1 µs. Az olvasási időrést úgy kezdeményezi a mester, hogy alacsonyra húzza az 1 vezetékes buszt, hogy legalább 1 µs-ig alacsonyan tartsa, majd elengedi a buszt (lásd ábra 14). Miután a mester olvasási időrést kezdeményez, a DS18B20 1-eket vagy 0-kat kezd küldeni a buszon. A DS18B20 küld a 1 a busz magasra tartásával és elküldi a 0 alacsonyra húzva a buszt. Amikor a 0 elküldik, a DS18B20 felszabadítja a buszt a busz magasra tartásával. Az időrés véget ér, és a buszt a felhúzó ellenállás visszahúzza a magas üresjárati állapotba.

DS18B20 Részletes gazdagép-olvasás 1 Időrés

DS18B20 Részletes gazdagép-olvasás 1 Időrés

DS18B20 A gazdagép ajánlott olvasata 1 időrés

DS18B20 A gazdagép ajánlott olvasata 1 időrés