Úvod:
Tento dvojitý digitální teploměr umožňuje současně měřit a zobrazovat venkovní a vnitřní teplotu.
V případě použití jako laboratorní teploměr zobrazuje teplotu sledovaného objektu a okolní teplotu.
Jeden kanál měří v rozmezí -40,0 ... +150,0 °C a druhý -9,9 ... +99,9 °C.
Pro oba kanály je ukládána minimální a maximální hodnota, kterou lze vyvolat či resetovat pomocí tlačítek.
Popis zapojení:
Obvod je řízeny mikroprocesorem IO4 - Atmel AVR ATmega8A, ATmega8 či ATmega8L.
Jako snímače teploty slouží integrované obvody IO1 a IO2 typu MCP9700A. Ty poskytují
na výstupu napětí lineárně závislé na teplotě, s koeficientem 10mV/°C + 500mV.
Díky přičtění konstanty 500mV umožňují měření záporných teplot bez záporného výstupního napětí.
Měřící sondy jsou tvořeny obvody IO1 a IO2. Obvod IO1 tvoří vnější sondu na třížilovém kablíku.
V případě potřeby je zapouzdřena do vodotěsného obalu. Je určena k měření venkovní teploty nebo teploty zkoumaného objektu.
Obvod IO2 tvoří vnitřní sondu určenou k měření pokojové teploty či okolní teploty během experimentu.
K zobrazení teplot slouží dva LED displeje. Kanál 1 využívá čtyřmístný displej a kanál 2 třímístný.
Displeje jsou řízeny multiplexně. Katody displejů jsou připojeny na port D,
anody přes tranzistory T1...T7 zesilující proud na port B kromě PB7. Frekvence multiplexu je cca 100Hz.
Odpory R1 až R8 určují proud displeje a tím i jeho jas.
Jako DISP1 lze použít např. červený CA56-12SRWA. Jako DISP2 lze použít žlutý T-5631BUY-11, případně červený BA56-12SRWA.
Teploměr využívá dva vstupy nesymetrického 10-bitového AD převodníku obvodu ATmega8(A)(L).
Rozlišení AD převodníku je metodou převzorkování zvýšeno na 11 bitů a tím je dosaženo rozlišení měření na 0,1°C.
Při každém obnovení hodnot je vytvořeno 64 vzorků, ty jsou sečteny a výsledek je dělen 32. Tím je získán
11-bitový výsledek. Pro převzorkování o 1 bit by postačily 4 vzorky, avšak větší množství vzorků
umožňí lepší stabilitu a eliminaci náhodných chyb. Protože vnitřní napěťová reference AVR není příliš přesná a nelze ji nastavovat,
je použita vnější nastavitelná reference s IO3 - TL431. Výstupní napětí 2,495V vstupuje do děliče R11, P1, R12. Pomocí
P1 je vstupní napětí vývodu AREF IO4 nastaveno na 2,048V, což zajišťuje strmost 0,1°C / 1mV.
IO4 využívá jako zdroj taktování zabudovaný RC oscilátor běžící na frekvenci 1MHz. Krystal není potřeba - frekvence není pro teploměr
kritická. Teploměr se napájí ze zdroje 5V +/- 10%.
Odběr proudu je cca 40 - 50mA (většina z toho je spotřeba LED displeje).
Stabilizované napájecí napětí 5V lze vytvořit např. jednoduchým zdrojem s obvodem 7805 (před tento zdroj zařaďte vhodnou pojistku). Lze také použít
hotový síťový adaptér cca 5V (měl by být stabilizovaný, protože nestabilizované adaptéry mají příliš velkou odchylku).
Kalibrace:
Kalibrace měřidla se provede připojením přesného digitálního voltmetru na C3 a nastavením napětí 2,048V pomocí trimru P1.
Alternativně lze měřidlo kalibrovat dle známé teploty, např. podle přesného teploměru nebo ponořením vodotěsné sondy do ledové
tříšti a nastavením na 0,0°C.
Měření:
Displej DISP1 zobrazuje teplotu sondy 1 a DISP2 teplotu sondy 2. Pokud je teplota mimo rozsah nebo došlo k závadě
(neočekávané napětí na vstupu ADC0 či ADC1), zobrazí se symbol "_ _ . _".
Obnovovací frekvence zobrazeného údaje je cca 0,8Hz.
Funkce Minimum / Maximum:
Teploměr sleduje a ukládá pro oba kanály maximální a minimální teplotu. Tu lze zobrazit stiskem tlačítek
TL1 a TL2 - MIN a MAX. Chvilku po uvolnění tlačítka se opět zobrazí aktuální hodnoty teploty.
Paměť minima a maxima lze resetovat stisknutím obou tlačítek současně. Poznámka: Sledování minima a maxima
začíná až po prodlevě 15s od zapnutí měřidla, aby se předešlo uložení nesmyslných hodnot těsně po zapnutí,
kdy se obvod teploměru ještě neustálil.
Program pro AVR teploměr ke stažení:
zdrojový kód v assembleru (ASM)
přeložený HEX soubor (898 Bajtů)
Zapisování programu do AVR se podrobněji věnuji zde.