Termostat
vloženo:08.10.2008 aktualizováno:15.04.2012
Moje první konstrukce termostatu je už hodně stará ale stále oblíbená.
Původní ovládací program zabíral celou paměť mikroprocesoru PIC16F84(A). Kvůli úpravám a rozšíření programu jsem to přepsal pro PIC16F628A. Tento typ je pinově kompatibilní, má větší paměť a několik dalších vylepšení a také je levnější.
Napájení +5V stabilizované (max. 20mA)
Teplotní čidlo SMT160-30 nebo SMT172 (-45 až +130°C) popis čidla, viz informační panel
Výstup RLo, Log.0/1 max. 20mA
Výstup RHi, Log.0 max. 20mA (otevřený kolektor)
Levé tlačítko (-), prostřední (+), pravé (D)
5 programů regulace
Zobrazení na displeji.
-19.9 až 99.9 | teplota [°C] |
-19.L až 99.L | dolní mez (krok 1°C) |
-19.H až 99.H | horní mez (krok 1°C) |
0.P až 5.P | číslo programu regulace |
00.A až FF.A | časovač RLo log.0 (00=nejdelší čas jako 100Hex, 01=nejkratší čas) |
00.b až FF.b | časovač RLo log.1 (00=nečasuje, RLo=0) |
00.C až FF.C | časovač RHi log.0 (00=nejdelší čas jako 100Hex, 01=nejkratší čas) |
00.d až FF.d | časovač RHi log.1 (00=nečasuje, RHi=0) |
Časy jsou zobrazeny v šestnáctkové soustavě. Nejkratší čas 01=asi 0.15s. 02=0.3s...
Nová verze ovládacího programu:
termo_a05.HEX (5,8 kB)
Po nastavení čísla programu se zobrazí položka [di.x]
x=0 displej zhasne po 40s. od posledního stisknutí tlačítka(zůstane svítit jenom desetinná tečka).
x=1 displej svítí trvale (vždy po resetu).
0/1 se vybere tlačítkem -/+
Ovládání, nastavování.
Tlačítkem D se postupně přepíná zobrazení na displeji.
Pokud chceme nastavit některou hodnotu, zobrazíme jí na displeji
a tlačítky -/+ jí změníme.
Tlačítka -/+ mají opakovací funkci, držení tlačítka způsobí rychlejší změnu.
Nastavené hodnoty se uloží při přepnutí na další zobrazení, Tl D.
Data se ukládají do EEPROM, kde jsou uchovány i při vypnutém napájení.
0 -žádná regulace
oba výstupy mají log.1
1 -regulace s hysterezí, pouze RHi, L=dolní mez, H=horní mez
(na výstupu RLo jsou impulsy přímoúměrné teplotě)
výstup RHi přepne na log.1 když teplota stoupne nad horní mez H
RHi přepne na log.0 když teplota klesne pod dolní mez L
2 -regulace na dvě nezávislé meze
výstup RHi=0(imp) při t=>H
RHi=1 při t
RLo=1 při t
výstup RHi=1 při t=>H
RHi=0(imp) při t
RLo=0(imp) při t
výstup RHi=0(imp) při t=>H
RHi=1 při t
RLo=0(imp) při t
výstup RHi=0 při t=>H
RHi=1 při t
Schéma.
Pozor, výstup RHi vede na port RA4 (pin 3) což je otevřený kolektor.
Propojky pod displejem jsou z tenkého pocínovaného drátku,
například z lankového vodiče.
Plošný spoj je možné objednat na www.bucek.name/dps/dpsnn.dat.htm
Digitální termostat Arádio - Praktická elektronika 5/04 str.20
NN 47 vrtaná, NN 50 a050427 nevrtaná
Seznam součástek.
IO1 | PIC16F628A-I/P + SOKL18 (precizní) |
Q1 | krystal 16 až 20MHz pouzdro HC49U/S |
S1 | teplotní čidlo SMT 160-30 (SMT172) pouzdro TO-92 (pozor, pouzdro TO-220 má přehozené vývody 1-3-2) |
D1 | displej HDSP 5521 spol. anoda (dvojitý - vysoce svítivé od GM) |
D2 | displej HDSP 5501 spol. anoda (jednoduchý - vysoce svítivé od GM) |
C1, C2 | 18p keramický kondenzátor |
C3 | 10M/10V tantalový (elektrolyt) kondenzátor |
R1 až 7 | 820R |
R8 až 11 | 1K0 (všechny odpory jsou miniaturní 0.4W) |
TL1 až 3 | mikrospínač 12V/0,05A např. B6819 od GES |
konektory | lámací zásuvková lišta (precizní) |
Schéma zdroje a dva způsoby připojení relé.
Nastavení programovacích pojistek:
CP=OFF, CPD=OFF, LVP=OFF, BOREN=ON, MCLRE=MCLR, PWRTEN=Enabled, WDTE=ON, OSC=HS
Soubory ke stažení. (pouze pro nekomerční účely, only for non-commercial purposes)
termo_a01.asm (29,7 kB) zdrojový kód
termo_a01.HEX (5,5 kB) program
TERMO_A.SCH (35 kB) schéma
TERMO_A.brd (26,4 kB) plošný spoj
Plošný spoj a schéma jsou kreslené v EAGLE
DS Termostat old
starý hardware - nový software
vloženo:11.06.2022
Teplotní čidla SMT160-30 nebo SMT172 jsou už těžko dostupná a drahá, proto jsem napsal program pro čidlo DS18B20. Není to ale přesná náhrada s možností výběru provozního režimu, nyní to jsou samostatné programy, zatím 2, zaměřené na konkrétní funkci.
Kromě nepovinného odstranění krystalu a rezonančních kondenzátorů, je zde ještě jedna hardwarová změna, Pull-up rezistor 4k7. Ten je ale nutný při delším připojovacím kablíku k čidlu. Pro krátké vzdálenosti, zhruba do 1m není rezistor potřeba, jeho funkci zvládne Pull-up uvnitř procesoru.
Pozor na připojení čidla, pořadí vývodů DS18B20 je jiné než u původního typu. Na fotografii ještě vidíte krystal 20MHz a 2 rezonanční kondenzátory 18pF, ty ale vůbec nemusíte osazovat. Uvolněné porty po krystalu RA6(OSC2) a RA7(OSC1) mohou být později využity, třeba jako další výstupy.