DS18B20 temperatūras sensora zināšanu ievads
DS18B20 ir parasti lietots digitālās temperatūras sensors. Tas izvada digitālos signālus, ir maza izmēra īpašības, zemas aparatūras virs galvas, Spēcīga pret mijiedarbību spēja, augsta precizitāte, un tiek plaši izmantots.
Ievads DS18B20 temperatūras sensorā
Tehniskās īpašības:
①. Unikāls viena vada interfeisa režīms. Kad DS18B20 ir pievienots mikroprocesoram, tikai 1 vads ir nepieciešams, lai realizētu divvirzienu saziņu starp mikroprocesoru un DS18B20.
②. Temperatūras mērīšanas diapazons -55℃~+125℃, raksturīgā temperatūras mērīšanas kļūda 1℃.
③. Atbalstiet vairāku punktu tīkla funkciju. Vairākus DS18B20 var savienot paralēli tikai pa trim vadiem, un ne vairāk kā 8 var savienot paralēli, lai veiktu vairāku punktu temperatūras mērīšanu. Ja skaits ir pārāk liels, strāvas padeves spriegums būs pārāk zems, kā rezultātā signāla pārraide ir nestabila.
④. Darba barošanas avots: 3.0~5,5V/DC (var izmantot datu līnijas parazītu barošanas avotu).
⑤. Lietošanas laikā nav nepieciešamas nekādas perifērās sastāvdaļas.
⑥. Mērījumu rezultāti tiek pārraidīti sērijveidā 9 ~ 12 bitu digitālā formā.
⑦. Nerūsējošā tērauda aizsargcaurules diametrs ir Φ6.
⑧. Tas ir piemērots dažādu vidējo rūpniecisko cauruļvadu DN15 ~ 25 temperatūras mērīšanai, DN40~DN250 un aprīkojums šaurās telpās.
⑨. Standarta uzstādīšanas vītnes M10X1, M12X1.5, G1/2” nav obligāti.
⑩. PVC kabelis ir tieši pievienots vai ir pievienota vācu lodveida sadales kārba, kas ir ērti savienošanai ar citām elektroiekārtām.
DS18B20 lasīšanas un rakstīšanas laika un temperatūras mērīšanas princips:
DS18B20 temperatūras mērīšanas princips ir parādīts attēlā 1. Zema temperatūras koeficienta kristāla oscilatora svārstību frekvenci attēlā temperatūra maz ietekmē, un tiek izmantots, lai ģenerētu fiksētas frekvences impulsa signālu, kas jānosūta uz skaitītāju 1. Augstas temperatūras koeficienta kristāla oscilatora svārstību frekvence būtiski mainās līdz ar temperatūru, un ģenerētais signāls tiek izmantots kā skaitītāja impulsa ieeja 2. Skaitītājs 1 un temperatūras reģistrs ir iepriekš iestatīti uz bāzes vērtību, kas atbilst -55 ℃. Skaitītājs 1 atņem impulsa signālu, ko rada zemas temperatūras koeficienta kristāla oscilators. Kad iepriekš iestatītā skaitītāja vērtība 1 tiek samazināts līdz 0, temperatūras reģistra vērtība tiks palielināta par 1, un skaitītāja priekšiestatījums 1 tiks pārlādēts. Skaitītājs 1 restartējas, lai skaitītu impulsa signālu, ko ģenerē zemas temperatūras koeficienta kristāla oscilators, un cikls turpinās līdz skaitītājam 2 skaitās 0, temperatūras reģistra vērtības uzkrāšanās apturēšana. Šajā laikā, vērtība temperatūras reģistrā ir izmērītā temperatūra. Slīpuma akumulatoru izmanto, lai kompensētu un koriģētu nelinearitāti temperatūras mērīšanas procesā, un tā izvade tiek izmantota, lai labotu skaitītāja iepriekš iestatīto vērtību 1.
attēls 1 ir šāds:
2. DS18B20 un MCU savienojuma shēma
3. DS18B20 tapas definīcija:
DQ: Datu ievade/izvade. Atveriet notekas 1 vadu saskarni. Tas var arī nodrošināt ierīci ar jaudu, ja to izmanto parazitārās jaudas režīmā VDD: pozitīvs barošanas avots GND: strāvas zemējums 4. DS18B20 iekšējās analīzes ievads:
Iepriekš redzamajā attēlā parādīta DS18B20 blokshēma, un 64 bitu ROM saglabā unikālo ierīces sērijas kodu. Buferatmiņa satur 2 baitu temperatūras reģistru, kas saglabā temperatūras sensora digitālo izvadi. Papildus, buferatmiņa nodrošina piekļuvi 1 baita augšējiem un apakšējiem trauksmes aktivizēšanas reģistriem (TH un TL) un 1 baita konfigurācijas reģistri. Konfigurācijas reģistrs ļauj lietotājam iestatīt temperatūras izšķirtspēju uz digitālo pārveidošanu 9, 10, 11, vai 12 biti. TH, TL, un konfigurācijas reģistri ir nemainīgi (EEPROM), tāpēc tie saglabās datus, kad ierīce tiks izslēgta. DS18B20 izmanto Maxim unikālo 1 vadu kopnes protokolu, kas izmanto vadības signālu. Vadības līnijai ir nepieciešams vājš uzvilkšanas rezistors, jo visas ierīces ir savienotas ar kopni caur 3 stāvokļu vai atvērtas noteces portu (DQ tapa DS18B20 gadījumā). Šajā kopnes sistēmā mikroprocesors (meistars) katrai ierīcei izmanto unikālu 64 bitu kodu. Tā kā katrai ierīcei ir unikāls kods, vienā kopnē adresējamo ierīču skaits ir praktiski neierobežots.
Temperatūras reģistra formāts
Temperatūras/datu attiecības
Darbības trauksmes signāls
Pēc tam, kad DS18B20 veic temperatūras pārveidošanu, tas salīdzina temperatūras vērtību ar lietotāja definētu divu komplementa trauksmes sprūda vērtību, kas saglabāta 1 baita TH un TL reģistros.. Zīmes bits norāda, vai vērtība ir pozitīva vai negatīva: pozitīvs S=0, negatīvs S=1. TH un TL reģistri ir nemainīgi (EEPROM) un tāpēc tie nav nepastāvīgi, kad ierīce ir izslēgta. TH un TL var piekļūt, izmantojot baitus 2 un 3 no atmiņas.
TH un TL reģistra formāts:
Shematiska shēma DS18B20 barošanai, izmantojot ārējo barošanas avotu
64-bitu lāzera tikai lasāmās atmiņas kods:
Katrs DS18B20 satur unikālu 64 bitu kodu, kas saglabāts ROM. Vismazāk nozīmīgais 8 ROM koda biti satur DS18B20 viena vada saimes kodu: 28h. Nākamais 48 biti satur unikālu sērijas numuru. Nozīmīgākais 8 biti satur ciklisku dublēšanas pārbaudi (CRC) baits, kuru aprēķina no pirmās 56 ROM koda biti.
DS18B20 atmiņas karte
Konfigurācijas reģistrs:
attēls 2
baits 4 no atmiņas satur konfigurācijas reģistru, kas ir sakārtots, kā parādīts attēlā 2. Lietotājs var iestatīt DS18B20 konversijas izšķirtspēju, izmantojot bitus R0 un R1 šeit, kā parādīts tabulā. 2. Šo bitu ieslēgšanas noklusējuma iestatījumi ir R0 = 1 un R1 = 1 (12-bitu izšķirtspēja). Ņemiet vērā, ka pastāv tieša saistība starp izšķirtspēju un konversijas laiku. Mazliet 7 un biti 0 līdz 4 konfigurācijas reģistrā ir rezervēti ierīces iekšējai lietošanai un tos nevar pārrakstīt.
Tabula 2 Termometra izšķirtspējas konfigurācija
CRC paaudze
CRC baits ir daļa no DS18B20 64 bitu ROM koda un tiek nodrošināts 9. baitā. ROM kods CRC tiek aprēķināts no pirmā 56 ROM koda biti un atrodas ROM nozīmīgākajā baitā. Scretchpad CRC tiek aprēķināts, pamatojoties uz skrāpējumā saglabātajiem datiem, tāpēc tas mainās, kad mainās dati scratchpad. CRC nodrošina kopnes resursdatoram datu pārbaudes metodi, lasot datus no DS18B20. Pēc tam, kad esat pārliecinājies, ka dati ir nolasīti pareizi, kopnes galvenajam ir jāpārrēķina CRC no saņemtajiem datiem un pēc tam jāsalīdzina šī vērtība ar ROM kodu CRC (ROM lasīšanai) vai scratchpad CRC (lai lasītu scratchpad). Ja aprēķinātais CRC atbilst nolasītajam CRC, dati ir saņemti pareizi. Lēmums par CRC vērtību salīdzināšanu un turpmāko darbību ir pilnībā atkarīgs no autobusa meistara ieskatiem. DS18B20 iekšpusē nav shēmas, kas neļautu izpildīt komandu secību, ja:
DS18B20 CRC (ROM vai scratchpad) nesakrīt ar kopnes galvenā ģenerēto vērtību.
CRC ekvivalentā polinoma funkcija ir:
CRC = X8 + X5 + X4 + 1
Kopnes vadītājs var pārrēķināt CRC un salīdzināt to ar DS18B20 CRC vērtību, izmantojot:
Polinoma ģenerators ir parādīts attēlā 3. Ķēdē ietilpst maiņu reģistrs un yihuo vārti, un maiņu reģistra biti tiek inicializēti uz 0. Vismazāk nozīmīgais ROM koda bits vai vismazāk nozīmīgais baita bits 0 skrāpēšanas blokā ir jāpārvieto maiņu reģistrā pa vienam. Pēc bitu pārslēgšanas 56 no ROM vai visnozīmīgākā baita bita 7 no scratchpad, polinoma ģenerators saturēs pārrēķināto CRC. Tālāk, 8 bitu ROM kods vai CRC signāls scratchpad DS18B20 ir jāpārvieto ķēdē. Šajā brīdī, ja pārrēķinātais CRC ir pareizs, maiņu reģistrā būs visi 0.
attēls 3: CRC ģenerators
V. Piekļuve DS18B20:
Piekļuves secība DS18B20 ir šāda:
Solis 1. Inicializācija;
Solis 2. ROM komanda (kam seko nepieciešamā datu apmaiņa);
Solis 3. DS18B20 funkcijas komanda (kam seko nepieciešamā datu apmaiņa);
Atzīmēt: Šī secība tiek ievērota katru reizi, kad tiek piekļūts DS18B20, jo DS18B20 nereaģēs, ja kāds no secības posmiem trūkst vai nav kārtībā. Izņēmums šim noteikumam ir meklēšanas ROM [F0h] un trauksmes meklēšana [Ech] komandas. Pēc šo divu ROM komandu izdošanas, saimniekam jāatgriežas pie soļa 1 pēc kārtas.
(Iepriekš minētais ievads ir tulkots no oficiālās rokasgrāmatas)
ROM komanda
1, Lasīt ROM [33h]
2, Atbilst ROM [55h]
3, Izlaist ROM [CCh]
4, Signalizācijas meklēšana [Ech]
DS18B20 funkcijas komanda
1, Konvertēt temperatūru [44h]
2, Rakstiet Scratchpad (Atmiņa) [4Eh]
3, Izlasiet Scratchpad (Atmiņa) [BEh]
4, Kopēt Scratchpad (Atmiņa [48h]
5, Atkārtoti modināt E2 [B8h]
6, Lasīt Power [B4h]
(Lai iegūtu detalizētu iepriekš minēto komandu aprakstu, skatiet oficiālo rokasgrāmatu)
VI. Piekļūstiet DS18B20 laikam
Inicializācijas procesa laikā, kopnes kapteinis nosūta atiestatīšanas impulsu (TX) zems līmenis vismaz 480 µs, pavelkot 1-vadu kopni. Tad, kopnes kapteinis atbrīvo kopni un pāriet uztveršanas režīmā (RX). Pēc autobusa izlaišanas, 5kΩ uzvilkšanas rezistors pavelk 1-Wire kopni augstu. Kad DS18B20 nosaka šo pieaugošo malu, tas gaida no 15 µs līdz 60 µs un pēc tam nosūta klātbūtnes impulsu, pavelkot 1-Wire kopni zemu uz 60 µs līdz 240 µs.
Inicializācijas laiks:
Ir divu veidu rakstīšanas laika sloti: “Uzrakstiet 1” laika nišas un “Uzrakstiet 0” laika nišas. Autobuss izmanto Write 1 laika posms loģikas rakstīšanai 1 uz DS18B20 un rakstiet 0 laika posms loģikas rakstīšanai 0 uz DS18B20. Visām rakstīšanas laika spraugām jābūt vismaz 60 µs ilgām ar vismaz 1 µs atkopšanas laiku starp atsevišķiem rakstīšanas laika spraugām. Abu veidu rakstīšanas laika nišas iniciē kapteinis, pavelkot 1 vada kopni zemu (skatīt attēlu 14). Lai ģenerētu ierakstu 1 laika sprauga, pēc 1-Wire kopnes novilkšanas zemu, kopnes kapteinim ir jāatlaiž 1-Wire kopne 15µs laikā. Pēc autobusa izlaišanas, 5kΩ uzvilkšanas rezistors pavelk autobusu augstu. Izveidot a
Rakstiet 0 laika sprauga, pēc 1 vada līnijas novilkšanas, autobusa kapteinim jāturpina noturēt autobusu zemu visu laika sprīdi (vismaz 60 µs). DS18B20 ņem paraugus no 1 vada kopnes logā no 15 µs līdz 60 µs pēc tam, kad galvenais ierīce iniciē rakstīšanas laika slotu.. Ja paraugu ņemšanas loga laikā autobuss atrodas augstumā, a 1 ir rakstīts uz DS18B20. Ja līnija ir zema, a 0 ir rakstīts uz DS18B20.
Atzīmēt: Laika slots ir daļa no laika niša informācijas seriālās pašmultipleksēšanas, kas paredzēta vienam kanālam.
attēls 14 ir šāds:
Lasīt laika intervālu:
DS18B20 var nosūtīt datus resursdatoram tikai tad, ja resursdators izdod lasīšanas laika slotu. Tāpēc, resursdatoram ir jāģenerē lasīšanas laika slots tūlīt pēc lasīšanas atmiņas komandas izdošanas [BEh] vai lasīšanas barošanas bloks [B4h] komandu, lai DS18B20 sniegtu nepieciešamos datus. Alternatīvi, resursdators var ģenerēt lasīšanas laika nišu pēc Convert T izdošanas [44h] vai atsaukt E2 [B8h] komandu, lai uzzinātu statusu. Visiem nolasīšanas laika nišiem jābūt vismaz 60 µs ilgiem ar minimālo atkopšanas laiku 1 µs starp laika nišām. Lasīšanas laika slots tiek iniciēts, kapteinis pavelkot 1 vada kopni zemu, lai noturētu to zemu vismaz 1 µs, un pēc tam atlaižot kopni. (skatīt attēlu 14). Pēc tam, kad kapteinis uzsāk lasīšanas laika slotu, DS18B20 sāks sūtīt 1s vai 0s autobusā. DS18B20 nosūta a 1 turot autobusu augstu un nosūta a 0 pavelkot autobusu zemu. Kad a 0 tiek nosūtīts, DS18B20 atbrīvo kopni, turot kopni augstu. Laika sprauga beidzas, un pievilkšanas rezistors velk kopni atpakaļ augstā dīkstāves stāvoklī.
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
















