VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF CONTROL AND INSTRUMENTATION
MIKROPOČÍTAČOVÝ TERMOSTAT II MICROCONTROLLER ORIENTED THERMOSTAT
BAKALÁŘSKÁ PRÁCE BACHELOR’S THESIS
AUTOR PRÁCE
ZDENĚK PADĚRA
AUTHOR
VEDOUCÍ PRÁCE SUPERVISOR
BRNO 2009
prof. Ing. František Zezulka, CSc.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
MIKROPOČÍTAČOVÝ TERMOSTAT II Bakalářská práce
Autor:
Zdeněk Paděra
Vedoucí:
prof. Ing. František Zezulka, CSc.
Abstrakt Cílem této práce byl ideový návrh mikropočítačově orientovaného pokojového termostatu použitelného pro regulaci teploty v rodinném domě nebo bytu. Jedná se o celkový návrh všech vlastností a funkcí pokojového termostatu, jeho technického provedení a elektronického schéma. Termostat splňuje všechny požadavky na pokojové termostaty a odstraňuje nevýhody na trhu dostupných termostatů. Dále bylo navrženo několik algoritmů řízení teploty a provedeno jejich srovnání na termodynamickém modelu domu. Zvolený algoritmus byl poté implementován do vývojového kitu Rabbit 2000 tak, aby bylo možné otestovat jeho správnou činnost na jednoduchém praktickém modelu. V závěru práce je provedeno vyhodnocení funkčnosti realizovaného algoritmu a výběr nejvhodnějšího algoritmu řízení pro navržený pokojový termostat.
Klíčová slova termostat, ruční ovládání, pomocná regulovaná veličina, ON/OFF regulace Brno 2009
3
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
MICROCONTROLLER ORIENTED THETMOSTAT II Bachelor’s thesis
Author :
Zdeněk Paděra
Supervisor:
prof. Ing. František Zezulka, CSc.
Abstrakt
Minor thesis is focused on ideological proposal of microcomputer orientated room thermostat, which is used for regulation of room temperature. The thesis concerns total proposal of characteristics and functions of room thermostat, concept of technical implementation and electronic scheme. The thermostat satisfies all the room thermostat requirements and eliminates disadvantages of marketed thermostats. Then algorithms of temperature control was proposed and comparison of these algorithms was realized on thermodynamic model of building. One of these algorithms was tested by the implementation on RABBIT 2000TM TCP/IP DEVELOPMENT KIT. At the close assessment of functionality of the realized algorithm was realized and selection of optimal algorithm for proposed room thermostat followed.
Keywords thermostat, manual control, auxiliary controlled variable, ON/OFF regulation
Brno 2009
4
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Bibliografická citace PADĚRA, Z. Mikropočítačový termostat II. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2009. 64 s. Vedoucí bakalářské práce prof. Ing. František Zezulka, CSc.
5
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Prohlášení Prohlášení „Prohlašuji, že svou bakalářskou práci na téma Mikropočítačový termostat II jsem vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené bakalářské práce dále prohlašuji, že v souvislosti s vytvořením této bakalářské práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení § 152 trestního zákona č. 140/1961 Sb.“
V Brně dne: 1. června 2009
………………………… podpis autora
Poděkování
Děkuji vedoucímu bakalářské práce Prof. Ing. Františkovi Zezulkovi, CSc. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce.
V Brně dne: 1. června 2009
………………………… podpis autora
6
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
OBSAH 1.
ÚVOD ................................................................................................................ 11
2.
TEORETICKÝ NÁVRH TERMOSTATU ................................................... 12
3.
2.1
DŮVODY A FUNKCE REGULACE VYTÁPĚNÍ................................................... 12
2.2
STANOVENÍ POŽADAVKŮ NA VLASTNOSTI A FUNKCE TERMOSTATU ............ 13
2.2.1
Požadavky na regulaci............................................................................ 13
2.2.2
Snímání teploty ...................................................................................... 14
2.2.3
Obsluha a ovládání termostatu ............................................................... 14
2.2.4
Funkce termostatu .................................................................................. 14
2.2.5
Displej .................................................................................................... 14
2.2.6
Ostatní požadavky.................................................................................. 15
2.2.7
Cena........................................................................................................ 15
HARDWAROVÝ NÁVRH TERMOSTATU ................................................ 16 3.1
VSTUPNÍ ČLEN – SNÍMAČ TEPLOTY .............................................................. 16
3.1.1
Kovové odporové senzory...................................................................... 17
3.1.2
Polovodičové senzory ............................................................................ 18
3.1.3
Termoelektrický článek.......................................................................... 21
3.1.4
Inteligentní snímače teploty ................................................................... 22
3.1.5
Shrnutí a konečný výběr teplotního senzoru.......................................... 23
3.1.6
Teplotní senzor DS18B20 ...................................................................... 23
3.2
VSTUPNÍ ČLEN – OVLÁDACÍ PANEL ............................................................. 27
3.2.1
Návrh ovládacího panelu........................................................................ 27
3.2.2
Připojení tlačítek k mikrokontroléru ...................................................... 28
3.2.3
Ošetření zakmitávání kontaktů............................................................... 29
3.3
VÝSTUPNÍ PERIFERIE – DISPLEJ .................................................................... 29
3.4
SPÍNANÍ VÝKONOVÉHO VÝSTUPU ............................................................... 31
3.5
ŘIDÍCÍ JEDNOTKA – MIKROPROCESOR .......................................................... 32
3.5.1
Výběr mikroprocesoru ........................................................................... 32
3.5.2
Atmel AVR ATmega64-16AU .............................................................. 32
7
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.
3.6
NAPÁJENÍ .................................................................................................... 33
3.7
ELEKTRONICKÉ SCHÉMA ............................................................................. 34
NÁVRH ALGORITMŮ................................................................................... 36 4.1
TERMODYNAMICKÝ MODEL DOMU .............................................................. 36
4.2
ON/OFF REGULÁTOR .................................................................................... 37
4.2.1
Obecně On/Off regulace ........................................................................ 37
4.2.2
Návrh On/Off regulátoru........................................................................ 38
4.3 4.3.1
Obecně PSD regulace............................................................................. 39
4.3.2
Návrh PS regulátoru............................................................................... 39
4.3.3
Realizace PS regulátoru pro rabbit 2000................................................ 40
4.4
Obecně Fuzzy regulace .......................................................................... 41
4.4.2
Návrh fuzzy PI regulátoru s normaliyovaným tvarem universa ............ 42
4.5.1 4.6
ON/OFF REGULÁTOR S AUTOMATICKÝM PŘENASTAVENÍM PARAMETRŮ ..... 44 Princip regulátoru................................................................................... 44 SROVNÁNÍ ALGORITMŮ ON/OFF, PS A FUZZY ............................................... 46
IMPLEMENTACE PS ALGORITMU DO MIKROPROCESORU .......... 50 5.1 5.1.1 5.2 5.2.1
6.
FUZZY REGULÁTOR ..................................................................................... 41
4.4.1
4.5
5.
PS REGULÁTOR ........................................................................................... 39
POPIS HARDWARE........................................................................................ 50 Základní parametry mikroprocesoru Rabbit 2000TM ............................. 50 SOFTWARE .................................................................................................. 51 Popis některých funkcí programu .......................................................... 51
OVĚŘENÍ FUNKČNOSTI PS ALGORITMU NA PRAKTICKÉM
MODELU.................................................................................................................. 53 7.
ZÁVĚR.............................................................................................................. 54
8.
SEZNAM POUŽITÝCH ZKRATEK ............................................................ 55
9.
LITERATURA ................................................................................................. 56
8
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
SEZNAM OBRÁZKŮ Obrázek 1:
Blokové schéma termostatu teploty………………………………. 16
Obrázek 2:
Schéma inteligentního převodníku teploty [14]…………………. 22
Obrázek 3:
Blokové schéma snímače teploty [1] ……………………………. 24
Obrázek 4:
Pouzdra snímače teploty DS18B20 [1]…………………………... 25
Obrázek 5:
Časový průběh zahájení komunikace s čidlem DS18B20 [1]…….. 26
Obrázek 6:
Časový průběh čtení a zápisu dat po 1-Wire sběrnici [1]………… 27
Obrázek 7:
Uspořádání ovládacího panelu……………………………………. 28
Obrázek 8:
Způsoby přímého připojení tlačítek k mikroprocesoru [8]……….. 29
Obrázek 9:
Blokové schéma vnitřní struktury displeje [3]…………………... 30
Obrázek 10:
Doporučené zapojení Optotriaku MOC3041 [4]……………….... 32
Obrázek 11:
Elektrické schéma zapojení termostatu 1. část……………………. 34
Obrázek 12:
Elektrické schéma zapojení termostatu 2. část……………………. 35
Obrázek 13:
Simulační schéma modelu domu[18]…………………………….. 36
Obrázek 14:
Blokové schéma dvoupolohového regulátoru[18]……………….. 37
Obrázek 15:
Průběh regulované veličiny[18]………………………………….. 37
Obrázek 16:
Simulační schéma On/Off regulace………………………………..38
Obrázek 17:
Simulační schéma PS regulátoru………………………………….. 39
Obrázek 18:
Struktury fuzzy regulátoru [16]…………………………………. 42
Obrázek 19:
Simulační schéma Fuzzy regulátoru……………………………… 42
Obrázek 20:
Normalizované symetrické rozložení funkcí příslušností [16]…… 43
Obrázek 21:
Simulační schéma On/Off regulátoru s přenastavením parametrů...44
Obrázek 22:
Průběhy regulované veličiny při skokové změně řízení, venkovní teplota 4 °C……………………………………………………….. 45
Obrázek 23:
Průběhy regulované veličiny při skokovém působení poruchy, venkovní teplota 4 °C…………………………………………….. 46
Obrázek 24:
Průběhy regulované veličiny při skokové změně řízení, venkovní teplota -5 °C………………………………………………………. 47
Obrázek 25:
Průběhy regulované veličiny při skokové změně řízení, venkovní teplota 10 °C………………………………………………………. 47
9
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 26:
Průběhy regulované veličiny při skokovém působení poruchy, venkovní teplota -5 °C……………………………………………. 48
Obrázek 27:
Průběhy regulované veličiny a upravených akčních zásahů při skokovém působení poruchy, venkovní teplota 10 °C…………… 48
Obrázek 28:
Uspořádání zobrazení informací na displeji při realizaci PS Algoritmu…………………………………………………………. 51
Obrázek 29:
Průběh regulované veličiny v reálném objektu…………………… 53
SEZNAM TABULEK Tabulka 1:
Vlastností materiálů pro kovové odporové senzory teploty.……... 18
Tabulka 2:
Vlastnosti termoelektrických čidel teploty……………………….. 21
Tabulka 3:
Zapojení a popis vývodů LCD displeje…………………………... 30
10
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
1.
ÚVOD
Cílem této práce je ideový návrh mikropočítačově orientovaného pokojového termostatu použitelného pro regulaci teploty v rodinném domě, bytu nebo kancelářských prostorách. Jedná se o celkový návrh všech vlastností a funkcí pokojového termostatu a návrh jeho technického provedení. Termostat by měl splňovat všechny požadavky na pokojové termostaty a především odstraňovat nevýhody a nedokonalosti na trhu dostupných termostatů, které byly zjištěny v semestrální práci [18]. Největší důraz je ovšem kladen na samotnou regulaci teploty. Dalším úkolem je na termodynamickém modelu domu [18] navrhnout několik algoritmů pro regulaci teploty. Dále simulací na témže modelu provést jejich srovnání a na jeho základě zvolit nejvhodnější algoritmus pro pokojový termostat. Jeden z navrhnutých algoritmů poté implementovat do vývojového kitu Rabbit 2000 tak, aby bylo možné otestovat jeho správnou činnost na jednoduchém praktickém modelu nebo v rodinném domě. Na základě naměřených výsledků zhodnotit regulaci z a vybrat nejvhodnější algoritmus pro termostat.
11
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
2.
TEORETICKÝ NÁVRH TERMOSTATU
V této části práce budou vysvětleny hlavní důvody a funkce regulace vytápění, z nichž budou stanoveny hlavní požadavky na parametry a provedení námi navrhovaného pokojového termostatu.
2.1
DŮVODY A FUNKCE REGULACE VYTÁPĚNÍ
Protože jsou otopné soustavy domů projektovány na základě výpočtů tepelných ztrát pro nejnižší roční venkovní teplotu v daném regionu, je každá otopná soustava objektů po většinu dnů v roce značně předimenzovaná, a je nutné správně regulovat její výkon. Druhým hlavním důvodem regulace je zajištění tepelné pohody. Tento pojem v sobě zahrnuje hned několik požadavků, ty hlavní jsou zejména příjemná teplota vzduchu, jeho čistota či vlhkost nebo teplota předmětů v místnosti. Posledním velmi důležitým požadavkem na regulaci je minimalizování nákladů na vytápění při zachování požadovaného komfortu. Existuje několik způsobů regulace výtápění, které můžeme rozdělit na:
Regulace zdroje •
Regulace pokojovým termostatem v referenční místnosti
•
Ekvitermní regulace
Regulace otopných těles •
Ruční regulace
•
Termostatické hlavice
Kombinovaná regulace •
Nesoučasná regulace IRC (Individual room control)
V této práci bude tedy navržen termostat pro regulaci vytápění pokojovým termostatem v referenční místnosti. Princip této metody je velmi jednoduchý. Termostat je umístěn v jedné z místností objektu, která byla zvolena jako referenční, a v ní udržuje požadovanou teplotu. Protože svým akčním zásahem ovládá centrální
12
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
zdroj tepla dochází, k regulaci teploty v celém objektu. Nevýhodou této metody regulace je, že teplota v některé z ostatních místností často neodpovídá požadované teplotě. Odstranění této nevýhody zajišťují nejmodernější IRC regulace, pomocí nichž má uživatel naprostou časovou kontrolu nad teplotami ve všech místnostech.
2.2
STANOVENÍ POŽADAVKŮ NA VLASTNOSTI A FUNKCE TERMOSTATU
V první fázi návrhu je nutné stanovit požadavky na regulaci a navrhnout funkce, které musí termostat mít. V předcházející semestrální práci [18] byla provedena rozsáhlá rešerše na trhu dostupných pokojových termostatů, ze které vzešly některé zásadní požadavky, a také byly zjištěny závažné nedostatky, které by měly být v návrhu odstraněny.
2.2.1 Požadavky na regulaci Jako u každé jiné regulace i zde je hlavním požadavkem co nejpřesnější sledování žádané hodnoty. V našem případě se tedy jedná o přesné sledování požadované teploty vzduchu v místnosti. Je zde nutné, zajistit dobré dynamické i statické vlastnosti regulace. Systém musí být schopen nejen dostatečně rychle reagovat na změnu žádané hodnoty, ale také se vyrovnat s možnou poruchou. Dále musí zajistit pokud možno co nejmenší regulační odchylku od požadované hodnoty v ustáleném stavu. Pokud je regulace typu on/off dá se tento požadavek zajistit zmenšením hystereze. Protože má každá otopná soustava zcela odlišné časové konstanty, zcela ideální je, aby termostat umožňoval hysterezi zvolit. Ze získaných zkušeností lze stanovit hodnoty pro volbu hystereze např. 0.4, 0.6 a 0.8 °C. Je nutné si uvědomit, že i přes volbu hystereze 0.6 °C může teplota v místnosti kmitat v rozmezí až 1 °C. Volbu hystereze je nutné vždy náležitě zvážit, protože malá hystereze vede k příliš častému spínání zdroje tepla a to může vést ke snížení jeho účinnosti nebo dokonce k předčasnému zničení. Dalším řešením je zvolit jeden z pokročilejších algoritmů řízení jako je např. PID, jehož akční zásah je poté převeden na on/off.
13
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
2.2.2 Snímání teploty Protože základem kvalitní regulace je především získávání dostatečně přesných informací o regulované veličině a to v reálném čase, je nutné stanovit požadavky také na snímač teploty. Pro realizaci výše uvedené hystereze je nutné, aby rozlišovací schopnost snímače teploty byla alespoň 0,1 °C a to v rozsahu přibližně od -10 do 40 °C. Nároky na přesnost čidla nejsou příliš vysoké, protože se předpokládá, že chyba v tak malém rozsahu teplot bude aditivní a bude tedy kompenzována nastavením uživatele pro něj příjemné teploty bez ohledu na číselný údaj požadované teploty. Vhledem k velkým časovým konstantám regulované soustavy není nutná příliš vysoká rychlost čidla.
2.2.3 Obsluha a ovládání termostatu Dalším důležitým požadavkem na termostat je jeho jednoduchá obsluha, programování a rychlé ovládání, zejména pak změna žádané teploty. Termostat by měl být vybaven dostatečným množstvím ovládacích prvků, jako jsou tlačítka přepínače nebo například inkrementální prvky. Každý tento prvek by měl mít v ideálním případě zcela jednoznačnou funkce, která by se neměla měnit.
2.2.4 Funkce termostatu Termostat by měl být schopen pracovat jak v režimu regulace na právě zvolenou požadovanou teplotu, tak i řízení teploty podle předem stanoveného programu. Program musí mít možnost zvolit na každý den nejméně 4 různé teploty s časovým krokem 30 minut.
2.2.5 Displej Pro pohodlnou kontrolu a ovládání je nutné vybavit termostat dostatečně velkým displejem, který bude čitelně a přehledně zobrazovat aktuální teplotu v místnosti, požadovanou teplotu, čas, stav zdroje tepla a režim, ve kterém se termostat nachází.
14
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
2.2.6 Ostatní požadavky Protože není předem určeno jaký zdroj tepla bude termostatem řízen, dalším požadavkem může být schopnost spínat dostatečně vysoké proudy. 2.2.7 Cena Poslední avšak velmi důležitý požadavek na termostat je nízká cena. U elektronických programovatelných termostatů se cena pohybuje od 600 do 3000Kč.
Shrnutí: •
Přesné sledování žádané teploty a odstranění poruch
On/Off – volba hystereze
Pokročilý algoritmus řízení
•
Zajištění ne příliš častého spínání zdroje tepla
•
Rozlišovací schopnost snímače teploty 0,1 °C
•
Jednoduchá obsluha - dostatečný počet ovládacích prvků
•
Rychlá změna žádané teploty
•
Týdenní program – volba min 4 teplot na den
•
Snadno čitelné a přehledné zobrazování zejména žádané a aktuální teploty v místnosti, režimu termostatu a stavu zdroje tepla
•
Nízká cena
15
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
3.
HARDWAROVÝ NÁVRH TERMOSTATU
V této kapitole budou na základě teoretického rozboru dané problematiky navrhnuta technická řešení jednotlivých hardwarových součástí termostatu tak, aby bylo možné splnit požadavky na termostat stanovené v předešlé kapitole.
Obrázek 1: Blokové schéma termostatu teploty 3.1
VSTUPNÍ ČLEN – SNÍMAČ TEPLOTY
Protože obecně kvalita regulace závisí z velké části na kvalitním a dostatečně rychlém snímání regulované veličiny, budeme se výběrem snímače teploty zabývat podrobněji. Budou zde teoreticky rozebrány různé metody měření a poté vybrán nejvhodnější snímač.
Základní rozdělení snímačů teploty V současné době existuje velké množství teplotních snímačů, které můžeme rozdělit podle mnoha kritérií. [17]
Rozdělení podle fyzikálního principu měření teploty: •
dilatační (plynové, kapalinové, parní a bimetalové)
•
elektrické (kovové, polovodičové, termoelektrické)
•
čidla speciální
16
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
17
Vysoké učení technické v Brně
Podle typu výstupního signálu na čidla: •
analogová
•
číslicová
V našem případě se omezíme na výběr mezi elektrickými snímači teploty, které si důkladněji teoreticky rozebereme.
3.1.1 Kovové odporové senzory [9] [17] Funkce těchto čidel je založena na závislosti měrného odporu kovu na teplotě. Základním požadavkem na kov je, aby teplotní součinitel odporu byl co největší a stálý, teplotní závislost odporu lineární a jeho rezistivita co největší. Používají se především čisté kovy jako měď, nikl a platina. Nejčastěji používaným materiálem je platina pro svou pro velkou chemickou stálost, vysokou teplotu tavení a dosažitelnou vysokou čistotu. Standardní hodnotou odporu platinového čidla je 100Ω při 0 °C, kromě této hodnoty se v menší míře vyrábí také Pt senzory 50, 100, 200, 500, 1000 a 2000 Ω. Pt čidla se používají pro provozní měření teploty v rozsahu – 200 °C až 850 °C (výjimečně až do 1200 °C). Přesnost je tomto rozsahu ± 0,25 °C. Jejich teplotní závislost na odporu lze vyjádřit vztahem
[
]
Rt = R0 1 + At + Bt 2 + Ct 3 (t − 100 ) kde
R0 = 100 Ω A = 3,90802 .10-3 K-1 B = 5,80195 .10-7 K-2 C = 4,27350 .10-12 K-4
pro t < 0 °C
C=0
pro t ≥ 0 °C
[Ω]
(1)
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
18
Vysoké učení technické v Brně
Pro vyjádření změny odporu na teplotě jednotlivých materiálů se definuje tzv. teplotní součinitel odporu.
α =
R100 − R 0 100 ⋅ R 0
[K-1]
(2)
Teplotní součinitel
Rozsah měřených
odporu α [K-1]
teplot [°C]
Měď
3,85 - 3,93
-200 až 850
Nikl
6,17 - 6,70
-60 až 200
Platina
4,26 - 4,33
-50 až 150
Materiál
Tabulka 1: Vlastností materiálů pro kovové odporové senzory teploty [9]
Výhody Výhody použití platinového odporového snímače jsou při precizním provedení vysoká přesnost, stabilita a poměrně dobrá linearita.
Nevýhody Společnou nevýhodou odporových snímačů je nutnost kompenzace odporu přívodních kabelů např. čtyřvodičovým zapojením. Dále je nutné dodržet maximální měřící proud, protože jeho průchodem dochází k chybě vlivem oteplení senzoru. Maximální měřící proud bývá uváděn výrobcem mezi základními údaji, u platinových senzorů s R0 =100 Ω bývá kolem 1 mA. Platinové snímače se také vyznačují poměrně malou změnou odporu při změně teploty. Nevýhodou tohoto snímače je také vysoká cena, která začíná u základního provedení na 200 Kč.
3.1.2 Polovodičové senzory [9] [17] U polovodičových senzorů teploty se podobně jako u kovových využívá teplotní závislosti odporu na teplotě. Na rozdíl od kovů je ale princip vodivosti polovodičů odlišný, a proto jsou jiné i vlastnosti těchto senzorů. S rostoucí teplotou roste koncentrace nosičů náboje a elektrický odpor materiálu se snižuje.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
19
Vysoké učení technické v Brně
Polovodičové čidla se dělí na poly a monokrystalické. První skupina – termistory se dále dělí na Negastory (NTC) – záporná závislost odporu na teplotě Pozistory (PTC) – kladná závislost odporu na teplotě
Termistory NTC (negastory) Již z názvu NTC ( Negative Temperature Coefficient ) je patrný záporný teplotní součinitel odporu. S rostoucí teplotou se zvyšuje koncentrace nosičů náboje a elektrický odpor klesá dle vztahu:
R = R0 ⋅ e kde
1 1 B − T T0
[Ω]
R0
odpor termistoru při teplotě T0 [K]
R
odpor termistoru při teplotě T [K]
B
teplotní součinitel – materiálová konstanta [K]
(3)
Kromě termistorů pro běžné teplotní rozsahy -50 °C až 150 °C se vyrábí i speciální termistory pro nízké (od cca 4 K) a vysoké teploty (zhruba do 1000 °C). Výhody Hlavní výhodou termistorů je velká citlivost a malá hmotnost čidla, což umožňuje měření velmi malých a rychlých teplotních změn. Dále je to široké rozmezí hodnot odporu a také poměrně nízká cena. Nevýhody Zásadní nevýhodou termistorů je velká nelinearita, která nevíc omezuje jeho teplotní rozsah. V porovnání s platinovými senzory jsou NTC termistory méně stabilní a časově nestálé. Termistory PTC (pozistory) [9] Na rozdíl od NTC termistorů mají kladný teplotní koeficient. Vykazují ovšem značně nelineární závislost odporu na teplotě. Jejich odpor s rostoucí teplotou nejprve mírně klesá a po překročení Curieovy teploty strmě roste. Jejich použití pro
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
20
Vysoké učení technické v Brně
měření teploty je velmi omezené. Používají se např. jako dvoustavové senzory například pro signalizaci překročení určité teploty.
Monokrystalické senzory[9][14] a) bez PN přechodu Vyrábí se z křemíku, germania nebo india, v praxi se však setkáváme pouze se senzory křemíkovými. Monokrystalické Si senzory teploty tedy mají kladný teplotní součinitel odporu podobně jako PTC termistory, princip jejich vodivosti je však odlišný. Křemíkové senzory se obvykle používají pro rozsah teplot od –160 °C až 300 °C. Jejich nevýhodou je značná citlivost na magnetické pole. b) s PN přechodem Tyto senzory jsou založeny na teplotní závislosti napětí PN přechodu. Používají se v teplotním rozsahu 1 až 400 K. Výhodnou vlastností polovodičové diody (tranzistoru v diodovém zapojení), jako čidla teploty, je lineární závislost výstupní termometrické veličiny na teplotě. Při napájení diody konstantním proudem je úbytek napětí na PN přechodu
UD = kde
nk I ln(1 + )T e IS
[V]
(4)
k je Boltzmannova konstanta n je činitel polovodiče e je elementární náboj Is je nasycený proud diodou ve zpětném směru Z hlediska citlivosti je zajímavé zejména využití stabilizační Zenerovy diody
a to v oblasti její závěrné charakteristiky. Volbou Zenerova napětí lze měnit velikost jejího teplotního součinitele. Diodová čidla se vyznačují velkou citlivostí, linearitou a miniaturními rozměry. Právě díky malým rozměrům je vhodné integrovat je do tzv. inteligentních senzorů, které v sobě dále slučují funkce zpracování signálu (A/D převod) a komunikaci z nadřazeným systémem.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
21
Vysoké učení technické v Brně
3.1.3 Termoelektrický článek [9] [14] Termočlánky jsou jedny z nejpoužívanějších senzorů pro měření teploty v širokém rozsahu. Jsou založeny na Seebeckove jevu. Máme-li dva různé kovy, které jsou na svých koncích spojeny a každý konec je vystaven jiné teplotě, vzniká na nich odlišný elektrický potenciál. Při uzavření obvodu bude výstupní termoelektrické napětí úměrné rozdílu teploty obou míst. Platí
U = f (ϑ1 − ϑ 2 ) kde
[V]
(5)
ϑ1 je teplota měřícího spoje ϑ2 je teplota srovnávacího spoje (ČSN IEC 584). Obvod se skládá ze dvou materiálů A a B spojených ve dvou bodech. Jeden z
bodů tvoří měřicí spoj, druhý srovnávací spoj. Pro správnou funkci čidla teploty je nezbytné, aby teplota srovnávacího spoje byla konstantní nebo známá. Termočlánky se vyrábí kombinací různých kovů nebo slitin, některé jsou uvedeny v tabulce 2.
Označení
Měřící rozsah
(Typ)
trvalého použití [°C]
Měď – kopel
M
–200 až 400
Měď – nikl
T
–200 až 400
Chromel – kopel
V
–50 až 600
Niklchrom – měďnikl
E
–100 až 700
PtRh 10 – Pt
S
0 až 1300
PtRh30 – PtRh6
B
300 až 1600
Materiály
Tabulka 2: Vlastnosti termoelektrických čidel teploty [9]
Výhody Hlavní výhoda termistorů je široký měřící rozsah, dále malá tepelná setrvačnost a možnost malého provedení.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Nevýhody Nevýhodou je nižší přesnost, která ovšem v typických aplikacích není hlavním parametrem, dále nelinearita, potřeba referenční teploty, nízká citlivost a stabilita. 3.1.4 Inteligentní snímače teploty [14] Jedná se o inteligentní převodníky teploty (smart temperature sensors) vybavené jedním nebo několika mikroprocesory, které vedle úpravy vstupního signálu (zesílení, linearizace charakteristiky, přizpůsobení rozsahu aj.) zajišťují i automatickou kalibraci, filtraci, digitální zobrazení, hlídání nastavených mezí a obousměrnou komunikaci s počítačem nebo nadřazeným řidícím systémem. Funkce a základní části typického inteligentního převodníku jsou zřejmé z blokového schématu na obrázku 2. Inteligentní převodníky různých výrobců se pochopitelně liší konkrétním uspořádáním obvodového zapojení, i doplňujícím vybavením. Přes poměrně složité zapojení jsou inteligentní převodníky velice kompaktní přístroje s malými rozměry.
Obrázek 2: Schéma inteligentního převodníku teploty [14]
22
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
23
Vysoké učení technické v Brně
Výhody Hlavní výhodou těchto senzorů je jednoduchost jejich použití bez potřeby dalších obvodů, které jsou jak již bylo řečeno integrovány přímo v senzoru. Dále je to vysoká citlivost a nízká cena. Nevýhody Nevýhoda je nízká přesnost, a menší rozsah z čehož plyne omezené použití, dále menší rychlost a problémy se zahříváním protékaným proudem.
3.1.5 Shrnutí a konečný výběr teplotního senzoru Výše byly zmíněny pouze principy nejběžnějších elektrických snímačů teploty, jejich výhody a specifika. Přesnost měření a ostatní parametry jsou u všech typů senzorů výrazně ovlivněny zejména způsobem konečného zapojení čidla. Je nutné si uvědomit, že většina zmíněných principů sebou přináší komplikace jako je nutnost linearizace charakteristiky, přizpůsobení rozsahu, kalibraci, filtraci, kompenzaci přívodních vodičů atd. Protože přesné měření teploty není hlavním řešeným problémem této práce, byl podle výše stanovených požadavků zvolen jako snímač teploty jeden z inteligentních senzorů Dallas DS18B20.
3.1.6 Teplotní senzor DS18B20 [1] [12] Jedná se inteligentní senzor teploty od firmy Dallas Semiconductor, který přímo převádí teplotu na 9-12 bitový výstup s maximálním rozlišením 0,0625°C a také
zajišťuje
komunikace
s nadřazeným
systémem,
v našem
případě
s mikrokontrolérem, po jednovodičové sběrnici Dallas 1-Wire. Jedná se o obousměrnou sériovou komunikaci, po které probíhá nastavení senzoru i přenos naměřených dat. Je typu Master/Slave, kde řidící systém, mikrokontrolér, je Master a všechny připojené jednovodičové senzory Dallas typu Slave. Pro odlišení jednotlivých senzorů připojených ke sběrnici má každý senzor v paměťi ROM uloženo 64bitové unikátní číslo, které je určeno k jeho adresaci na sběrnici. Kromě měření teploty, obvod disponuje funkcí digitálního termostatu, jehož dolní a horní hranici lze programově nastavit a uložit do EEPROM paměti (registry
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
TH a TL). Při čtení naměřené hodnoty jsou pak k dispozici bity informující o překročení uložených teplot. Vnitřní struktura senzoru je patrná z blokového schéma na obrázku 3.
Obrázek 3: Blokové schéma snímače teploty [1]
Charakteristické vlastnosti: • měřící rozsah od -55 °C do 125 °C • přesnost ±0,5 °C na rozsahu –10°C to +85°C • výstupem je 9, 10, 11 nebo 12 bitové číslo • široký rozsah napájecího napětí 3 až 5.5 V • převod teploty trvá max. 750ms • komunikace po sériové sběrnici 1-Wire • spotřeba: 1 mA (800nA v Standby modu) • pouzdra 8-pin SO (150mil), 8-pin _SOP a 3-pin TO-92 Popis vývodů: • GND – zem • DQ – datový vstup/výstup • VDD – napájení • NC – nepřipojeno
24
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 4: Pouzdra snímače teploty DS18B20 [1]
Sběrnice 1-Wire [1] Jedná se o jednovodičovou obousměrnou komunikaci. Přenášené informace jsou reprezentované logickými napěťovými úrovněmi vztaženými k nulovému potenciálu země GND. Sběrnice má jeden řidící obvod (master) a jeden či více ovládaných zařízení (slave). Všechny obvody jsou zapojeny na společnou zem a paralelně na společný datový vodič. Tento datový vodič je připojen přes odpor 4,7 kΩ na napájecí napětí a zdvihá tak sběrnici do log. 1. Komunikaci zahajuje vždy master reset pulsem. Nejprve stáhne datový vodič do log. 0 a drží ho na této úrovni minimálně 480 mikrosekund. Pak sběrnici uvolní a naslouchá. Odpor zatím vrátí sběrnici zpět do log. 1. Pokud je na sběrnici připojené nějaké 1-Wire zařízení, tak detekuje tuto vzestupnou hranu a po prodlevě 15 - 60 µs stáhne sběrnici na 60 - 240 µs k log. 0. Pokud se zařízení takto ohlásí, může master začít vysílat a přijímat data.
25
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 5: Časový průběh zahájení komunikace s čidlem DS18B20 [1]
Data jsou vysílána v tzv. "time slotech" (časových úsecích). Slot je dlouhý 60 až 120 µs a během jednoho slotu je vyslán nebo přijat jeden bit informace. Mezi jednotlivými sloty musí být minimálně 1 µs mezera, kdy je sběrnice v klidu. Existují 4 druhy slotů: Zápis 1, Zápis 0, Čtení 1 a Čtení 0. Zápisové sloty slouží k tomu, aby master vyslal data do zařízení. Zápis 1 probíhá tak, že master stáhne sběrnici k nule minimálně na 1 µs a nejpozději do 15 µs od začátku ji opět uvolní a ponechá uvolněnou. Zdvihací odpor ji tedy vytáhne k log. 1. Zápis 0 je o něco jednodušší, Master stáhne sběrnici k 0 a ponechá ji tak po celý slot, tedy min. 60 µs. Zařízení vzorkuje stav na datovém vodiči zhruba 30 µs po začátku time slotu. Čtecí sloty opět inicializuje master tím, že stáhne sběrnici k nule na minimálně 1 µs a opět ji uvolní. Po tomto zahájení může zařízení vyslat 1 bit buď tím, že ponechá sběrnici v klidu (log. 1) nebo že ji stáhne (log. 0). Detailně je způsob čtení a zápisu vidět na obrázku 6.
26
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 6: Časový průběh čtení a zápisu dat po 1-Wire sběrnici [1]
3.2
VSTUPNÍ ČLEN – OVLÁDACÍ PANEL
3.2.1 Návrh ovládacího panelu Druhým vstupním členem je ovládací panel, který má umožňovat uživateli pohodlné a rychlé ovládání tj. nastavování požadovaných teplot, režimu a programování. Na základě výše stanovaných požadavků jsme navrhli ovládací panel s 10 tlačítky a třemi led diodami. Dvě zelené slouží pro signalizaci režimu regulace a červená led dioda signalizuje zapnutí zdroje tepla. Uspořádání je patrné z obrázku 7.
27
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
28
Vysoké učení technické v Brně
Obrázek 7: Uspořádání ovládacího panelu
Popis jednotlivých tlačítek: AUT - přepíná termostat do režimu regulace podle programu MAN - přepíná termostat do režimu regulace na zvolenou teplotu OFF
- vypíná termostat
+
- slouží pro zvyšování teploty nebo času při programování
-
- slouží pro snižování teploty nebo času při programování
OK
- potvrzuje volbu teploty, času atd.
PROG - přepíná do módu programování ČAS
- nastavení času
TEP
- nastavení teploty
DEN - nastavení dne
3.2.2 Připojení tlačítek k mikrokontroléru [11] Existuje několik způsobů připojení tlačítek nebo jednoduché klávesnice k mikrokontroléru.
Je to
přímé připojení
tlačítek
k jednotlivých
vstupům
mikrokontroléru, dále klávesnice generující kód, kde jsou tlačítka připojena ke kombinačnímu logickému obvodu, který na vstup mikrokontroléru posílá kód odpovídající stisknutí daného tlačítka. Poslední možností je multiplexně snímaná klávesnice, na které jsou tlačítka zapojená do matice a při stisku dochází ke spojení vždy některého řádku s některým sloupcem. Protože máme k dispozici mikrokontrolér s dostatečným počtem vstupů na pokrytí všech tlačítek, zvolili jsme přímé připojení tlačítek k mikrokontroléru.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Připojení může být provedeno dvěma způsoby podle toho jakou logiku chceme používat. Ve většině případů se používá negativní logika, při niž je na vstup mikrokontroléru trvale přivedena logická 1 a při stisku tlačítka se na něm objeví logická 0. Výhodou používání negativní logiky je, že okamžitě rozpoznáme vznik poruchy.
Obrázek 8: Způsoby přímého připojení tlačítek k mikroprocesoru [11]
3.2.3 Ošetření zakmitávání kontaktů Stiskneme-li tlačítko, ve většině případů kontakty poodskočí, což způsobí několik rychlých sepnutí a rozepnutí kontaktů. Tento jev se nazývá zakmitávání a je nutné jej ošetřit, aby bylo možná odlišit zakmitávání a vícenásobné stisknutí tlačítka. Je tedy nutné použít speciální tlačítka, která nezakmitávají nebo provést ošetření softwarově. V našem případě bude zakmitávání ošetřeno softwarově snímáním stavu vzorkováním. 3.3
VÝSTUPNÍ PERIFERIE – DISPLEJ
Také při výběru displeje jsme vycházeli z požadavků stanovených v úvodu práce. Podle požadavku na zobrazení aktuální teploty v místnosti, požadované teploty, času, stav zdroje tepla a režim, ve kterém se termostat nachází byl jednoznačně zvolen alfanumerický LCD displej. Z široké nabídky LCD displejů s rozlišnými vlastnostmi byl vybrán MC2004B-SYL/H od výrobce Everbouquet. Displej zobrazuje 20x4 znaků (20 znaků ve čtyřech řádcích) a má rozměry 98x60x13
29
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
mm. Jednotlivé znaky jsou složeny z 5x8 bodů, podklad displeje je žlutozelený, podsvětlený LED diodami. Displej obsahuje dnes již standardní řadič HD44780. Tento řadič je používán všemi výrobci znakových LCD což vede k velké kompatibilitě a zjednodušení používání displejů v praxi. Vnitřní struktura displeje je na obrázku 9. [2][3]
Obrázek 9: Blokové schéma vnitřní struktury displeje [3] Zobrazování jednotlivých znaků na displeji probíhá následujícím způsobem. Každé jednotlivé políčko na displeji má přidělenou adresu v paměti, na kterou pokud zapíšeme kód znaku, řadič na základě jazykové sady, kterou má uloženou v paměti vypíše příslušný znak na displej. Řadič obsahuje obvykle jazykové sady anglicko/ruská nebo anglicko/japonská. Komunikace s LCD displejem probíhá po paralelní sběrnici o 16 vodičích. Přenos dat může probíhat buď 4 nebo 8bitově. V tabulce 3 je zobrazeno zapojení vývodů, název signálu a popis. Vývod Název Popis 1 VSS Napájení 0 V 2 VDD Napájení +5 V 3 V0 kontrast 0 V .. 5 V (typ. 0,8 V) 4 R/S 0 = instrukce, 1 = data 5 R/W 0 = zápis, 1 = čtení 6 E Vstup povolení 7-14 DB0-DB7 Datové vodiče 15 A podsvícení - anoda: 4,2 V 16 K podsvícení - katoda : 0 V Tabulka 3: Zapojení a popis vývodů LCD displeje [3]
30
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
3.4
SPÍNANÍ VÝKONOVÉHO VÝSTUPU
Přestože bude termostat mít implementován jeden z pokročilejších algoritmů řízení, jeho akční zásah bude převeden na dvoustavový ON/OFF. Zdroj tepla bude tedy zapnut nebo vypnut. Pro realizaci tohoto akčního zásahu je třeba zajistit spínání výkonové zátěže pomocí výstupu z mikroprocesoru. Pro takové spínání je možné použít relé nebo polovodičový spínací prvek. Protože použití relé sebou nese některé nevýhody použili jsme polovodičový optotriak. Jeho výhodou je zejména galvanické oddělení, díky němuž nedochází k přenosu rušení ze sítového napětí do logické části obvodu. Konkrétně byl vybrán optotriak MOC3041. Princip optotriaku je takový, že přímo v pouzdře je IR dioda, kterou ovládá výstup z mikroprocesoru. Dioda spíná integrovaný optotriak a ten následně sepne výkonový triak zapojený na výstupu. Ten pak přímo spíná kotel. Zapojení bylo realizováno podle doporučení z datasheetu optotriaku na obrázku 10. Při realizaci je nutné opět zajistit adekvátní chlazení výkonového triaku, který umožňuje spínat až 12 A.
Obrázek 10: Doporučené zapojení Optotriaku MOC3041 [4]
31
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
3.5
ŘIDÍCÍ JEDNOTKA – MIKROPROCESOR
3.5.1 Výběr mikroprocesoru Mikroprocesor je srdcem celého zařízení a jeho volba je pro celé zařízení naprosto zásadní. Jeho výběr byl záměrně ponechán na závěr celého návrhu, protože do požadavků na něj se promítne každá předem zvolená součást konstrukce. Právě mikroprocesor bude obsluhovat čidlo teploty, displej, ovládací panel a ovládat výkonový výstup. Mimo obsluhu těchto periferií bude muset plnit všechny stanovené funkce pokojového termostatu, ale také uchovávat informace zadané uživatelem jako je např. týdenní program. Hlavními kandidáty na mikroprocesor byly procesory PIC od firmy MICROCHIP a AVR od firmy Atmel. Stále velmi populární zůstávají mikroprocesory a označením x51 a to i přes svoji zastaralou architekturu. Pro dřívější zkušenosti s programováním mikroprocesorů AVR jsme zvolili právě tohoto výrobce. Jejich výhodami jsou zejména vysoká rychlost, možnosti sériového programování, interní EEPROM a Watchdog. Při výběru konkrétního modelu je nutné z požadavků na funkce mikroprocesoru určit tyto parametry: počet programovatelných vstupů/výstupů, velikost pamětí EEPROM, FLASH, SRAM, počet přerušení a časovačů a komunikační rozhraní. Pro náš termostat byl tedy vybrán mikroprocesor Atmel AVR ATmega64-16AU.
3.5.2 Atmel AVR ATmega64-16AU [6] Jedná se o 8 bitový mikroprocesor řady ATmega. Je založen na rozšířené AVR RISC architektuře. Jeho výhodami jsou zejména rychlost a možnost sériového programování pomocí SPI. Programování probíhá ve freeware vývojovém prostředí ATMEL - AVR Studio.
Základní parametry mikroprocesoru: •
53 programovatelných vstupů/výstupů
•
64 program FLASH paměti, 4kB SRAM, 2kB EEPROM
•
2 x 8bit čítače, 2x 16bit časovače
32
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
33
Vysoké učení technické v Brně
•
6+2 PWM kanály
•
8 x 10bit ADC
•
Komunikační rozhranní I2C, 2 x USART a SPI
•
Vnitřní RC oscilátor
•
Watchdog, úsporné režimy
•
Napájení 4,5 – 5,5V
V návrhu byly k mikroprocesoru připojeny
všechny vstupní/výstupní periferie,
napájení a krystal s frekvencí 16MHz.
3.6
NAPÁJENÍ
Napájení
termostatu
bylo
zvoleno
síťovým
napětím,
které
je
nejprve transformováno na 6V a poté usměrněno pomocí usměrňovacího můstku. Dále je pomocí stabilizátoru L4940V05 stabilizováno na napájecí napětí 5V. Při konstrukci by bylo vhodné připojit na stabilizátor menší chladič.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
3.7
ELEKTRONICKÉ SCHÉMA
Obrázek 11: Elektrické schéma zapojení termostatu 1. část
34
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 12: Elektrické schéma zapojení termostatu 2. část
35
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.
NÁVRH ALGORITMŮ
V této části práce bude nejprve stručně popsán termodynamický model domu z práce Pokojový termostat [18], na němž budou dále navrženy algoritmy řízení teploty pro pokojový termostat. V závěru kapitoly bude provedeno jejich srovnání a výběr algoritmu, který bude implementován do vývojové desky rabbit 2000.
4.1
TERMODYNAMICKÝ MODEL DOMU [18]
Model domu byl vytvořen v MATLABU a jeho parametry byly nastaveny na základě měření teplotní charakteristiky v reálném domě. Je nutno poznamenat, že tento model přesně nahrazuje reálnou místnost pouze v oblasti od 18 do 22 °C. Mimo tuto oblast chování modelu zcela neodpovídá místnosti, což je způsobeno nelinearitami a setrvačnostmi, které nebylo možné do modelu zahrnout. Průběhy dějů jsou však poměrově srovnatelné s časy ve skutečném objektu. Principiálně je schéma velmi jednoduché, přímá větev obsahuje zesilovače, které upravují akční zásah z regulátoru tak, aby možné jej vyjádřit teplotou otopné vody v systému. Přes zpětnou vazbu se od něj odečítá rozdíl venkovní a vnitřní teploty a tím zajišťuje vliv ztrát objektu, které vznikají únikem tepla. Dále je zařazen integrátor, který sčítá akční zásah a utváří tak hodnotu teploty v místnosti. Vnitřní záporná zpětná vazba zajišťuje stabilitu obvodu.
Obrázek 13: Simulační schéma modelu domu [18]
36
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.2
ON/OFF REGULÁTOR
4.2.1 Obecně On/Off regulace Tyto regulátory se používají pro méně náročné regulace, velice často pro regulace teploty elektricky vytápěných/chlazených soustav. Regulátor plní funkci dvoustavového
relé s hysterezí.
Pokud
regulovaná veličina poklesne pod
požadovanou hodnotu o polovinu hystereze, regulátor začne provádět akční zásah, který má pevnou hodnotu, v našem případě je zapnut zdroj tepla. Regulovaná veličina, teplota, roste, dokud nepřesáhne požadovanou hodnotu opět o polovinu hystereze, poté dojde k vypnutí zdroje tepla. [18]
w y
měřicí člen
u
e Zesilovač
Nelineární dvoupolohový člen
Obrázek 14: Blokové schéma dvoupolohového regulátoru [18]
Regulovaná veličina tedy kmitá v pásmu hystereze se šířkou H. Volba hystereze je vždy otázkou kompromisního řešení.
Obrázek 15: Průběh regulované veličiny [18]
37
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.2.2 Návrh On/Off regulátoru Jedná se o nejjednodušší, ale přesto stále velmi často používaný regulátor teploty, na kterém regulace teploty v obytných objektech začínala. Jeho praktická realizace je také velmi jednoduchá, první regulátory byli založeny na mechanickém spínání pomocí bimetalu. Co se týče našeho návrhu On/Off regulátoru jedná se v matlabu o blok dvoustavového relé, které je zapojeno jak naznačuje obrázek 16. Vstupem do něj je tedy přímo skutečná hodnota regulované veličiny, která je v něm porovnávána s mezemi vytvořenými pomocí žádané hodnoty a hystereze. Právě hystereze určuje jak moc bude regulace přesná. Její volba je kompromis mezi kvalitou regulace a cenou vytápění. Příliš malá hystereze vede k častému spínání zdroje tepla, což je velmi neekonomické a může vést k předčasnému zničení kotle. Některé plynové kotle dokonce mají od výrobce doporučenou minimální dobu, po kterou by měl být kotel zapnut. Při praktické realizaci tohoto algoritmu v termostatu by bylo vhodné umožnit uživateli nastavit hysterezi podle jeho požadavků, například v rozsahu od 0,4 do 1 °C s krokem 0,2 °C. Možnost této volby je důležitá zejména proto, že hodnota nastavené hystereze je pouze teoretická a neznamená, že se teplota vlivem setrvačnosti soustavy nemůže lišit více než o polovinu zvolené hodnoty. Hystereze tedy pouze udává teploty při nichž kotel zapíná a vypíná.
Obrázek 16: Simulační schéma On/Off regulace
38
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
39
Vysoké učení technické v Brně
4.3
PS REGULÁTOR
4.3.1 Obecně PSD regulace [10] [16] PSD je diskrétním ekvivalentem spojitého PID regulátoru. Co se týká PID jedná se o nejsložitější ze základních typů spojitých regulátorů. Jeho akční zásah je úměrný regulační odchylce, jejímu integrálu a její derivaci. Základní rovnice PID regulátoru je dána vztahem:
1 u (t ) = K e(t ) + TI kde
t
∫ e(τ )dτ + TD 0
de(t ) dt
(6)
K - zesílení regulátoru TI - integrační konstanta TD - derivační konstanta e(t) - regulační odchylka, rozdíl požadované a skutečné hodnoty e(t) = w(t) – y(t) u(t) – výstupní hodnota z regulátoru - akční zásah
Při výpočtu akčního zásahu u číslicového PID regulátoru integraci I nahrazujeme sumací S a derivaci diferencí. Tyto náhrady nemusí být jednoznačné, proto dostáváme různé vztahy pro přepočet mezi PID a PSD regulátor. Algoritmus PSD můžeme odvodit jako:
T u (k ) = K e(k ) + TI kde
k
∑ e(i) + i =1
TD (e(k ) − e(k − 1) ) T
(7)
T – perioda vzorkování
4.3.2 Návrh PS regulátoru Návrh samotného PS regulátoru jsme prováděli v simulačním prostředí matlab simulink. Stavový model byl sestaven na základě rovnice (8). Samozřejmostí bylo omezení přebuzení integrační složky a omezení akčního zásahu.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
40
Vysoké učení technické v Brně
Ts z −1 FR ( z ) = K 1 + ⋅ −1 T 1 − z I kde
(8)
K = 68 TI = 1,3 s TS = 0,1 s
Obrázek 17: Simulační schéma PS regulátoru Konkrétní nastavení jeho hodnot zesílení K a časové konstanty TI proběhlo experimentálně simulací celého regulačního pochodu zpětnovazební regulace. Jako soustava byl použit termodynamický model domu [18]. Vzorkovací perioda byla zvolena v souladu s vzorkovacím teorémem na hodnotu Ts = 0,1 s. Akční zásah regulátoru se pohybuje v rozsahu 0 – 100. Tyto hodnoty jsou zvoleny uměle a jsou chápany jako 0 až 100 % pro názornost jeho převodu na On/Off. Převod zajišťuje relé s hysterezí připojené za regulátor. Relé spíná zdroj tepla při akčním zásahu 50 % a vypíná při hodnotě menší než 30 %. Tento způsob převodu zajišťuje oproti pulzně šířkové modulaci PWM okamžitou reakci na poruchu či změnu žádané hodnoty.
4.3.3 Realizace PS regulátoru pro rabbit 2000 Pro
realizaci
regulátoru
je
nutné
naprogramovat
algoritmus
do
mikroprocesoru. Při programování vycházíme ze stavové proměnné na zpožďovači. Ta je zvolena jako proměnná sum a představuje hodnotu sumy vytvářené postupným sčítáním hodnot vytvářených integrační složkou regulátoru.
sum = sum +
KTS e TI
(9)
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
41
Vysoké učení technické v Brně
Konečný akční zásah pak spočítáme sečtením s proporcionální složkou.
U = K ⋅ e + sum
(10)
Ve zdrojovém kódu je dále ošetřeno omezení přebuzení integrační a složky a omezení akčního zásahu.
Zdrojový kód funkce PS regulátoru v jazyce Dynamic C: float PS(float Reg_vel){ e=W-Reg_vel; Akcni_Zasah= K*e+sum; sum = sum+K*(Ts/Ti)*e; if(Akcni_Zasah>10) Akcni_Zasah=10 if(Akcni_Zasah<0) Akcni_Zasah=0; if(sum>10) sum=10; if(sum<0) sum=0; return Akcni_Zasah;
} 4.4
FUZZY REGULÁTOR
4.4.1 Obecně Fuzzy regulace [13] [15] Fuzzy logika patří mezi hlavní zástupce poměrně nové vědní disciplíny SC (Soft Computing). Charakteristickým znakem fuzzy řízení je možnost bezprostředního použití empirických znalostí člověka - operátora o řízeném procesu, které označujeme jako bázi znalostí. Hodnoty jednotlivých veličin v systému jsou pak vyjádřeny hodnotou příslušností (0 - 1) do stanovených množin (např. malá, střední, velká). Struktura fuzzy regulátoru je znázorněna na obr.18. Jeho ústřední člen tvoří tři základní bloky: fuzzyfikace F, inference I a blok defuzzyfikace D. V bloku fuzzyfikace se převádí ostrá data, která jsou naměřena nebo zadána, na fuzzy data. Bloku fuzzyfikace může předcházet blok normalizace, kde se fyzikální hodnoty naměřených či zadaných hodnot převedou na normalizovanou množinu - univerzum. V bloku inference, který tvoří ústřední část regulátoru, se realizuje inferenční mechanismus z rozhodovacích pravidel, pomocí kterého získáváme ze vstupních fuzzy množin výstupní množiny.
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Blok defuzzyfikace umožňuje přiřadit výstupní fuzzy množině určitou ostrou výstupní veličinu. Za blokem defuzzyfikace může následovat blok denormalizace, kde se provede denormalizace výstupní veličiny - přepočet na fyzikální výstupní veličiny.
Obrázek 18: Struktury fuzzy regulátoru [16]
4.4.2 Návrh fuzzy PI regulátoru s normalizovaným tvarem universa [16] Pro návrh fuzzy regulátoru byl zvolen fuzzy toolbox v simulačním prostředí MATLAB. Jak vidíme na modelu na obrázku 19 celý fuzzy regulátor je zastoupen jediným blokem, který slučuje funkce fuzzyfikace, Interference a defuzzyfikace.
Obrázek 19: Simulační schéma Fuzzy regulátoru
Navrhovaný PI regulátor je typu Mamdami. Úvodem návrhu bylo nutné nastavit způsob fuzzyfikace a defuzzyfikace. Do regulátoru tedy vstupuje odchylka
42
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
e(k) a její první diference ∆e(k) jak je patrné z obrázku 19. Pro zjednodušení návrhu jsme zvolili pro vstupní i výstupní proměnné normalizovaný rozsah universa <-1; 1>.
Obrázek 20: Normalizované symetrické rozložení funkcí příslušností [16] Normalizace je zajištěna zesilovači Ke a Kde, denormalizace zesilovačem Ku. Funkce příslušnosti pro všechny veličiny byly zvoleny jako 7 rovnoměrně rozložených Λ- funkcí - Obrázek 20. Báze pravidel byla odvozena pomocí tří základních metapravidel: •
Jestliže regulační odchylka e(k) a její změna ∆e(k) je nulová nebo blízká nule, pak by měl být přírůstek akční veličiny ∆u(k) – akční zásah nulový nebo blízký nule.
•
Jestliže regulační odchylka e(k) klesá k nule nebo se blíží nule s dostačující rychlostí, pak je vhodné také neměnit akční veličinu.
•
Jestliže se regulační odchylka e(k) nekoriguje sama, potom je třeba akční veličinu změnit a akční zásah ∆u(k) bude nenulový. Jeho velikost a znaménko závisí na znaménku a velikosti regulační odchylky e(k) a její změny ∆e(k).
Metoda defuzzyfikace byla nastavena těžištěm plochy funkcí výstupních termů. Seřízení regulátoru proběhlo opět simulací regulace s termodynamickým modelem domu změnou měřítek vstupních univerz pomocí hodnot Ke a Kde.
43
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
4.5
ON/OFF REGULÁTOR S AUTOMATICKÝM PŘENASTAVENÍM PARAMETRŮ
Jedním z požadavků na regulační algoritmus pokojového termostatu je jeho univerzálnost. Každý dům má totiž jiné časové konstanty a celá dynamika vytápění se vždy liší. Proto se zde nabízí použití algoritmu, který se dokáže soustavě přizpůsobit. Zvolili jsme On/off regulátor pro jeho jednoduchost a výsledky srovnatelné s vyššími algoritmy řízení PI a fuzzy. Princip tohoto algoritmu, tak jak jsme jej uvedli kapitole 4.2, spočívá ve volbě hystereze spínání a vypínání zdroje tepla. Vlivem rozdílné setrvačnosti soustavy ovšem teplota obvykle kolísá ve větším rozsahu teplot než je právě zvolená hystereze. Tento nepříjemný jev jsme se rozhodli potlačit automatickou změnou právě horní a dolní hranice spínání kotle.
4.5.1 Princip regulátoru Přenastavení mezí spínání kotle je realizováno algoritmem jehož hlavní složkou je integrátor, který zajistí splnění přibližně nulové odchylky maximálního rozkmitu teploty od zvolených mezí. Uživatel tedy zvolí rozkmit hodnot teploty v místnosti. Zpočátku regulace jsou tyto meze přímo použity pro spínání kotle. Tedy např. při volbě hystereze 0,6 °C jsou meze spínání kotle ± 0,3 °C od požadované teploty. Pokud ovšem dojde během regulace vlivem setrvačnosti k jejich překročení jsou meze spínání sníženy tak, aby maximální/minimální hodnota teploty v místnosti co nejpřesněji odpovídala zvolené hysterezi.
Obrázek 21: Simulační schéma On/Off regulátoru s přenastavením parametru
44
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Činnost algoritmu zajištujícího přenastavení bude vysvětlena na simulačním schématu na obrázku 21. V bloku úprava odchylky nejprve dojde k výpočtu odchylky a rozdělení jejího průběhu na kladnou a zápornou složku. Tyto průběhy poté vstupují do bloku diference který na základě nulové diference (nahrazení derivace) určí okamžiky kdy dosahuje odchylka lokálního maxima. V bloku adaptace je pak v okolí těchto maxim porovnávána hodnota odchylky od zvolených mezí a integrací této odchylky je vytvářen akční zásah, který provede požadované přestavení parametrů tak, aby byla odchylka 0. Přenastavení probíhá v tomto modelu formou zesílení/zeslabení kladné nebo záporné části odchylky. Na obrázku 22 vidíme průběhy regulované veličiny při skokové změně řízení klasického On/Off regulátoru a přenastavujícího se On/Off regulátoru. Pro ukázku funkčnosti navrženého algoritmu jsme změnili nastavenou setrvačnost v modelu domu z práce [18] z 1,6 s na 10 s. Hystereze obou srovnaných regulátorů jsou nastaveny na 0,4 °C. Z průběhů je patrné, že ve stanovaných mezích udrží teplotu pouze přenastavující se On/Off regulátor a to až po prvním překmitu, na jehož základě je provedeno přizpůsobení.
Obrázek 22: Průběhy regulované veličiny při skokové změně řízení, venkovní teplota 4 °C
45
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Na obrázku 23 vidíme průběh regulované veličiny při skokovém působení poruchy On/Off regulátoru a On/Off přenastavujícího se regulátoru. Z obrázku vidíme, že On/Off přenastavující se regulátor se snaží poruchu lépe kompenzovat a udržet tak teplotu ve stanovaných mezích.
Obrázek 23: Průběhy regulované veličiny při skokovém působení poruchy, venkovní teplota 4 °C 4.6
SROVNÁNÍ ALGORITMŮ ON/OFF, PS A FUZZY
Při porovnávání kvality regulace jsou důležité statické a dynamické vlastnosti regulace. V následujícím srovnání se zaměříme na dynamické vlastnosti a to přechodné děje při skokové změně žádané hodnoty a vlivu skokového působení poruchy. Budou srovnány tři navržené regulátory: PS, Fuzzy a klasický On/Off regulátor. Na obrázcích 24 a 25 jsou znázorněny průběhy regulovaných veličin regulátorů při skokové změně požadované hodnoty o 1 °C, při venkovních teplotách -5 °C a 10 °C. Vidíme, že průběhy teploty regulované regulátory PS a Fuzzy mají první překmit po změně žádané hodnoty nepatrně větší.
46
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 24: Průběhy regulované veličiny při skokové změně řízení, venkovní teplota -5 °C
Obrázek 25: Průběhy regulované veličiny při skokové změně řízení, venkovní teplota 10 °C
47
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 26: Průběhy regulované veličiny při skokovém působení poruchy, venkovní teplota -5 °C
Obrázek 27: Průběhy regulované veličiny a upravených akčních zásahů při skokovém působení poruchy, venkovní teplota 10 °C
48
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Na obrázcích 26 a 27 jsou znázorněny průběhy regulovaných veličin regulátorů při skokovém působení poruchy, pro venkovní teploty -5 °C a 10 °C. Na obrázku 27 je navíc zobrazen upravený akční zásah regulátorů. Všechny tři regulátory poruchu odstraňují velmi dobře. Z celého srovnání je patrné, že průběhy všech regulátorů jsou velmi podobné, mírně lépe si stojí pouze klasický On/Off regulátor. Dá se říci, že výhody použití pokročilejšího algoritmu PS se zde neprojevily a to hlavně důsledkem omezení akčního zásahu na hodnoty zapnuto/vypnuto. Protože je navržený Fuzzy regulátor obdobou PI regulátoru a nedošlo k úpravě hodnot inferenčních pravidel ani k zavedení dalších vstupních proměnných ani fuzzy logika nepřinesla do regulace teploty žádné zlepšení oproti klasickému On/Off regulátoru. Co se týká statických vlastností regulace, zdali je možné o nich v tomto případě hovořit, byly všechny regulátory nastaveny tak, aby regulovaná veličina kmitala kolem požadované veličiny s hysterezí přibližně 0,4 °C.
49
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
5.
IMPLEMENTACE PS ALGORITMU DO MIKROPROCESORU
5.1
POPIS HARDWARE
Pro praktické ověření funkčnosti regulace teploty jsme měli k dispozici RABBIT 2000TM TCP/IP DEVELOPMENT KIT od firmy Rabbit Semiconductor. K ní bylo nutné přes 1-Wire sběrnici připojit čidlo teploty DS18B20 a pro zobrazení údajů regulace LCD displej MC2004B-SYL/H. Připojení čidla i LCD displeje k mikroprocesoru bylo obdobné jako v elektrickém schématu navrženého termostatu. Přenos dat na displej probíhalo také 4 bitově. Na displeji jsou zobrazeny hodnoty požadované teploty, aktuální teploty, akčního zásahu PS regulátoru a stav zdroje tepla, jak vidíme na obrázku 28. Ovládaní tj. nastavení požadované teploty bylo realizováno pouze dvěma tlačítky + a - na demonstrační desce dodané k vývojovému kitu Rabbit 2000.
5.1.1 Základní parametry mikroprocesoru Rabbit 2000TM [7] [8] •
Flash EPROM 256kB, 128kB SRAM
•
7x8bit časovačů/čítačů,
•
20x10bit ADC
•
Ethernet interface
•
3xUSART, RS-232, RS-485
•
Oscilátor 18.432 MHz
•
Watch-dog
50
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Obrázek 28: Uspořádání zobrazení informací na displeji při realizaci PS algoritmu
5.2
SOFTWARE
Programování probíhalo v programovacím prostředí Dynamic C, což je vývojový software firmy Rabbit Semiconductor pro programování mikroprocesorů Rabbit. Jedná se o jazyk velmi podobný klasickému jazyku C s mírnými odlišnostmi. Při programovaní jsme využili některé příklady programů, které Dynamic C obsahuje k většině mikroprocesorů Rabbit.[5]
5.2.1 Popis některých funkcí programu
Funkce zmer() Jedná se o jednu nejdůležitějších funkcí. Zajišťuje získání informace o teplotě ve formě dvou binárních čísel – celočíselná a desetinná část. Nejprve je volána funkce ow_detect_presence(), která inicializuje sběrnici a identifikuje 1-Wire zařízení. Protože je na sběrnici připojeno pouze jedno čidlo a není tedy nutné číst jeho adresu, kterou má uloženu v ROM paměti, je použita funkce owSkipRom(). Dále volaná funkce owConvertT() vyšle příkaz čidlu na změření teploty. Po 750 ms je možné pomocí funkce owReadScratchPad() vyžádat poslání naměřené hodnoty.
51
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
Ta je ve formě dvou bytů, které jsou přečteny pomocí funkce ow_read_byte(). Poté jsou hodnoty rozděleny na celočíselnou a desetinou část. Funkce LCD_Init () Tato funkce zajišťuje inicializaci displeje podle algoritmu uvedeného výrobcem. Nejprve je nutné odlišit zda budou na displej posílány data nebo příkazy, protože se jedná příkazy, je nutné nastavit signál RS (iDataFlag = COMMAND). Dále jsou ve funkci nastaveny vlastnosti jako typ přenosu dat (4 bitově), počet řádků, rozlišení segmentů a poloha kurzoru.
Display (char *szp) Funkce zajišťuje zobrazení informací uložených ve vstupní proměnné typu char na displej. Nejprve je nutné nastavit displej na příjem dat (iDataFlag = DATA). Poté je volána funkce WriteByte (), která 8 bitová data rozdělí na poloviny a voláním další funkce WriteNibble() zajistí jejich odeslání na displej. Celý kód funkce je uveden v příloze 1.
Plovoucí průměr Protože se teplota v místnosti mění velmi pomalu a navíc dochází vlivem proudění vzduchu k jejím výkyvům, změřená hodnota teploty často kolísá a neustále se mění v řádu desetin °C. Pro potlačení tohoto nepříznivého jevu jsme použili jednoduchý filtr typu plovoucí průměr. Jeho zdrojový kód je v příloze 1.
Při praktické realizaci, kteréhokoli algoritmu je nutné ošetřit, aby nebyl zdroj tepla zapnut na kratší dobu, než kterou doporučuje výrobce.
52
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií
53
Vysoké učení technické v Brně
6.
OVĚŘENÍ FUNKČNOSTI PS ALGORITMU NA PRAKTICKÉM MODELU
Pro ověření funkčnosti regulačního algoritmu byl sestaven jednoduchý tepelný model. Soustavu tvoří uzavřená krabice o rozměrech 110x200x310 mm. Jako zdroj tepla jsme zvolili žárovku s výkonem 10 W. Protože časové konstanty této soustavy jsou řádově menší než v domě, bylo nutné parametry regulátoru mírně pozměnit. Při původních konstantách dosahoval rozkmit teploty 0.8 °C v okolí požadované teploty, což bylo způsobeno především malým zesílením. Při praktickém ověření funkčnosti regulátoru byla nastavena požadovaná hodnota 30 °C. Z průběhů vidíme, že teplota kolísá v okolí požadované teploty s hysterezí přibližně 0,5 °C. Průběh regulace teploty PS regulátorem v reálném objektu 30,5 30
Teplota [°C]
29,5 29 28,5 28 27,5 27 26,5 0
100
200
300
400
500
600
700
t [s]
Obrázek 29: Průběh regulované veličiny v reálném objektu
800
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
7.
ZÁVĚR
V úvodu práce jsou na základě výsledků semestrální práce [18] stanoveny požadavky na funkce a technické provedení pokojového termostatu. V navazující části jsou podle těchto požadavků postupně vybrány jednotlivé části termostatu. Velká pozornost je věnována především výběru čidla teploty pro termostat, jehož výsledkem je inteligentní senzor DS18B20. Jako řidící jednotka byl zvolen 8 bitový mikroprocesor AVR ATmega64-16AU. Termostat bude zobrazovat informace o regulaci na 4 řádkovém alfanumerickém LCD displeji a bude ovládán 10 tlačítky. Spínaní zdroje tepla je zajištěno optotriakem MOC 3041. Výsledkem je tedy elektronické schéma termostatu na jehož základě je možné termostat vyrobit. Těžištěm práce se stal návrh pokročilých algoritmů regulace teploty pro termostat. Na matematickém modelu [18] byl v MATLABU proveden návrh PS a fuzzy regulátoru a jejich srovnání s klasickým On/Off regulátorem. Protože tyto pokročilé algoritmy nepřinesly do regulace žádné zlepšení, navrhli jsme pro termostat nový On/Off algoritmus s adaptací. Nejedná se o adaptivní regulátor spíše o regulátor s přenastavením parametrů, jak je práci nazýván. Oproti klasickému On/Off regulátoru eliminuje vliv setrvačnosti soustavy a po automatickém přenastavení zajistí kolísání teploty přesně podle zvolené hystereze. V závěru práce byl sestaven prototyp termostatu pro ověření funkčnosti jednoho z navržených algoritmů řízení. Řidící část termostatu byla v prototypu nahrazena vývojovým kitem s mikroprocesorem Rabbit 2000, k němuž byl připojen vybraný senzor teploty a LCD displej. Do prototypu byl implementován PS regulátor a jeho funkčnost jsme ověřili na reálném objektu. Regulátor reguloval tuto soustavu s rozkmitem teploty 0,5 °C.
54
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
8.
SEZNAM POUŽITÝCH ZKRATEK
Zkratka
Význam zkratky
Zkratka
Význam zkratky
IRC
Individual room control
LCD
Liquid Crystal Display
PID
Proporcionálně-Integračně Derivační
IR
Infrared radiation
NTC
PTC
Negative Temperature Coefficient Positive Temperature Coefficient
RISC
Reduced Instruction Set Computer
SPI
Serial Peripheral Interface
A/D
Analog/Digital
PWM
Pulse Width Modulation
ROM
Read-Only Memory
UART
Universal Asynchronous Receiver and Transmitter
DI
Digital Input
DO
Digital Output
MOSI
Master Output Slave Input
MISO
Master Input Slave Output
EPROM
Erasable Programmable Read-Only Memory Electronically Erasable
EEPROM
Programmable Read-Only Memory
SRAM
Static Random Access Memory
RAM
random-access memory
LED
Light Emitted Diode
55
ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně
9. [1]
LITERATURA ANONYM.: Katalogový list DS18B20[online], Dallas Semiconductor, Dostupné z: < http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf>
[2]
ANONYM.: Katalogový list HD44780 [online], HITACHI SEMICONDUCTOR, Dostupné z: < http://pdf1.alldatasheet.com/datasheetpdf/view/63673/HITACHI/HD44780.html >
[3]
ANONYM.: Katalogový list MC2004B-SYL/H[online], EVERBOUQUET INTERNATIONAL, Dostupné z: < http://www.gme.cz/_dokumentace/dokumenty/513/513-125/dsh.513-125.1.pdf>
[4]
ANONYM.: Katalogový list MOC 3041 [online], COSMO ELECTRONICS CORPORATION, Dostupné z: http://www.gme.cz/cz/index.php?product=523-095 >
[5]
ANONYM.: Dynamic C User’s manual [online], Rabbit Semiconductor, Dostupné z: < http://www.rabbit.com/products/rab2000/>
[6]
ANONYM.: Katalogový list ATmega64-16AU [online], ATMEL, Dostupné z:
[7]
ANONYM.: Katalogový list Rabbit 2000 [online], Rabbit Semiconductor, Dostupné z: < http://www.rabbit.com/products/rab2000/>
[8]
ANONYM.: Rabbit 2000TM TCP/IP DEVELOPTMENT KIT-GETTING STARTED [online], Rabbit Semiconductor, Dostupné z:
[9]
BEJČEK L.: Měření neelektrických veličin. Skriptum, VUT Brno, 1988
[10]
BLAHA, P., VAVŘÍN P.: Řízení a regulace 1, VUT Brno: 2005, s. 54-214
[11]
Hrbáček J.: Komunikace mikrokontroléru s okolím 1. díl. Praha. BEN-technická literatura:1999. s. 159. ISBN: 80-86056-42-2
[12]
Hrbáček J.: Komunikace mikrokontroléru s okolím 2. díl. Praha. BEN-technická literatura:200. s. 151. ISBN: 80-86056-73-2
[13]
Jura, P. Základy Fuzzy logiky pro řízení a modelování. VUT Brno:2003. s. 1-132. ISBN: 80-214-2261-0
[14]
Kadlec K.: Kmínek M. Měřicí a řídicí technika, skriptum VŠCHT Praha: 2000 online http://uprt.vscht.cz/ucebnice/mrt/
[15]
Modrlák O.: Fuzzy řízení a regulace, skriptum TU Liberec: 2004
[16]
PIVOŇKA P.: Číslicová řídící technika, VUT Brno: 2003, s. 151
[17]
Ripka P., Ďado S., Kreidl M., Novák J.: Senzory a převodníky, Praha, Vydavatelství ČVUT 2005, s. 136, ISBN: 80-01-03123-3
[18]
Valíček J., Paděra Z.: Pokojový termostat nové generace, Semestrální práce, UAMT 2008
[19]
VELEBA V.: Číslicová řídící technika (počítačové cvičení). VUT Brno: 2005, s. 77
56
SEZNAM PŘÍLOH Příloha 1
Zdrojový kód programu realizace PS algoritmu do mikroprocesoru rabbit 2000
Příloha 1 #class auto char data_lo, data_hi, p_teplota[5],p_desetiny[5],p_Akcni[5], pW_des[6], p_W[6]; int desetiny, teplota, ii, n, Akcni, tep, des, W_des, pom_W, pom_X, W_tep; unsigned int up, down; float Akcni_Zasah, Reg_vel, sum, e, Reg_pred, prumer[6], soucet, X, W; const float K=7.2, Ti=3, Ts=0.1; const int Tt=1; //funkce pro časové zpoždění v mikrosekundách void UsDelay ( int iDelay ){ auto int i; iDelay /= 11; for ( i=0; i
return out;
// vrati stav 1=čidlo nalezeno, 0=čidlo // nenalezeno
}
//funkce pro poslání log.1 na sbernici void ow_write_one(void) { WrPortI(PDDDR, &PDDDRShadow, 0xFF); // nastavý bity na portu D jako výstupní WrPortI(PDDCR, &PDDCRShadow, 0x00); // nastavý všechny bity na portu D na //open drain WrPortI(PDFR, &PDFRShadow, 0x00); // nastavý všechny bity portu D na //normální funkci BitWrPortI(PDDR, &PDDRShadow, 0, 7); // pošle na pin 7 portu D nulu WrPortI(PDDDR, &PDDDRShadow, 0x00); // uvolneni sbernice UsDelay(64); // pauza pred dalsi komunikaci } //funkce pro poslání log.0 na sbernici void ow_write_zero(void) { TX(); // stáhnutí sběrnice k nule UsDelay(60); // pauza definujici log.0 RX(); // uvolneni sbernice } //funkce pro přečtení jednoho bit ze sbernice unsigned int ow_read_bit(void) { unsigned int out; WrPortI(PDDDR, &PDDDRShadow, 0xFF); // nastavý bity na portu D jako výstupní WrPortI(PDDCR, &PDDCRShadow, 0x00); // nastavý všechny bity na portu D na //open drain WrPortI(PDFR, &PDFRShadow, 0x00); // nastavý všechny bity portu D na //normální funkci BitWrPortI(PDDR, &PDDRShadow, 0, 7); // pošle na pin 7 portu D nulu WrPortI(PDDDR, &PDDDRShadow, 0x00); // uvolneni sbernice if(READ()) out=1; else out=0; // test stavu sbernice, vlastni cteni UsDelay(55); // pauza pred dalsi komunikaci return out; // prectena hodnota, 1 nebo 0 } //funkce prijme ze sbernice jeden byte. Prijima jako prvni LSB. char ow_read_byte(void) { unsigned int out,n; n=8; out=0; while(n--) { out >>= 1; // bitovy posuv doprava if(ow_read_bit()) out |= 0x80; // nastaveni nejvyssiho bitu na 1 } return out; // vrací přečtený byte } //funkce pro poslání příkazu CONVERT T (0x44) void owConvertT(void) { ow_write_zero(); // volání funkce ow_write_zero ow_write_zero(); ow_write_one(); // volání funkce ow_write_one ow_write_zero(); ow_write_zero();
ow_write_zero(); ow_write_one(); ow_write_zero(); //čekání na konec převodu while (1){ if(READ()) break; }
// jakmile skončí ukončí se funkce
} //funkce pro poslání příkazu SKIP ROM (0xCC) void owSkipRom(void) // na sběrnici je připojeno jen jedno čidlo { ow_write_zero(); // volání funkce ow_write_zero ow_write_zero(); ow_write_one(); // volání funkce ow_write_one ow_write_one(); ow_write_zero(); ow_write_zero(); ow_write_one(); ow_write_one(); } //funkce pro poslání příkazu READ SCRATCHPAD (0xBE) void owReadScratchPad(void) { ow_write_zero(); // volání funkce ow_write_zero ow_write_one(); // volání funkce ow_write_one ow_write_one(); ow_write_one(); ow_write_one(); ow_write_one(); ow_write_zero(); ow_write_one(); } // funkce, která změří teplotu void zmer(void) { ow_detect_presence(); owSkipRom(); owConvertT(); msDelay(750); ow_detect_presence(); owSkipRom(); owReadScratchPad(); data_lo=ow_read_byte();
// volání funkce ow_detect_presence // volání funkce owSkipRom // volání funkce owConvertT // časové zpoždění pro změření teploty // volání funkce ow_detect_presence // volání funkce owSkipRom // volání funkce owReadScratchPad // čtení 1.bytu ze scratchpadu čidla = spodni //byte teploty data_hi=ow_read_byte(); // čtení 2.bytu ze scratchpadu čidla = horni //byte teploty teplota=((data_hi & 0x0F) << 4)|((data_lo & 0xF0)>> 4);//uložení teploty v //celých číslech desetiny=(data_lo & 0x0F)*0.625+0.5; //uložení teploty za desetinou čárkou
} //funkce pro výpočet akčního zásahu podle algoritmu PS regulátoru float PS(float Reg_vel){ e=W-Reg_vel; // výpočet odchylky Akcni_Zasah= K*e+sum; // algoritmus pro výpočet akčního zásahu sum = sum+K*(Ts/Ti)*e; // přepočet stavové veličiny sumátoru if(Akcni_Zasah>10) Akcni_Zasah=10
// omezení akční veličiny shora
if(Akcni_Zasah<0) Akcni_Zasah=0; if(sum>10) sum=10; if(sum<0) sum=0; return Akcni_Zasah;
// // // //
omezení akční veličiny omezení sumační složky omezení sumační složky funkce vrací hodnotu o
zdola shora zdola akčním zásahu
} #define DATA 0x04 #define COMMAND 0x00 int iDataFlag;
//makro pro zasílání dat //makro pro zasílání instrukcí
// funkce, která pošle první půl byte dat void WriteNibble ( char cNib ) { cNib &= 0xF0; // cNib |= iDataFlag; // WrPortI ( PADR,&PADRShadow, cNib|0x03 WrPortI ( PADR,&PADRShadow, cNib&0xFD } // funkce pošle bytu na displej void WriteByte ( char cNib ) { auto int i; i = cNib; cNib <<= 4; WriteNibble ( i ); UsDelay(100); WriteNibble ( cNib ); UsDelay (100); }
// // // // // //
//funkce pro inicializaci displeje void LCD_Init () { WrPortI ( PADR,&PADRShadow, 0 ); WrPortI ( SPCR,&PADRShadow, 0x84 iDataFlag = COMMAND; // msDelay ( 1500 ); // WriteByte ( '\B00100000' ); UsDelay (100); WriteByte ( '\B11000010' ); // WriteByte ( '\B11100000' ); // WriteByte ( '\B00010000' ); // WriteByte ( '\B00110000' ); // }
vymaže spodní 4 bity vloží datový příznak pro signál RS ); // povolení E ); // vymazání E
naplnění pomocné proměnné posunutí vrchního půl bytu na spodní 4 bity pošle vrchní půl byte pauza před dalsi komunikaci pošle spodní půl byte pauza před další komunikaci
// zapsání nuly na port A ); // nastavení portu A jako výstupní nastavení signálu RS pro zasílání instrukcí zpoždění nutné pro resetování displeje // zvolení 4 bitového režimu zvolení 4 bitového režimu, 2 řádků, 5x8 zapnutí displeje a kursoru vynulování displeje posun zobrazení a kurzoru
//funkce pošle data na displej void Display ( char *szp ) { iDataFlag = DATA; // nastavení signálu RS pro zasílání dat while ( *szp ) WriteByte ( *szp++ ); // cyklus, který postupně pošle na //displej všechna data v proměnné szp } //funkce pro vymazání displeje void Clear ( void ) { iDataFlag = COMMAND;
// nastavení signálu RS pro zasílání instrukcí
WriteByte ( 0x01 ); msDelay (3);
// vymaže displej
} //funkce pro nastavení kurzoru na druhý řádek void Line2 ( void ) { iDataFlag = COMMAND; // nastavení signálu RS pro zasílání instrukcí WriteByte ( 0xC0 ); // nastavení RAM adresy na řádek 2 msDelay (3); } //funkce pro nastavení kurzoru na třetí řádek void Line3 ( void ) { iDataFlag = COMMAND; // nastavení signálu RS pro zasílání instrukcí WriteByte ( 0x94 ); // nastavení RAM adresy na řádek 3 msDelay (3); } //funkce pro nastavení kurzoru na čtvrtý řádek void Line4 ( void ) { iDataFlag = COMMAND; // nastavení signálu RS pro zasílání instrukcí WriteByte ( 0xD4 ); // nastavení RAM adresy na řádek 4 msDelay (3); } // hlavní funkce void main(void) { LCD_Init (); // volání funkce LCD_Init Akcni_Zasah=0; // inicializace proměnných Reg_vel=0; sum=0; e=0; Reg_pred=28; W=28; ii=0; tep=0; des=0; pom_X=0; while(1) { // volání funkce zmer zmer(); Reg_vel=teplota+(float)desetiny/10; // vyjádření hodnoty o teplotě v čísle // s plovoucí řádovou čárkou if(Reg_vel>Reg_pred+20){ Reg_vel=Reg_pred; } Reg_pred=Reg_vel;
// filtrace chyb teploty // vzniklých při špatné komunikaci s čidlem
// realizace plovoucího průměru if(ii=0){ for(n=1; n<6; n++){ prumer[n]=Reg_vel; ii=1; } } n=5; prumer[n]=prumer[n-1];
prumer[n-1]=prumer[n-2]; prumer[n-2]=prumer[n-3]; prumer[n-3]=prumer[n-4]; prumer[n-4]=Reg_vel; soucet=0; for(n=1; n<6; n++){ soucet=soucet+prumer[n]; } X=soucet/5;
// konec plovoucího průměru
PS(X);
// volání funkce PS
WrPortI(PEDDR, &PEDDRShadow, 0x00); // nastavení portu E jako vstupní up=BitRdPortI(PEDR,2); // čtení pinu, na kterém je připojeno tlačítko Up WrPortI(PEDDR, &PEDDRShadow, 0x00); // nastavení portu E jako vstupní down=BitRdPortI(PEDR,3); // čtení pinu, na kterém je připojeno //tlačítko Down if(up) W=W+0.5; //jestliže bylo stisknuto tlačítko Up //zvětší se žádaná veličiny if(down) W=W-0.5; //jestliže bylo stisknuto tlačítko Down //zmenší se žádaná veličiny msDelay (200); pom_W=W*10; W_tep=pom_W/10; W_des=pom_W%10; pom_X=X*10; tep=pom_X/10; des=pom_X%10;
// uložení floatové proměnné na intovou
// uložení floatové proměnné na intovou
// na displeji je možné zobrazi pouze informace uložené v proměnné typu char itoa(tep, p_teplota); // proto jsou zde převáděny z typu INT na typ CHAR itoa(des, p_desetiny); // na displeji zobrazujeme aktuální teplotu itoa(W_tep, p_W); // požadovanou teplotu itoa(W_des, pW_des); // a akční zásah vyjádřený v procentech Akcni=Akcni_Zasah*100; // vyjádření akčního zásahu v procentech itoa(Akcni, p_Akcni); // vypisování informací na displej Clear(); Display ( "Akt.teplota:" ); Display (p_teplota); Display (","); Display (p_desetiny); Display("ßC"); Line2 (); Display ( "Zad.teplota:" ); Display (p_W); Display (","); Display (pW_des); Display("ßC"); Line3 (); Display ( "Akcni zasah:" ); Display (p_Akcni); Display ( "%" );
// volání funkce Clear // zobrazení Akt.teplota na displej // zobrazení čárky na displej // zobrazení stupňů celsia na displej // zobrazení Zad.teplota na displej // zobrazení čárky na displej // zobrazení stupňů celsia na displej // zobrazení Akcni zasah na displej // zobrazení symbolu procent na displej
// realizace převodu akčního zásahu na ON/OFF (relé s hysterezí) if(Akcni_Zasah<3){ BitWrPortI(PBDR, &PBDRShadow, 0x00, 7); // nastavení nuly na pin 7 //portu B
} // vypnutí indikační Led diody if(Akcni_Zasah>5){ BitWrPortI(PBDR, &PBDRShadow, 0xFF, 7); // nastavení jedničky na pin 7 //portu B } // zapnutí indikační Led diody if (BitRdPortI(PBDR,7)){ Line4(); Display ( " Kotel:ON" ); // zobrazení Kotel:ON na displej } // v případě požadavku na zapnutí kotle else { Line4(); Display ( " Kotel:OFF" ); // zobrazení Kotel:OFF na displej } // v případě požadavku na vypnutí kotle } }