Technologie teplotního senzoru

Teplotní senzor DS18B20 připojený k MCU

Úvod do znalostí snímače teploty DS18B20
DS18B20 je běžně používaný senzor digitální teploty. Vydává digitální signály, má vlastnosti malé velikosti, Nízký hardwarový režijní náklady, silná schopnost proti rušení, vysoká přesnost, a je široce používán.

Digitální teplotní sonda DS18B20 poskytuje 9 na 12 bit

Digitální teplotní sonda DS18B20 poskytuje 9 na 12 bit

Vodotěsná senzorová sonda DS18B20

Vodotěsná senzorová sonda DS18B20

TPE Overmolding IP68 vodotěsný senzor DS18B20

TPE Overmolding IP68 vodotěsný senzor DS18B20

Úvod k teplotnímu senzoru DS18B20
Technické vlastnosti:
①. Jedinečný režim jednodrátového rozhraní. Když je DS18B20 připojen k mikroprocesoru, pouze 1 drát je potřeba k realizaci obousměrné komunikace mezi mikroprocesorem a DS18B20.
②. Rozsah měření teploty -55℃~+125℃, vlastní chyba měření teploty 1℃.
③. Podpora vícebodové síťové funkce. Více DS18B20 může být připojeno paralelně pouze na tři vodiče, a maximálně 8 lze připojit paralelně pro realizaci vícebodového měření teploty. Pokud je číslo příliš velké, napájecí napětí bude příliš nízké, což má za následek nestabilní přenos signálu.
④. Provozní napájecí zdroj: 3.0~5,5V/DC (lze použít parazitní napájení datové linky).
⑤. Při používání nejsou potřeba žádné periferní komponenty.
⑥. Výsledky měření jsou přenášeny sériově v 9~12bitové digitální formě.
⑦. Průměr nerezové ochranné trubky je Φ6.
⑧. Je vhodný pro měření teploty různých středních průmyslových potrubí DN15~25, DN40~DN250 a zařízení v úzkých prostorách.
⑨. Standardní montážní závity M10X1, M12X1,5, G1/2” jsou volitelné.
⑩. Kabel PVC je připojen přímo nebo je připojena německá spojovací krabice kulového typu, který je vhodný pro spojení s jiným elektrickým zařízením.

DS18B20 princip časování čtení a zápisu a měření teploty:
Princip měření teploty DS18B20 je znázorněn na obrázku 1. Frekvence oscilací krystalového oscilátoru s nízkým teplotním koeficientem na obrázku je málo ovlivněna teplotou, a používá se ke generování pulzního signálu s pevnou frekvencí, který má být odeslán do čítače 1. Frekvence oscilací krystalového oscilátoru s vysokým teplotním koeficientem se významně mění s teplotou, a generovaný signál je použit jako impulsní vstup čítače 2. Čelit 1 a teplotní registr jsou přednastaveny na základní hodnotu odpovídající -55℃. Čelit 1 odečítá pulzní signál generovaný krystalovým oscilátorem s nízkým teplotním koeficientem. Když je přednastavená hodnota čítače 1 se redukuje na 0, hodnota teplotního registru se zvýší o 1, a přednastavení počítadla 1 bude znovu načten. Čelit 1 restartuje se, aby počítal pulzní signál generovaný krystalovým oscilátorem s nízkým teplotním koeficientem, a cyklus pokračuje až do čítače 2 počítá do 0, zastavení akumulace hodnoty teplotního registru. V tuto chvíli, hodnota v teplotním registru je naměřená teplota. Spádový akumulátor se používá ke kompenzaci a korekci nelinearity v procesu měření teploty, a jeho výstup slouží ke korekci přednastavené hodnoty čítače 1.

Postava 1 je následující:

Schéma zapojení DS18B20 a MCU

Schéma zapojení DS18B20 a MCU

2. Schéma zapojení DS18B20 a MCU

Definice parametru pinu DS18B20

Definice parametru pinu DS18B20

3. Definice pinů DS18B20:

