Pengenalan Pengetahuan Sensor Suhu DS18B20
DS18B20 adalah sensor suhu digital yang umum digunakan. Ini mengeluarkan sinyal digital, mempunyai ciri-ciri berukuran kecil, overhead perangkat keras yang rendah, kemampuan anti-interferensi yang kuat, presisi tinggi, dan digunakan secara luas.
Pengantar Sensor Suhu DS18B20
Fitur Teknis:
①. Mode antarmuka kabel tunggal yang unik. Ketika DS18B20 terhubung ke mikroprosesor, hanya 1 kawat diperlukan untuk mewujudkan komunikasi dua arah antara mikroprosesor dan DS18B20.
②. Rentang pengukuran suhu -55℃~+125℃, kesalahan pengukuran suhu bawaan 1℃.
③. Mendukung fungsi jaringan multi-titik. Beberapa DS18B20 dapat dihubungkan secara paralel hanya dengan tiga kabel, dan maksimal 8 dapat dihubungkan secara paralel untuk mewujudkan pengukuran suhu multi-titik. Jika jumlahnya terlalu besar, the power supply voltage will be too low, resulting in unstable signal transmission.
④. Working power supply: 3.0~5.5V/DC (data line parasitic power supply can be used).
⑤. No peripheral components are required during use.
⑥. The measurement results are transmitted serially in 9~12-bit digital form.
⑦. The diameter of the stainless steel protective tube is Φ6.
⑧. It is suitable for temperature measurement of various medium industrial pipelines of DN15~25, DN40~DN250 and equipment in narrow spaces.
⑨. Standard installation threads M10X1, M12X1.5, G1/2” are optional.
⑩. PVC cable is directly connected or German ball-type junction box is connected, which is convenient for connection with other electrical equipment.
DS18B20 read and write timing and temperature measurement principle:
Prinsip pengukuran suhu DS18B20 ditunjukkan pada Gambar 1. Frekuensi osilasi osilator kristal koefisien suhu rendah pada gambar sedikit dipengaruhi oleh suhu, dan digunakan untuk menghasilkan sinyal pulsa frekuensi tetap untuk dikirim ke counter 1. Frekuensi osilasi osilator kristal koefisien suhu tinggi berubah secara signifikan terhadap suhu, dan sinyal yang dihasilkan digunakan sebagai masukan pulsa pencacah 2. Menangkal 1 dan register suhu telah diatur ke nilai dasar yang sesuai dengan -55℃. Menangkal 1 mengurangi sinyal pulsa yang dihasilkan oleh osilator kristal koefisien suhu rendah. Ketika nilai penghitung yang telah ditetapkan 1 dikurangi menjadi 0, nilai register suhu akan ditingkatkan sebesar 1, dan preset penghitung 1 akan dimuat ulang. Menangkal 1 restart untuk menghitung sinyal pulsa yang dihasilkan oleh osilator kristal koefisien suhu rendah, dan siklus berlanjut hingga counter 2 diperhitungkan 0, menghentikan akumulasi nilai register suhu. Saat ini, nilai dalam register suhu adalah suhu yang diukur. Akumulator kemiringan digunakan untuk mengkompensasi dan memperbaiki ketidaklinieran dalam proses pengukuran suhu, dan outputnya digunakan untuk mengoreksi nilai penghitung yang telah ditetapkan 1.
Angka 1 adalah sebagai berikut:
2. Diagram koneksi DS18B20 dan MCU
3. Definisi pin DS18B20:
DQ: masukan/keluaran data. Buka saluran pembuangan antarmuka 1-kawat. Ini juga dapat memberikan daya ke perangkat saat digunakan dalam mode daya parasit VDD: GND catu daya positif: medan listrik 4. Pengenalan analisis internal DS18B20:
Gambar di atas menunjukkan diagram blok DS18B20, dan ROM 64-bit menyimpan kode serial unik perangkat. Memori buffer berisi 2 byte register suhu yang menyimpan output digital dari sensor suhu. Selain itu, memori buffer menyediakan akses ke register pemicu alarm 1 byte atas dan bawah (TH dan TL) dan register konfigurasi 1-byte. Register konfigurasi memungkinkan pengguna untuk mengatur resolusi suhu ke konversi digital 9, 10, 11, atau 12 bit. TH, TL, dan register konfigurasi bersifat non-volatil (EEPROM), sehingga mereka akan menyimpan data saat perangkat dimatikan. DS18B20 menggunakan protokol bus 1-kabel unik Maxim, yang menggunakan sinyal kontrol. Jalur kontrol memerlukan resistor pull-up yang lemah karena semua perangkat terhubung ke bus melalui port 3-negara atau port saluran terbuka (Pin DQ dalam kasus DS18B20). Dalam sistem bus ini mikroprosesor (menguasai) menggunakan kode 64-bit unik untuk setiap perangkat. Karena setiap perangkat mempunyai kode unik, jumlah perangkat yang dapat dialamatkan dalam satu bus sebenarnya tidak terbatas.
Format Daftar Suhu
Hubungan Suhu/Data
Sinyal Alarm Operasi
Setelah DS18B20 melakukan konversi suhu, ini membandingkan nilai suhu dengan nilai pemicu alarm komplemen yang ditentukan pengguna yang disimpan dalam register TH dan TL 1-byte. Bit tanda menunjukkan apakah nilainya positif atau negatif: positif S = 0, negatif S=1. Register TH dan TL bersifat non-volatil (EEPROM) dan oleh karena itu tidak mudah berubah ketika perangkat dimatikan. TH dan TL dapat diakses melalui byte 2 Dan 3 dari memori.
Format pendaftaran TH dan TL:
Diagram skema memberi daya pada DS18B20 menggunakan catu daya eksternal
64-kode memori read-only laser bit:
Setiap DS18B20 berisi kode 64-bit unik yang disimpan dalam ROM. Yang paling tidak signifikan 8 bit kode ROM berisi kode keluarga kabel tunggal DS18B20: 28H. Berikutnya 48 bit berisi nomor seri unik. Yang paling signifikan 8 bit berisi pemeriksaan redundansi siklik (CRC) byte, yang dihitung dari yang pertama 56 potongan kode ROM.
Peta memori DS18B20
Daftar Konfigurasi:
Angka 2
byte 4 memori berisi register konfigurasi, yang disusun seperti yang ditunjukkan pada Gambar 2. Pengguna dapat mengatur resolusi konversi DS18B20 menggunakan bit R0 dan R1 di sini seperti yang ditunjukkan pada Tabel 2. Default penyalaan untuk bit-bit ini adalah R0 = 1 dan R1 = 1 (12-resolusi sedikit). Perhatikan bahwa ada hubungan langsung antara resolusi dan waktu konversi. Sedikit 7 dan bit 0 ke 4 dalam register konfigurasi dicadangkan untuk penggunaan internal perangkat dan tidak dapat ditimpa.
Meja 2 Konfigurasi Resolusi Termometer
Generasi CRC
Byte CRC adalah bagian dari kode ROM 64-bit DS18B20 dan disediakan dalam byte ke-9 dari scratchpad. Kode ROM CRC dihitung dari yang pertama 56 bit kode ROM dan terkandung dalam byte paling signifikan dari ROM. CRC scratchpad dihitung berdasarkan data yang disimpan di scratchpad, jadi berubah ketika data di scratchpad berubah. CRC menyediakan host bus metode verifikasi data saat membaca data dari DS18B20. Setelah memverifikasi bahwa data telah dibaca dengan benar, master bus harus menghitung ulang CRC dari data yang diterima dan kemudian membandingkan nilai tersebut dengan kode ROM CRC (untuk pembacaan ROM) atau CRC papan gores (untuk membaca scratchpad). Jika CRC yang dihitung cocok dengan CRC yang dibaca, data telah diterima dengan benar. Keputusan untuk membandingkan nilai CRC dan melanjutkan sepenuhnya merupakan kebijaksanaan nakhoda bus. Tidak ada sirkuit di dalam DS18B20 yang akan mencegah pelaksanaan urutan perintah jika:
CRC DS18B20 (ROM atau papan gores) tidak sesuai dengan nilai yang dihasilkan oleh master bus.
Fungsi polinomial yang setara untuk CRC adalah:
KKR = X8 + X5 + X4 + 1
Master bus dapat menghitung ulang CRC dan membandingkannya dengan nilai CRC DS18B20 dengan menggunakan:
Generator polinomial ditunjukkan pada Gambar 3. Sirkuit ini mencakup register geser dan gerbang yihuo, dan bit register geser diinisialisasi ke 0. Bit paling tidak signifikan dari kode ROM atau bit byte paling tidak signifikan 0 di scratchpad harus digeser ke dalam shift register satu per satu. Setelah bergeser sedikit 56 dari ROM atau bit byte paling signifikan 7 dari papan gores, generator polinomial akan berisi CRC yang dihitung ulang. Berikutnya, kode ROM 8 bit atau sinyal CRC di scratchpad DS18B20 harus digeser ke rangkaian. Pada titik ini, jika CRC yang dihitung ulang benar, register geser akan menjadi 0 semua.
Angka 3: Pembangkit CRC
V. Mengakses DS18B20:
Urutan untuk mengakses DS18B20 adalah sebagai berikut:
Melangkah 1. Inisialisasi;
Melangkah 2. perintah ROM (diikuti dengan pertukaran data yang diperlukan);
Melangkah 3. Perintah fungsi DS18B20 (diikuti dengan pertukaran data yang diperlukan);
Catatan: Urutan ini diikuti setiap kali DS18B20 diakses, karena DS18B20 tidak akan merespon jika ada langkah dalam urutan yang hilang atau rusak. Pengecualian terhadap aturan ini adalah Search ROM [F0h] dan Pencarian Alarm [Ech] perintah. Setelah mengeluarkan dua perintah ROM ini, tuan rumah harus kembali melangkah 1 berurutan.
(Pengenalan di atas diterjemahkan dari manual resmi)
Perintah ROM
1, Baca ROM [33H]
2, Cocokkan ROM [55H]
3, Lewati ROM [CCh]
4, Pencarian Alarm [Ech]
Perintah Fungsi DS18B20
1, Konversi Suhu [44H]
2, Tulis Scratchpad (Ingatan) [4Eh]
3, Baca Scratchpad (Ingatan) [BEh]
4, Salin Scratchpad (Ingatan [48H]
5, Bangunkan kembali E2 [B8h]
6, Baca Kekuatan [B4 jam]
(Untuk penjelasan rinci tentang perintah di atas, lihat manual resminya)
VI. Akses Waktu DS18B20
Selama proses inisialisasi, master bus mengirimkan pulsa reset (terima kasih) level rendah setidaknya selama 480µs dengan menarik bus 1-Wire. Kemudian, master bus melepaskan bus dan memasuki mode penerimaan (RX). Setelah melepaskan bus, resistor penarik 5kΩ menarik bus 1-Kabel tinggi. Saat DS18B20 mendeteksi peningkatan ini, ia menunggu 15µs hingga 60µs dan kemudian mengirimkan pulsa kehadiran dengan menarik bus 1-Wire rendah selama 60µs hingga 240µs.
Waktu Inisialisasi:
Ada dua jenis slot waktu tulis: “Tulis 1” slot waktu dan “Tulis 0” slot waktu. Bus menggunakan Write 1 slot waktu untuk menulis logika 1 ke DS18B20 dan Tulis 0 slot waktu untuk menulis logika 0 ke DS18B20. Semua slot waktu tulis harus berdurasi minimal 60µs dengan waktu pemulihan minimal 1µs antara masing-masing slot waktu tulis. Kedua jenis slot waktu tulis ini dimulai oleh master yang menarik bus 1-Wire ke posisi rendah (lihat Gambar 14). Untuk menghasilkan Tulis 1 slot waktu, setelah menarik bus 1-Wire ke rendah, master bus harus melepaskan bus 1-Wire dalam waktu 15µs. Setelah melepaskan bus, resistor pull-up 5kΩ menarik bus tinggi-tinggi. Hasilkan a
Menulis 0 slot waktu, setelah menarik garis 1-Wire ke rendah, master bus harus terus menahan bus tetap rendah selama durasi slot waktu (setidaknya 60µs). DS18B20 mengambil sampel bus 1-Wire dalam rentang waktu 15µs hingga 60µs setelah master memulai slot waktu tulis. Jika bus tinggi selama jendela pengambilan sampel, A 1 ditulis ke DS18B20. Jika garisnya rendah, A 0 ditulis ke DS18B20.
Catatan: Timeslot adalah bagian dari serial self-multiplexing informasi slot waktu yang didedikasikan untuk satu saluran.
Angka 14 adalah sebagai berikut:
Slot waktu baca:
DS18B20 hanya dapat mengirim data ke host ketika host mengeluarkan slot waktu baca. Karena itu, host harus membuat slot waktu baca segera setelah mengeluarkan Perintah Memori Baca [BEh] atau Catu Daya Baca [B4 jam] perintah agar DS18B20 menyediakan data yang diperlukan. Alternatifnya, tuan rumah dapat membuat slot waktu baca setelah mengeluarkan Convert T [44H] atau Ingat E2 [B8h] perintah untuk mengetahui statusnya. Semua slot waktu baca harus berdurasi minimal 60µs dengan waktu pemulihan minimal 1µs antar slot waktu. Slot waktu baca dimulai dengan master menarik bus 1-Kabel ke posisi rendah agar tetap rendah selama minimal 1µs dan kemudian melepaskan bus (lihat Gambar 14). Setelah master memulai slot waktu baca, DS18B20 akan mulai mengirimkan 1 atau 0 di bus. DS18B20 mengirimkan a 1 dengan mengangkat bus tinggi-tinggi dan mengirimkan a 0 dengan menarik bus rendah. Ketika sebuah 0 dikirim, DS18B20 melepaskan bus dengan memegang bus tinggi-tinggi. Slot waktu berakhir dan bus ditarik kembali ke kondisi idle tinggi oleh resistor pull-up.
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
















