Temperatuursensor tegnologie

DS18B20 temperatuursensor gekoppel aan MCU

DS18B20 Temperatuursensor Kennis Inleiding
DS18B20 is 'n algemeen gebruikte digitale temperatuursensor. Dit voer digitale seine uit, het die kenmerke van klein grootte, Lae hardeware oorhoofse, sterk anti-inmenging vermoë, hoë akkuraatheid, en word wyd gebruik.

DS18B20 digitale temperatuursonde bied 9 na 12 bietjie

DS18B20 digitale temperatuursonde bied 9 na 12 bietjie

Waterdigte DS18B20-sensorsonde

Waterdigte DS18B20-sensorsonde

TPE Overmolding IP68 waterdigte DS18B20 sensor

TPE Overmolding IP68 waterdigte DS18B20 sensor

Inleiding tot DS18B20 temperatuursensor
Tegniese kenmerke:
①. Unieke enkeldraad-koppelvlakmodus. Wanneer DS18B20 aan 'n mikroverwerker gekoppel is, slegs 1 draad is nodig om tweerigtingkommunikasie tussen die mikroverwerker en DS18B20 te realiseer.
②. Temperatuurmetingsreeks -55℃~+125℃, inherente temperatuurmetingsfout 1℃.
③. Ondersteun multi-punt netwerk funksie. Veelvuldige DS18B20 kan parallel op die enigste drie drade gekoppel word, en 'n maksimum van 8 kan parallel gekoppel word om meerpunttemperatuurmeting te realiseer. As die getal te groot is, die kragtoevoerspanning sal te laag wees, wat lei tot onstabiele seinoordrag.
④. Werkende kragtoevoer: 3.0~5.5V/DC (datalyn parasitiese kragtoevoer kan gebruik word).
⑤. Geen perifere komponente word tydens gebruik benodig nie.
⑥. Die meetresultate word serieel in 9 ~ 12-bis digitale vorm oorgedra.
⑦. Die deursnee van die vlekvrye staal beskermende buis is Φ6.
⑧. Dit is geskik vir temperatuurmeting van verskeie medium industriële pypleidings van DN15 ~ 25, DN40~DN250 en toerusting in nou ruimtes.
⑨. Standaard installasiedrade M10X1, M12X1.5, G1/2” is opsioneel.
⑩. PVC-kabel is direk gekoppel of Duitse bal-tipe aansluitkas is gekoppel, wat gerieflik is vir verbinding met ander elektriese toerusting.

DS18B20 lees en skryf tydsberekening en temperatuurmetingsbeginsel:
DS18B20 temperatuurmetingsbeginsel word in Figuur getoon 1. Die ossillasiefrekwensie van die lae temperatuur koëffisiënt kristal ossillator in die figuur word min beïnvloed deur temperatuur, en word gebruik om 'n vaste frekwensie-pulssein te genereer wat na teller gestuur moet word 1. Die ossillasiefrekwensie van die hoë temperatuur koëffisiënt kristal ossillator verander aansienlik met temperatuur, en die gegenereerde sein word as die pulsinvoer van teller gebruik 2. Toonbank 1 en die temperatuurregister is vooraf ingestel op 'n basiswaarde wat ooreenstem met -55℃. Toonbank 1 trek die pulssein af wat gegenereer word deur die lae temperatuur koëffisiënt kristal ossillator. Wanneer die voorafbepaalde waarde van teller 1 word verminder tot 0, die waarde van die temperatuurregister sal verhoog word met 1, en die voorafinstelling van teller 1 sal herlaai word. Toonbank 1 herbegin om die pulssein te tel wat deur die lae temperatuur koëffisiënt kristal ossillator gegenereer word, en die siklus gaan voort tot teller 2 tel tot 0, stop die ophoping van die temperatuurregisterwaarde. Op hierdie tydstip, die waarde in die temperatuurregister is die gemete temperatuur. Die hellingakkumulator word gebruik om die nie-lineariteit in die temperatuurmetingsproses te kompenseer en reg te stel, en die uitset daarvan word gebruik om die voorafbepaalde waarde van teller reg te stel 1.

Figuur 1 is soos volg:

DS18B20 en MCU verbinding stroombaandiagram

