Ponúkame širokú škálu najlepších 1-Wire DS18B20 senzorových konektorov, vrátane Nanoflexu, DisplayPort, USB, Solárne, SATA, HDMI, TO JE NÁPAD, SAV & mnoho ďalších. Všetky káble sú vyrábané podľa najvyšších priemyselných štandardov. Použitie zostavy obvodov snímača na zostavenie škatúľ vám umožní zamerať sa na váš dizajn a marketing, znížiť náklady, a využívať výhody našich montážnych liniek, procesy QA, a výrobná odbornosť.
Senzor DS18B20 komunikuje pomocou “1-Drôt” protokol, čo znamená, že používa jedinú dátovú linku na všetku komunikáciu s mikrokontrolérom, umožňuje pripojenie viacerých senzorov na rovnakú linku a ich identifikáciu podľa ich jedinečného 64-bitového sériového kódu; táto jediná dátová linka je vytiahnutá vysoko pomocou rezistora a snímač prenáša dáta tak, že v určitých časových intervaloch potiahne linku nízko, aby poslal bity informácií.
Snímač teploty DS18B20: Vodotesná sonda DS18B20 je určená na použitie pod vodou, schopné prevádzky vo vlhkom alebo vlhkom prostredí bez poškodenia vodou alebo vlhkosťou.
Napájacie napätie snímača teploty: 3.0V ~ 5,25 V;
Rozsah prevádzkových teplôt:-55 ℃ až +125 ℃ (-67 ℉ do +257 ℉);
Poskytuje 9-bitové až 12-bitové meranie teploty v stupňoch Celzia;
Adaptérový modul je vybavený pull-up rezistorom, a priamo sa pripája k GPIO Raspberry Pi bez externého odporu;
Použite túto súpravu adaptérového modulu na zjednodušenie pripojenia vodotesného snímača teploty k vášmu projektu.
1. Kľúčové body protokolu 1-Wire:
Jedna dátová linka:
Na komunikáciu medzi snímačom a mikrokontrolérom je potrebný iba jeden vodič.
Poloduplexná komunikácia:
Dáta je možné posielať oboma smermi, ale vždy len jedným smerom.
Sila parazitov:
DS18B20 môže byť počas komunikácie napájaný priamo z dátovej linky, v niektorých prípadoch eliminuje potrebu samostatného napájania.
Jedinečné adresy zariadení:
Každý snímač DS18B20 má jedinečný 64-bitový sériový kód, ktorý umožňuje mikrokontroléru identifikovať a adresovať jednotlivé snímače na zbernici.
Komunikačné kroky s DS18B20:
1.1 Resetovať pulz:
Mikrokontrolér zaháji komunikáciu stiahnutím dátovej linky na určitú dobu (resetovať pulz).
1.2 Pulz prítomnosti:
Ak je na zbernici prítomný DS18B20, bude reagovať krátkym pulzom, čo naznačuje jeho prítomnosť.
1.3 príkaz ROM:
Mikrokontrolér odošle príkaz ROM, aby buď prečítal jedinečný 64-bitový kód konkrétneho senzora (“Zápas ROM”) alebo adresovať všetky snímače na zbernici (“Preskočiť ROM”).
1.4 Príkaz funkcie:
V závislosti od požadovanej operácie (ako čítanie teploty), mikrokontrolér odošle do snímača špecifický funkčný príkaz.
1.5 Prenos dát:
Dáta sa prenášajú bit po bite, so snímačom stiahnutím dátového vedenia nízko na odoslanie a ‘0’ a nechať čiaru ísť vysoko, aby sa poslala „1“.
2. Podrobné vysvetlenie 1-Wire komunikačného protokolu DS18B20
Dôvod, prečo sú snímače DS18B20 široko používané, je do značnej miery spôsobený ich jedinečným komunikačným protokolom – 1-Drôtový komunikačný protokol. Tento protokol zjednodušuje požiadavky na hardvérové pripojenia a poskytuje efektívny spôsob prenosu údajov. Táto kapitola podrobne analyzuje pracovný mechanizmus a proces výmeny údajov 1-riadkového komunikačného protokolu s cieľom položiť pevný základ pre následnú programovaciu prax..
2.1 Základy 1-Wire komunikačného protokolu
2.1.1 Vlastnosti 1-Wire komunikačného protokolu:
Nazýva sa aj 1-Wire Communication Protocol DS18B20 “jediný autobus” technológie. Má nasledujúce vlastnosti: – Komunikácia po jednej zbernici: Na obojsmerný prenos dát sa používa iba jedna dátová linka, čo výrazne znižuje zložitosť zapojenia v porovnaní s tradičnou viacvodičovou komunikačnou metódou snímača. – Pripojenie viacerých zariadení: Podporuje pripojenie viacerých zariadení na jednu dátovú zbernicu, a identifikuje a komunikuje prostredníctvom identifikačných kódov zariadenia. – Nízka spotreba energie: Počas komunikácie, zariadenie môže byť v pohotovostnom režime s nízkou spotrebou energie, keď sa nezúčastňuje komunikácie. – Vysoká presnosť: S kratším časom prenosu dát, môže znížiť vonkajšie rušenie a zlepšiť presnosť údajov.
2.1.2 Formát dát a časová analýza 1-wire komunikácie
Formát údajov 1-wire komunikačného protokolu sa riadi špecifickým pravidlom časovania. Zahŕňa časovanie inicializácie, čas zápisu a čas čítania:
Načasovanie inicializácie: Hostiteľ najskôr spustí časovanie detekcie prítomnosti (Pulz prítomnosti) potiahnutím autobusu na určitý čas, a senzor potom odošle impulz prítomnosti ako odpoveď.
Napíšte načasovanie: Keď hostiteľ odošle čas zápisu, najprv stiahne autobus na cca 1-15 mikrosekúnd, potom autobus uvoľní, a senzor stiahne autobus 60-120 mikrosekúnd na odpoveď.
Prečítajte si časovanie: Hostiteľ upozorní snímač, aby odoslal údaje, stiahnutím zbernice a jej uvoľnením, a snímač odošle dátový bit na zbernicu po určitom oneskorení.
2.2 Softvérová implementácia dátovej komunikácie
2.2.1 Inicializácia a reset 1-linkovej komunikácie
Na úrovni softvéru, inicializácia a reset 1-Wire komunikácie je prvým krokom komunikácie. Nasleduje pseudokód na implementáciu tohto procesu:
// Funkcia inicializácie komunikácie OneWire
zrušiť OneWire_Init() {
// Nastavte zbernicu na vstupný režim a aktivujte pull-up rezistor
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
// Počkajte, kým bude autobus nečinný
OneskorenieMikrosekundy(1);
// Pošlite resetovací impulz
OneWire_Reset();
}
// Funkcia resetovania komunikácie OneWire
void OneWire_Reset() {
// Stiahnite autobus
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
OneskorenieMikrosekundy(480);
// Uvoľnite autobus
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
OneskorenieMikrosekundy(70);
// Počkajte na prítomnosť pulzu
ak (!WaitForOneWirePresence())
// Nebol zistený žiadny pulz, možno snímač nie je pripojený alebo inicializácia zlyhala
HandleError();
OneskorenieMikrosekundy(410);
}
// Čakanie na prítomnosť pulzu
bool WaitForOneWirePresence() {
vrátiť ReadPin(DS18B20_PIN) == 0; // Predpokladajme, že nízka úroveň je prítomnosť signálu
}
2.2.2 Operácie čítania a zápisu údajov
Operácie čítania a zápisu údajov sú základnou súčasťou komunikácie senzorov. Nasledujúci kód ukazuje, ako zapísať bajt do jednodrôtovej zbernice:
// Zapíšte bajt do jednodrôtovej zbernice
void OneWire_WriteByte(bajtové dáta) {
pre (int i = 0; i < 8; i++) {
OneWire_WriteBit(údajov & 0x01);
údajov >>= 1;
}
}
// Napíšte kúsok do jednodrôtovej zbernice
void OneWire_WriteBit(bitové dáta) {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
ak (údajov) {
// Pri písaní uvoľnite zbernicu 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
OneskorenieMikrosekundy(1);
} inak {
// Pri písaní pokračujte v ťahaní zbernice nízko 0
OneskorenieMikrosekundy(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
OneskorenieMikrosekundy(1);
}
Ďalej je funkcia na čítanie bajtu:
// Prečítajte si bajt z jednodrôtovej zbernice
byte OneWire_ReadByte() {
bajtové údaje = 0;
pre (int i = 0; i < 8; i++) {
údajov >>= 1;
ak (OneWire_ReadBit())
údajov |= 0x80;
}
vrátiť údaje;
}
// Prečítajte si kúsok z jednodrôtovej zbernice
bit OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
OneskorenieMikrosekundy(3);
bool výsledok = ReadPin(DS18B20_PIN);
OneskorenieMikrosekundy(57);
vrátiť výsledok;
}
2.2.3 Overovací mechanizmus komunikácie OneWire
Komunikačný protokol OneWire využíva v procese výmeny údajov jednoduchý overovací mechanizmus, zvyčajne spätným prečítaním zapísaných údajov na overenie správnosti údajov. Nasleduje vzorový kód na overenie zapísaných údajov:
bajtové údaje = 0x55; // Predpokladajme, že údaje, ktoré sa majú odoslať
OneWire_WriteByte(údajov); // Zapisujte údaje na zbernicu OneWire
byte readData = OneWire_ReadByte(); // Spätné čítanie údajov zo zbernice OneWire
ak (readData != údaje) {
HandleError(); // Ak sa načítané údaje nezhodujú so zapísanými údajmi, zvládnuť 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





