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 (-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<H
výstup RLo=0(imp) při t=>L
          RLo=1 při t<L
3 -obdobná regulace jako program č.2
výstup RHi=1 při t=>H
          RHi=0(imp) při t<H
výstup RLo=1 při t=>L
          RLo=0(imp) při t<L
4 -další varianta regulace na dvě nezávislé meze
výstup RHi=0(imp) při t=>H
          RHi=1 při t<H
výstup RLo=1 při t=>L
          RLo=0(imp) při t<L
5 -regulace na dvě nezávislé meze s reakcí na pohyb teploty
výstup RHi=0 při t=>H
          RHi=1 při t<H a při ustálené teplotě. Bude-li teplota stoupat RHi=imp (Log.0)
výstup RLo=0 při t=<L
          RLo=1 při t>L a při ustálené teplotě. Bude-li teplota klesat RLo=imp (Log.0)

 

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 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í.

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