Kami menawarkan pelbagai jenis penyambung sensor 1-Wire DS18B20 terbaik, termasuk Nanoflex, DisplayPort, USB, suria, SATA, HDMI, ITU IDEA, SAS & banyak lagi. Semua kabel dihasilkan mengikut piawaian industri tertinggi. Menggunakan Pemasangan Litar Sensor untuk binaan kotak membolehkan anda menumpukan pada reka bentuk dan pemasaran anda, mengurangkan kos, dan dapatkan faedah daripada barisan pemasangan kami, proses QA, dan kepakaran pembuatan.
Sensor DS18B20 berkomunikasi menggunakan “1-Wayar” protokol, yang bermaksud ia menggunakan satu talian data untuk semua komunikasi dengan mikropengawal, membenarkan berbilang penderia disambungkan pada baris yang sama dan dikenal pasti melalui kod bersiri 64-bit unik mereka; talian data tunggal ini ditarik tinggi dengan perintang dan sensor menghantar data dengan menarik talian rendah semasa slot masa tertentu untuk menghantar bit maklumat.
Penderia Suhu DS18B20: Probe kalis air DS18B20 direka untuk kegunaan dalam air, mampu beroperasi dalam persekitaran basah atau lembap tanpa rosak oleh air atau lembapan.
Voltan bekalan sensor suhu: 3.0V ~ 5.25V;
Julat suhu operasi:-55 ℃ hingga +125 ℃ (-67 ℉ kepada +257 ℉);
Menyediakan pengukuran suhu 9-bit hingga 12-bit Celsius;
Modul penyesuai dilengkapi dengan perintang tarik naik, dan bersambung terus ke GPIO Raspberry Pi tanpa perintang luaran;
Gunakan kit modul penyesuai ini untuk memudahkan penyambungan penderia suhu kalis air ke projek anda.
1. Perkara utama mengenai protokol 1-Wire:
Talian data tunggal:
Hanya satu wayar diperlukan untuk komunikasi antara sensor dan mikropengawal.
Komunikasi separuh dupleks:
Data boleh dihantar dalam kedua-dua arah, tetapi hanya satu arah pada satu masa.
Kuasa parasit:
DS18B20 boleh dikuasakan terus dari talian data semasa komunikasi, menghapuskan keperluan untuk bekalan kuasa berasingan dalam beberapa kes.
Alamat peranti yang unik:
Setiap sensor DS18B20 mempunyai kod bersiri 64-bit unik yang membolehkan mikropengawal mengenal pasti dan menangani penderia individu pada bas.
Langkah komunikasi dengan DS18B20:
1.1 Tetapkan semula nadi:
Pengawal mikro memulakan komunikasi dengan menarik talian data rendah untuk tempoh tertentu (menetapkan semula nadi).
1.2 Kehadiran nadi:
Jika DS18B20 hadir dalam bas, ia akan bertindak balas dengan nadi yang pendek, menunjukkan kehadirannya.
1.3 arahan ROM:
Mikropengawal menghantar arahan ROM untuk sama ada membaca kod 64-bit unik bagi penderia tertentu (“Padankan ROM”) atau untuk menangani semua penderia pada bas (“Langkau rom”).
1.4 Perintah fungsi:
Bergantung pada operasi yang dikehendaki (seperti suhu bacaan), mikropengawal menghantar arahan fungsi tertentu kepada sensor.
1.5 Pemindahan data:
Data dihantar sedikit demi sedikit, dengan sensor menarik talian data rendah untuk menghantar a ‘0’ dan membiarkan talian tinggi untuk menghantar '1'.
2. Penjelasan terperinci tentang protokol komunikasi 1-Wayar DS18B20
Sebab mengapa penderia DS18B20 digunakan secara meluas adalah disebabkan oleh protokol komunikasinya yang unik – 1-Protokol komunikasi wayar. Protokol ini memudahkan keperluan untuk sambungan perkakasan dan menyediakan cara yang cekap untuk menghantar data. Bab ini akan menganalisis secara mendalam mekanisme kerja dan proses pertukaran data protokol komunikasi 1 talian untuk meletakkan asas yang kukuh untuk amalan pengaturcaraan seterusnya.
2.1 Asas Protokol Komunikasi 1-Wayar
2.1.1 Ciri-ciri Protokol Komunikasi 1-Wayar:
DS18B20 1-Wire Communication Protocol juga dipanggil “bas tunggal” teknologi. Ia mempunyai ciri-ciri berikut: – Komunikasi bas tunggal: Hanya satu talian data digunakan untuk penghantaran data dua arah, yang sangat mengurangkan kerumitan pendawaian berbanding kaedah komunikasi penderia berbilang wayar tradisional. – Sambungan berbilang peranti: Menyokong penyambungan berbilang peranti pada satu bas data, dan mengenal pasti dan berkomunikasi melalui kod pengenalan peranti. – Penggunaan kuasa yang rendah: Semasa komunikasi, peranti boleh berada dalam keadaan siap sedia berkuasa rendah apabila tidak mengambil bahagian dalam komunikasi. – Ketepatan tinggi: Dengan masa penghantaran data yang lebih singkat, ia boleh mengurangkan gangguan luar dan meningkatkan ketepatan data.
2.1.2 Format data dan analisis masa komunikasi 1 wayar
Format data protokol komunikasi 1 wayar mengikut peraturan pemasaan tertentu. Ia termasuk pemasaan permulaan, menulis masa dan membaca masa:
Masa permulaan: Hos mula-mula memulakan pemasaan pengesanan kehadiran (Nadi Kehadiran) dengan menurunkan bas untuk tempoh masa tertentu, dan sensor kemudian menghantar nadi kehadiran sebagai tindak balas.
Tulis masa: Apabila hos menghantar masa tulis, ia mula-mula menarik ke bawah bas selama kira-kira 1-15 mikrosaat, kemudian melepaskan bas, dan sensor menarik bas ke bawah 60-120 mikrosaat untuk bertindak balas.
Baca masa: Hos memberitahu penderia untuk menghantar data dengan menarik bas ke bawah dan melepaskannya, dan sensor akan mengeluarkan bit data pada bas selepas kelewatan tertentu.
2.2 Pelaksanaan perisian komunikasi data
2.2.1 Permulaan dan tetapan semula komunikasi 1 talian
Pada peringkat perisian, pemulaan dan set semula komunikasi 1-Wire ialah langkah pertama komunikasi. Berikut ialah kod pseudo untuk melaksanakan proses ini:
// Fungsi permulaan komunikasi OneWire
batalkan OneWire_Init() {
// Tetapkan bas kepada mod input dan dayakan perintang tarik naik
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
// Tunggu bas terbiar
LengahMikrosaat(1);
// Hantar nadi set semula
OneWire_Reset();
}
// Fungsi set semula komunikasi OneWire
batalkan OneWire_Reset() {
// Turun bas
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
LengahMikrosaat(480);
// Lepaskan bas
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
LengahMikrosaat(70);
// Tunggu kehadiran nadi
jika (!WaitForOneWirePresence())
// Tiada denyutan dikesan, mungkin sensor tidak disambungkan atau pengamulaan gagal
HandleError();
LengahMikrosaat(410);
}
// Menunggu kehadiran nadi
bool WaitForOneWirePresence() {
kembalikan ReadPin(DS18B20_PIN) == 0; // Andaikan tahap rendah ialah kehadiran isyarat
}
2.2.2 Operasi membaca dan menulis data
Operasi membaca dan menulis data adalah bahagian teras komunikasi sensor. Kod berikut menunjukkan cara menulis bait ke bas satu wayar:
// Tulis bait ke bas satu wayar
batalkan OneWire_WriteByte(data bait) {
untuk (int i = 0; i < 8; i++) {
OneWire_WriteBit(data & 0x01);
data >>= 1;
}
}
// Tulis sedikit kepada bas satu wayar
batalkan OneWire_WriteBit(data bit) {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
jika (data) {
// Lepaskan bas semasa menulis 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
LengahMikrosaat(1);
} lain {
// Terus tarik bas rendah semasa menulis 0
LengahMikrosaat(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
LengahMikrosaat(1);
}
Seterusnya ialah fungsi untuk membaca bait:
// Baca satu bait daripada bas satu wayar
bait OneWire_ReadByte() {
data bait = 0;
untuk (int i = 0; i < 8; i++) {
data >>= 1;
jika (OneWire_ReadBit())
data |= 0x80;
}
mengembalikan data;
}
// Baca sedikit dari bas satu wayar
bit OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
LengahMikrosaat(3);
hasil bool = ReadPin(DS18B20_PIN);
LengahMikrosaat(57);
pulangan hasil;
}
2.2.3 Mekanisme pengesahan komunikasi OneWire
The OneWire communication protocol uses a simple verification mechanism in the data exchange process, usually by reading back the written data to verify the correctness of the data. The following is a sample code for verifying the written data:
byte data = 0x55; // Assume that the data to be sent
OneWire_WriteByte(data); // Write data to the OneWire bus
byte readData = OneWire_ReadByte(); // Read back data from the OneWire bus
jika (readData != data) {
HandleError(); // If the read-back data does not match the written data, handle the error
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





