Teknologi Sensor Suhu

Reka bentuk fungsi pengukuran suhu penderia suhu digital DS18B20

fungsi pengukuran suhu penderia suhu digital DS18B20

DS18B20 ialah penderia suhu digital 1 wayar yang dihasilkan oleh DALLAS, dengan pakej kecil TO-92 3-pin. Julat pengukuran suhu ialah -55℃~+125℃, dan ia boleh diprogramkan kepada ketepatan penukaran A/D 9-bit~12-bit. Resolusi pengukuran suhu boleh mencapai 0.0625 ℃, dan suhu yang diukur dikeluarkan secara bersiri dalam bentuk kuantiti digital 16-bit dengan sambungan tanda. Bekalan kuasa kerjanya boleh diperkenalkan pada hujung terpencil atau dijana oleh bekalan kuasa parasit. Berbilang DS18B20 boleh disambungkan selari dengan 3 atau 2 garisan. CPU hanya memerlukan satu talian port untuk berkomunikasi dengan banyak DS18B20s, menduduki lebih sedikit port mikropemproses, yang boleh menjimatkan banyak petunjuk dan litar logik. Ciri-ciri di atas menjadikan DS18B20 sangat sesuai untuk sistem pengesanan suhu berbilang titik jarak jauh.

fungsi pengukuran suhu penderia suhu digital DS18B20

fungsi pengukuran suhu penderia suhu digital DS18B20

2. Struktur dalaman rajah litar DS18B20 ds18b20
Struktur dalaman DS18B20 ditunjukkan dalam Rajah 1, yang kebanyakannya terdiri daripada 4 bahagian: 64-sedikit ROM, Sensor suhu, penggera suhu tidak meruap mencetuskan TH dan TL, dan daftar konfigurasi. Susunan pin DS18B20 ditunjukkan dalam Rajah 2. DQ ialah terminal input/output isyarat digital; GND ialah asas kuasa; VDD ialah terminal input bekalan kuasa luaran (dibumikan dalam mod pendawaian kuasa parasit, lihat Rajah 4).

Nombor siri 64-bit dalam ROM difoto sebelum meninggalkan kilang. Ia boleh dianggap sebagai kod urutan alamat DS18B20. Nombor siri 64-bit setiap DS18B20 adalah berbeza. Kod semak redundansi kitaran (CRC=X8+X5+X4+1) daripada ROM 64-bit disusun. Peranan ROM adalah untuk menjadikan setiap DS18B20 berbeza, supaya berbilang DS18B20 boleh disambungkan kepada satu bas.

Struktur dalaman cip DS18B20

Struktur dalaman cip DS18B20

Rajah 1, struktur dalaman DS18B20

Penderia suhu dalam DS18B20 melengkapkan pengukuran suhu, yang disediakan dalam bentuk bacaan pelengkap binari lanjutan tanda 16-bit, dinyatakan dalam bentuk 0.0625℃/LSB, di mana S ialah bit tanda. Contohnya, output digital +125℃ ialah 07D0H, keluaran digital +25.0625℃ ialah 0191H, output digital -25.0625℃ ialah FF6FH, dan output digital -55℃ ialah FC90H.

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

Nilai suhu bait rendah
MSBLSB
S
S
S
S
S
22
25
24

Nilai suhu bait tinggi
Penggera suhu tinggi dan rendah mencetuskan TH dan TL, dan daftar konfigurasi terdiri daripada satu bait EEPROM. Perintah fungsi memori boleh digunakan untuk menulis ke TH, TL, atau daftar konfigurasi. Format daftar konfigurasi adalah seperti berikut:

0
R1
R0
1
1
1
1
1
MSBLSB

