Nabízíme širokou škálu nejlepších senzorových konektorů 1-Wire DS18B20, včetně Nanoflexu, DisplayPort, USB, Sluneční, SATA, HDMI, TO JE NÁPAD, SAS & mnoho dalších. Všechny kabely jsou vyráběny podle nejvyšších průmyslových standardů. Použití sestavy obvodů senzoru pro sestavování krabic vám umožní soustředit se na svůj design a marketing, snížit náklady, a využívat výhod našich montážních linek, QA procesy, a výrobní odbornost.
Senzor DS18B20 komunikuje pomocí “1-Drát” protokol, což znamená, že pro veškerou komunikaci s mikrokontrolérem používá jedinou datovou linku, umožňuje připojení více senzorů na stejnou linku a jejich identifikaci podle jejich jedinečného 64bitového sériového kódu; tato jediná datová linka je vytažena vysoko pomocí rezistoru a senzor přenáší data stažením linky nízko během určitých časových úseků, aby posílal bity informací.
Snímač teploty DS18B20: Vodotěsná sonda DS18B20 je určena pro použití pod vodou, schopné provozu v mokrém nebo vlhkém prostředí bez poškození vodou nebo vlhkostí.
Napájecí napětí snímače teploty: 3.0V ~ 5,25V;
Provozní teplotní rozsah:-55 ℃ až +125 ℃ (-67 ℉ do +257 ℉);
Poskytuje 9bitové až 12bitové měření teploty Celsia;
Adaptérový modul je vybaven pull-up rezistorem, a přímo se připojuje k GPIO Raspberry Pi bez externího odporu;
Použijte tuto sadu adaptérového modulu ke zjednodušení připojení vodotěsného teplotního senzoru k vašemu projektu.
1. Klíčové body protokolu 1-Wire:
Jedna datová linka:
Pro komunikaci mezi senzorem a mikrokontrolérem je potřeba pouze jeden vodič.
Poloduplexní komunikace:
Data lze odesílat oběma směry, ale vždy jen jedním směrem.
Síla parazitů:
DS18B20 lze během komunikace napájet přímo z datové linky, v některých případech odpadá potřeba samostatného napájení.
Jedinečné adresy zařízení:
Každý senzor DS18B20 má jedinečný 64bitový sériový kód, který umožňuje mikrokontroléru identifikovat a adresovat jednotlivé senzory na sběrnici.
Komunikační kroky s DS18B20:
1.1 Resetujte pulz:
Mikrokontrolér zahájí komunikaci stažením datové linky na nízkou úroveň po určitou dobu (resetovat puls).
1.2 Pulz přítomnosti:
Pokud je na sběrnici přítomen DS18B20, bude reagovat krátkým pulzem, naznačující jeho přítomnost.
1.3 příkaz ROM:
Mikrokontrolér odešle příkaz ROM, aby buď přečetl jedinečný 64bitový kód konkrétního senzoru (“Zápas ROM”) nebo adresovat všechny senzory na sběrnici (“Přeskočit ROM”).
1.4 Příkaz funkce:
V závislosti na požadované operaci (jako čtení teploty), mikrokontrolér odešle do senzoru specifický funkční příkaz.
1.5 Přenos dat:
Data jsou přenášena bit po bitu, se senzorem stáhne datovou linku nízko, aby odeslal a ‘0’ a nechat čáru jít vysoko a poslat „1“.
2. Podrobné vysvětlení 1-Wire komunikačního protokolu DS18B20
Důvodem, proč jsou senzory DS18B20 široce používány, je z velké části jeho unikátní komunikační protokol – 1-Drátový komunikační protokol. Tento protokol zjednodušuje požadavky na hardwarová připojení a poskytuje efektivní způsob přenosu dat. Tato kapitola bude hluboce analyzovat pracovní mechanismus a proces výměny dat 1-linkového komunikačního protokolu, aby položil pevný základ pro následnou programovací praxi..
2.1 Základy 1-Wire komunikačního protokolu
2.1.1 Vlastnosti 1-Wire komunikačního protokolu:
Také se nazývá DS18B20 1-Wire Communication Protocol “jediný autobus” technologie. Má následující vlastnosti: – Jednosběrnicová komunikace: Pro obousměrný přenos dat se používá pouze jedna datová linka, což výrazně snižuje složitost kabeláže ve srovnání s tradičním vícedrátovým způsobem komunikace senzorů. – Připojení více zařízení: Podporuje připojení více zařízení na jednu datovou sběrnici, a identifikuje a komunikuje prostřednictvím identifikačních kódů zařízení. – Nízká spotřeba energie: Během komunikace, zařízení může být v pohotovostním stavu s nízkou spotřebou energie, když se neúčastní komunikace. – Vysoká přesnost: S kratší dobou přenosu dat, může snížit vnější rušení a zlepšit přesnost dat.
2.1.2 Formát dat a časová analýza 1-wire komunikace
Formát dat 1-wire komunikačního protokolu se řídí konkrétním pravidlem časování. Zahrnuje časování inicializace, časování zápisu a časování čtení:
Časování inicializace: Hostitel nejprve spustí časování detekce přítomnosti (Puls přítomnosti) stažením autobusu na určitou dobu, a senzor poté odešle jako odpověď puls přítomnosti.
Napište časování: Když hostitel odešle časování zápisu, nejprve stáhne autobus na asi 1-15 mikrosekundách, pak autobus uvolní, a senzor stáhne autobus dovnitř 60-120 mikrosekundy na odpověď.
Přečtěte si časování: Hostitel upozorní senzor, aby odeslal data, stažením sběrnice a jejím uvolněním, a snímač odešle datový bit na sběrnici po určité prodlevě.
2.2 Softwarová implementace datové komunikace
2.2.1 Inicializace a reset 1-linkové komunikace
Na úrovni softwaru, inicializace a reset 1-Wire komunikace je prvním krokem komunikace. Následuje pseudokód pro implementaci tohoto procesu:
// Funkce inicializace komunikace OneWire
zrušit OneWire_Init() {
// Nastavte sběrnici do vstupního režimu a povolte pull-up rezistor
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
// Počkejte, až bude autobus nečinný
ZpožděníMikrosekundy(1);
// Pošlete resetovací impuls
OneWire_Reset();
}
// Funkce resetování komunikace OneWire
void OneWire_Reset() {
// Stáhněte autobus
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
ZpožděníMikrosekundy(480);
// Pusťte autobus
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ZpožděníMikrosekundy(70);
// Počkejte na přítomnost pulsu
-li (!WaitForOneWirePresence())
// Nebyl detekován žádný pulz, možná snímač není připojen nebo se inicializace nezdařila
HandleError();
ZpožděníMikrosekundy(410);
}
// Čekání na přítomnost pulsu
bool WaitForOneWirePresence() {
vrátit ReadPin(DS18B20_PIN) == 0; // Předpokládejme, že nízká úroveň je přítomnost signálu
}
2.2.2 Operace čtení a zápisu dat
Operace čtení a zápisu dat jsou základní součástí komunikace senzorů. Následující kód ukazuje, jak zapsat bajt na jednodrátovou sběrnici:
// Zapište bajt do jednodrátové sběrnice
void OneWire_WriteByte(bajtová data) {
pro (int i = 0; i < 8; i ++) {
OneWire_WriteBit(data & 0x01);
data >>= 1;
}
}
// Napište kousek do jednodrátové sběrnice
void OneWire_WriteBit(bitová data) {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
-li (data) {
// Při psaní uvolněte sběrnici 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ZpožděníMikrosekundy(1);
} jiný {
// Při psaní pokračujte v stahování sběrnice nízko 0
ZpožděníMikrosekundy(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ZpožděníMikrosekundy(1);
}
Další je funkce pro čtení bajtu:
// Přečtěte si bajt z jednodrátové sběrnice
byte OneWire_ReadByte() {
bajtová data = 0;
pro (int i = 0; i < 8; i ++) {
data >>= 1;
-li (OneWire_ReadBit())
data |= 0x80;
}
vrátit data;
}
// Přečtěte si kousek z jednodrátové sběrnice
bit OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ZpožděníMikrosekundy(3);
bool výsledek = ReadPin(DS18B20_PIN);
ZpožděníMikrosekundy(57);
vrátit výsledek;
}
2.2.3 Mechanismus ověřování OneWire komunikace
Komunikační protokol OneWire využívá v procesu výměny dat jednoduchý ověřovací mechanismus, obvykle zpětným přečtením zapsaných údajů pro ověření správnosti údajů. Následuje ukázkový kód pro ověření zapsaných dat:
byte data = 0x55; // Předpokládejme, že data, která mají být odeslána
OneWire_WriteByte(data); // Zápis dat na sběrnici OneWire
byte readData = OneWire_ReadByte(); // Načíst zpět data ze sběrnice OneWire
-li (readData != data) {
HandleError(); // Pokud se načtená data neshodují se zapsanými daty, zvládnout chybu
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





