Bakalářská práce. Programovatelný termostat k bojleru
|
|
- Nikola Pešková
- před 8 lety
- Počet zobrazení:
Transkript
1 České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Programovatelný termostat k bojleru Jan Šesták Vedoucí práce: Ing. Martin Novotný Studijní program: Elektrotechnika a informatika, strukturovaný bakalářský Obor: Výpočetní technika Květen 2010
2
3 Poděkování Děkuji panu Ing. Martinu Novotnému, za pomoc a rady při řešení a tvorbě mé bakalářské práce.
4
5 Prohlášení: Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne
6
7 Abstract This bachelor thesis is dealing with realization of programmable boiler thermo regulator, which allows to control heating of water according to weekly temperature curve, and realization of PC program for communication with thermo regulator via serial interface. Thermo regulator is programmed in C language and implemented into microcontroller ATmega32. PC program includes graphic user interface and it is programmed in Java language. Abstrakt Tato bakalářská práce se zabývá realizací programovatelného termostatu k bojleru, který umožňuje ovládání ohřevu teplé vody podle týdenní otopové křivky, a realizací počítačového programu umožňujícího ovládání termostatu přes sériovou linku. Termostat je naprogramován v jazyce C a implementován do jednočipového mikropočítače ATmega32. Navrhovaný počítačový program obsahuje grafické uživatelské prostředí a je naprogramován v jazyce Java.
8
9 Obsah 1. Úvod Cíl práce Analýza a návrh řešení Volba implementační platformy Základní deska MB-ATmega32L Modul LCD displeje a tlačítek Použití programovacího jazyka Vývojové prostředí Teplotní čidlo Ovládání bojleru Návrh řešení termostatu Měření času Sériové rozhraní Tlačítka Otopová křivka Teplotní čidlo Ovládání obvodu bojleru Nastavení hodnot Návrh komunikace mezi PC a přípravkem Návrh programu pro komunikaci s PC Implementace Návrh programu termostatu Integrace částí programu Teplotní čidlo ROM příkazy Funkční příkazy Realizace komunikace Modul s LCD displejem a tlačítky Sériové rozhraní RS Otopová křivka Implementace ovládání Návrh programu pro PC Návrh sestavení výsledného přípravku Deska s ovládáním obvodu s bojlerem Testování Testování čítače reálného času Testování teplotního čidla Testování programu pro komunikaci Testování zápisu a čtení dat z EEPROM paměti Testování komunikace mezi termostatem a PC Testování ovládání obvodu bojleru Práce do budoucna Realizace desky pro spínání elektrického obvodu Záložní napájení Doplnit termostat o port USB... 31
10 5.4. Monitorování ústředního topení Vylepšení programu pro PC Závěr Návod k používání termostatu Instalace termostatu Ovládání termostatu Program pro komunikaci s PC Ovládání programu Literatura Obsah přiloženého CD...45
11 Seznam obrázků 2.1 Základní deska MB-ATmega32L Modul LCD displeje s tlačítky Příklad příkazu Zapiš data Příklad příkazu Zjisti data Příklad komunikace s teplotním čidlem Úvodní okno programu Okno zobrazující informaci o teplotě Okno pro vzdálené ovládání termostatu Přehled okno zobrazující nastavení otopové křivky Schéma zapojení přípravku Schéma desky ovládání elektrického obvodu Záznam příkazu WRITE SCRATCHPAD z osciloskopu Schéma příkazu WRITE SCRATCHPAD Záznam příkazu COPY SCRATCHPAD z osciloskopu Schéma příkazu COPY SCRATCHPAD Záznam příkazu CONVERT z osciloskopu Schéma příkazu CONVERT Záznam příkazu READ SCRATCHPAD z osciloskopu Schéma příkazu READ SCRATCHPAD Schéma ovládání elektrického obvodu Schéma zapojení přípravku Tlačítka termostatu Schéma přepínání módů termostatu Úvodní okno programu pro PC Okno zobrazující teplotu vody Okno pro vzdálené ovládání termostatu Okno, které slouží k zobrazení hodnot otopové křivky 40
12
13 Seznam tabulek Tabulka 1.1: Stručný seznam vývojových desek dostupných na trhu 3 Tabulka 2.2: Typy příkazů komunikace po RS232 9 Tabulka 3.1: Možné příkazy komunikace s teplotním čidlem 16 Tabulka 3.2: Převod teploty 18
14
15 1. Úvod Jako téma bakalářské práce jsem si vybral Programovatelný termostat k bojleru. K tomuto rozhodnutí mne vedla myšlenka, jak ušetřit energii při ohřevu teplé vody na chatě, kde není k ovládání bojleru používán systém HDO (hromadné dálkové ovládání). Hlavní výhodou nasazení programovatelného termostatu je možnost zadání maximální teploty ohřevu pro týdenní časovou smyčku, čímž lze minimalizovat náklady za elektrickou energii. Na trhu se sice vyskytuje velké množství programovatelných termostatů, bohužel všechny slouží k ovládání topení v obytných prostorách, což znamená, že jsou všechny navrhovány pro práci v teplotním rozsahu maximálně 50 C. Tato teplota je ovšem pro ohřev vody nedostačující Cíl práce Cílem této práce je návrh a implementace zařízení programovatelného termostatu. Toto zařízení umožňuje zadat týdenní otopovou křivku a podle této křivky ovládat ohřev vody, pomocí spínání elektrického obvodu bojleru. Zařízení obsahuje displej, tlačítka, teplotní čidlo, vývody pro spínání silového obvodu a konektor pro připojení k PC pomocí sériového rozhraní RS232. Na displeji jsou zobrazeny informace o aktuálním dění programovatelného termostatu v základním módu displej zobrazuje informace o čase, teplotě ohřívané vody a požadované teplotě. Pomocí tlačítek je možné procházet nastavení termostatu a případně změnit nastavení hodin nebo požadované teploty. Jelikož zařízení umožňuje komunikaci s PC po sériovém rozhraní, je součástí tohoto projektu také implementace programu, který nám umožňuje ovládat přípravek z prostředí počítače. Tento program obsahuje grafické rozhraní a k jeho ovládání postačují základní dovednosti uživatele. 1
16 2
17 2. Analýza a návrh řešení Tabulka 1.1: Stručný seznam vývojových desek dostupných na trhu Název Čip Cena /Kč AVR Butterfy ATmega MB-ATmega16 ATmega MB-ATmega32 ATmega MB-ATmega128 ATmega PVK 40 PIC16F TestPack-78K0S µpd78f9177ay 2350 Obrázek 2.1: Základní deska MB-ATmega32L 3
18 Obrázek 2.2: Modul LCD displeje s tlačítky 2.1. Volba implementační platformy Při vybírání přípravku pro implementaci se naskytlo několik možností. Zvolit jednočipový mikropočítač nebo programovatelné hradlové pole FPGA? Implementace pomocí FPGA při použití pouze hardwarových prvků by nám přinesla vysokou rychlost zpracování dat problému, kterou při tomto návrhu ale nedokážeme využít. Navíc by byl tento způsob návrhu zbytečně složitý. Další možností by bylo do FPGA integrovat CPU jádro, tento způsob implementace by byl již lepší, ale při porovnání pořizovacích cen součástek tohoto řešení a cen s použitím jednočipového mikropočítače, bylo i toto řešení vyhodnoceno jako nevýhodné. Výběr přípravku proto směřoval na jednočipové mikropočítače. Na trhu lze najít mnoho čipů různých firem (Intel, Microchip, Atmel, Texas Instrument, ). Pro názornost jsem vybral některé modely a uvedl je v tabulce 2.1. Při výběru jsem zohlednil předchozí zkušenosti s mikropočítači, které jsem získal během studia v předmětech Strojový kód a data (X36SKD), kde jsem se seznámil s modulem AVR Butterfly (Atmel, čip ATmega169), a Mikropočítače (X34MPC), kde byl k dispozici modul PVK 40 (Microchip, čip PIC 18F452). I proto jsem se rozhodoval mezi dvěma největšími výrobci Microchip a Atmel, obě firmy vyrábějí čipy podobných vlastností, které se liší pouze v detailech, z finančního hlediska není mezi modely těchto firem žádný velký rozdíl. Nakonec jsem se rozhodl pro desku s čipem firmy Atmel, kterou jsem našel při procházení již vyrobených vývojových desek. Tato deska navrhnutá firmou PK-Design, lze si ji prohlédnout na obrázku 2.1, je osazena čipem ATmega32A. Výhody této desky jsou přítomnost sériového portu (RS232), 32 I/O výstupů na dvou portech (2x10) a možnost programovat a ladit přes sběrnice ISP a JTAG. Desku je potřeba doplnit modulem s LCD displejem a tlačítky, který lze vidět na obrázku 2.2. Při výběru jsem zvažoval i volbu výroby vlastní desky, kterou jsem nakonec zavrhl kvůli časové náročnosti návrhu desky (seznámení s návrhovým prostředím, různými technikami i způsoby návrhů, stanovení parametrů všech potřebných a efektivních součástek - stabilizátor napětí, převodníky TTL úrovní, registry, rezistory, kondenzátory apod.) a neefektivnosti tohoto řešení, jelikož se zatím jedná pouze o výrobu prototypu. Kdyby byl o takovýto výrobek větší zájem, výroba desky by se již dala zvažovat. 4
19 Základní deska MB-ATmega32L Na této desce, kterou je možné vidět na obrázku 2.1, je osazen čip ATmega32A, který obsahuje 8-bitový RISC procesor, sériové rozhraní, AD převodník, 32 I/O vývodů, tři paměti (32 kb Flash, 1kB EEPROM a 2kB SRAM) a jeden 16 bitový a dva 8 bitové čítače (každý čítač má svoji vlastní děličku pro nastavení frekvence). Čip nám umožňuje připojit k jednomu 8 bitovému čítači vnější oscilátor a použít ho jako čítač reálného času. K dispozici je také odpojitelné sériové rozhraní, u něhož se čip sám stará o přijímání a odesílání dat. Nevýhoda čipu je, že pokud chceme použít např. vnější oscilátor nebo sériové rozhraní, přicházíme o I/O vývody. Deska dále obsahuje dva konektory pro připojení dalších modulů (CON1, CON2), sériové rozhraní, konektory JTAG a ISP, dva oscilátory a šest konektorů nastavení (JP1 JP6). Konektory CON1 a CON2 jsou typu MLV20 (2x10). Obsahují v každé řadě piny VCC, P0-P7, GND. Sériové rozhraní se skládá z konektoru Canon 9 a obvodu MAX3232. Na desce lze najít dva oscilátory hlavní (14,7456 MHz, lze ho snadno nahradit jiným modelem a změnit tím frekvenci čipu) a vedlejší oscilátor (32,768 khz, který se hodí pro čítač reálného času). JTAG a ISP konektory slouží k programování a ladění přípravku. Konektor JP6 nám umožňuje pomocí propojky výběr napájecího napětí pro mikropočítač a periferie mezi 3,3V a 5V. Pořizovací cena této desky je 1130 Kč Modul LCD displeje a tlačítek Tento modul, který je možné vidět na obrázku 2.2, se připojuje k základní desce pomocí kabelu a obsahuje osm tlačítek, piezoelektrický měnič pro generování zvukových signálů, LCD displej 2x16 znaků (BC1602AYPLEH) a trimr pro nastavení kontrastu displeje. Modul lze připojit k základní desce pomocí paralelního rozhraní (14 vodičů) nebo sériového rozhraní (7 vodičů). Při použití dvaceti žilového vodiče je automaticky nastaveno paralelní rozhraní. Sériové rozhraní je povoleno jen v případě, že na pin SDS (1) portu není připojeno +5V a propojka JP1 je rozpojena. Jinak je vždy zakázáno. Pořizovací cena modulu je 570 Kč (deska s tlačítky 390 Kč, LCD displej 180 Kč) Použití programovacího jazyka Přípravek je možno programovat použitím programovacího jazyka C nebo pomocí asembleru. Pro řešení svého projektu jsem se rozhodl pro použití jazyka C, tento způsob jsem zvolil kvůli snadnější reakci na případné budoucí problémy a vylepšení, ale také pro případný přechod na jiný druh mikropočítače. Pro realizaci programu pro PC jsem zvolil programovací jazyk Java. Tento jazyk jsem si vybral kvůli znalostem grafického uživatelského prostředí a možnosti přechodu na jiný operační systém Vývojové prostředí Pro implementaci termostatu v přípravku se nejvíce hodí program AVR Studio 4. Toto prostředí je vhodné zejména kvůli možnosti programování přípravku přímo z programu a kvůli testování částí zdrojového kódu. Tento program má totiž přístup k registrům, které jsou v čipu k dispozici. Při použití programovacího jazyka C je potřeba ještě překladač WinAVR. 5
20 Pro programování přípravku lze použít také program AVR ISP PROG společnosti PK-Design. Tento program nám umožňuje číst, kontrolovat a přepisovat obsah pamětí Flash a EEPROM přípravku. Obsah pamětí je možné pro další použití exportovat do souboru. Pomocí tohoto programu je možné ještě poupravit nastavení přípravku (např. uzamčení pamětí, povolení rozhraní JTAG ). Pro implementaci programu pro PC v programovacím jazyku Java je potřeba mít v systému nainstalovanou verzi Java SE JDK. Pro psaní kódu používám vývojové prostředí NetBeans IDE. K vývoji projektu byly použity aktuální verze programů, které byly uvolněny před zahájením projektu AVR Strudio 4, WinAVR , AVR ISP PROG v. 6.51, Java SE JDK 6u16, Netbeans Teplotní čidlo Pro termostat k ohřevu vody je potřeba čidlo s teplotním rozsahem C. Pří výběru teplotního čidla se naskytly možnosti použití čidla s digitálním výstupem nebo s analogovým výstupem a použití AD převodníku. Jako lepší varianta bylo vyhodnoceno čidlo s digitálním výstupem. Čidla s digitálním výstupem se vyrábějí v následujících provedeních: jednodrátová sběrnice I 2 C sběrnice (1 datová linka, 1 pro hodinový signál) převodník teplota/střída (generuje PWM signál) Pro svůj návrh jsem si vybral teplotní čidlo firmy Dallas Semiconductor (člen společnosti Maxim), které komunikuje přes 1-drátovou sběrnici a má 3 vývody (V DD, zem, data). Toto čidlo je možné napájet klasicky nebo parasitně. Parasitně znamená, že je čidlo napájeno přes datovou linku. Výhodou tohoto zapojení je potřeba pouze dvou vodičů, nevýhody zapojení jsou: potřeba držet datovou sběrnici ve stavu log 1 pomocí pull-up rezistoru s relativně malým odporem, při teplotní konverzi (měření teploty) a ukládání do EEPROM paměti čidla může být odebírán větší proud, nevhodnost pro teploty nad 100 C. Pro tento termostat nejsou tyty nevýhody až tak důležité. Při klasickém napájení čidla jsou sice potřeba tři vodiče, ale není tolik zatěžována datová sběrnice. Během teplotní konverze můžeme kontrolovat stav čidla čtecím pulsem, kdy čidlo vysílá 0, dokud pracuje, nebo 1, pokud čeká na další příkazy. Čidlo umí měřit teplotu v 9-12 bitovém režimu přesnosti, tedy 1-4 bity pro desetinnou část. Pro návrh termostatu pro ohřev vody stačí přesnost na 1 C, proto je dostačující 9 bitový režim přesnosti. Další velkou výhodou tohoto čidla je možnost adresace čidla pomocí 64 bitového unikátního sériového kódu uloženého na čipu, tato adresace umožňuje použití více teplotních čidel na sběrnici. Toto řešení by se dalo použít v případě kombinovaného bojleru (voda je ohřívána pomocí elektrické spirály nebo pomocí ústředního topení), kde by byla kromě teploty vody monitorována také teplota vody ústředního topení pokud by se topilo v ústředním topení, byl by vypnut elektrický ohřev. Toto řešení nebude zatím implementováno Ovládání bojleru Při návrhu této části musíme zohlednit elektrické parametry navrhovaného termostatu a ovládaného bojleru. Vývojová deska má výstupní napětí U=5V 6
21 a maximální proud, který lze odebírat z výstupu mikropočítače, je I max =20mA. Pro bojler známe napájecí napětí U B =230V a výkon P B =2000W, spínaný proud (I B =P B /U B ) by tedy měl dosahovat hodnot kolem 8,7 A, proto musí být spínání dimenzováno minimálně na 10A, lepší variantou je dimenzovat na 16A kvůli zamezení překročení maximálních povolených hodnot spínacího prvku a minimalizovaní možnosti vzniku požáru. Při návrhu spínání obvodu s bojlerem je nutno si uvědomit, že se jedná o spínání síťového napětí s hodnotou 230V, proto je potřeba zamezit přístupu k živým částem tohoto obvodu, aby nedošlo k úrazu elektrickým proudem. Pro kontrolu spínacího zařízení je vhodné přidat kontrolku, která by informovala o sepnutí kontaktů Návrh řešení termostatu Měření času. Programovatelný termostat by měl pracovat samostatně, přičemž musí každou vteřinu provést inkrementaci času a překreslení displeje. Tento proces je možné uskutečnit použitím přerušení vyvolaného při přetečení čítače reálného času (TIMER2/COUNTER OVERFLOW) nebo pomocí přerušení vyvolaného při shodě hodnoty čítače s požadovanou hodnotou (TIMER2/COUNTER COMPARE MATCH). Poslední variantou je kontrolovat hodnotu čítače ve smyčce hlavního programu, tato varianta je ale nevhodná, protože nemusí dojít k inkrementaci času při provádění časově náročné operace. Jelikož je vstupem čítače oscilátor s frekvencí 32,768 khz a při nastavení děličky na 128 dojde k inkrementaci čítače 256x za sekundu, tedy čítač dosáhne maxima pravidelně po jedné sekundě, je vhodné použít přerušení vyvolaného při přetečení čítače Sériové rozhraní. Dalším vstupem termostatu je sériové rozhraní, u kterého je potřeba zajistit co nejrychlejší příjem dat a uvolnění přijímacího registru pro další data. K těmto účelům by se nechalo opět využít přerušení (USART RX Complete). V obsluze tohoto přerušení je potřeba zkontrolovat platnost dat (např. kontrola parity) a uložit je pro další zpracování na zásobník. Při zpracování dat ze zásobníku by již nebyla data, která jsme přijali od počítače ohrožena dalšími přenosy. Dále by se přepisu dat nechalo zabránit pozastavením vysílače v počítači, než dojde k potvrzení dat od termostatu Tlačítka. Posledním vstupem termostatu jsou tlačítka, ty jsou sekvenčně testována pokud je tlačítko stisknuto, je nastaven jeho bit (8 tlačítek = 8 bitů), poté vybereme operaci pro právě stisknuté tlačítko Otopová křivka. Ukládání hodnot otopové křivky tyto hodnoty jsou uloženy do paměti EEPROM. Teplota je uložena jako celé číslo a nabývá kladných hodnot do 100 C, proto ji lze zapsat pomocí jednoho bytu a v paměti zabírá pouze jednu adresu. Zatím je navrženo rozlišení s krokem jedna hodina, které zabere 168 bytů paměti 7
22 (7dní * 24hodin = 168 hodnot), toto rozlišení se mi zdá prozatím dostačující, ale nevylučuji možnost nastavovat kratší úseky (např. 30 nebo 15 minutové). Jelikož paměť EEPROM má kapacitu 1 kb, maximální možné rozlišení v případě týdenního cyklu je nastavovat teplotu pro 10 minutové intervaly (7* 24* 6 = 1008) Teplotní čidlo. K přípravku bude prozatím připojeno pouze jedno teplotní čidlo, které bude měřit teplotu v bojleru. Kontrola teploty v ústředním topení zatím nebude implementována, bude to možné vylepšení do budoucna Ovládání obvodu bojleru. Přípravek spíná topení podle hodnot otopové křivky uložené v paměti, dále by mohl umožnit sepnout nebo vypnout topení nezávisle na hodnotách v programovatelném termostatu. V tomto případě by byla maximální teplota ohřevu stanovena klasickým termostatem bojleru, který také zaručuje vypnutí tělesa při selhání přípravku. Existují dvě možnosti, jak to vyřešit. Jedna z nich je nastavení vyhrazené hodnoty v přípravku, která by umožňovala nastavit tři typy topení (zapnuto, vypnuto, měřit maximální teplotu podle otopové křivky). Druhá možnost je přidat dva vypínače, které by ovládaly vstupy relé. Varianta s přidáním vypínačů je uživatelsky příjemnější, protože nepožaduje změnu nastavení přípravku, ani není potřeba znalost ovládání termostatu pomocí tlačítek. Nevýhoda této volby je, že neumožňuje volbu ovládání z prostředí počítače Nastavení hodnot. Na termostatu bude možné provádět nastavení hodin (den, hodiny a minuty) a otopové křivky (nejprve nastavíme interval, ve kterém budeme požadovat novou hodnotu, den a hodina začátku, den a hodina konce, dále nastavíme požadovanou teplotu). Další funkcí je procházení teplotní křivky po jednotlivých hodinách. Pro pohyb nastavení slouží šipky, výběr příkazu bude navržen jako menu nebo jen jako přepínání kontextu. Při nastavování údajů bude pozice aktuálně nastavované hodnoty označena blikajícím kursorem. Více informací k ovládání přípravku je v uživatelské příručce k termostatu v příloze Návrh komunikace mezi PC a přípravkem Tato komunikace je zprostředkována pomocí sériového rozhraní RS232. Tento způsob komunikace nám umožňuje posílat data (5-8 bitů) a paritní bit (0-1 bit). Data jsou posílána nejnižším bitem napřed, po posledním datovém bitu může následovat bit paritní, který nám umožňuje provést kontrolu přenášených dat. Rychlost přenosu je potřeba zvolit tak, aby bylo možné data vysílat v krátkém časovém intervalu, ale také aby bylo umožněno přenášení dat i na větší vzdálenosti a zamezení znehodnocení dat vnějšími rušivými jevy při vyšších rychlostech. Dále je potřeba při volbě rychlosti zvážit počet sekvenčně vysílaných dat a jejich načítání nebo ukládání. Při použití pozastavování vysílače na straně počítače, který čeká na potvrzení každého bytu, nepotřebujeme mít na straně přípravku zaručenu velkou rychlost zpracování dat ani vysokou rychlost přenosu. Nejvíce dat je posíláno pouze z termostatu do počítače, kdy dojde při příkazu zjisti data (zjisti nastavení otopové 8
23 křivky) k odeslání 168 hodnot otopové křivky načítaných z paměti přípravku a jednoho potvrzení. To znamená, že přenos hodnot nepotřebuje vysokou rychlost. Tabulka 2.2: Typy příkazů komunikace po RS232 Počet vysílaných bajtů ve směru Příkaz Číslo příkazu Zápis v hex PC termostat termostat PC Zjisti data 237 0xED Zapiš data 222 0xDE 5 4 Zjisti teplotu 203 0xCB 2 2 Zapiš čas 188 0xBC 5 4 OK 253 0xFD 1 0 Chyba 254 0xFE 1 1 Příkaz 0xDE DATA0 0x03 DATA1 0x25 DATA2 0x3C OK 0xFD Potvrzení 0xDE Potvrzení 0x03 Potvrzení 0x25 Potvrzení 0x3C Obrázek 2.3: Příklad příkazu Zapiš data Příkaz 0xED OK 0xFD Potvrzení 0xED BYTE0 0 BYTE 167 Obrázek 2.4: Příklad příkazu Zjisti data Dalším důležitým prvkem komunikace je bezpečnost. Při přenosu dat může dojít k jejich znehodnocení (chyba na straně přijímače nebo vysílače, rušení okolí), a proto je potřeba umožnit detekci chyb. Jelikož při zadávání hodnot z počítače je použito potvrzování a pravděpodobnost vzniku chyby není velká, lze data zabezpečit paritním bitem, který nám umožňuje detekci lichého počtu chyb a je vypočítán z přenášených dat. Máme na výběr lichou nebo sudou paritu, kdy počet jedniček i s paritním bitem je lichý, respektive sudý. Komunikace má zatím definovány jen čtyři příkazy, jež začínají vždy na straně počítače, který odešle hodnotu příkazu a čeká na jeho potvrzení. Pokud za příkazem následují další data, jsou vysílána postupně a vždy se čeká na příjem potvrzení a kontrolu správnosti, protože se jedná o důležité hodnoty pro nastavení termostatu (otopová křivka, hodiny). 9
24 V tabulce 2.2 jsou uvedeny možné příkazy komunikace a zápis příkazu v desítkové a šestnáctkové soustavě. Poslední dva sloupce zobrazují počet bytů, které lze při provádění příkazu zachytit na sběrnicích. Pro názornost, jak by mohla komunikace vypadat, přikládám obrázky 2.3 a 2.4, na kterých je zachycena posloupnost údajů. První řádek znázorňuje přenos od počítače k termostatu, druhý naopak přenos od termostatu k počítači. Příkazem Zjisti data vyšle počítač přípravku žádost o poslání informací o nastavení otopové křiky, proto je přenášeno směrem k počítači tolik hodnot (1 příkaz hodnot této křivky). Zapiš data slouží k nastavení otopové křivky podle hodnot poslaných z programu v počítači. Po příkazu Zjisti teplotu odešle přípravek počítači aktuální teplotu vody v bojleru. Příkaz Zapiš čas slouží k nastavení časových údajů termostatu podle hodnot na počítači. Příkaz OK je vysílán počítačem a znamená, že i poslední potvrzená hodnota byla správná a může dojít k vykonání příkazu, který byl nyní potvrzen. Příkaz Chyba lze zachytit, jak na trase od termostatu k počítači, tak naopak. Tento příkaz dává druhé straně najevo, že přijatá data jsou špatná (nesedí parita, přijatý příkaz není stejný, jako jsme posílali apod.) Návrh programu pro komunikaci s PC Pro komunikaci s termostatem je potřeba vytvořit program, který by tuto komunikaci zprostředkoval i lidem, kteří mají pouze základní znalosti práce s PC. Proto je implementace orientována do jazyku Java, který umožňuje jednoduchou tvorbu grafického prostředí, jež by mělo při použití prvků knihovny Swing [7] vypadat na různých operačních systémech stejně. Jelikož způsob ovládání periferních zařízené (v tomto případě sériového portu) pod operačními systémy Windows a Linux (např. Ubuntu) není shodný, je potřeba vytvořit dvě aplikace, nebo jednu aplikaci umožňující výběr prostředí. Problém vzniká například při použití převaděčů USB na RS232 v systému Windows vzniká virtuální port, který se chová stejně jako sériový, ale na systému Linux jsou odkazy na tento port umístěny mezi odkazy na USB zařízení. Proto se v této práci zaměřím pouze na vývoj programu pod operačním systémem Windows, který je nejvíce používaným systémem. Komunikaci s porty v tomto programovacím jazyce umožňuje použití doplňkových knihoven. Na internetu jsou k nalezení knihovny Comm a RXTX. Která varianta je lepší, se ukáže až v samotném návrhu a testování programu. Program bude nejlepší rozdělit do různých částí, oddělit základní parametry programu (výběr portu pro komunikaci) a jednotlivých ovládacích prvků (nastavení hodnot v paměti přípravku, zobrazení nastavených a naměřených hodnot z přípravku, změna času ). Přijímač a vysílač bude nejvýhodnější navrhnout jako vlákna. Tato varianta umožňuje příjem dat i v době, kdy běží vysílač, a měla by zamezit zmeškání dat nebo chybnému čtení. Pro základní nastavení programu, tedy výběr příslušného portu, se jako nejjednodušší možnost pro uživatele nabízí výběr portu ze seznamu, jelikož se jedná o výběr 1 z N, tak se zdá nejvýhodnější varianta použití Check Box okénka. 10
25 Ovládání lze umístit na jeden formulář, který by mohl obsahovat všechny možnosti nastavení hodnot pro zadávání otopové křivky, ovládací prvky. Formulář zadávání tedy bude obsahovat pět políček pro nastavení hodnot a čtyři tlačítka pro jednotlivé příkazy. Při stisknutí tlačítka zadat čas by došlo k odeslání dat (aktuální hodnoty počítače den, hodiny, minuty). Při výběru nastavení otopové křivky by se vypočetly hodnoty, které by byly následně poslány přípravku. Při výběru příkazů Zjisti teplotu nebo Zjisti nastavení křivky ( Zjisti data ) by se otevřely nové formuláře. Pro teplotu může být jednoduchý, protože zobrazuje informaci pouze o teplotě. Formulář, který vypisuje aktuální informace o otopové křivce, je složitější, protože zde musí zobrazit 168 údajů. Pokud by byly nastaveny kratší intervaly, vzrost by počet údajů a také doba potřebná k přenesení údajů od přípravku do počítače, kterou lze snížit zvýšením rychlosti přenosu. 11
26 12
27 3. Implementace Kapitolu implementace programovatelného termostatu lze rozdělit do tří částí: návrh programu termostatu, implementace programu pro PC a sestavení výsledného přípravku Návrh programu termostatu V této kapitole se zabývám vývojem softwarové části termostatu. Návrh programu je prováděn v programovacím jazyce C, ze kterého vývojové prostředí vytvoří kód v asembleru a program (hexadecimální zápis) pro nahrání do přípravku. Při nahrávání je pak změněn obsah pamětí Flash a EEPROM čipu podle námi zvolených parametrů. Kapitolu bych rozdělil na více části, ve kterých se budu věnovat pouze určitému problému (ovládání teplotního čidla, komunikace po RS232, ovládání modulu s displejem a tlačítky, přerušení ). Nejprve bych shrnul celkový program v podkapitole Integrace částí a poté bych se věnoval jednotlivým částem v dalších podkapitolách Integrace částí programu V této podkapitole bych chtěl shrnout výsledný návrh programu, který je nahrán do čipu ovládací desky. Konečný program zahrnuje všechny body návrhu a implementuje je v nejvýhodnější formě pro programovatelný termostat. Při zapnutí přípravku dojde k inicializaci a základnímu nastavení jednotlivých periférií (modul s tlačítky a LCD displejem, teplotní čidlo, komunikace po RS232 a přerušení). Zbytek programu je procházen v nekonečné smyčce, při každém jejím průchodu je zkontrolován zásobník pro ukládání příkazů a dat přijatých po sériové lince. Pokud jsou zde uložena data, které je již možné zpracovat, provede se obsluha tohoto příkazu. V ostatních případech se tato operace přeskočí a přečteme stavy tlačítek. Pokud je nějaké tlačítko stisknuto, dojde k jeho obsluze a piezoelektrický měnič vygeneruje zvukový signál. Vedlo této smyčky program obsahuje dvě přerušení. Jedná se o přerušení vyvolané osmi bitovým čítačem a přerušení signalizující přijatá data ze sériové linky. Přerušení sériové linky. Pokud je vyvoláno přerušení ze sériové linky, dojde ke kontrole těchto dat, a pokud nebyla zjištěna žádná chyba, dojde k uložení dat na zásobník. Označení zásobník může být zavádějící, protože se nejedná o systémový zásobník, ale o pole velikosti pěti bytů, do kterého jsou ukládána přijatá data. Jelikož příkazy od počítače jsou maximální délky čtyř bytů, je toto řešení dostačující. 13
28 Přerušení čítače reálného času. Druhé přerušení, která má vyšší prioritu, je přerušení vyvolané maximální hodnotou osmi bitového čítače reálného času, ke kterému je připojen krystal o frekvenci 32,768 khz. Čítač má děličku hodinového signálu nastavenou na hodnotu 128, která nám zaručuje dosažení maximální hodnoty 1x za sekundu, a proto je vhodný k použití jako čítač reálného času. Při obsluze tohoto přerušení je provedena inkrementace času, pokud je termostat v normální módu (zobrazení informací), dojde také k překreslení LCD displeje. Každou minutu dojde k přečtení teploty a jednou za určitý interval (např. 15 minut) dojde k přečtení požadované teploty z paměti. Jednou za minutu dojde také k porovnání požadované teploty s naměřenou teplotou, podle kterého dojde k sepnutí nebo rozepnutí ovládacího obvodu relé, připojeného k pinu PD Teplotní čidlo RESET PULS PRESENC PULS ROM příkaz Funkční příkaz Obrázek 3.1: Příklad komunikace s teplotním čidlem Pro svoji práci jsem si vybral model DS18B20, který na trh dodává firma Dallas Semiconductor. Čidlo je dostupné ve třech typech provedení pouzder 8-pin SO (150mil), 8-pin µsop a 3-pin TO-92. Pro svoji práci jsem si vybral provedení TO-92, které se svými rozměry hodí k připájení na kabel. Ostatní modely jsou určeny hlavně pro osazení na deskách plošných spojů. Pouzdro TO-92 má tři vývody V DD, DQ a GND. Vývod DQ slouží pro čidlo jako vstup i výstup. Datová sběrnice (DQ) je potřeba připojit k napájení (V DD ) pomocí pull-up rezistoru (R=4,7 kω). Toto teplotní čidlo je možné napájet dvěma způsoby, parasitně (napájeno přes datovou sběrnici DQ, V DD musí být přizemněno) nebo klasickým způsobem. Pro návrh svého obvodu jsem si vybral klasický způsob napájení. Jsou sice potřeba tři vodiče, ale nemůže dojít k výpadku napájení při zápisu do EEPROM paměti nebo při konverzi teploty a není kladen důraz na rychlost nastavení log 1 na sběrnici. Čidlo umí měřit teplotu od -45 C do 125 C, pro interval od -10 C po 85 C je zaručena minimální přesnost ± 0,5 C. Čidlo je možné nastavit na 9-12 bitový režim měření, tedy 1 4 bity pro desetinnou část. Pro programovatelný termostat ohřevu vody nám plně vystačuje přesnost na celé stupně, větší přesnost nemá význam, protože požadované hodnoty jsou v paměti uloženy jako 8 bitová čísla. Doba měření teploty pro 12 bitový režim je 750 ms. Za každý ubraný bit dostaneme poloviční časový úsek potřebný k převodu teploty. Proto je v práci používáno čidlo v 9 bitovém režimu a hodnota teploty, používaná v termostatu, je pouze její 8 bitová celá část. Další výhodou DS18B20 je možnost použít více čidel na jedné sběrnici a možnost nastavit registry alarmu. Čidlo při každé teplotní konverzi kontroluje, zda je teplota mezi hodnotami v registrech, pokud není, nastaví se alarm flag. Toto řešení umožňuje ovládacímu zařízení monitorovat, zda na některém čidle nedošlo k překročení maximální nebo minimální hodnoty pro měřenou oblast, aniž by znalo aktuální teploty této oblasti. Jelikož jsou pro realizaci termostatu použita maximálně dvě teplotní čidla, u kterých potřebujeme znát měřenou teplotu, není třeba kontrolu alarmu přidávat. 14
29 Komunikace s teplotním čidlem probíhá přes 1-drátovou sběrnici, tento způsob nepatří mezi standardní komunikační rozhraní, ale není těžký na implementaci. Komunikace začíná vždy reset pulsem, na který zařízení odpovídá přítomnostním pulsem. Přenos dat je vždy zahájen nejnižším platným bitem. Příkazy lze rozdělit na ROM příkazy (výběr zařízení na sběrnici) a funkční příkazy. Pro názornost přikládám ukázku komunikace, viz obrázek 2.5. Komunikace začíná vždy reset pulsem, následuje presenční puls, který nás informuje, zda je nějaké zařízení k dispozici. Po tomto pulsu je možné vyslat ROM příkaz, který adresuje čidla připojené k této jednodrátové sběrnici, po dokončení adresace je vyslán funkční příkaz, podle kterého čidlo provede určitou operaci. Příkazy jsou rozebrány v následujícím textu. Čidlo obsahuje Scratchpad paměť (9 bytů), která obsahuje tato data 2 byty teplota, 2 byty registry alarmu, 1 byte nastavení režimu konverze, 3 byty pro vnitřní funkce čidla a 1 byty CRC. V následujícím textu jsou rozepsány jednotlivé příkazy, které umožňují komunikaci s teplotním čidlem. Dělí se na ROM příkazy, která umožňují získat identifikační čísla a podle nich adresovat jednotlivá zařízení na sběrnici, a na funkční příkazy, které určují činnost teplotního čidla ROM příkazy Používají se k získání identifikačních čísel a k adresaci zařízení na sběrnici. SEARCH ROM Příkaz se využívá po inicializaci a slouží k získání 64 bitových identifikačních klíčů všech zařízení na sběrnici. Musí být proveden tolikrát, kolik je použito zařízení. Tento příkaz je složitější na implementaci. READ ROM Obdoba předchozího příkazu, ale slouží k získání identifikačního čísla pouze jednoho zařízení. To znamená, že nesmí být přítomno více zařízení, jinak by došlo ke kolizi dat. MATCH ROM Tento příkaz, následovaný 64 bitovým identifikačním číslem, slouží k výběru zařízení s tímto identifikačním číslem. Ostatní zařízení nebudou odpovídat, dokud nebude proveden reset. Tento příkaz je nutné použít, pokud chceme číst teplotu ze sběrnice, kde je přítomno více zařízení. SKIP ROM Příkaz vybere všechny zařízení na sběrnici. Je vhodné ho použít, pokud máme pouze jedno teplotní čidlo, nebo pokud chceme provést měření na všech čidlech. Jestliže po tomto příkazu bude následovat čtení dat a na sběrnici bude více zařízení, může dojít ke kolizi dat. ALARM SEARCH Slouží ke kontrole, zda nemá některé zařízení nastaven alarm flag. Ten je nastaven, pokud při předchozím měření byla hodnota teploty mimo meze nastavené v registrech čidla. 15
30 Tabulka 3.1: Možné příkazy komunikace s teplotním čidlem Typ příkazu ROM příkazy Funkční příkazy Název příkazu SEARCH ROM READ ROM MATCH ROM SKIP ROM ALARM SEARCH CONVERT WRITE SCRATCHPAD READ SCRATCHPAD COPY SCRATCHPAD RECALL E 2 READ POWER SUPPLY Zápis příkazu 0xF0 0x33 0x55 0xCC 0xEC 0x44 0x4E 0xBE 0x48 0xB8 0xB Funkční příkazy Určují činnost teplotního čidla. CONVERT Po tomto příkazu následuje měření teploty, výsledná hodnota je uložena ve 2 bytech scratchpad paměti čidla. Je-li čidlo napájeno klasickým způsoben, je možné kontrolovat stav konverze čtecími pulsy, kdy čidlo vysílá 0 během procesu a 1, pokud již byla konverze dokončena. WRITE SCRATCHPAD Po tomto příkazu jsou poslány další 3 byty nastavení. Byty jsou přijímány a zapsány do scratchpad paměti (na pozice 2-4). Příkaz umožňuje nastavit režim konverze a spodní a horní registry alarmu. READ SCRATCHPAD Tento příkaz požaduje od čidla obsah scratchpad paměti a využívá se pro předávání teploty. Poté ovládací zařízení může číst všech 9 bytů paměti čidla. Ovládací zařízení ukončí čtení resetem, pokud nechce všech 9 bytů. Data začínají nejnižším bitem. COPY SCRATCHPAD Čidlo uloží obsah nastavení režimu konverze a registry pro alarm ze Scratchpad paměti do EEPROM paměti. RECALL E 2 Opak příkazu COPY SCRATCHPAD, nastavení je obnoveno z paměti EEPROM. READ POWER SUPPLY Tento příkaz umožňuje ovládacímu zařízení zjistit, zda jsou na sběrnici přítomna zařízení napájená pomocí parasitního režimu. Při čtení stavu sběrnice vysílají zařízení napájená tímto způsobem hodnotu log 0. 16
31 Implementace ovládání teplotního čidla je v souboru cidlo.c (hlavičkový soubor cidlo.h). Pro správný způsob komunikace je potřeba nejdříve nastavit pin, ke kterému je poté potřeba připojit sběrnici. Jelikož sběrnice pracuje na principu otevřeného kolektoru, kde hodnota log 0 je nastavena pomocí otevření tranzistoru a přizemnění sběrnice a hodnota log 1 je nastavena pomocí pull-up rezistoru, rozhodl jsem se na přípravku nastavovat log 0 jako výstup a log 1 přepnutím na vstup. Pin je nastaven jako výstupní, pouze pokud je na výstupu nastavena log 0. Pro ukázku přikládám část programu ovládání teplotního čidla, která slouží ke změně vstupu a výstupu pro I/O vývod PD4. unsigned char pinp=0x10; void zapis_0(){ DDRD =pinp; //nastaví pin jako výstup PORTD&=~pinP; //nastaví hodnotu log 0 } void zapis_1(){ DDRD&= ~pinp; } //nastaví pin jako vstup Realizace komunikace Každý příkaz začíná reset pulsem, kdy na sběrnici nastavíme hodnotu log 0 po dobu minimálně 480µs. Na tento puls reaguje čidlo po 15 60µs presenčním pulsem, log 0 po dobu µs. Po uplynutí 860µs od začátku komunikace lze začít posílat příkaz ROM, který vybere čidla na sběrnici, po výběru zařízení je možné vyslat funkční příkaz, který určí následující operaci teplotního čidla. Zápis bitu s hodnotou 0 provedeme tak, že na sběrnici nastavíme log 0 na dobu µs, bit s hodnotou 1 je zapsán nastavením log 0 na dobu 1µs, po této době se sběrnice přes pull-up rezistor nabije do stavu log 1. Čtení hodnot probíhá nastavením log 0 na dobu 1µs, poté musíme vyčkat, aby se případně stihla sběrnice nabít přes pull-up rezistor, a pak teprve přečíst hodnotu, která je platná maximálně 15µs od začátku čtení. Časový úsek pro zápis i čtení musí trvat minimálně 60µs a mezi jednotlivými úseky musíme vyčkat minimálně 1µs. Pro názornost přikládám ukázku čtení a zápisu 1B (8 bitů). Protože data jsou vysílána od nejnižšího platného bitu po nejvyšší, přijímá funkce aktuální hodnotu jako nejvyšší bit a poté provede posun doprava. void write_byte (char prikaz){ // funkce která vysílá byte for (i=0; i<8; i++){ bit=prikaz & 0x01; //výběr nejnižšího bitu prikaz=prikaz>>1; //posuv příkazu o 1 bit vpravo _delay_loop_2(wait_1us); //vyčká 1µs mezi úseky zapis_0(); //nastaví hodnotu 0 na sběrnici _delay_loop_2(wait_1us); //opět vyčká 1µs if (bit == 0) _delay_loop_2(wait_80us); //vyčkáme 80µs zapis_1(); //nastavíme hodnotu 1 }else{ zapis_1() //nastavíme hodnotu 1; _delay_loop_2(wait_80us); //vyčkáme 80µs }}} 17
32 Tabulka 3.2: Převod teploty bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 znaménko char precti(){ char tmp=pinp; tmp&=pind; tmp = tmp << 7; return tmp; } //funkce přečte bit //nastavení, který bit chceme číst //načteme hodnotu tohoto bitu (použijeme logický součin) //posuneme vlevo, aby byl bit nejvyšším //předá hodnotu char read_byte (void){ // funkce která čte byte byte = 0x00; //smazání proměnné for (i=0; i<8; i++){ zapis_0(); //nastavení nuly _delay_loop_2(wait_1us); //vyčká 1µs zapis_1(); //zapíše 1 _delay_loop_2(wait_10us); //vyčká 10µs byte=byte>>1; //posun o 1bit doprava byte =precti(); //přečte aktuální hodnotu _delay_loop_2(wait_50us); //vyčká 50 µs } return byte; } Při zapnutí přípravku musí dojít k inicializaci čidla nastavení 9 bitového režimu a registrů alarmu, i když nejsou využity. Nastavení je provedeno v metodě write_scratch(), ve které jsou odeslány 4B (0x4E, 0x00, 0x60, 0x1F). Byty jsou v následujícím pořadí: příkaz, spodní a horní registry alarmu a nastavení pro 9 bitový režim. Následně jsou informace zkopírovány do paměti EEPROM, kdyby došlo k výpadku napětí čidla. void init_cidlo () { zapis_1(); reset_pulse(); byte = read_presence(); skip_rom(); write_scratch(); _delay_loop_2(wait_80us); //vyčkat 80µs reset_pulse(); byte = read_presence(); } skip_rom(); copy_scratch(); //nastaví jako výstup //reset puls //přečte přítomnostní puls //vybere všechny zařízení na sběrnici //nastavení čidla //uloží nastavení do EEPROM paměti Čtení teploty probíhá načtením obsahu scratchpad paměti. Pro získání teploty jsou důležité pouze první dva byty. Převod na dekadickou hodnotu probíhá podle schématu popsaného v tabulce 3.2. Následující kód je použit pro načítání teploty a převod na dekadickou hodnotu. 18
33 char read_temp (){ //čtení teploty reset_pulse(); byte = read_presence(); //čtení přítomnostního pulsu if(byte==0x10){return 0x00;} //kontrola přítomnosti čidla skip_rom(); read_scratch(); //příkaz čtení obsahu scratch paměti char tmp1=read_byte(); //čtení prvního bytu _delay_loop_2(wait_50us); //vyčkat 50µs tmp1=tmp1>>4; //posuv o 4 bity vpravo => pouze 4 nejvyšší bity char tmp2=read_byte(); //čtení druhého bytu _delay_loop_2(wait_50us); //opět vyčkat 50µs tmp2=tmp2<<4; //posuv o 4 bity vlevo => použití pouze 4 nejnižší bity tmp1=tmp1+tmp2; //sloučení hodnot ve výslednou teplotu for(i=0;i<7;i++){ read_byte(); //přečte zbylé položky scratchpad paměti _delay_loop_2(wait_50us); //mezi čtením vyčká vždy 50µs } return tmp1; } Modul s LCD displejem a tlačítky Modul lze připojit k desce pomocí sériového nebo paralelního rozhraní, v tomto návrhu využívám pouze paralelní rozhraní (připojení pomocí 20 žilového plochého kabelu), které sice potřebuje více vodičů, ale umožňuje jednodušší ovládání. Modul obsahuje piezoelektrický měnič pro generování zvukových signálů, který je využit při stisku tlačítka. Dále deska obsahuje dvouřádkový LCD displej, který umožňuje na každém řádku zobrazit 16 znaků. Jedná se o displej se žlutozeleným pozadím a evropským znakovým fontem. Na modulu je k dispozici také osm tlačítek, které nám umožní základní ovládání programovatelného termostatu. Modul je potřeba připojit k portu CON1 vývojové desky, port CON2 není možné použít k připojení, protože nejsou k dispozici všechny I/O vývody čipu ovládací desky, které jsou využity k jiným účelům. Pro ovládání modulu jsem použil zdrojové kódy umístěné na stránkách výrobce desky firmy PK-Design [5], které jsem poupravil do výsledné podoby. Tyto zdrojové kódy jsou uloženy v souboru modul_tlacitka.c (hlavičkový soubor modul_tlacitka.h). Ovládání LCD displeje je uloženo v souboru lcd.c (hlavičkový soubor lcd.h). Zdrojové kódy pro ovládání LCD displeje byly také k dispozici, ale rozhodl jsem se je poupravit podle dokumentace k displeji [6]. Pokud porovnáme funkce s dostupným kódem k ovládání LCD displeje, je řešení velmi podobné. Způsobeno je to tím, že není možné napsat tyto funkce jinak, pokud vyžadujeme identickou funkčnost Sériové rozhraní RS232 Rozhodl jsem se vyrobit přípravek, který by byl schopný komunikovat s počítačem, program v PC by umožnil například vzdálené ovládání. Pro připojení k počítači je na základní desce připraven odpojitelný sériový port. Tento port sdílí dva I/O vývody čipu portu D, které jsou jinak vyvedeny na portu CON2 (PD0, PD1). Čip osazený na desce podporuje sériovou komunikaci a stará se za nás o vysílání a přijímání dat v požadované formě a rychlosti. 19
34 Při realizaci jsem se rozhodl použít standardní velikost datového bloku 8 bitů, které jsou zabezpečeny pomocí jednoho paritního bitu. Lze použít sudou nebo lichou paritu. Při návrhu jsem se rozhodl použít lichou paritu (součet jedniček datových bitů i s paritním bitem je liché číslo). Paritní bit nám umožňuje detekci lichého počtu chyb. Rychlost přenosu dat jsem zvolil 9600 BAUD (znaků za sekundu). Při zapnutí termostatu je potřeba nastavit parametry pro sériové rozhraní čipu USART (Universální synchronní a asynchronní přijímač a vysílač). Nastavení tohoto rozhraní je uloženo v registrech UCSRB, UCSRC, UBBRL a UBBRH. V registru UCSRB je možné nastavovat přerušení, povolit přijímač a vysílač, jeden bit velikosti datové části a také jsou zde 2 bity pro posílání a příjem devátých datových bitů. V tomto registru je potřeba povolit přerušení při dokončení příjmu (7) a odeslání (6) dat, povolit přijímač (4) i vysílač (3). V registru UCSRC lze nastavit, zda používáme synchronní nebo asynchronní operace, paritu, počet stop bitů, počet datových bitů a polaritu hodin (při užití synchronního módu). Pro přístup k tomuto registru musí být nejvyšší bit 1, protože registr sdílí adresu s registrem UBBRH. Nastavíme asynchronní mód, lichou paritu, 1 stop bit a 8 datových bitů. Nakonec je potřeba nastavit rychlost přenosu dat, což provedeme zapsáním hodnoty UBBR do registrů UBBRL a UBBRH. Hodnotu UBBR pro asynchronní normální mód vypočteme podle vzorce: f OSC fosc BAUD = UBBR = 1 16( UBBR + 1) 16BAUD 14, UBBR = = 95 void init_rs232(){ //nastavení děličky UBRR UBRRH = 0x00; UBRRL = 0x5F; //95 } UCSRB = 0xD8; UCSRC = 0xA6; Příjem a zápis dat jsou prováděny přes registr UDR, ve kterém je uloženo 8 bitů dat, samotné vysílání a přijímání jednotlivých bitů je zajištěno zařízením USART na čipu. Výstup tohoto zařízení je připojen k na I/O vývody portu D PD0 a PD1. Při přijetí dat dojde k vyvolání přerušení, v obsluze tohoto přerušení dojde ke kontrole dat, kontrola parity, kontrola datového okna (zda není stop bit roven log 0) a zda nedošlo k přepisu přijatých dat. Pokud byla zjištěna chyba, vyšle termostat Error (hodnota 0xFE), v ostatních případech vyšle potvrzení (stejnou hodnotu, která byla přijata) a uloží tento byte na zásobník. Komunikace v plné rychlosti probíhá pouze při odesílání hodnot otopové křivky nastavených v přípravku Otopová křivka Hodnoty otopové křivky jsou uloženy v EEPROM paměti na čipu, aktuální požadovaná teplota je uložena v proměnné (tj. v SRAM paměti) a je pravidelně načítána. Programovatelný termostat lze rozdělit maximálně na 10 minutové 20
35 intervaly (1008 hodnot), pro které lze nastavit různou teplotu. Pro realizaci prototypu je zatím navržen hodinový interval pro týdenní časovou smyčku. Tato volba vyžaduje 168 B paměti EEPROM. Nastavení hodnot otopové křivky je možné vysláním příkazu z počítače, nebo pomocí tlačítek termostatu. Při správném zadání údajů (kontrola, zda nejsou zadány stejné údaje pro začátek i konec intervalu) je zavolána funkce, která se stará o zápis do paměti. Funkce umí zkontrolovat, zda není konec intervalu v týdnu dříve než začátek, pokud je požadované zadání, dojde k rozdělení na dva cykly, první se postará o zápis dat do konce týdne, druhý se postará o zápis od začátku týdne do zvoleného datumu. V opačném případě je použit pouze jeden cyklus, kde je inkrementován ukazatel na již zapsaná data. V cyklu se volá funkce s parametry adresa a hodnota, která nastaví na adresu požadovanou hodnotu teploty. Pří přístupu k paměti musíme vždy vyčkat na dokončení předchozí operace s pamětí. Poté je potřeba nastavit adresu (registry EEARL a EEARH), při zápisu případně data. Operace čtení začne, pokud je nastavena připravenost zařízení číst (bit EERE registru EECR). Při zápisu je potřeba nejprve nastavit, že je zařízení připraveno na zápis (bit EEME) a poté teprve zahájit proces zápisu (bit EEWE). Ukázka zdrojového kódu pro práci s paměti (tyto metody se nachází v souboru ovladani.c). unsigned char get_ee(unsigned char adr){ while(eecr & (1 << EEWE)); EEARH = 0x00; data) EEARL = adr; EECR = 0x01; return EEDR; } //čekám na dokončení předchozích operací //nastavení vrchních bitů adresy (nejsou zde //nastavení spodních bitů adresy //nastavím 0bit, že jsem připraven číst //EEDR EEPROM data registr void set_ee(unsigned char adr, unsigned char temp){ while(eecr & (1 << EEWE)); //čekám na dokončení předchozích operací EEARH = 0x00; //nastavení adresy EEARL = adr; EEDR=temp; //EEDR nastavení dat do EEPROM data registru EECR = 0x04; //nastavím 2 bit, že jsem připraven zapisovat EECR = 0x02; //nastavím 1 bit na 1, můžu zapisovat } void zapisdata(){ if(tod < tdo){ while(tod<tdo){ set_ee(tod,tepz); tod++; } }else{ int ad; for(ad=tod;ad<168;ad++){ set_ee(ad,tepz); } for(ad=0;ad<tdo;ad++){ set_ee(ad,tepz); } nastav = 0 nastav_stav(0); } //začátek menší než konec //zápis dat //začátek větší než konec //smyčka od začátku intervalu do konce týdne //zápis dat //smyčka od začátku týdne po konec intervalu //zápis dat //zneplatnění posledních načtených dat; //nastaví normální mód displeje 21
36 Implementace ovládání Termostat umožňuje čtyři základní módy, jež lze zvolit pomocí tlačítek, a čtyři rozšiřující módy, ve kterých se přípravek nachází při komunikaci s počítačem. Základní módy umožňují nastavení času, nastavení otopové křivky, procházení hodnot a zobrazení informací o aktuálním dění. Při implementaci přepínání módů byla zvažována možnost použití menu, které by bylo přehledné a při použití více položek určitě i výhodnější. Jelikož termostat umí pouze tyto čtyři módy, vystačuje zatím přepínání pomocí tlačítek F1 a F2. Při nastavování otopové křivky je na prvním řádku zobrazen název operace a spodní řádek slouží k zobrazení aktuálně nastavovaných hodnot, řádek je rozdělen na sloupce podle počtu proměnných, které lze měnit. Hodnota, která je právě vybrána, je zdůrazněna pomocí kursoru displeje. Pro pohyb mezi sloupci jsou použita tlačítka vlevo a vpravo, pro pohyb mezi řádky tlačítka Enter a ESC. Procházení otopové křivky je pomocí tlačítek vlevo a vpravo znamená změnu o hodinu, nahoru a dolu znamená změnu o 24 hodin (celý den). Při každém stisku směrových tlačítek dojde k nahrání hodnoty z paměti EEPROM. Nastavení změny času bylo nejdříve implementováno pouze v jednom kroku, toto řešení je sice jednodušší na implementaci, ale mohlo by snadno dojít ke změně údajů při nechtěném stisku tlačítka. Proto je toto řešení rozděleno do dvou kroků, přičemž v prvním nastavíme hodnoty (den, hodiny a minuty). Nastavení těchto hodnot probíhá na jednom řádku. Při stisku tlačítka Enter je nyní zobrazen potvrzovací dialog, při opětovném stisku tlačítka Enter dojde teprve k přednastavení údajů o čase Návrh programu pro PC Obrázek 3.2: Úvodní okno programu Obrázek 3.3: Okno zobrazující informaci o teplotě 22
37 Obrázek 3.4: Okno pro vzdálené ovládání termostatu Obrázek 3.5: Přehled okno zobrazující nastavení otopové křivky Program je navrhován v programovacím jazyku Java a je určen pro operační systém Windows. Umožňuje komunikaci s programovatelným termostatem přes sériový port, tuto komunikaci umožňuje použitá knihovna RXTX, která nám umožňuje přístup k portům počítače. Při běhu programu musí být tato knihovna ve stejné složce jako spouštěný program. Výhodou tohoto programu je pro uživatele grafické uživatelské rozhraní, které umožňuje jednoduché ovládání pomocí základních komponent. Po spuštění programu se zobrazí úvodní obrazovka (viz. obrázek 3.2), kde je potřeba provést důležité nastavení programu a vybrat port, ke kterému je připojen kabel od přípravku. Výběr probíhá z komponenty CheckBox, která po rozkliknutí zobrazí seznam aktuálně dostupných portů v PC. Zde vzniká problém pro uživatele, kteří neznají označení těchto portů a nemusejí vědět, který port vybrat. Program 23
PK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.
MB-ATmega16/32 v2.0 Základová deska modulárního vývojového systému MVS Uživatelský manuál Verze dokumentu 1.0 (21.12.2004) Obsah 1 Upozornění... 3 2 Úvod... 4 2.1 Vlastnosti základové desky...4 2.2 Vlastnosti
VíceVoděodolný tloušťkoměr MG-401 Obsah:
Voděodolný tloušťkoměr MG-401 Obsah: Návod k obsluze 1. Charakteristika tloušťkoměru MG-401... 1 2. Použitelnost přístroje... 2 3. Vnější vzhled... 2 4. Technické parametry... 4 5. Zapnutí a vypnutí přístroje...
VíceRegistrační teploměr
Popis zapojení: Registrační teploměr ukládá aktuální teplotu do paměti EEPROM v intervalu jedné hodiny. Zařízení je vybaveno zdrojem reálného času (RTC), který zároveň probouzí mikroprocesor ze stavu spánku.
VíceJednoduchý digitální osciloskop pro PC Dušan Doležal Osciloskop je pøístroj, který by urèitì ráda vlastnila vìtšina elektronikù, ale pro mnoho amatérù je kvùli pomìrnì vysoké cenì nedostupný. Právì pro
VíceVYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ
VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),
VíceCQ485. Opakovač a převodník linek RS485 a RS422. S aktivní i pasivní obnovou dat
Opakovač a převodník linek RS485 a RS422 S aktivní i pasivní obnovou dat. CQ485 Katalogový list Vytvořen: 8.12.2004 Poslední aktualizace: 19.1.2011 13:54 Počet stran: 20 2011 Strana 2 CQ485 OBSAH Popis...
VíceSnímače teploty a vlhkosti s komunikací po RS485 protokolem Modbus RTU - řada PHM
Popis: Snímače jsou určeny pro měření teploty a vlhkosti vzduchu bez agresivních příměsí v klimatizačních kanálech, exteriérech a interiérech bez zvýšených estetických nároků na design. Měřené hodnoty
VíceTENZOMETRICKÝ MĚŘIČ. typ Tenz2293. www.aterm.cz
TENZOMETRICKÝ MĚŘIČ typ Tenz2293 1. Úvod Tento výrobek byl zkonstruován podle současného stavu techniky a odpovídá platným evropským a národním normám a směrnicím. U výrobku byla doložena shoda s příslušnými
VíceSnímač barometrického tlaku T2314, T2414
Snímač barometrického tlaku T2314, T2414 se sériovým výstupem RS232, RS485 Návod k použití Návod k použití Typ snímače Tlak Výstup Galvanické oddělení výstupu T2314 RS232 - T2414 RS485 Snímač je určen
VíceElektronická stavebnice: Deska s jednočipovým počítačem
Elektronická stavebnice: Deska s jednočipovým počítačem Modul s jednočipovým počítačem Modul s řídícím jednočipovým počítačem je centrálním prvkem stavebnice. Jeho konstrukce umožňuje přímé připojení do
VíceV případě potřeby lze snímače nakonfigurovat do kompatibilního režimu se staršími snímači REGMET P21M. Přehled typů: osvětlení
Popis Snímače jsou určeny pro snímání intenzity, případně měření teploty a relativní vlhkosti vzduchu bez agresivních příměsí v exteriérech nebo interiérech bez zvýšených estetických nároků na design,
Více1 Podrobná specifikace Yunifly Datasheet
1 Podrobná specifikace Yunifly Datasheet OBRAZEK fotky Yunifly obe desky zvlast + dohromady + top view - merge to one 1.1 Hmotnost a rozměry Elektronika Yunifly je složena ze dvou samostatných částí, které
VíceUniverzální jednočipový modul pro řízení krokových motorů
Středoškolská odborná činnost 2005/2006 Obor 10 elektrotechnika, elektronika, telekomunikace a technická informatika Univerzální jednočipový modul pro řízení krokových motorů Autor: Jan Fíla SPŠ Trutnov,
VíceLaboratorní zdroj - 6. část
Laboratorní zdroj - 6. část Publikované: 20.05.2016, Kategória: Silové časti www.svetelektro.com V tomto článku popíšu způsob, jak dojít k rovnicím (regresní funkce), které budou přepočítávat milivolty
VíceMicrochip. PICmicro Microcontrollers
Microchip PICmicro Microcontrollers 8-bit 16-bit dspic Digital Signal Controllers Analog & Interface Products Serial EEPROMS Battery Management Radio Frequency Device KEELOQ Authentication Products Návrh
VícePK Design. MB-S2-150-PQ208 v1.4. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (11. 6. 03)
MB-S2-150-PQ208 v1.4 Základová deska modulárního vývojového systému MVS Uživatelský manuál Verze dokumentu 1.0 (11. 6. 03) Obsah 1 Upozornění...3 2 Úvod...4 2.1 Vlastnosti základové desky...4 2.2 Vlastnosti
VícePOKLADNÍ DISPLEJ LCD. www.virtuos.cz virtuos@virtuos.cz. hotline: 493 544 400. strana 1
POKLADNÍ DISPLEJ LCD VLASTNOSTI Podsvícený displej LCD s vysokým kontrastem umožňuje čtení z velkého bočního úhlu K ovládání displeje je použit standardní seriový port RS-232 (9600bps) Snadné programování
VíceRozhraní mikrořadiče, SPI, IIC bus,..
Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška A3B38MMP 2013 kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, kat. měření, ČVUT - FEL, Praha 1 Rozhraní SPI Rozhraní SPI ( Serial Peripheral
VícePK Design. EVMS-mega128. Uživatelský manuál. v1.0. Výuková deska s mikrokontrolerem ATmega128. Obr. 1 - výuková deska s LCD displejem
EVMS-mega128 v1.0 Výuková deska s mikrokontrolerem ATmega128 Uživatelský manuál Obr. 1 - výuková deska s LCD displejem Obr. 2 - výuková deska bez LCD displeje Obsah 1 Upozornění... 3 2 Úvod... 4 2.1 2.2
VíceMaticová klávesnice. Projekt do předmětu Subsystémy PC. Brno, 2002-2003. Tomáš Kreuzwieser, Ondřej Kožín
Maticová klávesnice Projekt do předmětu Subsystémy PC Brno, 2002-2003 Tomáš Kreuzwieser, Ondřej Kožín Obsah Úvod............................................ 1 1. Hardware........................................
VícePaměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš
Paměťové prvky ITP Technika personálních počítačů Zdeněk Kotásek Marcela Šimková Pavel Bartoš Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Osnova Typy
VíceTemp-485. Teplotní čidlo pro vnitřní použití na sběrnici RS-485 s jednoduchým komunikačním protokolem
Temp-485 Teplotní čidlo pro vnitřní použití na sběrnici RS-485 s jednoduchým komunikačním protokolem www.hw-group.com, Prague, Czech Republic 2 Popis zařízení Temp-485 je čidlo teploty, komunikující po
VíceRE8USB modul s 8 vstupy a 8 výstupy ovládaný z USB
RE8USB modul s 8 vstupy a 8 výstupy ovládaný z USB Popis k obrázku JP1, JP2 dvě propojky, každá pro jednu čtveřici vstupů (JP1 IN1 až IN4, JP2 IN5 až IN8). JP2 spojeno kontaktní vstupy IN5 až IN8, rozpojeno
Víceenos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p
Přenos dat Ing. Jiří Vlček Následující text je určen pro výuku předmětu Číslicová technika a doplňuje publikaci Moderní elektronika. Je vhodný i pro výuku předmětu Elektronická měření. Přenos digitálních
VíceTENZOMETRICKÉ MĚŘIDLO
TENZOMETRICKÉ MĚŘIDLO typ TENZ2304 www.aterm.cz 1 1. Úvod Tento výrobek byl zkonstruován podle současného stavu techniky a odpovídá platným evropským a národním normám a směrnicím. U výrobku byla doložena
VícePřevodník na DIN lištu s frekvenčním výstupem typ RF1
Převodník na DIN lištu s frekvenčním výstupem typ RF1 frekvenční výstup 1Hz 20kHz volba typu vstupu: (Pt100, Pt1000, Ni 1000, 0 100Ω, 0 1000Ω, 0 5V, 0 10V, 4 20mA, 0 20mA) konfigurace převodníku programem
VíceSTŘEDOŠKOLSKÁ TECHNIKA 2013
STŘEDOŠKOLSKÁ TECHNIKA 2013 Setkání a prezentace prací středoškolských studentů na ČVUT Návrh systému inteligentního domu Pavel Mikšík Brno 2013 Setkání a prezentace prací středoškolských studentů na ČVUT
Více1. ÚVODNÍ USTANOVENÍ 2. NAHRÁNÍ VLOŽENÉHO PROGRAMU
141414141414 1. ÚVODNÍ USTANOVENÍ Tato technická příručka platí pro všechny vložené programy, které se nahrávají do vyhodnocovacího zařízení VT 4110 pro možnost provádění dalších operací zejména v oblasti
VíceRE5USB programovatelné USB relé s integrovaným watchdogem ( RE5 ) Základní vlastnosti
RE5USB programovatelné USB relé s integrovaným watchdogem ( RE5 ) Základní vlastnosti 1 Napájení celého modulu přímo z USB portu. 2 Čtyři silové reléové výstupy s přepínacími kontakty pro spínání od malých
VíceČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická BAKALÁŘSKÁ PRÁCE 2015 Pavel Gregar ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra telekomunikační techniky Domácí meteostanice
VíceGrafický výtahový displej
Grafický výtahový displej Uživatelská příručka Vydání 3.0 Počet stran: 14 1 Obsah: 1 Úvod... 3 2 Obchodní informace... 3 2.1 Sortiment a objednávání... 3 2.2 Záruka... 3 2.3 Opravy... 4 2.4 Informace o
VíceNávrh konstrukce odchovny 2. dil
1 Portál pre odborné publikovanie ISSN 1338-0087 Návrh konstrukce odchovny 2. dil Pikner Michal Elektrotechnika 19.01.2011 V minulem dile jsme si popsali návrh konstrukce odchovny. senzamili jsme se s
VíceČíslicový otáčkoměr TD 5.1 AS
Číslicový otáčkoměr TD 5.1 AS Zjednodušená verze otáčkoměru řady TD 5.1 bez seriové komunikace, která obsahuje hlídání protáčení a s možností nastavení 4 mezí pro sepnutí relé. Určení - číslicový otáčkoměr
VíceŘídící jednotka pro 2 čtečky SL20
Řídící jednotka pro 2 čtečky SL20 Návod pro instalaci Verze hardware SL20.3 od verze firmware: 2.67 Popis SL20 v2.67.doc - strana 1 (celkem 12) Popis funkce SL20 je sběrnicová jednotka pro ovládání dvou
VíceTCL. Měřící modul proudu 4-20mA s výstupem RS485
Měřící modul proudu 4-20mA s výstupem POPIS Modul je určen pro měření proudu 4 až 20 ma (unifikovaný proudový signál), který bývá výstupní veličinou mnoha snímačů, čidel a dalších zařízení. Vstupní proud
VíceTeploměry a ovladače s digitální komunikací - řada AM. Tango. alpha nea. Základní technické parametry
provedení do rámečku Tango (standard) nebo alpha nea komunikace Modbus RTU po lince RS485 široký rozsah napájení vysoká přesnost měření nastavení korekce ovládacím kolečkem snadná montáž na standardní
VíceZahradní bazén, řídící jednotka, čerpadlo filtrace, solární kolektor, snímač teploty.
ABSTRAKT Tato práce se zabývá problematikou regulace teploty vody v malém zahradním bazénu. Praktická část je tvořena skutečným návrhem řídící jednotky zahradního bazénu, která na základě znalosti okolní
VíceElektronická časomíra SH3
Elektronická časomíra SH3 Základní parametry sestavy spínaný napájecí zdroj 230V / 60W, výstup 12V / 5A zobrazování na numerických zobrazovačích, výška číslic 380mm multiplexní zobrazování času / datumu
VíceFASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor
FASTPort Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům aneb Jak připojit koprocesor *) inteligentní karta = karta vybavená vlastním procesorem J. Němeček 12. 10. 2013 úvodní
VíceDM4.3 odmagnetovací modul
DM4.3 odmagnetovací modul Význam kontrolek (LED ) na desce LD1 zelená LED svítí při magnetování. LD2 červená LED bliká při odmagnetování. LD3 modrá LED po celou dobu magnetování od okamžiku plného zamagnetování.
VíceMLE2 a MLE8. Datalogery událostí
MLE2 a MLE8 Datalogery událostí Zapisovač počtu pulsů a událostí Návod k obsluze modelů MLE2 MLE8 Doporučujeme vytisknout tento soubor, abyste jej mohli používat, když se budete učit zacházet se zapisovačem.
VíceTQS1. Inteligentní teplotní čidlo. Komunikace linkou RS485. Teplotní rozsah -55 C až +125 C. Obrázek 1. 20. září 2005 w w w. p a p o u c h.
Inteligentní teplotní čidlo Komunikace linkou RS485 Teplotní rozsah -55 C až +125 C Obrázek 1 20. září 2005 w w w. p a p o u c h. c o m 0039 Katalogový list Vytvořen: 24.7.2004 Poslední aktualizace: 20.9.2005
VíceINDUKČNÍ PRŮTOKOMĚR F3 INSTALAČNÍ PŘÍRUČKA
INDUKČNÍ PRŮTOKOMĚR F3 INSTALAČNÍ PŘÍRUČKA Brno, říjen 2006 1. UMÍSTĚNÍ ČIDLA Při montáži čidla do potrubí dodržujte následující zásady : - Pro správné měření musí být čidlo zcela zaplněno měřenou kapalinou.
Více24 bitový AD USB modul AD24USB. Návod k použití
24 bitový AD USB modul AD24USB Návod k použití Obsah Obsah...2 1. Úvod...3 2. Technické parametry...3 A/D převodník:...3 Zdroj proudu:...4 Digitální vstupy/výstupy:...4 3. Instalace modulu...4 3.1. Zapojení
VíceObsah: KR2 - Uživatelská příručka -1-
KR2 - Uživatelská příručka -1- Obsah: 1. Obecné... 2 2. Funkce řadiče...2 2.1. Obecný popis... 2 2.2. Režimy řízení...2 2.2.1. Řízení na konstantní teplotu...2 2.2.2. Pseudoekviterm...2 2.2.3 Řízení dle
VíceNávod pro USB Teploměr. s čidlem DS18B20
Návod pro USB Teploměr s čidlem DS18B20 Prototyp verze 1 / 1a 8. června 2012 Autor: Petr Domorázek USB Teploměr slouží k přesnému měření a logování teploty prostřednictvím osobního počítače. Komunikace
VíceXR110C - XR120C - XR130C - XR130D
XR110C - XR120C - XR130C - XR130D OBSAH 1. OBECNÁ VAROVÁNÍ 2 1.1. Před použitím si prosím přečtěte tuto příručku 2 1.2. Bezpečnostní opatření 2 2. OBECNÝ POPIS 2 3. ŘÍZENÍ ZATÍŽENÍ 2 3.1. Kompresor 2 3.2.
VíceEMJ-01 odmagnetovací jednotka
EMJ-01 odmagnetovací jednotka 1. Parametry - Vstupní napájecí napětí 230VAC, pojistka F1A nad přívodní vývodkou. - Pojistky F1.6A pro magnetku a F400mA chránící modul DM2.3E. - Prosvětlený zelený vypínač
VíceHTemp-485. Teplotní a vlhkostní čidlo pro vnitřní použití na sběrnici RS-485 s jednoduchým komunikačním protokolem CZ 600 106
HTemp-485 Teplotní a vlhkostní čidlo pro vnitřní použití na sběrnici RS-485 s jednoduchým komunikačním protokolem CZ 600 106 www.hw-group.com, Prague, Czech Republic 2 / 12 Popis zařízení HTemp-485 je
VíceUživatelský manuál. s klávesnicí K648
Uživatelský manuál s klávesnicí K648 EVO Uživatelský manuál OBSAH Obsah 1 Úvod 2 1.0 Popis 2 2.0 Základní operace 3 2.1 Zvuková signalizace klávesnice 4 2.2 Zobrazování LED klávesnice 4 2.3 Dělení na
VíceZákladní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard
Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený
VíceRozšiřující modul s protokolem MODBUS
Rozšiřující modul s protokolem MODBUS Návod na obsluhu Verze 1.00 dmm-ui8do8_g_cz_100 AMiT, spol. s r. o. nepřejímá žádné záruky, pokud se týče obsahu této publikace a vyhrazuje si právo měnit obsah dokumentace
VíceTCP2RTU. Transparentní převodník protokolu MODBUS TCP na MODBUS RTU/ASCII. Tři varianty: pro RS422, RS485 a RS232
Transparentní převodník protokolu MODBUS TCP na MODBUS RTU/ASCII Tři varianty: pro RS422, RS485 a RS232 17. února 2016 w w w. p a p o u c h. c o m 0385 TCP2RTU Katalogový list Vytvořen: 6.2.2008 Poslední
VíceŘídicí systémy řady 400 str.2 z 16 MICROPEL
Řídicí systémy řady 400 2. verze dokumentu, MICROPEL s.r.o. 01.2014 - opravena chyba v číslování svorek I/O na str.7 - aktualizovány všechny ilustrace na změněné umístění portu Řídicí systémy řady 400
VíceLED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48
LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám
VíceGENEROVÁNÍ ZVUKŮ POMOCÍ MIKROKONTROLÉRŮ
David Matoušek GENEROVÁNÍ ZVUKÙ POMOCÍ MIKROKONTROLÉRÙ PIC16F628A + ATMEGA8 Praha 2015 David Matoušek Generování zvukù pomocí mikrokontrolérù Recenzent Bohumil Brtník Bez pøedchozího písemného svolení
VíceMR51P. Systémy Měřicí, Analytické a Regulační Techniky POPIS A NÁVOD K OBSLUZE PROGRAMOVATELNÝ MĚŘIČ PRŮTOKU A PROTEKLÉHO MNOŽSTVÍ. verze 1.
Systémy Měřicí, Analytické a Regulační Techniky MR51P PROGRAMOVATELNÝ MĚŘIČ PRŮTOKU A PROTEKLÉHO MNOŽSTVÍ POPIS A NÁVOD K OBSLUZE verze 1.02 111 Vývoj, výroba: Dodavatel: SMART, spol. s r.o. REGMET tel.:
VíceÚvod do mobilní robotiky AIL028
md at robotika.cz http://robotika.cz/guide/umor07/cs 11. října 2007 1 Definice Historie Charakteristiky 2 MCU (microcontroller unit) ATmega8 Programování Blikání LEDkou 3 Kdo s kým Seriový port (UART)
VíceZpůsoby realizace paměťových prvků
Způsoby realizace paměťových prvků Interní paměti jsou zapojeny jako matice paměťových buněk. Každá buňka má kapacitu jeden bit. Takováto buňka tedy může uchovávat pouze hodnotu logická jedna nebo logická
VíceUživatelský manuál. KNX232e / KNX232e1k
Uživatelský manuál verze dokumentu 1.2 (pro firmware od verze 2.1) KNX232e / KNX232e1k KNX232e slouží pro ovládání a vyčítání stavů ze sběrnice KNX sériová linka s ASCII protokolem signalizace komunikace
VíceArduino digitální multimetr
Arduino digitální multimetr aneb jak to dopadne, když softwarový architekt navrhuje hardware... Petr Stehlík www.pstehlik.cz Osnova Idea a motivace Návrh a plán Teorie a implementace Problémy a chyby USB
VíceMIDAM UC 301 modbus regulátor topeni, otočné tlačítko, RTC, 2xDO, 1x DI, externí odporové čidlo PT1000, RS485
List č.: 1/10 MIDAM UC 301 modbus regulátor topeni, otočné tlačítko, RTC, 2xDO, 1x DI, externí odporové čidlo PT1000, RS485 - najednou lze vyčíst nebo zapsat maximálně 60 registrů - u hodnot uložených
VíceAdresovatelný převodník rozhraní RS48/RS232 ELO E250. Uživatelský manuál
Adresovatelný převodník rozhraní RS48/RS232 ELO E250 Uživatelský manuál 2 ELO E250ZK001 1.1 Použití převodníku...4 2.0 Principy činnosti...5 3.0 Instalace...5 3.1 Vybudování sběrnice RS-485...5 3.2 Připojení
VíceJEDNOTKA SNÍMAČŮ 1-WIRE (DALLAS) TUDS-40-MOD
JEDNOTKA SNÍMAČŮ 1-WIRE (DALLAS) TUDS-40-MOD Jednotka pro snímače 1-WIRE (DALLAS) pro měření teplot, vlhkosti, intenzity osvětlení s komunikací RS 485 MODBUS RTU. Připojení až 40 snímačů teploty s měřením
VíceDM2.3E odmagnetovací modul 130 160V AC /5A
DM2.3E odmagnetovací modul 130 160V AC /5A Význam kontrolek (LED) na desce LD1 zelená led svítí při stisku tlačítka START pro zapínání magnetování (SB10) LD2 červená led svítí při stisku tlačítka STOP
VíceTechnická dokumentace ČTEČKA ČIPŮ DALLAS. typ DSRS2130. www.aterm.cz
ČTEČKA ČIPŮ DALLAS typ DSRS2130 www.aterm.cz 1 1. Úvod Tento výrobek byl zkonstruován podle současného stavu techniky a odpovídá platným evropským a národním normám a směrnicím. U výrobku byla doložena
VíceMyIO - webový komunikátor
MyIO - webový komunikátor Technická příručka verze dokumentu 1.0 FW verze modulu 1.4-1 - Obsah 1 MyIO modul... 3 2 Lokální webové rozhraní... 3 2.1 Start, první přihlášení... 3 2.2 Home úvodní strana MyIO...
VíceSB8485. Převodník USB na 8x RS485/RS422. 8. září 2010 w w w. p a p o u c h. c o m 0197.01.01
Převodník USB na 8x RS485/RS422 8. září 2010 w w w. p a p o u c h. c o m 0197.01.01 SB8485 Katalogový list Vytvořen: 12.10.2007 Poslední aktualizace: 8.9 2010 15:03 Počet stran: 20 2010 Adresa: Strašnická
VíceDálkové ovládání GB060. Umožní jednoduché ovládání otopné soustavy. Osm binárních vstupů / výstupů a jeden reléový výstup
Dálkové ovládání GB060 C 208 Aplikační list Dálkové ovládání regulátorů a přenos technologických informací GSM komunikací Profesionální řešení pro dálkové ovládání otopné soustavy mobilním telefonem GSM.
VíceDataLab IO. DataLab PC/IO
DataLab IO Průmyslové vstupně/výstupní jednotky s rozhraním USB, Ethernet nebo RS-485 DataLab PC/IO Průmyslový počítač se vstupně/výstupní jednotkou Tato publikace byla vytvořena ve snaze poskytnout přesné
VíceDISTA. Technická dokumentace. Pokyny pro obsluhu a údržbu. Verze 2.5
DISTA Technická dokumentace Pokyny pro obsluhu a údržbu Verze 2.5 Průmyslová 1880 565 01 CHOCEŇ tel.: +420-465471415 fax: +420-465382391 e-mail: starmon@starmon.cz http://www.starmon.cz CZECH REPUBLIC
VíceUživatelský manuál. KNXgal. řízení zabezpečovacích ústředen. Galaxy ze sběrnice KNX. napájeno ze sběrnice KNX. indikace komunikace na KNX
KNXgal Uživatelský manuál verze 1.2 řízení zabezpečovacích ústředen Galaxy ze sběrnice KNX napájeno ze sběrnice KNX indikace komunikace na KNX a s ústřednou Galaxy montáž na DIN lištu (1 modul) nastavitelné
VíceTechnické prostředky počítačové techniky
Počítač - stroj, který podle předem připravených instrukcí zpracovává data Základní části: centrální procesorová jednotka (schopná řídit se posloupností instrukcí a ovládat další části počítače) zařízení
VíceMANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ
MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ 1 OBSAH 1.Popis... 3 2.Ovládání aplikace...3 3.Základní pojmy... 3 3.1.Karta...3 3.2.Čtečka...3 3.3.Skupina...3 3.4.Kalendář...3 3.5.Volný
VícePopis zapojení: < 27 dbµv. < 33 dbµv LW. S/N ratio (60 dbµv): > 57 db FM mono > 52 db AM
Tuner FM pro Raspberry Pi Malina pro kterou nebude problém generovat řídicí signály pro I2C. Na internetu najdeme velké množství příkladů jak ovládat I2C. Popis zapojení: Základem je profesionální tuner,
VíceTepelná čerpadla HP. tepelná čerpadla. Návod k obsluze a instalaci 03. 2013. pro verzi software. 01.07.xx
tepelná čerpadla Tepelná čerpadla HP Návod k obsluze a instalaci 03. 2013 verze 01.07.00 pro verzi software 01.07.xx PZP HEATING a.s., Dobré 149, 517 93 Dobré Tel.: +420 494 664 203, Fax: +420 494 629
VíceCílem této kapitoly je seznámit s parametry a moduly stavebnice NXT. Obr. 1: Brick s moduly [3]
2. Popis robota NXT Cílem této kapitoly je seznámit s parametry a moduly stavebnice NXT. Klíčové pojmy: Stavebnice, moduly, CPU, firmware, komunikace, brick. Nejdůležitější součástkou stavebnice je kostka
VíceProgramátor pro procesory PIC. Milan Horkel,Miroslav Janás
PIprogUS0 ML Programátor pro procesory PI Milan Horkel,Miroslav Janás Modul US programátoru procesorů PI od firmy MIROHIP. Programátor je kompatibilní s programátorem PIkit od firmy MIROHIP. Modul nepotřebuje
VícePROCESOR. Typy procesorů
PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně
VícePřevodník USB na RS232. Milan Horkel
USBR0A Převodník USB na RS Milan Horkel Modul slouží jako univerzální převodník z USB na RS s výstupy na straně RS v úrovních TTL. Převodník používá obvod FTR od firmy FTDI. Tyto obvody jsou podporované
VíceInteligentní procesorem řízený U/I převodník MPH 71
Inteligentní procesorem řízený U/I převodník MPH 71 Monokrystaly, s.r.o 1 www.monokrystaly.cz Inteligentní procesorem řízený U/I převodník MPH 71 Popis funkce Inteligentní převodník MPH71 se sestává z
VíceNávod k použití. T3113 T3113D T3113L T3113Ex T3117 T3117D T3117L
www.cometsystem.cz Návod k použití T3113 T3113D T3113L T3113Ex T3117 T3117D T3117L Programovatelný snímač teploty, relativní vlhkosti a dalších odvozených vlhkostních veličin s výstupy 4 20 ma do vzduchotechnického
VíceELEKTRONICKÁ ČASOMÍRA
Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT ELEKTRONICKÁ ČASOMÍRA Šárka Vávrová SPŠ elektrotechniky, informatiky a řemesel, Frenštát pod Radhoštěm, p. o. Křižíkova
VíceUživatelský manuál. KNXgal
gal Uživatelský manuál verze 1.2 řízení zabezpečovacích ústředen Galaxy ze sběrnice napájeno ze sběrnice indikace komunikace na a s ústřednou Galaxy montáž na DIN lištu (1 modul) nastavitelné adresy na
Více) informace o stavu řízené veličiny (předávaná řídícímu systému) - nahrazování člověka při řízení Příklad řízení CNC obráběcího stroje
zapis_rizeni_uvod - Strana 1 z 9 20. Úvod do řízení Řízení Zpětná vazba (angl. #1 je proces, kdy #2 část působí na základě vstupních informací a zpětné vazby na #3 část zařízení tak, aby se dosáhlo požadovaného
VíceÚloha- Systém sběru dat, A4B38NVS, ČVUT - FEL, 2015 1
Úloha Sběr dat (v. 2015) Výklad pojmu systém sběru dat - Systém sběru dat (Data Acquisition System - DAQ) je možno pro účely této úlohy velmi zjednodušeně popsat jako zařízení, které sbírá a vyhodnocuje
VícePrincipy činnosti sběrnic
Cíl přednášky: Ukázat, jak se vyvíjely architektury počítačů v souvislosti s architekturami sběrnic. Zařadit konkrétní typy sběrnic do vývojových etap výpočetních systémů. Ukázat, jak jsou tyto principy
VíceJízda po čáře pro reklamní robot
Jízda po čáře pro reklamní robot Předmět: BROB Vypracoval: Michal Bílek ID:125369 Datum: 25.4.2012 Zadání: Implementujte modul do podvozku robotu, který umožňuje jízdu robotu po předem definované trase.
VíceDvoukanálový monitor absolutního chvění MMS 6120
Dvoukanálový monitor absolutního chvění MMS 6120 Součást systému MMS 6000 Vyměnitelný za provozu, redundantní napájení Určen pro provoz s elektrodynamickými snímači absolutního chvění epro PR 9266, PR
VíceTEPL2344 Technická dokumentace PŘEVODNÍK TEPLOTY. typ TEPL2344 s rozhraním RS232. www.aterm.cz
PŘEVODNÍK TEPLOTY typ TEPL2344 s rozhraním RS232 www.aterm.cz 1 1. Úvod Tento výrobek byl zkonstruován podle současného stavu techniky a odpovídá platným evropským a národním normám a směrnicím. U výrobku
VícePrůmyslové pece Tepelné procesy Sušárny a klimatizační komory Zkušebny Technologické linky Stroje
PMA a Company of WEST Control Solutions KS 108 easy Kompaktní řídicí a regulační přístroj pro průmyslové aplikace Kombinované funkce regulace, sekvenčního řízení a ovládání Rozsáhlá knihovna funkcí a ovládacích
VíceNÁVOD K POUŽÍVÁNÍ PU 298
NÁVOD K POUŽÍVÁNÍ PU 298 PŘÍSTROJ PRO REVIZE SVAŘOVACÍCH ZAŘÍZENÍ 1. Základní informace:... 2 2. Popis přístroje:... 2 3. Podmínky použití PU298... 3 4. Technické parametry:... 3 5. Postup při nastavení
VíceMěřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/19 30.5.2007
Měřič krevního tlaku Ing. Martin Švrček martin.svrcek@phd.feec.vutbr.cz Ústav biomedicínckého inženýrství Fakulta elektrotechniky a komunikačních technologií VUT v Brně Kolejní 4, 61200 Brno Tento článek
VícePOKOJOVÁ JEDNOTKA S MODULAČNÍM PROGRAMOVATELNÝM REGULÁTOREM
1 OpenTherm Komunikace CR04 POKOJOVÁ JEDNOTKA S MODULAČNÍM PROGRAMOVATELNÝM REGULÁTOREM UŽIVATELSKÁ PŘÍRUČKA ZÁKLADNÍ CHARAKTERISTIKA 7-denní vytápěcí program 7-denní program pro ohřev TUV 3 nastavitelné
VíceDetektor mobilní komunikace DMC - 3 popis a návod k použití Před použitím přístroje si prosím přečtěte tento návod
Detektor mobilní komunikace DMC - 3 popis a návod k použití Před použitím přístroje si prosím přečtěte tento návod Verze S1.7 DMC-3 je vysoce citlivý selektivní detektor vf signálu pracující v rozsahu
VíceNávod k použití. Elektronický inteligentní regulátor vytápění
Návod k použití Elektronický inteligentní regulátor vytápění Typ: IR 09 KTP Platný pro software: DP13 V 2.1 OBSAH 1 Upozornění, bezpečnost, záruka... 2 2 Technické údaje... 2 3 Postup ovládání regulátoru
VíceKompaktní procesní stanice
MXPLC Kompaktní procesní stanice Shrnutí MXPLC je kompaktní procesní stanice s integrovaným I/O modulem se skladbou I/O optimalizovanou pro aplikace VVK a domovní techniky. Stanice může být po sběrnici
VíceCHARAKTERISTIKY MODELŮ PC
CHARAKTERISTIKY MODELŮ PC Historie: červenec 1980 skupina 12 pracovníků firmy IBM byla pověřena vývojem osobního počítače 12. srpna 1981 byl počítač veřejně prezentován do konce r. 1983 400 000 prodaných
VícePace Maker ZJ18. Návod k použití. 1) Popis výrobku:
Pace Maker ZJ18 Návod k použití 1) Popis výrobku: 1 2 5 4 Legenda: 1. časová osa 2. konektor pro startovací čidlo 3. napájecí konektor 4. výrobní štítek se sériovým číslem 5. konektor pro anténu 3 Obsah
Více