R1 dan R0 menentukan bilangan digit ketepatan untuk penukaran suhu: R1R0 = “00”, 9-ketepatan sedikit, masa penukaran maksimum ialah 93.75ms; R1R0 = “01”, 10-ketepatan sedikit, masa penukaran maksimum ialah 187.5ms. R1R0 = “10”, 11-ketepatan sedikit, masa penukaran maksimum ialah 375ms. R1R0 = “11”, 12-ketepatan sedikit, masa penukaran maksimum ialah 750ms. Lalai ialah ketepatan 12-bit apabila tidak diprogramkan.

Daftar berkelajuan tinggi ialah memori 9-bait. Dua bait pertama mengandungi maklumat digital suhu yang diukur; yang ke-3, 4ke, dan bait ke-5 ialah salinan sementara TH, TL, dan daftar konfigurasi, masing -masing, dan dimuat semula setiap kali tetapan semula kuasa berlaku; ke-6, 7ke, dan bait ke-8 tidak digunakan dan diwakili sebagai semua logik 1s; bait ke-9 membaca kod CRC semua yang sebelumnya 8 bait, yang boleh digunakan untuk memastikan komunikasi yang betul.

3. Urutan kerja DS18B20
Aliran protokol kerja barisan pertama DS18B20 ialah: permulaan → arahan operasi ROM → arahan operasi memori → penghantaran data. Urutan kerjanya termasuk urutan permulaan, menulis urutan dan membaca urutan, Seperti yang ditunjukkan dalam angka 3 (a) (b) (c).

(a) Urutan permulaan
(c) Baca urutan

Gambar rajah litar sambungan biasa DS18B20 dan mikropemproses

Gambar rajah litar sambungan biasa DS18B20 dan mikropemproses

Rajah 3, Gambar rajah jujukan kerja DS18B20

4. Reka bentuk antara muka biasa DS18B20 dan mikrokomputer cip tunggal
Rajah 4 mengambil mikrokomputer cip tunggal siri MCS-51 sebagai contoh untuk melukis sambungan biasa antara DS18B20 dan mikropemproses. Dalam Rajah 4 (a), DS18B20 menggunakan mod bekalan kuasa parasit, dan terminal VDD dan GNDnya dibumikan. Dalam Rajah 4 (b), DS18B20 menggunakan mod bekalan kuasa luaran, dan terminal VDDnya dikuasakan oleh bekalan kuasa 3V~5.5V.

a) Mod kerja bekalan kuasa parasit
(b) Mod kerja bekalan kuasa luaran

Gambarajah pemasaan kerja DS18B20

Gambarajah pemasaan kerja DS18B20

Rajah 4 Gambar rajah sambungan biasa DS18B20 dan mikropemproses

Dengan mengandaikan bahawa frekuensi kristal yang digunakan oleh sistem mikrokomputer cip tunggal ialah 12MHz, tiga subrutin ditulis mengikut masa permulaan, tulis pemasaan dan baca pemasaan DS18B20: INIT ialah subrutin permulaan; MENULIS ialah menulis (arahan atau data) subrutin; READ ialah subrutin data baca. Semua membaca dan menulis data bermula dari bit terendah.

DATEQUP1.0
……
INIT:CLREA
INI10:SETBDAT
MOVR2,#200
INI11:Clrdat
DJNZR2,INI11; Hos menghantar nadi set semula untuk 3μs×200=600μs
SETBDAT; Tuan rumah melepaskan bas, dan baris port ditukar kepada input
MOVR2,#30
IN12:DJNZR2,INI12; DS18B20 menunggu selama 2μs×30=60μs
CLRC
Orlc,ITU; Adakah talian data DS18B20 rendah (nadi wujud)?
JCINI10; DS18B20 belum bersedia, memulakan semula
MOVR6, #80
INI13: Orlc, ITU
JCINI14; Talian data DS18B20 menjadi tinggi, permulaan berjaya
DJNZR6, INI13; tahap rendah talian data boleh bertahan selama 3μs × 80 = 240μs
SYMPINI10; pemulaan gagal, mulakan semula
INI14: MOVR2, #240
IN15: DJNZR2, INI15; DS18B20 bertindak balas untuk sekurang-kurangnya 2μs × 240 = 48 0μs
RET

