Teploměr T4DS

vloženo:6.05.2010    aktualizováno:1.11.2014 

 Teploměr ukazující 4 teploty.
Rozsah -55 až 125°C s rozlišením 0.1°C

 Pro měření několika teplot najednou se výborně hodí teplotní čidla DS18B20 na jednovodičové sběrnici 1-Wire. Délka kabelu k čidlu může být až 300m. Zkoušel jsem 45m, telefonní stíněný kabel s PULL-UP 1k.

 Aby mikroprocesor (PIC16F88) mohl komunikovat s konkrétním čidlem, musí znát jeho identifikační kód. Vyhledávání kódů probíhá vždy po zapnutí napájení. Kódy se uloží do paměti mikroprocesoru, od nejmenšího po největší K1 až K4. Tomu odpovídají teploty T1 až T4. Teploty T1 a T2 jsou na horním řádku a T3, T4 na dolním řádku.

 Komunikace s čidlem nemusí vždy proběhnout správně, v tom případě zůstane na displeji minulá teplota. Každé čidlo má totiž své počítadlo poruch. Nezdařená komunikace nebo chybný kontrolní součet (CRC), inkrementuje počítadlo poruch příslušného senzoru. Dojde-li k naplnění počítadla, zobrazí se místo teploty nápis "Porucha".

 


 Schéma a deska jsou stejné jako u LCDIP, VPR, akorát chybí tlačítka. Krystal má snadno dělitelnou frekvenci 4194304Hz, pro budoucí rozšíření, hodiny, budík a další časové funkce, jinak stačí krystal 4MHz.
 Podle katalogového listu DS18B20 má být na 1-wire sběrnici pull-up rezistor 4k7 (R1). Při delším vedení se může snížit až na 1k. A naopak, při hodně krátkém vedení (při pokusech na stole) se nemusí zapojit vůbec, mikroprocesor má na vstupu B0 zapnutý vnitřní pull-up.
 Parazitní napájení je vhodné pro ne příliš vzdálená čidla a pro měření teploty do 100°C. Obě varianty lze ale kombinovat.

 

Program. (PIC16F88)
T4DS_09.HEX (4,6 kB)

Hlavička zdrojového kódu. (programovací pojistky)
T4DS_05.asm.txt (995 B)