Tehnologija senzora temperature

Dizajn funkcije mjerenja temperature digitalnog senzora temperature DS18B20

funkcija mjerenja temperature digitalnog senzora temperature DS18B20

DS18B20 je 1-wire digitalni temperaturni senzor koji proizvodi DALLAS, s 3-pinskim TO-92 malim paketom. Raspon mjerenja temperature je -55 ℃ ~ +125 ℃, i može se programirati na 9-bit ~ 12-bitnu točnost A/D pretvorbe. Rezolucija mjerenja temperature može doseći 0,0625 ℃, a izmjerena temperatura se serijski ispisuje u obliku 16-bitne digitalne veličine s predznakom. Njegovo radno napajanje može se uvesti na udaljenom kraju ili generirati parazitskim napajanjem. Više DS18B20 se može spojiti paralelno 3 ili 2 linije. CPU treba samo jednu liniju porta za komunikaciju s mnogo DS18B20, zauzimaju manje portova mikroprocesora, što može uštedjeti puno izvoda i logičkih sklopova. Gore navedene karakteristike čine DS18B20 vrlo prikladnim za sustave detekcije temperature s više točaka na velikim udaljenostima.

funkcija mjerenja temperature digitalnog senzora temperature DS18B20

funkcija mjerenja temperature digitalnog senzora temperature DS18B20

2. Unutarnja struktura DS18B20 dijagram strujnog kruga ds18b20
Unutarnja struktura DS18B20 prikazana je na slici 1, koji se uglavnom sastoji od 4 dijelovi: 64-bitni ROM, senzor temperature, nehlapljivi temperaturni alarm aktivira TH i TL, i konfiguracijskim registrima. Raspored pinova DS18B20 prikazan je na slici 2. DQ je terminal za ulaz/izlaz digitalnog signala; GND je uzemljenje za napajanje; VDD je ulazni terminal vanjskog napajanja (uzemljen u parazitnom načinu ožičenja napajanja, vidi sliku 4).

64-bitni serijski broj u ROM-u fotogravira se prije napuštanja tvornice. Može se smatrati kodom redoslijeda adrese DS18B20. 64-bitni serijski broj svakog DS18B20 je drugačiji. Ciklički kod za provjeru redundantnosti (CRC=X8+X5+X4+1) 64-bitnog ROM-a je uređen. Uloga ROM-a je učiniti svaki DS18B20 drugačijim, tako da se više DS18B20 može spojiti na jednu sabirnicu.

Unutarnja struktura DS18B20 čipa

Unutarnja struktura DS18B20 čipa

Lik 1, unutarnja struktura DS18B20

Senzor temperature u DS18B20 dovršava mjerenje temperature, koji se daje u obliku 16-bitnih očitanja binarnog komplementa s proširenim znakom, izraženo u obliku 0,0625 ℃/LSB, gdje je S bit predznaka. Na primjer, digitalni izlaz od +125 ℃ je 07D0H, digitalni izlaz od +25,0625 ℃ je 0191H, digitalni izlaz od -25,0625 ℃ je FF6FH, a digitalni izlaz od -55 ℃ je FC90H.

23
22
21
20
2-1
2-2
2-3
2-4

Niski bajt vrijednosti temperature
MSBLSB
S
S
S
S
S
22
25
24

Visoki bajt vrijednosti temperature
Alarm visoke i niske temperature aktivira TH i TL, i konfiguracijski registar sastoje se od jednog bajta EEPROM-a. Naredba memorijske funkcije može se koristiti za pisanje u TH, TL, ili konfiguracijski registar. Format konfiguracijskog registra je sljedeći:

0
R1
R0
1
1
1
1
1
MSBLSB

R1 i R0 određuju broj znamenki preciznosti za pretvorbu temperature: R1R0 = “00”, 9-bitna preciznost, maksimalno vrijeme pretvorbe je 93,75 ms; R1R0 = “01”, 10-bitna preciznost, maksimalno vrijeme pretvorbe je 187,5 ms. R1R0 = “10”, 11-bitna preciznost, maksimalno vrijeme pretvorbe je 375ms. R1R0 = “11”, 12-bitna preciznost, maksimalno vrijeme pretvorbe je 750ms. Zadana je 12-bitna preciznost kada nije programirana.

Registar velike brzine je memorija od 9 bajta. Prva dva bajta sadrže digitalnu informaciju izmjerene temperature; 3, 4th, a 5. bajtovi su privremene kopije TH, TL, i konfiguracijskim registrima, odnosno, i osvježavaju se svaki put kad dođe do resetiranja pri uključivanju; 6, 7th, i 8. bajtovi se ne koriste i predstavljaju se kao sve logičke 1; 9. bajt čita CRC kod svih prethodnih 8 bajtova, koji se mogu koristiti za osiguranje točne komunikacije.

3. Radni redoslijed DS18B20
Tijek radnog protokola prve linije DS18B20 je: inicijalizacija → instrukcija rada ROM-a → instrukcija rada memorije → prijenos podataka. Njegov radni slijed uključuje slijed inicijalizacije, pisati niz i čitati niz, Kao što je prikazano na slici 3 (a) (b) (c).

(a) Inicijalizacijski niz
(c) Pročitaj slijed

Tipična shema spoja DS18B20 i mikroprocesora

Tipična shema spoja DS18B20 i mikroprocesora

Lik 3, DS18B20 dijagram slijeda rada

4. Tipični dizajn sučelja DS18B20 i mikroračunala s jednim čipom
Lik 4 uzima mikroračunalo serije MCS-51 s jednim čipom kao primjer kako bi nacrtao tipičnu vezu između DS18B20 i mikroprocesora. Na slici 4 (a), DS18B20 usvaja parazitski način napajanja, a njegove VDD i GND stezaljke su uzemljene. Na slici 4 (b), DS18B20 prihvaća vanjski način napajanja, a njegov VDD terminal se napaja napajanjem od 3V~5.5V.