DQ: Vstup/výstup dat. Otevřete vypouštěcí 1-vodičové rozhraní. Může také poskytovat napájení zařízení při použití v režimu parazitního napájení VDD: kladné napájení GND: napájecí zem 4. Úvod do interní analýzy DS18B20:

Analýza a představení vnitřní struktury DS18B20

Analýza a představení vnitřní struktury DS18B20

Výše uvedený obrázek ukazuje blokové schéma DS18B20, a 64bitová ROM uchovává jedinečný sériový kód zařízení. Vyrovnávací paměť obsahuje 2 bajtů teplotních registrů, které ukládají digitální výstup teplotního čidla. Navíc, vyrovnávací paměť poskytuje přístup k 1bajtovým horním a dolním registrům spouštění alarmů (TH a TL) a 1bajtové konfigurační registry. Konfigurační registr umožňuje uživateli nastavit rozlišení teploty na digitální převod na 9, 10, 11, nebo 12 bitů. TH, TL, a konfigurační registry jsou energeticky nezávislé (EEPROM), takže budou uchovávat data, když je zařízení vypnuto. DS18B20 využívá jedinečný 1-wire bus protokol Maxim, který využívá řídicí signál. Řídicí vedení vyžaduje slabý pull-up rezistor, protože všechna zařízení jsou připojena ke sběrnici přes 3stavový nebo otevřený port (DQ pin v případě DS18B20). V tomto sběrnicovém systému mikroprocesor (zvládnout) používá jedinečný 64bitový kód pro každé zařízení. Protože každé zařízení má jedinečný kód, počet zařízení, která lze adresovat na jedné sběrnici, je prakticky neomezený.

Formát registru teploty

Schéma formátu teplotního registru DS18B20

Schéma formátu teplotního registru DS18B20

Vztah mezi teplotou a daty

DS18B20 Vztah mezi teplotou a daty

DS18B20 Vztah mezi teplotou a daty

Provozní poplachový signál

Poté, co DS18B20 provede konverzi teploty, porovnává hodnotu teploty s uživatelsky definovanými dvěma hodnotami spouštění alarmu komplementu uloženými v 1bajtových registrech TH a TL. Znaménkový bit udává, zda je hodnota kladná nebo záporná: kladné S=0, negativní S=1. Registry TH a TL jsou energeticky nezávislé (EEPROM) a proto nejsou těkavé, když je zařízení vypnuté. K TH a TL lze přistupovat prostřednictvím bajtů 2 a 3 paměti.
Formát registrů TH a TL:

Konfigurační registry DS18B20

Konfigurační registry DS18B20

Schematické schéma napájení DS18B20 pomocí externího zdroje

Schematické schéma použití externího zdroje pro napájení DS18B20

Schematické schéma použití externího zdroje pro napájení DS18B20

64-bitový laserový kód paměti pouze pro čtení:

DS18B20 64bitový laserový kód paměti pouze pro čtení

DS18B20 64bitový laserový kód paměti pouze pro čtení

Každý DS18B20 obsahuje jedinečný 64bitový kód uložený v paměti ROM. Nejméně významné 8 bity kódu ROM obsahují jednodrátový kód rodiny DS18B20: 28h. Další 48 bity obsahují jedinečné sériové číslo. Nejvýznamnější 8 bity obsahují cyklickou kontrolu redundance (CRC) byte, který se počítá od prvního 56 bitů kódu ROM.

DS18B20 mapa paměti

DS18B20 mapa paměti

Paměťová mapa DS18B20

Registr konfigurace:

Postava 2

Konfigurační registry DS18B20

Konfigurační registry DS18B20

Byte 4 paměti obsahuje konfigurační registr, který je uspořádán tak, jak je znázorněno na obrázku 2. Uživatel zde může nastavit rozlišení převodu DS18B20 pomocí bitů R0 a R1, jak je uvedeno v tabulce 2. Výchozí nastavení při zapnutí pro tyto bity je R0 = 1 a R1= 1 (12-bitové rozlišení). Všimněte si, že existuje přímý vztah mezi rozlišením a časem převodu. Bit 7 a bitů 0 na 4 v konfiguračním registru jsou vyhrazeny pro interní použití zařízení a nelze je přepsat.

