Teploměr T6DS

vloženo:21.04.2014  aktualizováno:1.11.2014

Teploměr ukazující 6 teplot.


 Horní řádek, teploty 1, 2, 3.
 Dolní řádek, teploty 4, 5, 6 [°C].

Formát zobrazované teploty:
[125.] 100 až 125 (bez desetin)
[99.9]
[ 0.0]
[-9.9]
[-55.] -55 až -10 (bez desetin)
[ErrX] porucha senzoru číslo(X)

 K teploměru lze připojit 1 až 6 teplotních senzorů DS18B20.
 Ihned po zapnutí napájení proběhne vyhledávání jejich identifikačních kódů (prvních 8 bitů).


 Displej ukazuje průběh vyhledávání. Postupně zobrazuje ID kódy, od nejmenšího po největší. Po prvním zapnutí budou v tomto pořadí senzory přiřazeny (očíslovány). Můžete začít s jedním senzorem, ten dostane č.1 a přidáte-li další čidlo, zaujme první volnou pozici. Pokud některé čidlo vyměníte, zaujme nové čidlo pozici předchozího (vadného) senzoru. Kódy jsou totiž uloženy do paměti EEPROM a při každém spuštění teploměru proběhne kontrola senzorů (kontrola nových a starých ID kódů). Staré senzory zůstanou na původních pozicích, zatímco nové senzory zaujmou uvolněná nebo dosud nepoužitá místa.
 Systém kontroly ID kódů ale nepozná, když chcete měřit méně teplot a některé, nebo některá čidla odeberete trvale. Stávající senzory se neposunou na uvolněná místa, tam bude zobrazeno Err, a bude-li to na začátku, nebo někde uprostřed, nemusí to vypadat dobře. Pro nové seřazení ID kódů je potřeba vynulovat všechny kódy z EEPROM. Toho docílíte tak, že zapnete teploměr bez senzorů, pokud nebude nalezeno žádné čidlo, displej ukáže "Kody vynulovany!".


 Při poruše senzoru se místo teploty zobrazí Err a číslo čidla.


 Napájení senzorů může být jak externí, tak parazitní.

Program (PIC16F1847):
T6DS_16.HEX (5,2 kB)

Hlavička zdrojového kódu (nastavení programovacích pojistek):
T6DS_13.sam.txt (1,1 kB)

 Pro tento teploměr jsem použil procesor PIC16F1847. Není potřeba žádný krystal, procesor má zapnutý interní taktovací oscilátor, nastavený na frekvencí 4MHz. Takže kromě procesoru a krystalu je hardware stejný jako Teploměr T4DS