DS18B20 en MCU verbinding stroombaandiagram

2. DS18B20 en MCU verbindingsdiagram

DS18B20 pen parameter definisie

DS18B20 pen parameter definisie

3. DS18B20 pen definisie:

DQ: Data invoer/uitvoer. Maak dreineer 1-draad koppelvlak oop. Dit kan ook krag aan die toestel verskaf wanneer dit in parasitiese kragmodus VDD gebruik word: positiewe kragtoevoer GND: krag grond 4. DS18B20 interne analise inleiding:

Ontleding en bekendstelling van DS18B20 interne struktuur

Ontleding en bekendstelling van DS18B20 interne struktuur

Die figuur hierbo toon die blokdiagram van DS18B20, en die 64-bis ROM stoor die unieke reekskode van die toestel. Die buffer geheue bevat 2 grepe temperatuurregisters wat die digitale uitset van die temperatuursensor stoor. Daarby, die buffer geheue bied toegang tot 1-grepe boonste en onderste alarm sneller registers (TH en TL) en 1-grepe konfigurasie registers. Die konfigurasieregister laat die gebruiker toe om die resolusie van die temperatuur na digitale omskakeling na te stel 9, 10, 11, of 12 stukkies. TH, TL, en konfigurasieregisters is nie-vlugtig (EEPROM), sodat hulle data sal behou wanneer die toestel afgeskakel is. DS18B20 gebruik Maxim se unieke 1-draad busprotokol, wat 'n beheersein gebruik. Die beheerlyn benodig 'n swak optrekweerstand omdat alle toestelle aan die bus gekoppel is deur 'n 3-toestand of oopdreinpoort (DQ pen in die geval van die DS18B20). In hierdie busstelsel is die mikroverwerker (meester) gebruik 'n unieke 64-bis-kode vir elke toestel. Omdat elke toestel 'n unieke kode het, die aantal toestelle wat op een bus aangespreek kan word, is feitlik onbeperk.

Temperatuurregisterformaat

DS18B20 temperatuur register formaat diagram

DS18B20 temperatuur register formaat diagram

Temperatuur/Data Verwantskap

DS18B20 Temperatuur-Data Verwantskap

DS18B20 Temperatuur-Data Verwantskap

Operasie alarmsein

Nadat die DS18B20 'n temperatuuromskakeling uitvoer, dit vergelyk die temperatuurwaarde met die gebruiker-gedefinieerde twee se komplement alarm sneller waarde gestoor in die 1-grepe TH en TL registers. Die tekenbis dui aan of die waarde positief of negatief is: positief S=0, negatief S=1. Die TH- en TL-registers is nie-vlugtig (EEPROM) en is dus nie vlugtig wanneer die toestel afgeskakel is nie. TH en TL kan verkry word deur grepe 2 en 3 van die geheue.
TH en TL register formaat:

DS18B20 konfigurasieregisters

DS18B20 konfigurasieregisters

Skematiese diagram van die voeding van die DS18B20 met 'n eksterne kragbron

Skematiese diagram van die gebruik van eksterne kragtoevoer om DS18B20 aan te dryf

Skematiese diagram van die gebruik van eksterne kragtoevoer om DS18B20 aan te dryf

64-bietjie laser leesalleen geheue kode:

DS18B20 64-bis laser leesalleen geheue kode

DS18B20 64-bis laser leesalleen geheue kode

Elke DS18B20 bevat 'n unieke 64-bis-kode wat in ROM gestoor is. Die minste betekenisvol 8 stukkies van die ROM-kode bevat die enkeldraadfamiliekode van die DS18B20: 28h. Die volgende 48 bisse bevat 'n unieke reeksnommer. Die belangrikste 8 bisse bevat 'n sikliese oortolligheidstjek (CRC) greep, wat vanaf die eerste bereken word 56 stukkies van die ROM-kode.

DS18B20 geheue kaart

DS18B20 geheue kaart

DS18B20 geheue kaart

Konfigurasieregister:

Figuur 2

DS18B20 konfigurasieregisters

DS18B20 konfigurasieregisters

