DS18B20 temperatūros jutiklio žinių įvadas
DS18B20 yra dažniausiai naudojamas skaitmeninis temperatūros jutiklis. Jis išveda skaitmeninius signalus, turi mažo dydžio savybes, žemos techninės įrangos išlaidos, stiprus anti-interferencinis gebėjimas, didelio tikslumo, ir yra plačiai naudojamas.
Įvadas į DS18B20 temperatūros jutiklį
Techninės savybės:
①. Unikalus vieno laido sąsajos režimas. Kai DS18B20 yra prijungtas prie mikroprocesoriaus, tik 1 laidas reikalingas norint realizuoti dvipusį ryšį tarp mikroprocesoriaus ir DS18B20.
②. Temperatūros matavimo diapazonas -55℃~+125℃, būdinga temperatūros matavimo paklaida 1 ℃.
③. Palaikykite kelių taškų tinklo funkciją. Keli DS18B20 gali būti prijungti lygiagrečiai tik trimis laidais, ir daugiausiai 8 Galima jungti lygiagrečiai, kad būtų galima matuoti kelių taškų temperatūrą. Jei skaičius per didelis, maitinimo įtampa bus per žema, dėl to signalas perduodamas nestabiliai.
④. Veikiantis maitinimo šaltinis: 3.0~5,5V/DC (Galima naudoti duomenų linijos parazitinį maitinimo šaltinį).
⑤. Naudojant periferinius komponentus nereikia.
⑥. Matavimo rezultatai perduodami nuosekliai 9–12 bitų skaitmenine forma.
⑦. Nerūdijančio plieno apsauginio vamzdžio skersmuo yra Φ6.
⑧. Jis tinka įvairių vidutinių pramoninių vamzdynų DN15 ~ 25 temperatūrai matuoti, DN40~DN250 ir įranga siaurose erdvėse.
⑨. Standartiniai montavimo sriegiai M10X1, M12X1.5, G1/2“ yra neprivalomi.
⑩. PVC kabelis yra tiesiogiai prijungtas arba vokiška rutulinė jungiamoji dėžutė, kurį patogu prijungti prie kitų elektros įrenginių.
DS18B20 skaitymo ir rašymo laikas ir temperatūros matavimo principas:
DS18B20 temperatūros matavimo principas parodytas pav 1. Žemos temperatūros koeficiento kristalinio osciliatoriaus virpesių dažnį paveiksle temperatūra mažai veikia, ir yra naudojamas generuoti fiksuoto dažnio impulsų signalą, kuris siunčiamas į skaitiklį 1. Aukštos temperatūros koeficiento kristalinio osciliatoriaus virpesių dažnis labai kinta priklausomai nuo temperatūros, o sugeneruotas signalas naudojamas kaip skaitiklio impulsų įvestis 2. Skaitliukas 1 ir temperatūros registras yra iš anksto nustatytas į bazinę vertę, atitinkančią -55 ℃. Skaitliukas 1 atima žemos temperatūros koeficiento kristalinio generatoriaus generuojamą impulsinį signalą. Kai iš anksto nustatyta skaitiklio vertė 1 yra sumažintas iki 0, temperatūros registro reikšmė bus padidinta 1, ir skaitiklio išankstinis nustatymas 1 bus perkrautas. Skaitliukas 1 paleidžiamas iš naujo, kad būtų skaičiuojamas impulsinis signalas, kurį generuoja žemos temperatūros koeficiento kristalinis generatorius, ir ciklas tęsiasi iki skaitiklio 2 skaičiuoja 0, sustabdyti temperatūros registro vertės kaupimąsi. Šiuo metu, reikšmė temperatūros registre yra išmatuota temperatūra. Nuolydžio akumuliatorius naudojamas temperatūros matavimo proceso netiesiškumui kompensuoti ir koreguoti, ir jo išvestis naudojama iš anksto nustatytai skaitiklio vertei pataisyti 1.
Paveikslas 1 yra taip:
2. DS18B20 ir MCU prijungimo schema
3. DS18B20 kaiščio apibrėžimas:
DQ: Duomenų įvestis/išvestis. Atidarykite nutekėjimo 1 laido sąsają. Jis taip pat gali tiekti maitinimą įrenginiui, kai naudojamas parazitinio maitinimo režimu VDD: teigiamas maitinimo šaltinis GND: maitinimo įžeminimas 4. DS18B20 vidinės analizės įvadas:
Aukščiau pateiktame paveikslėlyje parodyta DS18B20 blokinė schema, ir 64 bitų ROM saugo unikalų įrenginio serijos kodą. Buferinėje atmintyje yra 2 baitų temperatūros registrų, kuriuose saugoma skaitmeninė temperatūros jutiklio išvestis. Be to, buferinė atmintis suteikia prieigą prie 1 baito viršutinio ir apatinio aliarmo suveikimo registrų (TH ir TL) ir 1 baito konfigūracijos registrai. Konfigūracijos registras leidžia vartotojui nustatyti temperatūros skyrą į skaitmeninį konvertavimą į 9, 10, 11, arba 12 bitai. TH, TL, ir konfigūracijos registrai yra nepastovūs (EEPROM), todėl jie išsaugos duomenis, kai įrenginys bus išjungtas. DS18B20 naudoja unikalų Maxim 1-wire magistralės protokolą, kuri naudoja valdymo signalą. Valdymo linijai reikalingas silpnas traukimo rezistorius, nes visi įrenginiai yra prijungti prie magistralės per 3 būsenų arba atviro nutekėjimo prievadą (DQ kaištis DS18B20 atveju). Šioje magistralės sistemoje mikroprocesorius (meistras) kiekvienam įrenginiui naudoja unikalų 64 bitų kodą. Kadangi kiekvienas įrenginys turi unikalų kodą, įrenginių, kuriuos galima adresuoti vienoje magistralėje, skaičius yra praktiškai neribotas.
Temperatūros registro formatas
Temperatūros ir duomenų santykis
Veikimo pavojaus signalas
DS18B20 atlikus temperatūros konvertavimą, jis lygina temperatūros reikšmę su vartotojo nustatyta dviejų komplemento pavojaus signalo suveikimo verte, saugoma 1 baito TH ir TL registruose. Ženklo bitas rodo, ar reikšmė yra teigiama, ar neigiama: teigiamas S=0, neigiamas S=1. TH ir TL registrai yra nepastovūs (EEPROM) ir todėl nėra nepastovūs, kai įrenginys išjungtas. TH ir TL galima pasiekti per baitus 2 ir 3 atminties.
TH ir TL registro formatas:
Scheminė DS18B20 maitinimo naudojant išorinį maitinimo šaltinį schema
64-bitų lazerinis tik skaitymo atminties kodas:
Kiekviename DS18B20 yra unikalus 64 bitų kodas, saugomas ROM. Mažiausiai reikšmingas 8 ROM kodo bituose yra DS18B20 vieno laido šeimos kodas: 28h. Kitas 48 bitai turi unikalų serijos numerį. Pats reikšmingiausias 8 bituose yra ciklinis pertekliaus patikrinimas (CRC) baitas, kuris skaičiuojamas nuo pirmosios 56 ROM kodo bitai.
DS18B20 atminties žemėlapis
Konfigūracijos registras:
Paveikslas 2
baitas 4 atmintyje yra konfigūracijos registras, kuris sutvarkytas taip, kaip parodyta paveiksle 2. Vartotojas gali nustatyti DS18B20 konvertavimo skiriamąją gebą naudodamas bitus R0 ir R1, kaip parodyta lentelėje 2. Numatytoji šių bitų įjungimo reikšmė yra R0 = 1 ir R1 = 1 (12-bitų skiriamoji geba). Atminkite, kad tarp skiriamosios gebos ir konversijos laiko yra tiesioginis ryšys. Bit 7 ir bitai 0 į 4 konfigūracijos registre yra rezervuoti vidiniam įrenginio naudojimui ir negali būti perrašyti.
Lentelė 2 Termometro skiriamosios gebos konfigūracija
CRC karta
CRC baitas yra DS18B20 64 bitų ROM kodo dalis ir pateikiamas 9-ame bloknoto baite.. ROM kodas CRC skaičiuojamas nuo pirmojo 56 ROM kodo bitų ir yra reikšmingiausiame ROM baite. Bloknotėlis CRC apskaičiuojamas pagal blokelyje saugomus duomenis, todėl keičiasi, kai keičiasi bloknoto duomenys. CRC suteikia magistralės pagrindiniam kompiuteriui duomenų tikrinimo metodą, kai nuskaitomi duomenys iš DS18B20. Patikrinę, kad duomenys buvo perskaityti teisingai, magistralės valdiklis turi perskaičiuoti CRC iš gautų duomenų ir tada palyginti tą reikšmę su ROM kodu CRC (ROM skaitymui) arba bloknotas CRC (skirtą skaitiniams). Jei apskaičiuotas CRC atitinka nuskaitytą CRC, duomenys gauti teisingai. Sprendimas palyginti CRC vertes ir tęsti yra visiškai autobuso meistro nuožiūra. DS18B20 viduje nėra grandinės, kuri neleistų vykdyti komandų sekos, jei:
DS18B20 CRC (ROM arba bloknotas) nesutampa su magistralės valdiklio sugeneruota verte.
Lygiavertė CRC daugianario funkcija yra:
CRC = X8 + X5 + X4 + 1
Magistralės valdiklis gali perskaičiuoti CRC ir palyginti jį su DS18B20 CRC reikšme:
Polinomo generatorius parodytas paveiksle 3. Grandinę sudaro pamainų registras ir yihuo vartai, o poslinkio registro bitai inicijuojami į 0. Mažiausiai reikšmingas ROM kodo bitas arba mažiausiai reikšmingas baito bitas 0 bloknote turėtų būti perkeliami į pamainų registrą po vieną. Įjungus bitą 56 iš ROM arba reikšmingiausio baito bito 7 iš bloknoto, daugianario generatoriuje bus perskaičiuotas CRC. Kitas, 8 bitų ROM kodas arba CRC signalas bloknote DS18B20 turi būti perkeltas į grandinę. Šiuo metu, jei perskaičiuotas CRC teisingas, pamainų registre bus visi 0.
Paveikslas 3: CRC generatorius
V. Prieiga prie DS18B20:
Prieigos prie DS18B20 seka yra tokia:
Žingsnis 1. Inicijavimas;
Žingsnis 2. ROM komanda (po to keičiamasi reikalingais duomenimis);
Žingsnis 3. DS18B20 funkcijos komanda (po to keičiamasi reikalingais duomenimis);
PASTABA: Šios sekos laikomasi kiekvieną kartą, kai pasiekiamas DS18B20, nes DS18B20 nereaguos, jei trūksta kurio nors sekos veiksmo arba jis neveikia. Šios taisyklės išimtis yra paieškos ROM [F0h] ir aliarmo paieška [Ech] komandas. Išleidę šias dvi ROM komandas, šeimininkas turi grįžti į žingsnį 1 iš eilės.
(Aukščiau pateikta įžanga išversta iš oficialaus vadovo)
ROM komanda
1, Skaityti ROM [33h]
2, Rungtynių ROM [55h]
3, Laivo kambarys [CCh]
4, Signalizacijos paieška [Ech]
DS18B20 funkcijos komanda
1, Konvertuoti temperatūrą [44h]
2, Rašykite bloknotą (Atmintis) [4Ech]
3, Skaitykite bloknotą (Atmintis) [BEh]
4, Nukopijuokite bloknotą (Atmintis [48h]
5, Iš naujo pažadinti E2 [B8h]
6, Skaityti Galia [B4h]
(Norėdami gauti išsamų aukščiau pateiktų komandų aprašymą, žiūrėkite oficialų vadovą)
VI. Prieiga prie DS18B20 laiko
Inicializacijos proceso metu, magistralės meistras siunčia atstatymo impulsą (TX) žemas lygis mažiausiai 480 µs, traukiant 1-wire magistralę. Tada, magistralės meistras atleidžia magistralę ir pereina į priėmimo režimą (RX). Išleidęs autobusą, 5kΩ ištraukimo rezistorius ištraukia 1-wire magistralę aukštai. Kai DS18B20 aptinka šį kylantį kraštą, jis laukia nuo 15 µs iki 60 µs ir siunčia buvimo impulsą, patraukdamas 1-wire magistralę žemai nuo 60 µs iki 240 µs.
Inicijuojimo laikas:
Yra dviejų tipų rašymo laiko tarpsniai: “Parašyk 1” laiko tarpsniai ir “Rašyti 0” laiko tarpsniai. Autobusas naudoja Write 1 laiko tarpas logikai parašyti 1 prie DS18B20 ir rašyti 0 laiko tarpas logikai parašyti 0 prie DS18B20. Visi įrašymo laiko tarpai turi būti bent 60 µs, o atkūrimo laikas tarp atskirų įrašymo laiko tarpų turi būti bent 1 µs. Abiejų tipų rašymo laiko tarpsnius inicijuoja pagrindinis valdiklis, ištraukdamas 1 laidų magistralę (žr. pav 14). Norėdami sukurti rašymą 1 laiko tarpas, žemai patraukus 1-Wire magistralę, magistralės vadovas turi atleisti 1-wire magistralę per 15 µs. Išleidęs autobusą, 5kΩ ištraukimo rezistorius ištraukia magistralę aukštai. Sukurti a
Rašyti 0 laiko tarpas, ištraukus 1 laido liniją žemai, autobuso kapitonas turi toliau laikyti autobusą žemai visą laiko tarpą (mažiausiai 60 µs). DS18B20 paima 1-wire magistralės pavyzdžius per 15–60 µs langą po to, kai pagrindinis įrenginys inicijuoja rašymo laiko tarpą. Jei mėginių ėmimo lango metu autobusas yra aukštai, a 1 rašoma į DS18B20. Jei linija žema, a 0 rašoma į DS18B20.
PASTABA: Laiko tarpas yra nuoseklaus savaiminio laiko tarpo informacijos, skirtos vienam kanalui, multipleksavimo dalis..
Paveikslas 14 yra taip:

DS18B20 rašymo laiko tarpsnius valdo pagrindinis kompiuteris, kad 1-wire magistralė būtų nukreipta į žemą lygį
Skaityti laiko tarpą:
DS18B20 gali siųsti duomenis į pagrindinį kompiuterį tik tada, kai pagrindinis kompiuteris išduoda skaitymo laiko tarpą. Todėl, kompiuteris turi sugeneruoti skaitymo laiko tarpą iš karto po to, kai išduoda skaitymo atminties komandą [BEh] arba skaitymo maitinimo šaltinį [B4h] komandą, kad DS18B20 pateiktų reikiamus duomenis. Arba, kompiuteris gali sugeneruoti skaitymo laiko tarpą išdavęs konvertuoti T [44h] arba Prisiminkite E2 [B8h] komandą, kad sužinotumėte būseną. Visi skaitymo laiko tarpai turi būti bent 60 µs, o minimalus atkūrimo laikas tarp laiko tarpsnių yra 1 µs. Nuskaitymo laiko tarpas inicijuojamas pagrindiniam valdikliui patraukiant 1 laidų magistralę žemai, kad ji būtų žema bent 1 µs, o tada atleidžiama magistralė (žr. pav 14). Po to, kai pagrindinis vadovas inicijuoja skaitymo laiko tarpą, DS18B20 magistralėje pradės siųsti 1s arba 0. DS18B20 siunčia a 1 pakeldamas autobusą aukštai ir siunčia a 0 žemai traukdamas autobusą. Kai a 0 yra išsiųstas, DS18B20 atleidžia magistralę, laikydamas ją aukštai. Laiko tarpas baigiasi ir magistralė grąžinama į didelės tuščiosios eigos būseną traukimo rezistorius.
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt















