Tehnologija senzora temperature

Senzor temperature DS18B20 spojen na MCU

Uvod u poznavanje senzora temperature DS18B20
DS18B20 je digitalni senzor temperature koji se često koristi. Izvodi digitalne signale, ima karakteristike male veličine, niske hardverske režije, jaka sposobnost protiv smetnji, visoka preciznost, i naširoko se koristi.

Digitalna temperaturna sonda DS18B20 pruža 9 do 12 zalogaj

Digitalna temperaturna sonda DS18B20 pruža 9 do 12 zalogaj

Vodootporna senzorska sonda DS18B20

Vodootporna senzorska sonda DS18B20

TPE vodootporni DS18B20 senzor IP68 za prelijevanje

TPE vodootporni DS18B20 senzor IP68 za prelijevanje

Uvod u senzor temperature DS18B20
Tehničke značajke:
①. Jedinstveni način jednožilnog sučelja. Kada je DS18B20 spojen na mikroprocesor, samo 1 žica je potrebna za ostvarenje dvosmjerne komunikacije između mikroprocesora i DS18B20.
②. Raspon mjerenja temperature -55℃~+125℃, inherentna pogreška mjerenja temperature 1℃.
③. Podržava funkciju umrežavanja s više točaka. Više DS18B20 može se spojiti paralelno na samo tri žice, a najviše od 8 mogu se spojiti paralelno kako bi se ostvarilo mjerenje temperature u više točaka. Ako je broj prevelik, napon napajanja bit će prenizak, što rezultira nestabilnim prijenosom signala.
④. Radno napajanje: 3.0~5,5 V/DC (može se koristiti parazitsko napajanje podatkovne linije).
⑤. Tijekom uporabe nisu potrebne periferne komponente.
⑥. Rezultati mjerenja se prenose serijski u 9~12-bitnom digitalnom obliku.
⑦. Promjer zaštitne cijevi od nehrđajućeg čelika je Φ6.
⑧. Pogodan je za mjerenje temperature raznih srednjih industrijskih cjevovoda DN15~25, DN40~DN250 i oprema u uskim prostorima.
⑨. Standardni ugradbeni navoj M10X1, M12X1.5, G1/2” su izborni.
⑩. PVC kabel se spaja izravno ili se spaja njemačka kuglasta razvodna kutija, što je pogodno za spajanje s drugom električnom opremom.

DS18B20 čitanje i pisanje vremena i princip mjerenja temperature:
Princip mjerenja temperature DS18B20 prikazan je na slici 1. Na frekvenciju osciliranja kristalnog oscilatora niskog temperaturnog koeficijenta na slici temperatura malo utječe, i koristi se za generiranje impulsnog signala fiksne frekvencije koji se šalje brojaču 1. Frekvencija osciliranja kristalnog oscilatora s visokim temperaturnim koeficijentom značajno se mijenja s temperaturom, a generirani signal se koristi kao impulsni ulaz brojača 2. Brojač 1 i temperaturni registar unaprijed su postavljeni na osnovnu vrijednost koja odgovara -55 ℃. Brojač 1 oduzima impulsni signal koji stvara kristalni oscilator niskog temperaturnog koeficijenta. Kada je unaprijed postavljena vrijednost brojača 1 svodi se na 0, vrijednost temperaturnog registra će se povećati za 1, i unaprijed postavljen brojač 1 ponovno će se učitati. Brojač 1 ponovno se pokreće za brojanje pulsnog signala generiranog kristalnim oscilatorom niskog temperaturnog koeficijenta, i ciklus se nastavlja do brojača 2 broji do 0, zaustavljanje akumulacije vrijednosti registra temperature. U ovom trenutku, vrijednost u registru temperature je izmjerena temperatura. Akumulator nagiba se koristi za kompenzaciju i korekciju nelinearnosti u procesu mjerenja temperature, a njegov se izlaz koristi za ispravljanje unaprijed postavljene vrijednosti brojača 1.

Lik 1 je kako slijedi:

Dijagram spoja DS18B20 i MCU

Dijagram spoja DS18B20 i MCU

2. Dijagram povezivanja DS18B20 i MCU

Definicija parametra pina DS18B20

Definicija parametra pina DS18B20

3. Definicija pina DS18B20:

DQ: Ulaz/izlaz podataka. 1-žično sučelje otvorenog odvoda. Također može dati napajanje uređaju kada se koristi u parazitskom načinu napajanja VDD: pozitivno napajanje GND: strujno uzemljenje 4. Uvod u internu analizu DS18B20:

Analiza i uvođenje unutarnje strukture DS18B20

Analiza i uvođenje unutarnje strukture DS18B20

Gornja slika prikazuje blok dijagram DS18B20, a 64-bitni ROM pohranjuje jedinstveni serijski kod uređaja. Međuspremnik sadrži 2 bajtovi temperaturnih registara koji pohranjuju digitalni izlaz senzora temperature. Uz to, memorija međuspremnika omogućuje pristup 1-bajtnim gornjim i donjim registrima okidača alarma (TH i TL) i 1-bajtni konfiguracijski registri. Registar konfiguracije omogućuje korisniku postavljanje rezolucije temperature u digitalnu pretvorbu 9, 10, 11, ili 12 bitovi. TH, TL, a konfiguracijski registri su nepromjenjivi (EEPROM), tako da će zadržati podatke kada je uređaj isključen. DS18B20 koristi Maximov jedinstveni 1-wire bus protokol, koji koristi kontrolni signal. Kontrolna linija zahtijeva slabi otpornik za povlačenje jer su svi uređaji spojeni na sabirnicu preko priključka s 3 stanja ili otvorenog odvoda (DQ pin u slučaju DS18B20). U ovom sustavu sabirnice mikroprocesor (majstorski) koristi jedinstveni 64-bitni kod za svaki uređaj. Jer svaki uređaj ima jedinstvenu šifru, broj uređaja koji se mogu adresirati na jednoj sabirnici praktički je neograničen.

Format registra temperature

Dijagram formata registra temperature DS18B20

Dijagram formata registra temperature DS18B20

Odnos temperature/podataka

DS18B20 Odnos temperature i podataka

DS18B20 Odnos temperature i podataka

Signal alarma za rad

Nakon što DS18B20 izvrši pretvorbu temperature, uspoređuje temperaturnu vrijednost s korisnički definiranom dvojkom komplementarnom vrijednošću okidača alarma pohranjenom u 1-bajtnim TH i TL registrima. Bit predznaka označava je li vrijednost pozitivna ili negativna: pozitivan S=0, negativno S=1. TH i TL registri su trajni (EEPROM) i stoga nisu nepostojani kada je uređaj isključen. TH i TL se može pristupiti putem bajtova 2 i 3 pamćenja.
Format registra TH i TL:

DS18B20 konfiguracijski registri

DS18B20 konfiguracijski registri

Shematski dijagram napajanja DS18B20 pomoću vanjskog napajanja

Shematski dijagram korištenja vanjskog napajanja za napajanje DS18B20

Shematski dijagram korištenja vanjskog napajanja za napajanje DS18B20

64-bitni laserski memorijski kod samo za čitanje:

DS18B20 64-bitni laserski memorijski kod samo za čitanje

DS18B20 64-bitni laserski memorijski kod samo za čitanje

Svaki DS18B20 sadrži jedinstveni 64-bitni kod pohranjen u ROM-u. Najmanje značajan 8 bitovi ROM koda sadrže jednožilni obiteljski kod DS18B20: 28h. Sljedeći 48 bitovi sadrže jedinstveni serijski broj. Najznačajniji 8 bitovi sadrže cikličku provjeru redundantnosti (CRC) bajt, koji se računa od prvog 56 bitovi ROM koda.

DS18B20 Mapa memorije

DS18B20 Mapa memorije

DS18B20 memorijska karta

Registar konfiguracije:

Lik 2

DS18B20 konfiguracijski registri

DS18B20 konfiguracijski registri

Bajt 4 memorije sadrži konfiguracijski registar, koji je organiziran kao što je prikazano na slici 2. Korisnik može postaviti razlučivost pretvorbe DS18B20 pomoću bitova R0 i R1 ovdje kao što je prikazano u tablici 2. Zadane vrijednosti pri uključivanju za ove bitove su R0 = 1 i R1 = 1 (12-rezolucija bita). Imajte na umu da postoji izravan odnos između rezolucije i vremena pretvorbe. bit 7 i bitovi 0 do 4 u registru konfiguracije rezervirani su za internu upotrebu uređaja i ne mogu se prebrisati.