Tabulka 2 Konfigurace rozlišení teploměru

Konfigurace rozlišení teploměru DS18B20

Konfigurace rozlišení teploměru DS18B20

Generace CRC

Bajt CRC je součástí 64bitového kódu ROM DS18B20 a je uveden v 9. bajtu zápisníku.. Kód ROM CRC se vypočítává z prvního 56 bitů kódu ROM a je obsažen v nejvýznamnějším bytu ROM. CRC zápisníku se vypočítá na základě dat uložených v zápisníku, takže se změní, když se změní data v zápisníku. CRC poskytuje hostiteli sběrnice metodu ověřování dat při čtení dat z DS18B20. Po ověření, že data byla načtena správně, master sběrnice musí přepočítat CRC z přijatých dat a poté tuto hodnotu porovnat s ROM kódem CRC (pro čtení ROM) nebo zápisník CRC (pro čtení zápisníku). Pokud se vypočtený CRC shoduje s přečteným CRC, data byla přijata správně. Rozhodnutí porovnat hodnoty CRC a pokračovat je zcela na uvážení správce sběrnice. Uvnitř DS18B20 nejsou žádné obvody, které by bránily provedení sekvence příkazů, pokud:
DS18B20 CRC (ROM nebo zápisník) neodpovídá hodnotě generované masterem sběrnice.
Ekvivalentní polynomiální funkce pro CRC je:
CRC = X8 + X5 + X4 + 1
Řídicí jednotka sběrnice může přepočítat CRC a porovnat ji s hodnotou CRC DS18B20 pomocí:
Generátor polynomů je znázorněn na obrázku 3. Obvod obsahuje posuvný registr a hradla yihuo, a bity posuvného registru jsou inicializovány 0. Nejméně významný bit kódu ROM nebo nejméně významný bit bajtu 0 v zápisníku by se měly posouvat do posuvného registru jeden po druhém. Po posunutí v bit 56 z ROM nebo nejvýznamnějšího bitu bajtu 7 ze zápisníku, generátor polynomů bude obsahovat přepočtené CRC. Další, 8bitový kód ROM nebo signál CRC v zápisníku DS18B20 musí být posunut do obvodu. V tuto chvíli, jestli je přepočtený CRC správný, posuvný registr bude mít všechny 0s.

Postava 3: Generátor CRC

Schéma procesu generátoru DS18B20 CRC

Schéma procesu generátoru DS18B20 CRC

PROTI. Přístup k DS18B20:
Pořadí pro přístup k DS18B20 je následující:
Krok 1. Inicializace;

Krok 2. příkaz ROM (následuje jakákoli nezbytná výměna dat);

Krok 3. Příkaz funkce DS18B20 (následuje jakákoli nezbytná výměna dat);

Poznámka: Tato sekvence je dodržována při každém přístupu k DS18B20, protože DS18B20 nebude reagovat, pokud některý krok v sekvenci chybí nebo je mimo provoz. Výjimkou z tohoto pravidla je Search ROM [F0h] a Hledání alarmů [Ech] příkazy. Po vydání těchto dvou příkazů ROM, hostitel se musí vrátit na krok 1 v pořadí.
(Výše uvedený úvod je přeložen z oficiální příručky)

Příkaz ROM
1, Přečtěte si ROM [33h]
2, Zápas ROM [55h]
3, Přeskočit ROM [CCh]
4, Hledání alarmů [Ech]

Příkaz funkce DS18B20
1, Převést teplotu [44h]
2, Napište Zápisník (Paměť) [4Eh]
3, Přečtěte si Zápisník (Paměť) [BEh]
4, Kopírovat Zápisník (Paměť [48h]
5, Znovu probudit E2 [B8h]
6, Přečtěte si Power [B4h]

(Pro podrobný popis výše uvedených příkazů, viz oficiální manuál)

VI. Přístup k časování DS18B20
Během procesu inicializace, sběrnice master vyšle resetovací impuls (TX) nízkou úroveň po dobu alespoň 480 µs vytažením sběrnice 1-Wire. Pak, master sběrnice uvolní sběrnici a přejde do režimu příjmu (RX). Po uvolnění autobusu, 5kΩ pull-up rezistor vytáhne 1-Wire sběrnici vysoko. Když DS18B20 detekuje tuto stoupající hranu, čeká 15 µs až 60 µs a poté odešle puls přítomnosti stažením 1-Wire sběrnice na nízkou úroveň po dobu 60 µs až 240 µs.

Časování inicializace:

Existují dva typy časových slotů zápisu: “Napište 1” časové úseky a “Napište 0” časové úseky. Sběrnice používá zápis 1 časový úsek pro napsání logiky 1 na DS18B20 a zápis 0 časový úsek pro napsání logiky 0 na DS18B20. Všechny sloty času zápisu musí trvat alespoň 60 µs s dobou obnovy alespoň 1 µs mezi jednotlivými sloty času zápisu. Oba typy slotů času zápisu jsou iniciovány masterem, který stáhne 1-Wire sběrnici na nízkou úroveň (viz obrázek 14). Chcete-li vygenerovat zápis 1 časový úsek, po stažení sběrnice 1-Wire nízko, sběrnice master musí uvolnit 1-Wire sběrnici do 15 µs. Po uvolnění autobusu, 5kΩ pull-up rezistor táhne sběrnici vysoko. Vygenerovat a
Napsat 0 časový úsek, po stažení 1-Wire vedení nízko, sběrnice master musí i nadále udržovat sběrnici nízko po dobu trvání časového slotu (alespoň 60 µs). DS18B20 vzorkuje 1-Wire sběrnici v okně 15 µs až 60 µs poté, co master inicializuje časový slot zápisu. Pokud je sběrnice vysoká během vzorkovacího okna, A 1 je zapsán na DS18B20. Pokud je linka nízká, A 0 je zapsán na DS18B20.
Poznámka: Timeslot je část sériového self-multiplexování informací o časovém slotu vyhrazené pro jeden kanál.
Postava 14 je následující:

Zápisové časové sloty DS18B20 jsou řízeny hostitelem, aby stáhl 1-Wire sběrnici na nízkou úroveň

Zápisové časové sloty DS18B20 jsou řízeny hostitelem, aby stáhl 1-Wire sběrnici na nízkou úroveň

Přečtěte si časový úsek:
DS18B20 může odesílat data hostiteli pouze tehdy, když hostitel vydá časový slot pro čtení. Proto, hostitel musí vygenerovat časový úsek čtení ihned po vydání příkazu čtení paměti [BEh] nebo zdroj napájení pro čtení [B4h] aby DS18B20 poskytl požadovaná data. Alternativně, hostitel může vygenerovat časový úsek čtení po vydání Convert T [44h] nebo Odvolání E2 [B8h] příkaz ke zjištění stavu. Všechny časové úseky čtení musí trvat alespoň 60 µs s minimální dobou obnovy 1 µs mezi časovými úseky. Časový slot čtení je iniciován tak, že master stáhne 1-Wire sběrnici nízko, aby ji udržela nízko po dobu alespoň 1 µs, a pak sběrnici uvolní (viz obrázek 14). Poté, co master inicializuje časový úsek čtení, DS18B20 začne na sběrnici posílat buď 1s nebo 0s. DS18B20 posílá a 1 držením autobusu vysoko a posílá a 0 tažením autobusu nízko. Když a 0 je odeslána, DS18B20 uvolní sběrnici přidržením sběrnice vysoko. Časový slot končí a sběrnice je tažena zpět do vysokého klidového stavu pomocí pull-up rezistoru.

Podrobné čtení hostitele DS18B20 1 Časový slot

Podrobné čtení hostitele DS18B20 1 Časový slot

DS18B20 Doporučené čtení hostitele 1 časový úsek

DS18B20 Doporučené čtení hostitele 1 časový úsek