Hőmérséklet-érzékelő technológia

Egyedi DS18B20 érzékelő szonda & 1-Vezetékkábel összeszerelés

DS18B20 hőmérséklet érzékelő 1 vezetékes vízálló kábel + adapterkártya készlet

A legjobb 1-vezetékes DS18B20 érzékelőcsatlakozók széles választékát kínáljuk, beleértve a Nanoflexet is, DisplayPort, USB, Nap, SATA, HDMI, EZ ÖTLET, SAS & még sok más. Minden kábel a legmagasabb ipari szabványok szerint készül. Az érzékelőáramkör-összeállítás használata dobozos összeállításokhoz lehetővé teszi, hogy a tervezésre és a marketingre összpontosítson, csökkenti a költségeket, és élvezze összeszerelősoraink előnyeit, minőségbiztosítási folyamatok, és gyártási szakértelem.

A DS18B20 érzékelő kommunikál a “1-Huzal” jegyzőkönyv, Ami azt jelenti, hogy egyetlen adatvonalat használ az összes kommunikációhoz a mikrovezérlővel, lehetővé téve több érzékelő csatlakoztatását ugyanabban a vonalon, és az egyedi 64 bites sorozatkóddal azonosítják; Ezt az egyetlen adatvonalat egy ellenállással magasan húzzák, és az érzékelő az adatokat továbbítja azáltal, hogy a vonalat az adott időrések során alacsonyan húzza, hogy biteket küldjön.

DS18B20 hőmérsékleti érzékelő: A DS18B20 vízálló szonda víz alatti használatra készült, képes nedves vagy nedves környezetben működni anélkül, hogy víz vagy nedvesség károsítaná.
Hőmérséklet-érzékelő tápfeszültsége: 3.0V ~ 5,25V;
Üzemi hőmérsékleti tartomány:-55 ℃ +125 ℃ (-67 ℉ hogy +257 ℉);
9-12 bites Celsius-hőmérsékletméréseket tesz lehetővé;
Az adapter modul felhúzó ellenállással van felszerelve, és közvetlenül csatlakozik a Raspberry Pi GPIO-jához külső ellenállás nélkül;
Használja ezt az adaptermodul készletet a vízálló hőmérséklet-érzékelő projekthez való csatlakoztatásának egyszerűsítésére.

DS18B20 digitális hőmérséklet érzékelő szonda & XH2.54-PH2.0 modul

DS18B20 digitális hőmérséklet érzékelő szonda & XH2.54-PH2.0 modul

Kínában gyártott DS18B20 chip hőmérsékletmérő TO-92 hőmérséklet-érzékelő

Kínában gyártott DS18B20 chip hőmérsékletmérő TO-92 hőmérséklet-érzékelő

DS18B20 hőmérséklet érzékelő 1 vezetékes vízálló kábel + adapterkártya készlet

DS18B20 hőmérséklet érzékelő 1 vezetékes vízálló kábel + adapterkártya készlet

1. Főbb tudnivalók az 1-Wire protokollról:
Egyetlen adatvonal:
Csak egy vezeték szükséges az érzékelő és a mikrokontroller közötti kommunikációhoz.
Félduplex kommunikáció:
Az adatok mindkét irányba küldhetők, de egyszerre csak egy irányt.
Parazita hatalom:
A DS18B20 közvetlenül az adatvezetékről táplálható kommunikáció közben, így bizonyos esetekben nincs szükség külön tápegységre.
Egyedi eszközcímek:
Minden DS18B20 érzékelő egyedi 64 bites soros kóddal rendelkezik, amely lehetővé teszi a mikrokontroller számára, hogy azonosítsa és megcímezze a buszon lévő egyes érzékelőket..
Kommunikációs lépések a DS18B20-al:
1.1 Reset impulzus:
A mikrokontroller úgy kezdeményezi a kommunikációt, hogy az adatvezetéket meghatározott ideig alacsonyra húzza (reset impulzus).
1.2 Jelenlét impulzus:
Ha DS18B20 van a buszon, rövid impulzussal fog válaszolni, jelenlétét jelezve.
1.3 ROM parancs:
A mikrokontroller ROM parancsot küld egy adott érzékelő egyedi 64 bites kódjának beolvasására (“Match ROM”) vagy a buszon lévő összes érzékelő megcímzéséhez (“ROM kihagyása”).
1.4 Funkció parancs:
A kívánt művelettől függően (mint az olvasási hőmérséklet), a mikrokontroller egy adott funkcióparancsot küld az érzékelőnek.
1.5 Adatátvitel:
Az adatok továbbítása bitenként történik, az érzékelővel az adatvezetéket alacsonyra húzva küldeni a ‘0’ és hagyja, hogy a vonal magasra menjen, hogy „1”-et küldjön.