Stol 2 Konfiguracija razlučivosti termometra

DS18B20 Konfiguracija razlučivosti termometra

DS18B20 Konfiguracija razlučivosti termometra

CRC Generacija

CRC bajt dio je 64-bitnog ROM koda DS18B20 i nalazi se u 9. bajtu bloka za natuknice. ROM kod CRC izračunava se od prvog 56 bitovi ROM koda i sadržan je u najvažnijem bajtu ROM-a. The scratchpad CRC is calculated based on the data stored in the scratchpad, so it changes when the data in the scratchpad changes. The CRC provides the bus host with a method of data verification when reading data from the DS18B20. After verifying that the data has been read correctly, the bus master must recalculate the CRC from the received data and then compare that value to the ROM code CRC (for ROM reads) or the scratchpad CRC (for scratchpad reads). If the calculated CRC matches the read CRC, the data has been received correctly. The decision to compare the CRC values ​​and proceed is entirely at the bus master’s discretion. There is no circuitry inside the DS18B20 that will prevent the execution of a command sequence if:
The DS18B20 CRC (ROM or scratchpad) ne odgovara vrijednosti koju generira master sabirnice.
Ekvivalentna polinomska funkcija za CRC je:
CRC = X8 + X5 + X4 + 1
Master sabirnice može ponovno izračunati CRC i usporediti ga s CRC vrijednošću DS18B20 putem:
Generator polinoma prikazan je na slici 3. Sklop uključuje registar posmaka i yihuo vrata, a bitovi posmačnog registra se inicijaliziraju na 0. Najmanje značajan bit ROM koda ili najmanje značajan bit bajta 0 u bloku za pisanje treba pomaknuti u registar posmaka jedan po jedan. Nakon pomaka u bit 56 iz ROM-a ili najznačajniji bit bajta 7 iz bloka za pisanje, generator polinoma sadržavat će ponovno izračunati CRC. Sljedeći, 8-bitni ROM kod ili CRC signal u bloku za natuknice DS18B20 moraju se prebaciti u krug. U ovom trenutku, ako je ponovno izračunati CRC točan, registar posmaka će biti sve 0s.

Lik 3: CRC generator

Dijagram procesa generatora DS18B20 CRC

Dijagram procesa generatora DS18B20 CRC

V. Pristupanje DS18B20:
Redoslijed za pristup DS18B20 je sljedeći:
Korak 1. Inicijalizacija;

Korak 2. ROM naredba (nakon čega slijedi potrebna razmjena podataka);

Korak 3. Funkcijska naredba DS18B20 (nakon čega slijedi potrebna razmjena podataka);

Bilješka: Ovaj slijed slijedi svaki put kada se pristupi DS18B20, jer DS18B20 neće odgovoriti ako bilo koji korak u nizu nedostaje ili nije u redu. Iznimka od ovog pravila je Search ROM [F0h] i Pretraživanje alarma [Ech] naredbe. Nakon izdavanja ove dvije ROM naredbe, domaćin se mora vratiti na korak 1 u nizu.
(Gore navedeni uvod preveden je iz službenog priručnika)

ROM naredba
1, Čitaj ROM [33h]
2, Podudaranje ROM-a [55h]
3, Preskoči ROM [CCh]
4, Pretraga alarma [Ech]