Byte 4 of the memory contains the configuration register, which is organized as shown in Figure 2. The user can set the conversion resolution of the DS18B20 using bits R0 and R1 here as shown in Table 2. The power-on defaults for these bits are R0 = 1 and R1 = 1 (12-bit resolution). Note that there is a direct relationship between resolution and conversion time. Bit 7 and bits 0 na 4 in the configuration register are reserved for internal use of the device and cannot be overwritten.

Tafel 2 Thermometer Resolution Configuration

DS18B20 Thermometer Resolution Configuration

DS18B20 Thermometer Resolution Configuration

CRC Generation

The CRC byte is part of the DS18B20 64-bit ROM code and is provided in the 9th byte of the scratchpad. The ROM code CRC is calculated from the first 56 bits of the ROM code and is contained in the most significant byte of the ROM. Die kladblok CRC word bereken op grond van die data wat in die kladblok gestoor is, dus verander dit wanneer die data in die kladblok verander. Die CRC voorsien die busgasheer van 'n metode van dataverifikasie wanneer data vanaf die DS18B20 gelees word. Nadat u geverifieer het dat die data korrek gelees is, die busmeester moet die CRC herbereken vanaf die ontvangde data en dan daardie waarde met die ROM-kode CRC vergelyk (vir ROM-lees) of die kladblok CRC (vir kladblok lees). As die berekende CRC ooreenstem met die gelees CRC, die data korrek ontvang is. Die besluit om die CRC-waardes te vergelyk en voort te gaan, is heeltemal na goeddunke van die busmeester. Daar is geen stroombaan binne die DS18B20 wat die uitvoering van 'n opdragvolgorde as:
Die DS18B20 CRC (ROM of kladblok) stem nie ooreen met die waarde wat deur die busmeester gegenereer word nie.
Die ekwivalente polinoomfunksie vir die CRC is:
CRC = X8 + X5 + X4 + 1
Die busmeester kan die CRC herbereken en dit met die DS18B20 se CRC-waarde vergelyk deur:
Die polinoomgenerator word in Figuur getoon 3. Die stroombaan sluit 'n skuifregister en yihuo-hekke in, en die stukkies van die skuifregister word geïnisialiseer na 0. Die minste beduidende bietjie van die ROM-kode of die minste beduidende bietjie greep 0 in die kladblok moet een op 'n slag in die skofregister geskuif word. Na verskuiwing in bietjie 56 vanaf die ROM of die belangrikste stukkie byte 7 vanaf die kladblok, die polinoomgenerator sal die herberekende CRC bevat. Volgende, die 8-bis ROM-kode of die CRC-sein in die kladblok DS18B20 moet na die stroombaan geskuif word. Op hierdie punt, as die herberekende CRC korrek is, die skofregister sal almal 0'e wees.

Figuur 3: CRC Generator

DS18B20 CRC kragopwekker proses diagram

DS18B20 CRC kragopwekker proses diagram

V. Toegang tot die DS18B20:
Die volgorde vir toegang tot die DS18B20 is soos volg:
Stap 1. Inisialisering;

Stap 2. ROM opdrag (gevolg deur enige nodige data-uitruiling);

Stap 3. DS18B20 funksie opdrag (gevolg deur enige nodige data-uitruiling);

Let wel: Hierdie volgorde word gevolg elke keer wanneer toegang tot die DS18B20 verkry word, omdat die DS18B20 nie sal reageer as enige stap in die volgorde ontbreek of buite werking is nie. Die uitsondering op hierdie reël is die Search ROM [F0h] en Alarm Soek [Ech] bevele. Na die uitreiking van hierdie twee ROM-opdragte, die gasheer moet terugkeer na stap 1 in volgorde.
(Bogenoemde inleiding is uit die amptelike handleiding vertaal)

ROM-opdrag
1, Lees ROM [33h]
2, Pas ROM aan [55h]
3, Slaan ROM oor [CCh]
4, Alarm Soek [Ech]