2. A DS18B20 1 vezetékes kommunikációs protokolljának részletes magyarázata
A DS18B20 érzékelőket széles körben használják, nagyrészt az egyedi kommunikációs protokoll miatt – 1-Vezetékes kommunikációs protokoll. Ez a protokoll leegyszerűsíti a hardver kapcsolatokra vonatkozó követelményeket, és hatékony módszert kínál az adatok továbbítására. Ez a fejezet mélyen elemzi az 1-vonalú kommunikációs protokoll működési mechanizmusát és adatcsere-folyamatát, hogy szilárd alapot teremtsen a későbbi programozási gyakorlathoz.
2.1 Az 1 vezetékes kommunikációs protokoll alapjai
2.1.1 Az 1 vezetékes kommunikációs protokoll jellemzői:
A DS18B20 1 vezetékes kommunikációs protokollt is nevezik “egyetlen busz” technológia. A következő funkciókkal rendelkezik: – Egyetlen buszos kommunikáció: Csak egy adatvonalat használnak a kétirányú adatátvitelhez, ami nagymértékben csökkenti a vezetékek bonyolultságát a hagyományos többvezetékes érzékelő kommunikációs módszerhez képest. – Több eszköz csatlakozás: Támogatja a több eszköz csatlakoztatását egy adatbuszon, és azonosítja és kommunikál az eszköz azonosítási kódjain keresztül. – Alacsony energiafogyasztás: A kommunikáció alatt, Az eszköz alacsony teljesítményű készenléti állapotban lehet, ha nem vesz részt a kommunikációban. – Nagy pontosságú: Rövidebb adatátviteli idővel, Csökkentheti a külső interferenciát és javíthatja az adatok pontosságát.
2.1.2 Adatformátum és időzítési elemzés az 1 vezetékes kommunikációról
Az 1 vezetékes kommunikációs protokoll adatformátuma egy adott időzítési szabályt követi. Ez magában foglalja az inicializálás időzítését, Írja be az időzítést és olvassa el az időzítést:
Inicializálás időzítés: A gazdagép először elindítja a jelenlét -észlelési időzítést (Jelenléti impulzus) azáltal, hogy egy bizonyos ideig lehúzza a buszt, és az érzékelő ezután válaszként jelenik meg egy jelenléti pulzusot.
Írja meg az időzítést: Amikor a gazdagép írási időzítést küld, Először kb. 1-15 mikroszekundum, Ezután elengedi a buszt, És az érzékelő behúzza a buszt 60-120 mikrosekundumok a reagáláshoz.
Olvassa el az időzítést: A gazdagép értesíti az érzékelőt, hogy küldjön adatokat a busz lehúzásával és elengedésével, És az érzékelő egy bizonyos késleltetés után adja ki az adatot a buszon.

Analóg eszközök DS18B20+, MAXIM programozható felbontású 1 vezetékes digitális hőmérő

Analóg eszközök DS18B20+, MAXIM programozható felbontású 1 vezetékes digitális hőmérő

DS18B20 12 bites 1 vezetékes digitális hőmérséklet érzékelővel 1 Mérőkábel

DS18B20 12 bites 1 vezetékes digitális hőmérséklet érzékelővel 1 Mérőkábel