;-------------------------
TULIS:CLREA
MOVR3,#8;gelung 8 kali, tulis bait
WR11:SETBDAT
MOVR4,#8
RRCA;Tulis pergerakan bit dari A ke CY
Clrdat
WR12:DJNZR4,WR12
;Tunggu 16μs
MOVDAT,C;Kata perintah dihantar ke DS18B20 sedikit demi sedikit
MOVR4,#20
WR13:DJNZR4,WR1 3
; Pastikan proses menulis berlangsung selama 60μs
DJNZR3,WR11
; Teruskan sebelum menghantar bait
SETBDAT
RET

;------------------------
BACA:CLREA
MOVR6,#8; gelung 8 kali, membaca bait
RD11:Clrdat
MOVR4,#4
TIDAK; Tahap rendah berlangsung selama 2μs
SETBDAT; Tetapkan baris port kepada input
RD12:DJNZR4,RD12
; Tunggu selama 8μs
MOVC,DARIPADA T
;Hos membaca data DS18B20 sedikit demi sedikit
RRCA;Data yang dibaca dipindahkan ke A
MOVR5,#30
RD13:DJNZR5,RD13
;Pastikan proses membaca berlangsung selama 60μs
DJNZR6,RD11
;Selepas membaca satu bait data, simpan dalam A
SETBDAT
RET
;-------------------------
Hos mesti melalui tiga langkah untuk mengawal DS18B20 untuk melengkapkan penukaran suhu: permulaan, arahan operasi ROM, dan arahan operasi ingatan. DS18B20 mesti dimulakan untuk memulakan penukaran sebelum membaca nilai penukaran suhu. Dengan mengandaikan bahawa hanya satu cip disambungkan kepada satu talian, ketepatan penukaran 12-bit lalai digunakan, dan bekalan kuasa luaran digunakan, GETWD subrutin boleh ditulis untuk melengkapkan penukaran dan membaca nilai suhu.

Berbakat:LCALLINIT
BERGERAK,#0CCH
LCALLWRITE; hantar arahan ROM langkau
BERGERAK,#44H
LCALLWRITE; hantar arahan penukaran mula
LCALLINIT
BERGERAK,#0CCH; hantar arahan ROM langkau
LCALLWRITE
BERGERAK,#0 BEH; hantar perintah ingatan baca
LCALLWRITE
LCALLREAD
MOVWDLSB,A
; hantar bait rendah nilai suhu ke WDLSB
LCALLREAD
MOVWDMSB,A
; hantar bait tinggi nilai suhu ke WDMSB
RET
……

Bait tinggi nilai suhu yang dibaca oleh subrutin GETWD dihantar ke unit WDMSB, dan bait rendah dihantar ke unit WDLSB. Kemudian mengikut format perwakilan bait nilai suhu dan bit tandanya, nilai suhu sebenar boleh diperolehi melalui penjelmaan mudah.

Jika berbilang DS18B20 disambungkan pada satu talian, mod sambungan bekalan kuasa parasit diguna pakai, konfigurasi ketepatan penukaran, penggera had tinggi dan rendah, dll. diperlukan. Maka penulisan subrutin GETWD akan menjadi lebih rumit. Kerana keterbatasan ruang, bahagian ini tidak akan diterangkan secara terperinci. Sila rujuk kandungan yang berkaitan.

Kami telah berjaya menggunakan DS18B20 pada “mandian pemanas rumah” sistem kawalan yang kami bangunkan. Kelajuan penukarannya yang pantas, ketepatan penukaran yang tinggi, dan antara muka yang ringkas dengan mikropemproses telah membawa kemudahan besar kepada kerja reka bentuk perkakasan, mengurangkan kos dan memendekkan kitaran pembangunan dengan berkesan.