DS18B20 Funkcijska naredba
1, Pretvori temperaturu [44h]
2, Pišite Scratchpad (Memorija) [4Eh]
3, Pročitajte Scratchpad (Memorija) [BEh]
4, Kopiraj Scratchpad (Memorija [48h]
5, Ponovno probudi E2 [B8h]
6, Pročitajte Moć [B4h]

(Za detaljan opis gornjih naredbi, pogledajte službeni priručnik)

VI. Pristup DS18B20 mjerenju vremena
Tijekom procesa inicijalizacije, master sabirnice šalje impuls resetiranja (TX) niska razina najmanje 480µs povlačenjem 1-Wire sabirnice. Zatim, master sabirnice oslobađa sabirnicu i ulazi u način primanja (RX). Nakon puštanja autobusa, 5kΩ pull-up otpornik povlači 1-Wire sabirnicu visoko. Kada DS18B20 detektira ovaj uzlazni rub, čeka 15 µs do 60 µs i zatim šalje puls prisutnosti povlačenjem 1-Wire sabirnice nisko na 60 µs do 240 µs.

Vrijeme inicijalizacije:

Postoje dvije vrste vremenskih odsječaka za pisanje: “Napiši 1” vremenski odsjeci i “Napiši 0” vremenski odsjeci. Autobus koristi Write 1 vremenski odsjek za pisanje logike 1 na DS18B20 i Write 0 vremenski odsjek za pisanje logike 0 na DS18B20. Svi vremenski odsječci pisanja moraju trajati najmanje 60 µs s vremenom oporavka od najmanje 1 µs između pojedinačnih vremenskih odsječaka pisanja. Obje vrste vremenskih odsječaka za pisanje inicira master povlačenjem 1-Wire sabirnice u nisku razinu (vidi sliku 14). Za generiranje Write 1 vremenski odsječak, nakon povlačenja 1-Wire sabirnice nisko, glavni sabirnice mora osloboditi 1-Wire sabirnicu unutar 15µs. Nakon puštanja autobusa, 5kΩ pull-up otpornik povlači sabirnicu visoko. Generirajte a
Pisati 0 vremenski odsječak, nakon povlačenja 1-Wire linije nisko, glavni sabirnice mora nastaviti držati sabirnicu niskom tijekom trajanja vremenskog odsječka (najmanje 60µs). DS18B20 uzorkuje 1-Wire sabirnicu unutar prozora od 15 µs do 60 µs nakon što master inicira vremenski utor za pisanje. Ako je sabirnica visoka tijekom prozora uzorkovanja, a 1 je zapisan na DS18B20. Ako je linija niska, a 0 je zapisan na DS18B20.
Bilješka: Vremenski odsječak je dio serijskog samo-multipleksiranja informacija o vremenskom odsječku posvećen jednom kanalu.
Lik 14 je kako slijedi:

DS18B20 vremenske utore za pisanje pokreće glavno računalo da povuče 1-Wire sabirnicu na nisku razinu

DS18B20 vremenske utore za pisanje pokreće glavno računalo da povuče 1-Wire sabirnicu na nisku razinu

Pročitajte vremenski odsjek:
DS18B20 može slati podatke glavnom računalu samo kada glavno računalo izda vremenski utor za čitanje. Stoga, host mora generirati vremenski utor za čitanje odmah nakon izdavanja naredbe za čitanje memorije [BEh] ili Read Power Supply [B4h] naredbu kako bi DS18B20 pružio potrebne podatke. Alternativno, host može generirati vremenski utor za čitanje nakon izdavanja Convert T [44h] ili opoziv E2 [B8h] naredba za saznanje statusa. Svi vremenski odsječci za čitanje moraju trajati najmanje 60 µs s minimalnim vremenom oporavka od 1 µs između vremenskih odsječaka. Vremenski utor za čitanje inicira master povlačenjem 1-Wire sabirnice nisko kako bi je držao niskom najmanje 1µ i zatim otpuštanjem sabirnice (vidi sliku 14). Nakon što master započne vremenski utor za čitanje, DS18B20 će početi slati 1 ili 0 na sabirnici. DS18B20 šalje a 1 držeći autobus visoko i šalje a 0 niskim povlačenjem autobusa. Kada je a 0 se šalje, DS18B20 oslobađa sabirnicu držeći sabirnicu visoko. Vremenski odsjek završava i sabirnica se povlači natrag u visoko stanje mirovanja pomoću otpornika za povlačenje.

DS18B20 Detaljno čitanje glavnog računala 1 Vremenski odsječak

DS18B20 Detaljno čitanje glavnog računala 1 Vremenski odsječak

DS18B20 Preporučeno čitanje glavnog računala 1 vremenski odsječak

DS18B20 Preporučeno čitanje glavnog računala 1 vremenski odsječak