DS18B20 Funksie Opdrag
1, Skakel temperatuur om [44h]
2, Skryf Scratchpad (Geheue) [4Eh]
3, Lees Scratchpad (Geheue) [BEh]
4, Kopieer Kladblok (Geheue [48h]
5, Herwakker E2 [B8h]
6, Lees Power [B4h]

(Vir gedetailleerde beskrywing van die bogenoemde opdragte, sien die amptelike handleiding)

VI. Toegang tot DS18B20 Tydsberekening
Tydens die inisialiseringsproses, die busmeester stuur 'n reset-puls (TX) lae vlak vir ten minste 480µs deur die 1-draad bus te trek. Toe, die busmeester laat die bus los en gaan die ontvangsmodus in (RX). Nadat die bus vrygelaat is, die 5kΩ-optrekweerstand trek die 1-draadbus hoog. Wanneer die DS18B20 hierdie stygende rand bespeur, dit wag 15µs tot 60µs en stuur dan 'n teenwoordigheidspuls deur die 1-draad bus laag te trek vir 60µs tot 240µs.

Inisialisering Tydsberekening:

Daar is twee tipes skryftydgleuwe: “Skryf 1” tydgleuwe en “Skryf 0” tydgleuwe. Die bus gebruik 'n Skryf 1 tydgleuf om 'n logika te skryf 1 na die DS18B20 en 'n Skryf 0 tydgleuf om 'n logika te skryf 0 na die DS18B20. Alle skryftydgleuwe moet minstens 60µs lank wees met 'n hersteltyd van minstens 1µs tussen individuele skryftydgleuwe. Beide tipes skryftydgleuwe word geïnisieer deur die meester wat die 1-draad bus laag trek (sien Figuur 14). Om 'n Skryf te genereer 1 tydgleuf, nadat jy die 1-Draad bus laag getrek het, die busmeester moet die 1-draad bus binne 15µs vrystel. Nadat die bus vrygelaat is, die 5kΩ-optrekweerstand trek die bus hoog. Genereer a
Skryf 0 tydgleuf, nadat jy die 1-draadlyn laag getrek het, die busmeester moet aanhou om die bus laag te hou vir die duur van die tydgleuf (ten minste 60 µs). Die DS18B20 monster die 1-draad bus binne 'n venster van 15µs tot 60µs nadat die meester die skryftydgleuf geïnisieer het. As die bus hoog is tydens die monsternemingsvenster, a 1 is geskryf na die DS18B20. As die lyn laag is, a 0 is geskryf na die DS18B20.
Let wel: Tydgleuf is 'n gedeelte van die seriële selfvermenigvuldiging van die tydgleufinligting wat aan 'n enkele kanaal toegewy is.
Figuur 14 is soos volg:

DS18B20 skryftydgleuwe word deur die gasheer aangedryf om die 1-draad bus na lae vlak te trek

DS18B20 skryftydgleuwe word deur die gasheer aangedryf om die 1-draad bus na lae vlak te trek

Lees tydgleuf:
Die DS18B20 kan slegs data na die gasheer stuur wanneer die gasheer 'n leestydgleuf uitreik. Daarom, die gasheer moet 'n leestydgleuf genereer onmiddellik nadat 'n Leesgeheue-opdrag uitgereik is [BEh] of 'n leeskragbron [B4h] opdrag sodat die DS18B20 die vereiste data kan verskaf. Alternatiewelik, die gasheer kan 'n leestydgleuf genereer nadat 'n Convert T uitgereik is [44h] of Herroep E2 [B8h] opdrag om die status uit te vind. Alle leestydgleuwe moet ten minste 60µs lank wees met 'n minimum hersteltyd van 1µs tussen tydgleuwe. 'n Leestydgleuf word geïnisieer deur die meester wat die 1-draad bus laag trek om dit vir ten minste 1µs laag te hou en dan die bus vry te stel (sien Figuur 14). Nadat die meester 'n leestydgleuf inisieer, die DS18B20 sal óf 1'e óf 0'e op die bus begin stuur. Die DS18B20 stuur 'n 1 deur die bus hoog te hou en stuur a 0 deur die bus laag te trek. Wanneer a 0 gestuur word, die DS18B20 stel die bus vry deur die bus hoog te hou. Die tydgleuf eindig en die bus word teruggetrek na die hoë ledige toestand deur die optrekweerstand.

DS18B20 Gedetailleerde Gasheer Lees 1 Tydgleuf

DS18B20 Gedetailleerde Gasheer Lees 1 Tydgleuf

DS18B20 Aanbevole gasheerlees 1 tydgleuf

DS18B20 Aanbevole gasheerlees 1 tydgleuf