DS18B20 érzékelő szonda a hőmérséklet és a páratartalom összegyűjtésére a hidegláncos hűtőházban

DS18B20 érzékelő szonda a hőmérséklet és a páratartalom összegyűjtésére a hidegláncos hűtőházban

2.2 Adatkommunikáció szoftveres megvalósítása
2.2.1 Az 1 vonalas kommunikáció inicializálása és visszaállítása
Szoftver szinten, Az 1-vezetékes kommunikáció inicializálása és visszaállítása a kommunikáció első lépése. A következő pszeudokód a folyamat megvalósításához:

// OneWire kommunikáció inicializálási funkció
érvénytelen OneWire_Init() {
// Állítsa a buszt bemeneti módba, és engedélyezze a felhúzó ellenállást
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
// Várja meg, amíg a busz tétlen lesz
Késleltetés Mikroszekundum(1);
// Reset impulzus küldése
OneWire_Reset();
}

// OneWire kommunikációs visszaállítási funkció
érvénytelen OneWire_Reset() {
// Húzza le a buszt
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
Késleltetés Mikroszekundum(480);
// Engedd el a buszt
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Késleltetés Mikroszekundum(70);
// Várja meg az impulzus jelenlétét
ha (!WaitForOneWirePresence())
// Nem észleltek pulzust, lehet, hogy az érzékelő nincs csatlakoztatva, vagy az inicializálás nem sikerült
HandleError();
Késleltetés Mikroszekundum(410);
}

// Várakozás a pulzus jelenlétére
bool WaitForOneWirePresence() {
vissza ReadPin-t(DS18B20_PIN) == 0; // Tegyük fel, hogy az alacsony szint a jel jelenléte
}

2.2.2 Adatolvasási és -írási műveletek

Az adatolvasási és -írási műveletek az érzékelőkommunikáció központi részét képezik. A következő kód bemutatja, hogyan írjon bájtot egy vezetékes buszra:
// Írjon egy bájtot egy egyvezetékes buszra
érvénytelen OneWire_WriteByte(bájt adatok) {
számára (int i = 0; én < 8; i++) {
OneWire_WriteBit(adat & 0x01);
adat >>= 1;
}
}

// Írj egy kicsit egy vezetékes buszra
érvénytelen OneWire_WriteBit(bites adat) {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
ha (adat) {
// Írás közben engedje el a buszt 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Késleltetés Mikroszekundum(1);
} más {
// Írás közben továbbra is alacsonyra húzza a buszt 0
Késleltetés Mikroszekundum(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Késleltetés Mikroszekundum(1);
}

Következő a bájt beolvasási funkciója:
// Olvasson egy bájtot az egyvezetékes buszról
bájt OneWire_ReadByte() {
bájt adat = 0;
számára (int i = 0; én < 8; i++) {
adat >>= 1;
ha (OneWire_ReadBit())
adat |= 0x80;
}
visszaadja az adatokat;
}

// Olvass egy kicsit az egyvezetékes buszról
bit OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Késleltetés Mikroszekundum(3);
bool eredmény = ReadPin(DS18B20_PIN);
Késleltetés Mikroszekundum(57);
vissza az eredményt;
}

2.2.3 A OneWire kommunikáció ellenőrzési mechanizmusa

A OneWire kommunikációs protokoll egy egyszerű ellenőrző mechanizmust használ az adatcsere folyamatában, általában az írott adatok visszaolvasásával, hogy ellenőrizzük az adatok helyességét. Az alábbi mintakód az írott adatok ellenőrzésére szolgál:

bájt adat = 0x55; // Tegyük fel, hogy az elküldendő adatok

OneWire_WriteByte(adat); // Írjon adatokat a OneWire buszra

byte readData = OneWire_ReadByte(); // Olvassa vissza az adatokat a OneWire buszról

ha (readData != adatok) {
HandleError(); // Ha a visszaolvasott adatok nem egyeznek az írott adatokkal, kezelni a hibát