a) Parazitski način rada napajanja
(b) Način rada vanjskog napajanja

Radni vremenski dijagram DS18B20

Radni vremenski dijagram DS18B20

Lik 4 Tipična shema povezivanja DS18B20 i mikroprocesora

Pod pretpostavkom da je kristalna frekvencija koju koristi mikroračunalni sustav s jednim čipom 12MHz, tri potprograma su napisana prema vremenu inicijalizacije, vrijeme pisanja i vrijeme čitanja DS18B20: INIT je potprogram za inicijalizaciju; WRITE je pisanje (naredba ili podatak) potprogram; READ je potprogram za čitanje podataka. Sva čitanja i pisanja podataka počinju od najnižeg bita.

DATEQUP1.0
……
INIT:CLREA
INI10:SETBDAT
MOVR2,#200
INI11:Clrdat
DJNZR2,INI11; Domaćin šalje impuls resetiranja 3μs×200=600μs
SETBDAT; Domaćin pušta autobus, a port linija se mijenja u ulaz
MOVR2,#30
IN12:DJNZR2,INI12; DS18B20 čeka 2μs×30=60μs
CLRC
Orlc,DA; Je li DS18B20 podatkovna linija niska (puls postoji)?
JCINI10; DS18B20 nije spreman, ponovno inicijalizirati
MOVR6, #80
INI13: Orlc, DA
JCINI14; DS18B20 podatkovna linija ide visoko, inicijalizacija je uspješna
DJNZR6, INI13; Niska razina podatkovne linije može trajati 3 μs × 80 = 240 μs
SYMPINI10; inicijalizacija nije uspjela, ponovno pokretanje
INI14: MOVR2, #240
IN15: DJNZR2, INI15; DS18B20 odgovara najmanje 2 μs × 240 = 48 0μs
RET

;-------------------------
PISATI:CLREA
MOVR3,#8;Petlja 8 puta, napisati bajt
WR11:SETBDAT
MOVR4,#8
RRCA;Bit pisanja kreće se od A do CY
Clrdat
WR12:DJNZR4,WR12
;Pričekajte 16 μs
MOVDAT,C;Naredbena riječ se šalje DS18B20 bit po bit
MOVR4,#20
WR13:DJNZR4,WR1 3
; Osigurajte da proces pisanja traje 60 μs
DJNZR3,WR11
; Nastavite prije slanja bajta
SETBDAT
RET

;------------------------
ČITAJ:CLREA
MOVR6,#8; Petlja 8 puta, pročitati bajt
RD11:Clrdat
MOVR4,#4
NOP; Niska razina traje 2 μs
SETBDAT; Postavite liniju priključka za unos
RD12:DJNZR4,RD12
; Pričekajte 8 μs
MOVC,OD T
;Host čita podatke DS18B20 bit po bit
RRCA;Očitani podaci se premještaju u A
MOVR5,#30
RD13:DJNZR5,RD13
;Osigurajte da proces očitavanja traje 60 μs
DJNZR6,RD11
;Nakon čitanja bajta podataka, pohranite u A
SETBDAT
RET
;-------------------------
Domaćin mora proći kroz tri koraka za kontrolu DS18B20 kako bi dovršio konverziju temperature: inicijalizacija, upute za rad ROM-a, i upute za rad s memorijom. DS18B20 mora se pokrenuti za početak pretvorbe prije očitavanja vrijednosti pretvorbe temperature. Pod pretpostavkom da je samo jedan čip spojen na jednu liniju, koristi se zadana 12-bitna točnost pretvorbe, a koristi se vanjsko napajanje, potprogram GETWD može se napisati za dovršetak konverzije i očitavanje vrijednosti temperature.

Nadaren:LCALLINIT
POTEZ,#0CCH
LCALLWRITE; poslati naredbu za preskakanje ROM-a
POTEZ,#44H
LCALLWRITE; poslati naredbu za početak pretvorbe
LCALLINIT
POTEZ,#0CCH; poslati naredbu za preskakanje ROM-a
LCALLWRITE
POTEZ,#0 BEH; poslati naredbu za čitanje memorije
LCALLWRITE
LCALLREAD
MOVWDLSB,A
; poslati niži bajt vrijednosti temperature u WDLSB
LCALLREAD
MOVWDMSB,A
; poslati visoki bajt vrijednosti temperature u WDMSB
RET
……

Visoki bajt vrijednosti temperature očitan potprogramom GETWD šalje se WDMSB jedinici, a niski bajt se šalje WDLSB jedinici. Zatim prema formatu reprezentacije bajta vrijednosti temperature i njegovog bita predznaka, stvarna vrijednost temperature može se dobiti jednostavnom transformacijom.

Ako je više DS18B20 spojeno na jednu liniju, usvojen je parazitski način spajanja napajanja, konfiguracija točnosti pretvorbe, alarm za visoku i donju granicu, itd. su potrebni. Tada će pisanje potprograma GETWD biti kompliciranije. Zbog prostornih ograničenja, ovaj odjeljak neće biti detaljno opisan. Molimo pogledajte relevantni sadržaj.

Uspješno smo primijenili DS18B20 na “kupka za grijanje kućanstva” sustav kontrole koji smo razvili. Njegova velika brzina pretvorbe, visoka točnost pretvorbe, i jednostavno sučelje s mikroprocesorom donijeli su veliku pogodnost u rad na dizajnu hardvera, učinkovito smanjenje troškova i skraćivanje razvojnih ciklusa.