English version

Digitální teploměr s MIN / MAX

    Úvod:
Tento digitální teploměr s LED displejem umožňuje měřit a zobrazovat teplotu v rozmezí -40,0 ... +150,0 °C. Je ukládána minimální a maximální naměřená teplota, kterou lze vyvolat či resetovat pomocí tlačítek.
    Popis zapojení:
Obvod je řízený mikroprocesorem IO1 - Atmel AVR ATmega8A či ATmega8L. Jako snímač teploty slouží integrovaný obvod IO2 typu MCP9700A. Te poskytuje 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žňuje měření záporných teplot bez záporného výstupního napětí. Obvod IO2 tvoří teplotní sondu připojenou třížilovým kabelem. V případě potřeby je zapouzdřena do vodotěsného obalu. K zobrazení teplot slouží čtyřmístný LED displej se společnou anodou. Displej je řízen multiplexně. Katody displeje jsou připojeny na port PD, anody přes odpory na PB0 až PB3. Frekvence multiplexu je cca 100Hz. Odpory R1 až R4 určují proud displeje a tím i jeho jas. Já jsem displej sestavil ze dvou dvoumístných LD-D036UPG-C s velmi vysokou svítivostí, kterým stačí k dosažení dostatečného jasu malý proud. Multiplexuje se "naruby" - v 8 krocích po 4 stejných segmentech (nejdřív všechny segmenty A, poté všechny segmenty B, atd.). Díky tomu stačí displeji 4 odpory, není jich potřeba 8. Teploměr využívá vstup nesymetrického 10-bitového AD převodníku obvodu ATmega8A (ATmega8L). 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í 0,1°C. Při každém obnovení hodnoty 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ší napěťová reference s IO3 - AP2138N-2.5, jejíž výstupní napětí 2,5V vstupuje do děliče R5, P1, R6. Pomocí potenciometru P1 je vstupní napětí vývodu AREF IO1 nastaveno na 2,048V, což zajišťuje strmost 0,1°C / 1mV. IO1 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 cca 3,3 - 5,5V při použití bílého, modrého či sytě zeleného (pure green) LED displeje. Červené, oranžové, žluté a žlutozelené displeje mají menší úbytek napětí, a tak s nimi obvod může pracovat už od cca 2,7V. Odběr proudu je cca 4 - 20mA (většina z toho je spotřeba LED displeje, záleží na hodnotě R1...R4 a napájecím napětí).
    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 aktuální teplotu. Obnovovací frekvence zobrazeného údaje je cca 1,56Hz (obnoví se každých 0,64s).
    Funkce Minimum / Maximum:
Teploměr sleduje a ukládá 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í hodnota 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ě cca 6 - 7s 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.
    Další verze:
Vytvořil jsem také verzi s ATmega88(P)(A) a s možností nastavení jasu displeje a vypnutím pomocí tlačítek: Bateriový teploměr s MIN/MAX a volitelným jasem.

Program pro AVR teploměr ke stažení:
zdrojový kód v assembleru (ASM)
přeložený HEX soubor (628 Bajtů)
Low fuse = E1, High fuse = D9

Zapisování programu do AVR se podrobněji věnuji zde.

Případným zájemcům mohu naprogramovaný mikroprocesor poslat. Více info zde.


Schéma teploměru s pamětí minima a maxima s AVR ATmega8A či 8L a LED displejem.


Testování digitálního LED teploměrus maximem a minimen v kontaktním poli.


Ještě jednou testování v kontaktním poli. Hotový tu není vyfocen, protože byl přestavěn na Bateriový teploměr s MIN/MAX a volitelným jasem
.



Přidáno: 13. VIII. 2022
zpět na úvodní stránku