Podobné dokumenty
GIGAmatic. Tenzometrický přetěžovací převodník. 1. Popis Použití Technické informace Nastavení Popis funkce 6. 6.

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/

1. IMPULSNÍ NAPÁJECÍ ZDROJE A STABILIZÁTORY

Měření základních vlastností OZ

Regulovaný vysokonapěťový zdroj 0 až 30 kv

NÁHRADA ZASTARALÝCH ROTAČNÍCH A STATICKÝCH STŘÍDAČŮ

GMI Generátor minutových impulsů pro řízení podnikových hodin

Napájení požárně bezpečnostních zařízení a vypínání elektrické energie při požárech a mimořádných událostech. Ing. Karel Zajíček

AXIgo NÁVOD K OBSLUZE

Komutace a) komutace diod b) komutace tyristor Druhy polovodi ových m Usm ova dav

Manuální, technická a elektrozručnost

Měření impedancí v silnoproudých instalacích

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

48. Pro RC oscilátor na obrázku určete hodnotu R tak, aby kmitočet oscilací byl 200Hz

Návod k montáži a obsluze RJ 10

1. LINEÁRNÍ APLIKACE OPERAČNÍCH ZESILOVAČŮ

Elektrická polarizovaná drenáž EPD160R

Protherm POG 19 Protherm POG 24

URČENÍ FUNKCE POPIS REGULÁTORU Upozornění!

Regulovatelný zdroj 0 35V s LT1038 Michal Slánský

Simulátor EZS. Popis zapojení

Ekvitermní regulátory, prostorová regulace a příslušenství

AXIon NÁVOD K OBSLUZE

OVĚŘENÍ ELEKTRICKÉHO ZAŘÍZENÍ STROJŮ NOVĚ UVÁDĚNÝCH DO PROVOZU PODLE ČSN/STN EN Ed. 2

Test. Kategorie M. 1 Laboratorní měřicí přístroj univerzální čítač (např. Tesla BM641) využijeme například k:

ŘADA KOMPAKTNÍCH INVERTORŮ J1000 DE EN

Elektronická zátěž (Elektronische Last) Typ Obj. č.:

Polovodiče Polovodičové měniče

SRF08 ultrazvukový dálkoměr

NÁVOD K OBSLUZE PRO REGULÁTOR KOMEXTHERM STABIL 02.2 D

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

Obvodová ešení snižujícího m ni e

METODIKA PRO NÁVRH TEPELNÉHO ČERPADLA SYSTÉMU VZDUCH-VODA

Uživatelský manuál. Klešťový multimetr AC/DC MS2101. Obsah

Technické podmínky a návod k použití detektoru GC20R

Návrh rotujícího usměrňovače pro synchronní bezkroužkové generátory výkonů v jednotkách MVA část 1

7. Stropní chlazení, Sálavé panely a pasy - 1. část

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

Zařízení má několik částí.

Obr. 1 Jednokvadrantový proudový regulátor otáček (dioda plní funkci ochrany tranzistoru proti zápornému napětí generovaného vinutím motoru)

Návod k obsluze řídící jednotky Benekov (bez automatického zapalování)

Problematika napájení vybraných požárně bezpečnostních zařízení - elektrické požární signalizace a nouzového osvětlení

Tlačítkový spínač s regulací svitu pro LED pásky TOL-02

Záložní zdroj 12V / 3,5A (2,5A výstup + 1A akumulátor)

19 Jednočipové mikropočítače

Odpájecí stanice pro SMD. Kontrola teploty, digitální displej, antistatické provedení SP-HA800D

TRANSOKRAFT TŘÍFÁZOVÝ STŘÍDAČ

MĚŘENÍ IMPEDANCE. Ing. Leoš Koupý 2012

DD TECHNIK NÁVOD K OBSLUZE. Prořezávače desénů pneumatik RS 88 Electronic TL profi

Měření výkonu zesilovače

NÁVOD K OBSLUZE MODULU VIDEO 64 ===============================

Elektrická měření 4: 4/ Osciloskop (blokové schéma, činnost bloků, zobrazení průběhu na stínítku )

Uživatelská příručka HLÍDAČ KOVOVÝCH PŘEDMĚTŮ HKP 6. č.dok ,

UNIPOLÁRNÍ TRANZISTOR

- Moderní vozidla odebírají proud i při odstavení. Pokud bude vozidlo stát déle neţ dva týdny, doporučujeme baterii odpojit.

Uložení potrubí. Postupy pro navrhování, provoz, kontrolu a údržbu. Volba a hodnocení rezervy posuvu podpěr potrubí

Přednáška č.10 Ložiska

269/2015 Sb. VYHLÁŠKA

Kritéria zelených veřejných zakázek v EU pro zdravotnětechnické armatury

ZAŘÍZENÍ PRO MĚŘENÍ POSUVŮ

VYHLÁŠKA Č. 51 ze dne 17. února 2006 o podmínkách připojení k elektrizační soustavě

ZÁLOŽNÍ ZDROJ S TERMOSTATEM PRO TEPELNÉ ČERPADLO REGULUS CTC EcoAir

Automatická regulace hoření Reg 200

6 až 18V střídavých. Tabulka přednastavených hodnot délky nabíjení a nabíjecích proudů pro některé typy baterií.

Prostorové regulátory s tříbodovým výstupem a jejich aplikace

1. POLOVODIČOVÁ DIODA 1N4148 JAKO USMĚRŇOVAČ

TERM 2.7. Ekvitermní regulátor pro podlahové vytápění TERM 2.7. MAHRLO s.r.o. Ľudmily Podjavorinskej 535/ Stará Turá

JUMO ctron 16/08/04 Kompaktní regulátor s časovačem a rampovou funkcí

Systém MCS II. Systém MCS II < 29 >

ASYNCHRONNÍ STROJ. Trojfázové asynchronní stroje. n s = 60.f. Ing. M. Bešta

Zvukový modul HLM - 380

MAZACÍ PŘÍSTROJ PMP CENTRÁLNÍ MAZÁNÍ

TECHNICKÉ KRESLENÍ A CAD

Přechodové děje při startování Plazmatronu

TEPELNÁ ČERPADLA ALTERNATIVNÍ ZDROJE TEPLA

MDT xxx TECHNICKÁ NORMA ŽELEZNIC Schválena: Ochrana zabezpečovacích zařízení před požárem

EM271 Dvojitý třífázový elektroměr a analyzátor sítě

Soupis provedených prací elektro

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ MEII MĚŘENÍ ZÁKLADNÍCH EL. VELIČIN

BECK-O-TRONIC 5. Provedení: Centronic. Návod na montáž a obsluhu. Řídicí jednotka vrat

Měření elektrického proudu

Vytápěcí boiler hybridní s tepelným čerpadlem. vzduch-voda

6. Příklady aplikací Start/stop Pulzní start/stop. Příručka projektanta VLT AQUA Drive

Návod k obsluze řídící jednotky. s automatickým zapalováním

1.11 Vliv intenzity záření na výkon fotovoltaických článků

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:

doc. Ing. Martin Hynek, PhD. a kolektiv verze Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Zapojení horního spína e pro dlouhé doby sepnutí III

NÁVOD NA POUŽITÍ INSTAT 8

SPEEDCON. Specifikace regulátoru otáček

TERMOSTAT KOLON LCT 5100

1 ŘÍZENÍ S POSILOVAČEM

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

TENZOMETRICKÝ KOMPARÁTOR

Zkouška z předmětu Počítačové systémy

N á v r h VYHLÁŠKA. č. /2015 Sb. o podmínkách připojení k elektrizační soustavě

Příloha č. 3 VÝKONOVÉ UKAZATELE

RKM 03 JEDNOTKA ŘÍZENÍ KROKOVÝCH MOTORŮ. Příručka uživatele AUTOMATIZAČNÍ TECHNIKA

NÁVOD K OBSLUZE. Verze 03/05 DF. Obj. č.:

MS měření teploty 1. METODY MĚŘENÍ TEPLOTY: Nepřímá Přímá - Termoelektrické snímače - Odporové kovové snímače - Odporové polovodičové

Transkript:

[4]

[5]

ABSTRAKT Tato práce se zabývá problematikou záložních zdrojů pro oběhová čerpadla topení na tuhá paliva. Praktická část je tvořena konkrétním návrhem záložního zdroje, pro oběhová čerpadla rodinného domu 230V/AC o maximálním výkonu 50W včetně nabíjecí automatiky akumulátoru 12V a monitorovací jednotky. KLÍČOVÁ SLOVA Záložní zdroj 230VAC, měnič napětí 12VDC/230AC, nabíjecí automatika, nabíječ akumulátoru, monitorovací jednotka. ABSTRACT This work deals with the standby power sources for heating circulating pumps for solid fuel. This work also deals with specific design UPS for circulating pump house 230 VAC maximum power of 50W, including automatic battery charger 12V and monitoring units. KEYWORDS Standby power source, voltage converter, automatic charging, battery charger, heating circulating pump. [6]

JANSA, J. Záložní střídavý zdroj 230 V. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií., 2012. 43 s., 13 s. příloh. bakalářská práce. Vedoucí práce: doc. Ing. Jirí Šebesta, Ph.D. [7]

PROHLÁŠENÍ Prohlašuji, že svou bakalářskou práci na téma Záložní střídavý zdroj 230 V jsem vypracoval samostatně pod vedením vedoucího semestrální 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/nebo majetkových a jsem si plně vědom následků porušení ustanovení 11 a následujících 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), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb. V Brně dne...... (podpis autora) PODĚKOVÁNÍ Děkuji vedoucímu bakalářské práce doc. Ing. Jirí Šebesta, Ph.D. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce. V Brně dne...... (podpis autora) [8]

OBSAH 1.Úvod 12 1.1 Řešení záložních zdrojů... 12 1.1.1 Základní typy UPS 12 1.1.2 Klasické uspořádání.. 14 1.2 Požadavky na záložní zdroj pro oběhová čerpadla...... 15 2. Hardwarový návrh záložního zdroje 17 2.1 Střídač s transformátorem 12 VDC na 230 VAC... 17 2.2 Nabíjecí automatika. 19 2.3 Návrh pomocných a přepínacích obvodů... 21 3. Návrh firmware řídicího procesoru 22 3.1 Rozložení vstupů a výstupů... 25 3.1.1 Vnější vstupy přerušení INT0 až INT2... 25 3.1.2 Volba vstupů/výstupů pro záložní zdroj 230 V... 26 3.1.3 Vnější vstupy A/D převodníku... 26 3.1.4 Nastavení ext. přerušení a A/D převodníku pro záložní zdroj... 28 3.2 Definice proměnných... 29 3.2.1 Stavový registr... 29 3.2.2 Ostatní proměnné... 30 3.3 Vnitřní čítače/časovače ATmega16... 30 3.3.1 Nastavení čítače/časovače 0... 30 3.3.2 Nastavení č/č 0 pro přepínání tranzistorů záložního zdroje... 32 3.4 Vývojový diagram... 33 3.5 Zdrojový kód mikrokontroléru... 35 3.5.1 Část zdrojového kódu smyčky záloha... 35 4. Realizace záložního zdroje 36 4.1 Přístrojová skříň záložního zdroje... 36 4.2 Výroba a osazení DPS... 36 5. Oživení a měření záložního zdroje 37 5.1 Oživení nabíjecí automatiky... 37 5.2 Oživení střídače s transformátorem... 38 5.2.1 Hardwarová kontrola prostředí pro mikrokontrolér... 38 5.2.2 Programování mikrokontroléru... 38 5.3 Oživení záložního zdroje... 39 5.3.1 Měření záložního zdroje bez zátěže... 39 5.3.2 Měření záložního zdroje se zátěží... 40 5.3.4 Měření účinnosti záložního zdroje... 42 6. Závěr 43 7. Použitá literatura 44 8. Přílohy 45 [9]

Seznam obrázků Obr. č.1 Záložní zdroj UPS typu off-line... 12 Obr. č.2 Záložní zdroj UPS typu line-interative... 13 Obr. č.3 Záložní zdroj UPS typu on-line...... 13 Obr. č.4 Klasické uspořádání UPS... 14 Obr. č.5 Blokové schéma zapojení záložního zdroje. 17 Obr. č.6 Schéma zapojení DC/AC měniče 12/230V..18 Obr. č.7 Výstupní úrovně na pinu 10. 19 Obr. č.8 Schéma zapojení nabíjecí automatiky..... 20 Obr. č.9 Blokové schéma zapojení monitorovací jednotky...... 21 Obr. č.10 Schéma zapojení obvodů buzení tranzistorů... 22 Obr. č.11 Obsluha externího přerušení INT0...23 Obr. č.12 Vývojový diagram...... 34 Obr. č.13 Oživování nabíjecí automatiky... 37 Obr. č.14 Nastavení výstupního napětí 230 V... 39 Obr. č.15 Oscilogram výstupního napětí bez zátěže... 40 Obr.č.16 Oscilogram výstupního napětí při výkonu 45 VA... 40 Obr.č.17 Oscilogram výstupního napětí při výkonu 86 VA... 41 Obr.č.18 Oscilogram přepnutí tranzistorů... 41 Obr.č.19 Pracoviště při měření účinnosti... 42 Seznam tabulek Tab.č.1 Registr MCUCR... 25 Tab.č.2 Nastavení citlivosti vstupů INT0 a INT1... 25 Tab.č.3 Registr GICR... 25 Tab.č.4 Registr GIFR... 26 Tab.č.5 Registr ADMUX... 27 Tab.č.6 Výběr referenčního napětí... 27 Tab.č.7 Volba vstupního kanálu... 27 Tab.č.8 Registr ADSCRA... 27 Tab.č.9 Nastavení rychlosti A/D převodníku... 28 Tab.č.10 Registr TCCR0... 30 Tab.č.11 Volba režimů čítače/časovače 0... 30 Tab.č.12a Volba nastavení výstupního komparátoru v režimech bez PWM... 31 Tab.č.12b Volba nastavení výstupního komparátoru v režimech rychlého PWM... 31 Tab.č.12c Volba nastavení výstupního komparátoru v režimu fázově korig. PWM.. 31 Tab.č.13 Nastavení hodinového signálu pro čítač/časovač 0... 31 Tab.č.14 Registr TIMSK... 32 Tab.č.15 Registr TCNT0... 32 Tab.č.16 Registr TIFR... 32 Tab.č.17 Rozložení výstupního portu C... 33 Tab.č.18 Stavový registr stav... 33 [10]

Seznam příloh Příloha č.1a Kompletní schéma zapojení záložního zdroje výkonová část... 45 Příloha č.1b Kompletní schéma zapojení záložního zdroje ovládací obvody... 46 Příloha č.2 Seznam použitých součástek... 47 Příloha č.3a Deska plošných spojů pohled ze strany spojů... 48 Příloha č.3b Deska plošných spojů pohled ze strany součástek... 49 Příloha č.3a Deska plošných spojů rozmístění součástek... 50 Příloha č.3d Velikost a rozmístění montážních otvorů DPS... 50 Příloha č.4a Díl A kovového obalu záložního zdroje... 51 Příloha č.4b Díl B kovového obalu záložního zdroje... 51 Příloha č.4c Kovový obal záložního zdroje... 52 Příloha č.4d DPS záložního zdroje... 52 Příloha č.4e Osazená DPS- pohled ze strany spojů... 53 Příloha č.4f Hotový prototyp záložního zdroje... 53 Příloha č.4g Hotový prototyp záložního zdroje pohled ze strany LED... 54 Příloha č.4h Měřící pracoviště...... 54 Příloha č.5 Zdrojový kód mikrokontroléru... 55 [11]

1. Úvod Cílem této práce je navrhnout záložní zdroj pro oběhová čerpadla topení na tuhá paliva. Konkrétně pro oběhová čerpadla s napájením ze střídavé elektrorozvodné sítě 230 VAC o celkovém příkonu maximálně 100 W. Zařízení bude dodávat napájecí napětí pro oběhová čerpadla domovního topení v případě výpadku rozvodné sítě, aby nedošlo k poškození topení vlivem neodváděného tepla. Jako zdroj elektrické energie bude použita rozvodná síť 230 V 50 Hz a v případě výpadku akumulátor 12 V 75 Ah. Tento záložní zdroj bude mít zabudovaný nabíječ akumulátoru a monitorovací jednotku, která bude kontrolovat napětí sítě pro případný výpadek a napětí akumulátoru (v provozu z baterie) jako ochrana proti úplnému vybití. Cílem této práce není vytvoření nepřerušitelného zdroje napětí, ale návrh spolehlivého zařízení určeného pro velmi vyjímečný provoz. Rychlost přepnutí bude nastavena v řídící logice na dobu cca 2 s, abychom se vyhnuli zbytečnému přepínání v případě krátkodobého poklesu napětí v rozvodné síti. 1.1 Řešení záložních zdrojů Záložní zdroj UPS (Uninterruptible Power Supply nepřerušitelný zdroj energie) zajišťuje trvalou dodávku elektrické energie pro zařízení, která nesmějí být nečekaně vypnutá, případně pro zařízení, která svým vypnutím brání v provozu dalším zařízením. Záložní zdroj bývá obvykle zapojen mezi síťovou zásuvku a zařízení, které má chránit. Po dobu připojení k rozvodné síti je dobíjen akumulátor a zařízení pouze sleduje napětí v síti. Pokud dojde k výpadku elektrické energie, tak záložní zdroj vybaví relé a přepne na provoz z akumulátoru. Vnitřní obvody konvertují napětí z baterie na síťové napětí 230 V 50 Hz po dobu než dojde k vybití akumulátoru, nebo než dojde k opětovnému zapnutí rozvodné sítě. Ihned po zapnutí rozvodné sítě začne zařízení nabíjet akumulátor, aby byl opět připraven k použití. 1.1.1 Základní typy UPS UPS lze rozdělit na tři základní skupiny podle způsobu připojení měniče. Je to on-line, off-line a line-interactive. Záložní zdroj pro oběhová čerpadla, je speciální podskupinou offline a bude posán v kapitole 1.2. UPS typu off-line je nejjednoduší na konstrukci, proud prochází zařízením bez přerušení. Pokud dojde k výpadku, tak zařízení přepne relé a zahájí provoz na akumulátor. Viz. obr.č.1. U vst. AC nabíječ měnič DC/AC relé U výst. AC Akumulátor Obr. č.1 Záložní zdroj UPS typu off-line. [12]

Takto konstruovaný záložní zdroj dokáže přepnout na provoz z akumulátoru přibližně za dobu 10 ms. Tedy za dobu jedné poloviny periody síťového napětí. Doba přepnutí je závyslá na mechanické rychlosti přepnutí silového relé. Jejich velikou výhodou je, že po dobu provozu ze sítě spotřebovávají jen malý proud, který je potřebný pro nabíjení akumulátoru a napájení řídících obvodů. UPS typu line-interactive jsou zdokonalené UPS typu off-line. Obsahují výstupní filtr, který obsahuje akumulační prvek. Zařízení je tak schopno dorovnat případný krátkodobý pokles napětí v síti ( bliknutí světel ) bez přepnutí na provoz z akumulátoru. Viz obr. č.2. Díky výstupním filtrům dokáže zařízení odstranit rušení v síti, mžikové napěťové špičky apod. Stále přitom nespotřebovává příliš mnoho energie při provozu ze sítě. Opět se jedná o energii potřebnou pro provoz řídící jednotky a nabíječe akumulátoru. Koncepce je hojně používána v oblasti výkonu okolo 1000 W. U vst. nabíječ měnič DC/AC relé filtr U výst. Akumulátor Obr č.2 Záložní zdroj UPS typu line-interative. UPS typu on-line je nejdokonalejším ze zmiňovaných typů, zároveň ale pro svou složitou konstrukci nejdražší. Napětí ze sítě je nejprve usměrněno, potom se obvykle konvertuje na napětí baterie, a pak se znovu konvertuje na napětí sítě 230 V 50 Hz. Viz obr. č. 3. Všechen proud je veden přes silové součástky zařízení a to i v případě, kdy není porucha na rozvodné síti. Dvojitou transformací pak klesá i účinnost těchto UPS. Při výpadku síťového napětí nedochází k žádnému přepínání UPS. Doba přepnutí je nulová a zařízení plynule přejde na provoz z baterie. U vst. měnič AC/DC měnič DC/AC U výst. Akumulátor Obr.č.3 Záložní zdroj UPS typu on-line. [13]

Dvojí konverze má oproti ostatním konstrukcím, kromě nulové doby přepnutí, i další výhody. Díky regulaci výstupního měniče dokáže zařízení dodávat přesné výstupní napětí s nepatrnými odchylkami od jmenovitých hodnot, a to bez ohledu na napětí v rozvodné síti. Tato UPS tak dokáže odstranit kromě úplného výpadku napětí prakticky všechny poruchy na rozvodné síti. Např. krátkodobý pokles napětí ( bliknutí světel ). krátkodobé přepětí (může poškodit spotřebiče). dlouhodobé podpětí (může způsobit nadměrné opotřebení spotřebičů). dlouhodobé přepětí (může způsobit rychlé opotřebení spotřebičů, nebo jejich zničení). napěťové špičky (způsobované nejčastěji odpojováním velkých induktivních zařízení nebo elektrostatickými výboji). harmonické zkreslení (způsobováno nelineární zátěží). rušení v síti (obvykle způsobeno elektromagnetickým rušením). 1.1.2. Klasické uspořádání UPS Obvyklé uspořádání UPS je patrné na obr. č.4. Jedná se o zapojení typu off-line. Napětí ze sítě je přivedeno přímo přes výkonový přepínač (relé/stykač)(4), popřípadě přes výstupní filtry na výstup. U přepínacího relé se obvykle používají klidové kontakty, aby se předešlo potížím při poruše zařízení a nebyla zbytečně spotřebovávána energie držením cívky relé, nebo stykače. Paralelně k napájecí síti je připojen i nabíječ (2), který nepřetržitě nabíjí akumulátor (3). Z toho důvodu musí být jeho konstrukce zvolena tak, aby dlouhodobým připojením na akumulátor neškodil jeho kapacitě, například jeho přebíjením. Obvykle se používají plně automatické nabíječe nebo měkké zdroje proudu. Nejdůležitějším a nejdražším článkem celého UPS je zvyšující měnič napětí (1). Obvykle se používá spínaný zvyšující měnič kvůli své účinnosti, ale lze použít i generátor sinus 50 Hz a transformátor na 230 V. Posledním článkem klasického zapojení UPS je řada výstupních svorek nebo síťových zásuvek (6). U některých, zvláště pak u velkých UPS stanic (řádově od 10 kw), je výstupní svorkovnice rozdělena do několika okruhů, přičemž lze jednotlivé okruhy spínat samostatně. To umožňuje při vybíjení akumulátorů odpojovat okruhy s menší prioritou a prodloužit tím dobu zálohy. U vst. U výst. (6) nabíječ (2) měnič DC/AC (1) relé/ filtr (4) akumulátor (3) Obr. č.4 Klasické uspořádání UPS. [14]

1.2 Požadavky na záložní zdroj pro oběhová čerpadla Oběhové čerpadlo je točivý elektrický stroj, který slouží k nucené cirkulaci vody mezi zdrojem tepla (kotel, krb apod.) a radiátory, popřípadě kompenzační nádobou. V případě kotle na tuhá paliva nebo krbu nastává problém při výpadku síťového napětí. V kotli stále hoří oheň a v teplotním výměníku (vodní spirála) vzniká teplo, které není nikam odváděno. V takovém případě hrozí poškození kotle a v krajním případě i jeho exploze. Fakt, že v tomto okamžiku není vytápěn objekt, stojí z hlediska závažnosti až na posledním místě. Tento problém je vždy řešen pojistným přetlakovým ventilem, který při překročení kritické teploty zahasí kotel vodou. Po této události je obvykle velice obtížné kotel znovu zapálit. Existuje několik možností jak tento problém řešit. Například lze použít chladící smyčku, samotížnou cirkulaci, nebo záložní zdroj. Záložní zdroj nevyžaduje žádné složité zásahy do systému vytápění. Svou funkcí plně nahradí původní funkci topení. Proto je výhodné použít UPS, nepřerušitelný zdroj napětí. Oběhová čerpadla jsou točivé elektrické stroje, které vyžadují střídavé napájecí napětí 230 V a kmitočet 50 Hz. Vzhledem k tomu, že většina poruch na rozvodné síti je opravena do 60 minut od poruchy, vyplívají tyto potřebné parametry pro záložní zdroj. 1. Výkon. Většina dnes používaných oběhových čerpadel má volitelný příkon v souvislosti s průtokem vody. Ten ale zpravidla nepřesahuje 20 W. Většina domácích rozvodů topení používá soustavu několika čerpadel. Tato práce bude uvažovat jejich maximální počet 5ks. Maximální trvalý výkon záložního zdroje bude tedy 100 W. 2. Doba přepnutí. Je zapotřebí, aby záložní zdroj přepnul na provoz z baterií dříve, než teplota vody překročí nebezpečnou mez. Jedná se tedy řádově o minuty, nikoliv periody síťového napětí. Tato práce bude předpokládat, že přepnutí do 1 minuty je dostatečné. 3. Kvalita sinusového napětí na výstupu. Oběhové čerpadlo je točivý stroj a proto vyžaduje střídavé napětí sinusového průběhu bez vyšších harmonických složek. Vyšší harmonické složky způsobují mechanické chvění čerpadla, které tím může být poškozeno. Tento jev se projevuje zvláště u spínaných zdrojů, které ze svého principu generují tzv. modifikovaný - trapézový sinusový průběh. 4. Doba zálohy. Potřebná doba zálohy záleží na lokalitě, kde se bude záložní zdroj používat. Na většině území České Republiky je maximální doba nečekaného přerušení do 1 hodiny. Podle Národní zprávy České republiky o elektroenergetice a plynárenství za rok 2010 viz. [10], byla průměrná doba jednoho výpadku elektřiny 5 minut a počet výpadků na jednu domácnost byl jeden výpadek za rok. V této práci bude tedy uvažován akumulátor 12 V 74 Ah, který bude schopen provádět zálohu přibližně 7 hodin. [15]

5. Spolehlivost je u takovéhoto zařízení bezesporu nejdůležitější parametr. Není nutné zdůrazňovat, že všechny ostatní parametry jsou zbytečné, jestliže zařízení namísto zálohy vykáže poruchu. Obvykle mívají záložní zdroje kontrolní obvody, které v případě poruchy vybaví signalizaci. Ovšem kontrolní mechanismy, které testují funkční bloky v době připraven jsou dost omezené. Tato práce bude používat monitorovací jednotku pro kontrolu zařízení a silová část bude sestavována s důrazem na jednoduchost. Důraz bude kladen i na to, aby při poruše zálohovací části nebyla znemožněna funkce ze sítě. Tedy aby zařízení v klidu a při poruše bylo průchozí. [16]

2. Hardwarový návrh záložního zdroje Nabízejí se dvě varianty jak záložní zdroj pro oběhová čerpadla řešit. První počítá s použitím spínaného zdroje jako zvyšujícího měniče z 12 VDC na 230 VDC a s použitím střídače pro vytvoření sinusového průběhu výstupního napětí měniče. V tomto případě je nutné použít ještě druhý měnič, tentokrát snižující pro vytvoření napájecího napětí pro nabíječ akumulátoru. Druhý způsob řešení je použít střídač ihned na začátku zapojení, tedy na napětí 12 V a toto napětí zvyšovat transformátorem. Tato práce se bude zabývat druhou variantou, tedy použití transformátoru. Na obr. č.5. je uvedeno blokové schéma takto řešeného záložního zdroje.v příloze je pak uvedeno celkové schéma zapojení tohoto záložního zdroje. Vstup 230V AC odpojovací relé K1 akumulátor měnič DC/AC připojovací relé K1 transformátor Výstup 230V AC nabíječ Obr. č.5 Blokové schéma zapojení záložního zdroje. Hlavní výhodou tohoto zapojení je možnost použití transformátoru oběma směry, tedy v režimu připraven bude záložní zdroj používat transformátor jako zdroj napájecího napětí pro nabíječ akumulátoru, v režimu v provozu bude transformátor sloužit ke zvyšování napětí 12 V na napětí sítě, tedy 230 V. Tím vymizí nutnost použití druhého (snižujícího) měniče. Další výhodou je samozdřejmě jednoduchá konstrukce záložního zdroje, která zajistí vysokou spolehlivost celého zařízení. Nevýhodou tohoto zapojení je poněkud nižší účinnost než při použití spínaných zdrojů. Tato práce uvažuje úroveň spolehlivosti za parametr s vyšší prioritou, než parametr účinnosti. Z toho důvodu bude v této práci použit transformátor. Pro zvýšení účinnosti bude použit transformátor toroidní, čímž klesne i hmotnost celého zařízení. 2.1 Střídač s transformátorem 12 VDC na 230 VAC Toto zapojení musí mít dostatečný výkon pro oběhová čerpadla, tedy minimálně 100 W. Výstupní napětí musí být střídavé 50 Hz. Tato práce uvažuje použití střídače, který stejnosměrné napětí rozdělí na kladnou a zápornou půlvlnu ihned za zdrojem (akumulátorem 12 V) a zvýšení střídavého napětí transformátorem. Napětí z akumulátoru bude nejprve astabilním multivibrátorem přes silové součástky transformováno na střídavé, a poté bude teprve zvyšováno pomocí transformátoru na síťové napětí 230 V 50 Hz.Viz obr.č.6. [17]

Obr. č.6 Schéma zapojení DC/AC měniče 12/230 V (převzato z [2]). Tento jednoduchý měnič z 12 V na 230 V AC pracuje jako zdroj střídavého napětí 12 V, které je poté zvýšeno za pomocí transformátoru na 230 V. V tomto zapojení je použit transformátor 2x10 V, ale lze s výhodou použít i transformátor s jedním sekundárním vinutím. Potom ale musí být upraveno zapojení výkonových tranzistorů na dvojčinné můstkové zapojení se čtyřmi tranzistory. Sekundární, resp. primární vinutí je úmyslně použito 10 V, i přesto, že napětí baterie je 12 V. Lze samozřejmě použít i 12 V transformátor, ale měnič by pak vlivem ztrát nepracoval na plný výkon a nebylo by možné dosáhnout uspokojivé stabilizace. V tomto zapojení je použit transformátor s vinutím 2x 10 V, které bude později využito jako zdroj pro nabíječ baterie. Tranzistory T1 a T2 střídavě spínají jedno nebo druhé vinutí transformátoru, v přímém nebo opačném směru. Tím je zajištěno, aby na výstupním vinutí nabývalo napětí kladných i záporných hodnot. Přepínání tranzistorů obstarává astabilní multivibrátor HCC4047N, který má na svorkách 1, 2, 3 zapojený rezistor a kondenzátor pro nastavení kmitočtu vnitřního oscilátoru. Průběh výstupních úrovní je vidět na obr. č. 7. Jedná se o klasický obdélníkový průběh, kdy jednu polovinu periody je ve stavu logická 1, výstup Q na pinu č. 10 a druhou polovinu výstup Q neg. na pinu č.11. Výpočet právě jedné celé periody t A je uveden ve vztahu (2.1) [18]

Obr.č.7 Výstupní úrovně na pinu 10 (převzato z [7]). (2.1) Kde V TR je přenos napájecího napětí mezi jednotlivími obvody multivibrátoru a jeho analýzu udává výrobce takto. V TR typ. = 0,5 V DD, V TR min = 0,33 V DD, V TR max = 0,67 V DD. V DD je napájecí napětí, R je rezistor na svorkách 2-3 a C je kondenzátor na svorkách 1-3. Po dosazení vyplývá, že t A typ. = 4,4 RC = 20,68 ms, což odpovídá kmitočtu 48,35 Hz. Tato nepřesnost není na závadu, protože točivé stroje jsou ke změnám kmitočtu většinou tolerantní. Stabilní napájecí napětí, nezávislé na postupném vybíjení akumulátoru, je zajištěno Zenerovou diodou ZD1. Z výstupního napětí je pak odebíráno přes usměrňovací můstek napětí pro zpětnou stabilizaci. Napětí 230 V je usměrněno a bez filtrace, která by do obvodu zanesla setrvačnost, přivedeno na odporový dělič ve středu s trimrem P1. Ten slouží k nastavení napětí nezatíženého měniče. Napětí za děličem je přivedeno na tranzistor T4, který snižuje napětí na řídící elektrodě unipolárního tranzistoru T3. To je nastaveno pomocí trimru P2, kterým se nastavuje minimální napětí zatíženého měniče. Pokud je tedy měnič nezatížený, na tranzistor T3 je přivedeno referenční kladné napětí, čímž je tranzistor otevírán. Zároveň je ale přivedeno napětí z výstupu 230 V na tranzistor T4, který se tímto otevírá a snižuje napětí na řídící elektrodě tranzistoru T3. Pokud je měnič zatížen spotřebičem a výstupní napětí klesne, současně klesne i napětí na bázi tranzistoru T4 a tranzistor se zavírá. Tím se zvýší napětí na G tranzistoru T3, ten se více otevře a napětí na výstupu se zvýší. Při oživování je zapotřebí nejprve uvést oba trimry do středové polohy a po připojení napájecího napětí nejprve nastavit výstupní napětí trimrem P1. Po připojení zátěže kompenzovat úbytek napětí na výstupu trimrem P2 a celý postup několikrát opakovat. Po zahřátí tranzistorů T1 a T2 vzroste vlivem použité technologie V-MOS odpor kanálu a napětí klesne asi o 2,5 %, tento úbytek už ale nebude korigován, aby se předešlo příliš vysokému výstupnímu napětí před zahřátím silových součástek. Toto zapojení ale nesplňuje požadavky vyplývající z celkové konstruce a bude muset být komletně přepracováno. Vzhledem k tomu, že je v této práci uvažováno použití řídícího mikrokontroléru, tak odpadá nutnost řízení pomocí 4047 a ze schématu uvedeném na obr.6 zbude jen transformátor, výkonnové tranzistory a zapojení zpětné vazby. 2.2 Nabíjecí automatika Nabíjecí automatika musí mít dostatečný výkon, aby dokázala nabít zcela vybitý akumulátor, a zároveň musí být schopna po nabití přejít na udržovací nabíjení pro udržení akumulátoru v nabitém stavu neomezenou dobu. Olověné trakční akumulátory s kapalinovou náplní obsahují olověné houbovité elektrody z olova pro kladnou svorku a elektrody z oxidu olovičitého pro zápornou svorku. Náplní (elektrolytem) je potom zředěná kyselina sírová o koncentraci přibližně 30 %. Tento roztok může být z praktických důvodů obsažen ve vatě ze [19]

skelných vláken anebo přeměněn do formy gelu. Všechny tyto typy akumulátorů trpí samovybíjecím efektem, přibližně 5 % kapacity za měsíc, ten je nutný kompenzovat. Tato práce uvažuje olověný akumulátor kapalinového typu o kapacitě 75 Ah. Proto bude nabíjecí proud přibližně 1,2 A. Udržovací proud bude 50 ma, což pokryje samovybíjecí efekt dostatečně. Nabíječ bude konstruován pro běžné startovací akumulátory o kapacitě od 12 do 100 Ah. Na obr. č. 8 je schéma zapojení nabíjecí automatiky. Tento jednoduchý nabíječ pracuje jako zdroj proudu cca 1,2 A, který sleduje napětí na akumulátoru. A jakmile dosáhne 13,6 V, přepne na udržovací nabíjení. LM317 Obr. č.8 Schéma zapojení nabíjecí automatiky (převzato z [4]). Na svorky IN-1 a IN-2 je připojeno napětí 28 V(20 x 2) přivedeného z transformátoru měniče, který bude tento záložní zdroj používat v režimu připraven jako napájecí pro nabíječ. Viz obr.č.5. Nejprve je tyristor TY1 uzavřen a svorka ADJ regulátoru U1 je odpojena od země. V této chvíli pracuje regulátor jako zdroj proudu přibližně 1,2 A. Na výstupní svorku Vo, je připojen tranzistor T1, který je uveden do vodivého stavu výstupním proudem větším než 50 ma. Optoelektrický vazební člen je tímto tranzistorem uveden do aktivního stavu. Odporový dělič R2, R5, P1 je ale nastaven tak, aby byl tyristor TY1 uveden do sepnutého stavu až při napětí 13,6 V. Jakmile napětí baterie dosáhne 13,6 V, tyristor TY1 je uveden do stavu sepnuto a svorka regulátoru U1 je připojena na zem. Obvod pracuje jako stabilizátor napětí 13,6 V. Od tohoto okamžiku je výstupní proud přibližně 100 ma. Tento stav je signalizován led diodou D3. Zde je třeba uvést, že platná norma ČSN EN 50272-2 (36 4380) uvádí nutnost výměny vzduchu při nabíjení. Určení nutné výměny vzduchu V, v m3/hod, je možno podle zjednodušeného vzorce (2.2). V = 0,05 N Ι0 (2.2) kde N je počet článků akumulátoru a I je maximální nabíjecí proud. Jestliže je použito nucené větrání a dojde k jeho poruše, musí být nabíječ automaticky vypnut. [20]

2.3 Návrh pomocných a přepínacích obvodů Pomocné a přepínací obvody musí být konstruovány tak, aby dokázaly dostatečně rychle přepínat všechny funkční prvky mezi stavem připraven, kdy je udržován akumulátor v nabitém stavu a provádí se pouze monitoring napájecí sítě 230 V(na sestupnou hranu) a stavem v provozu, kdy je měnič 12/230 V v činnosti a provádí se monitoring napájecí sítě (na vzestupnou hranu), včetně stavu akumulátoru, aby nedošlo k výpadku logických obvodů vlivem nízkého napětí baterie. Náznak zapojení funkčních bloků je na obr. č. 9. Pokud je napájecí síť 230 V 50 Hz funkční, zařízení je přes klidový kontakt odpojovacího relé K1 připojeno přímo na výstupní zásuvku a přes transformátor je získáváno napětí pro dobíjecí obvody akumulátoru. Pokud dojde k výpadku sítě 230 V, řídící logika tuto skutečnost vyhodnotí a provede odpojení záložního zdroje od sítě 230 V, po bezpečnostní pauze 1s je spuštěn měnič 12/230 V. akumulátor měnič DC/AC transformátor Vstup 230V AC relé K1 Výstup 230V AC kontrola výpadku sítě 230 V kontrola stavu akumulátoru kontrola výstupního napětí MONITOROVACÍ JEDNOTKA výstupní signalizační obvody Obr. č.9 Blokové schéma zapojení monitorovací jednotky. Pro ovládací a monitorovací obvody byl zvolen mikrokontrolér ATmega16, který svými schopnostmi plně vyhovuje, navíc poskytuje prostor pro ladění na úrovni softwaru. Konkrétní výběr byl proveden na mutaci ATmega16-16PU, který obsahuje 16 kb Flash, 1 kb RAM, 512 Byte EEPROM, 2x8 bit. + 1x16 bit čítač/časovač, 8 kanálů A/D převodu a rozhraní JITAG pro ladění. Vzhledem k tomu bylo upuštěno od astabilního klopného obvodu HCC4047N. Tuto činnost bude obstarávat mikrokontrolér ATmega16. Tím odpadá nutnost vypínat napájení 4047N ve stavu připraven, aby byly tranzistory T3,T4 současně ve stavu uzavřen a nevznikal stejnosměrný proud na vinutí transformátoru (připojením usměrňovacího diodového můstku pro nabíječ se uzavírá obvod k zemi). Zapojení buzení MOSFET tranzistorů pomocí kontroléru je vidět na obr. č. 10. [21]

Obr. č.10 Schéma zapojení obvodů buzení tranzistorů. Řídící elektroda G tranzistorů T3 a T4 je přes rezistory R1 a R2 připojena na kladný pól napájení. Protože tranzistory T1 a T2 jsou uzavřené, tak rezistory neteče žádný proud a na řídících elektrodách je plné napájecí napětí. Tím jsou tranzistory MOSFET drženy v nevodivém stavu. Pokud ale mikrokontrolér zahájí činnost měniče, uvede jeden z tranzistorů vysokou logickou úrovní do vodivého stavu a řídící elektroda tranzistoru je připojena k zemi. Rezistorem R1, resp. R2 teče zkratový proud dle vzorce (2.3). Kde I R1 je proud rezistorem R1, U CC je napájecí napětí a R 1 je hodnota rezistoru R 1 (výkon který budou rezistory spotřebovávat je 1,2 mw). Tím se na řídící elektrodě objeví nulové napětí a tranzistor T3 bude uveden do vodivého stavu. Po uplynutí ½ periody (10 ms) mikrokontrolér tranzistor T1 uzavře a po uplynutí 10 µs pro odvod náboje z tranzistoru T3, vybudí tranzistor T2, čímž otevře tranzistor T4 a vše se opakuje. Na vstup mikrokontroléru ATmega16 je přivedeno napětí pro měření stavu akumulátoru a napětí pro monitoring síťového napětí 230 V. Pro monitoring síťového napětí je použit vstup INT0. Ten bude obsluhovat 2 přerušení. Na sestupnou hranu pro zjištění výpadku a na vzestupnou hranu pro zjištění obnovení síťového napětí. Napětí je od pojistky F 3, tedy před odpojovacím relé K 1 přivedeno přes diodový můstek a odporový dělič R 11, R 12 na vstup INT0 mikrokontroléru. Případnému přepětí je zamezeno vloženým transilem D3 a Zenerovou diodou D6 5,1 V. Viz. obr. č.11. Pro případ proražení polovodičů usměrňovacího můstku, je před Zenerovu diodu vložena rychlá pojistka 50 ma. Tato pojistka bude přetavena již při malém překročení hodnoty 5,1 V, kdy se začne dioda otevírat. Ze stejného důvodu je při návrhu plošného spoje uvažován velmi tenký spoj za transilem D3. Ten je veden tenkou čarou (0,016 palců t.j. cca 0,4 mm), která bude při otevření transilu přetavena. Hodnoty rezistorů odporového děliče R11, R12 jsou vypočteny dle vztahů (2.4) až (2.8). (2.3) [22]

(2.4) (2.5)(2.6) Kde napětí U 1 je napětí po usměrnění, U síťové je napětí sítě 230 V, R celk. je celkový odpor děliče, proud I d je proud děličem a p je dělící poměr děliče. Proud I d je zvolen 100 µa, napětí U 2 je napětí pro vstup INT0 (5 V) a U 1 je napětí po usměrnění diodovým můstkem. Rezistory jsou normalizovány dle řady E24 na hodnoty R11 = 50 kω a R12 = 3,3 MΩ a opětovným dosazením do vzorce (2.9) je výsledné napětí pro vstup INT0 4,86 V. Proud děličem je 97 µa. Tím vzniká výkonový úbytek na rezistoru R11, 31mW. Kde U 2 je napětí pro vstup INT0 (5 V) a U 1 je napětí po usměrnění diodovým můstkem, rezistory R 11 a R 12 jsou rezistory děliče. V případě zacyklení programu v neočekávaném místě, lze mikrokontrolér restartovat externím přerušením tlačítkem připojeným ke konektoru J5. Program tak skočí na návěstí reset a obnoví tak veškerá nastavení. Kondenzátor C3 zajišťuje, aby mikrokontrolér po zapnutí neprováděl žádné operace, dokud nebude zajištěno plné napájecí napětí. (2.7) (2.8) (2.9) Obr. č.11 Obsluha externího přerušení INT0. Jako další vstupní hodnota mikrokontroléru je použit A/D převod na vstup ADC0. Tento převod zajišťuje informaci o stavu akumulátoru. Pro komparaci je použito vnitřní referenční napětí ATmega16 2,54 V. Pro jednoduchost programování byl zvolen poměr externího odporového děliče 1:10. Napětí akumulátoru může tedy nabývat hodnot 0 25,4 V. Proud děličem byl opět zvolen 100 µa. Dosazením do vztahu (2.9) byly vypočteny hodnoty rezistorů R 14 a R 15 (12 kω a120 kω), skutečný proud děličem bude 90,9 µa. Jako výstupní piny jsou definovány svorky PC0 až PC2 na portu C, které ovládají spínání výkonových tranzistorů a relé. Dále svorky PC3 až PC7 pro ovládání Led diod k indikaci stavu a případného vybití akumulátoru. Sériové rezistory pro LED jsou vypočteny dle vztahu (2.10). [23]

Kde U LED je doporučené napětí LED diody a I LED je doporučený proud diodou. V tomto případě je to 2,2 V a 20 ma pro všechny barvy led. U PC4 je výstupní napětí z mikrokontroléru a R X je sériový odpor Led diod. Potom tedy sériový rezistor R 16 až R 19, je 150 Ω. Pro snížení svitu led diod je proud redukován na 14 ma a výsledná hodnota rezistorů zvýšena na 200 Ω. Dimenzování chladiče tranzistorů T3, T4 je provedeno dle vztahu (2.11) (2.10) (2.11) Kde P chlaz je tepelný výkon předávaný do chladiče jedním tranzistorem, T jmax je maximální přípustná teplota přechodu tranzistoru, T A je teplota okolí, R thja je celkový tepelný odpor tranzistoru, R thjc je tepelný odpor přechod=>pouzdro a R tht je tepelný odpor tranzistor => chladič. Z datasheetu tranzistorů T3 a T4 tedy IRF9540 byly zjištěny tyto hodnoty: U DS max = 100 V maximální napětí zavřeného kanálu R DS(on) = 0,2 Ω odpor otevřeného kanálu R thja = 62 K/W celkový tepelný odpor tranzistoru U GS =+-20 V maximální napětí mezi řídící elektrodou a kanálem I D(100 C) = 13 A maximální trvalý proud tranzistorem I Dmax(pulze) = 72 A maximální špičkový proud tranzistorem P max(25 C) = 150 W maximální výkon tranzistoru T j max = 175 C maximální teplota přechodu tranzistoru U DS (při I D =10 A,U GS =12 V) = 2 V napětí U DS v tomto zapojení R thjc = 1 K/W tepelný odpor přechod => pouzdro R thts = 0,5 K/W tepelný odpor tranzistor => chladič (použití slídové podložky a pasty) Maximální závěrné napětí každého z dvojice tranzistorů je 100 V a maximální proud tranzistory je 13 A resp.72 A. Parametry tranzistorů převyšují požadavky pro tuto aplikaci. Proto lze konstatovat, že tranzistory jsou lehce naddimenzovány i bez výpočtu. Tepelný odpor zvoleného chladiče je 3,8 K/W, což je také několikanásobně více, než je vyžadováno. Použitím nuceného větrání ventilátory je zajištěna více než dostatečná rezerva odvodu tepla. [24]

3. Návrh firmware řídicího procesoru 3.1 Rozložení vstupů a výstupů Tato kapitola popisuje použité vstupní a výstupní svorky mikrokontroléru AT mega16. Všechny vstupně/výstupní porty mikrokontroléru ATmega16 mají stejné vlastnosti. Mohou se vzájemně lišit pouze napojením různých vnitřních periférií. Všechny tyto porty mají tzv. skutečnou Read-Modify-Write funkcionalitu. To znamená, že směr jednoho vývodu lze měnit bez ovlivnění směru ostatních vývodů. Stejným způsobem lze měnit výstupní stav jednoho vývodu ( při použití portu jako výstupního), bez ovlivnění ostatních vývodů. Všechny budící buffery mají symetrické charakteristiky a jejich budiče jsou dostatečně silné pro přímé připojení LED. 3.1.1 Vnější vstupy přerušení INT0 až INT2 Vnější přerušení mohou být spuštěny vstupy INT0, INT1 nebo INT2. Tyto vstupy lze aktivovat i v případě, že jsou vývody INT0 až INT2 konfigurovány jako výstupy. Tato vlastnost dovoluje generovat softwarová přerušení. Vnější vstupy lze spouštět náběžnou nebo sestupnou hranou nebo logickou úrovní log.0. Nastavení této citlivosti se provádí registrem MCUCR (volba aktivace). Viz Tab.č.1 a 2. Pro hranově citlivý vstup platí, že přivedený impuls musí být delší než jeden hodinový impuls procesoru. Pro f CPU = 4MHz je tato doba 250 ns. Bit 7 6 5 4 3 2 1 0 název bitu - - - - ISC11 ISC10 ISC01 ISC00 Tab.č.1 Registr MCUCR. ISC11 / ISC01 ISC01 /ISC00 popis 0 0 vstup INT0/1 se aktivuje log.0 0 1 vstup INT0/1 se akt. jakoukoli změnou log úrovně 1 0 vstup INT0/1 se aktivuje sestupnou hranou 1 1 vstup INT0/1 se aktivuje vzestupnou hranou Tab.č.2 Nastavení citlivosti vstupů INT0 a INT1. Nastavení citlivosti přerušení INT2 se provádí podobným způsobem pomocí jednoho bitu v registru MCUCSR, který je jinak použit jako obecný řídící/stavový registr procesoru. Dalším důležitým registrem pro nastavení externího přerušení, je registr GICR (Global Interrupt Control Register) masky přerušení. Tímto registrem je nastavováno povolení přerušení externími vstupy INT0 až INT2. Nastavením příslušného bitu na log.1, se povoluje přerušení tímto vstupem. Viz.Tab.č.3. Bit 7 6 5 4 3 2 1 0 název bitu INT1 INT0 INT2 - - - - - Tab.č.3 Registr GICR. [25]

Registr GIFR je pak použit jako příznakový registr externího přerušení. Příznakové bity INTF0 až INF2 udržují signalizaci externího přerušení v době, kdy je prováděná rutina jiného přerušení, nebo je přerušení zakázáno globálním zákazem cli, respektive není povoleno příkazem sei. V okamžiku, kdy jsou všechny podmínky splněny, je proveden skok na vektor příslušného přerušení a příslušný bit (příznak přerušení) je resetován. Bit 7 6 5 4 3 2 1 0 název bitu INTF1 INTF0 INTF2 - - - - - Tab.č.4 Registr GIFR. 3.1.2 Volba vstupů/výstupů pro záložní zdroj 230 V V této práci je uvažováno použití pouze jednoho vstupu pro externí přerušení, a to od INT0. Toto přerušení bude sledovat stav napájecí rozvodné sítě 230 V. Pro měření napětí baterie, bude použit vnitřní A/D převodník. Ten bude nastaven na kanál 0, napětí baterie bude tedy přivedeno na vývod ADC0 (vývod 40) portu A. Port B bude celý vyhrazen pro komunikaci s programátorem. Port C bude použit jako výstupní port pro řízení tranzistorů a signalizaci pomocí LED. Na portu D bude zapojen pouze pin č.16 pro externí přerušení INT0. Vstupy: INT0 => 230 VAC na vstupu (ano/ne) ADC0 => napětí baterie 0 25 V Výstupy: PC0 => relé odpojení od sítě 230 V (1=odpojeno, 0=připojeno) PC1,PC2 => TTL 50 Hz PC3 => Led záloha PC4 => Led error baterie vybitá PC5 => Led baterie 30 % PC6 => Led baterie 50 % PC7 => Led baterie 100 % 3.1.3 Vnější vstupy A/D převodníku Mikrokontrolér ATmega16 obsahuje zabudovaný 10bitový A/D převodník, který pracuje způsobem postupné aproximace a je připojen na analogový multiplexer (ADC0 až ADC7). Tím je umožněno snímat až 10 vstupů (vč. reference 1,22 V a analogové nuly), nebo sledovat signál diferenčně. Tento A/D převodník obsahuje vzorkovač a zesilovač který po dobu A/D převodu zajišťuje vstupní napětí převodu na stabilní úrovni. A/D převodník má také oddělené napájení pomocí vývodů AUCC a AGND. Vývod AGND (analogová zem) musí být spojena s vývodem GND (napájecí zem) pouze v jediném místě a napětí na vývodu AUCC musí být +/- 0,3V. Převodník má 10bitové rozlišení a výsledná hodnota je uložena do registrového páru ADCW (ADCL+ADCH), kde ADCH používá jen 2 nejnižší bity. Rychlost převodu je 65 až 260 µs. Pro vstupní hodnoty je možné použít až 8 vstupních kanálů (napětí proti zemi) nebo 7 diferenčních kanálů. Jako referenční napětí je možné použít zabudovanou referenci 2,56 V nebo použít externí ref. napětí na vývod AREF. A/D převodník je ovládán registry ADMUX, ADSCRA, ADCH+ADCL a SFIOR. [26]

Registrem ADMUX je nastavován výběr analogového kanálu, výběr referenčního napětí a volba zarovnání výsledku doleva či doprava. viz tab.č.5. Bit 7 6 5 4 3 2 1 0 název bitu REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX MUX0 Tab.č.5 Registr ADMUX. Nastavením bitů REFS1 a REFS0 se definuje výběr referenčního napětí. viz tab.č.6. Nastavením bitu ADLAR je voleno zarovnání výsledku doleva či doprava. Pro ADLAR=1, je nejvyšších 8 bitů výsledku převodu uloženo v registru ADCH a nejnižší 2 bity do registru ADCL. Při ADLAR=0 je výsledek převodu zarovnán standardně, tedy nejnižších 8 bitů je uloženo v registru ADCL a 2 nejvyšší bity jsou uloženy v nejnižších 2 bitech registru ADCH. REFS1 REFS0 vybrané referenční napětí 0 0 externí reference na vývodu AREF 0 1 stejné jako napětí převodníku, tedy vývod AVCC 1 0 vyhrazeno 1 1 vnitřní referenční napětí 2,56 V Tab.č.6 Výběr referenčního napětí. Nastavením bitů MUX4 až MUX0 se nastavuje výběr analogového kanálu, tedy měření napětí na vývodu ADC0 až ADC7. Volba jednotlivých kanálů je uvedena v tab.č.7. MUX4 MUX3 MUX2 MUX1 MUX0 vybraný vstupní kanál 0 0 0 0 0 ADC0 0 0 0 0 1 ADC1 0 0 0 1 0 ADC2 0 0 0 1 1 ADC3 0 0 1 0 0 ADC4 0 0 1 0 1 ADC5 0 0 1 1 0 ADC6 0 0 1 1 1 ADC7 Tab.č.7 Volba vstupního kanálu. Nastavením bitů MUX4 a MUX3 se spolu s MUX2 až MUX0 nastavuje výběr diferenčního kanálu, přičemž lze na kanálu ADC0 až ADC3 nastavit zisk kanálu až 200x. Dalším registrem je ADSCRA, což je řídící a stavový registr. Rozložení bitů tohoto registru je znázorněno tab.č.8. Bit 7 6 5 4 3 2 1 0 název bitu ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 Tab.č.8 Registr ADSCRA. Nastavením bitu ADEN je zapínán A/D převod. Vynulováním tohoto bitu v průběhu převodu se převod ukončí předčasně. Bitem ADSC se převod spouští. Bit ADIF je příznakovým bitem A/D převodníku a je nastaven vždy po ukončení A/D převodu a resetován [27]

vždy při vstupu do obslužné rutiny přerušení A/D převodem. Bitem ADIE se povoluje přerušení A/D převodem. Pokud je tento bit nastaven na log.0 a A/D převodník dokončí převod (ADIF=1), tak nedojde ke vstupu do obslužné rutiny přerušení A/D převodem, dokud není tento bit nastaven na log.1. Nastavení frekvence A/D převodu je realizováno pomocí bitů ADPS2 až ADPS0. Viz tab.č.9. ADPS2 ADPS1 ADPS0 Dělící poměr f ADC pro f CPU = 4 MHz 0 0 0 2 2 MHz 0 0 1 2 2 MHz 0 1 0 4 1 MHz 0 1 1 8 500 khz 1 0 0 16 250 khz 1 0 1 32 125 khz 1 1 0 64 62,5 khz 1 1 1 128 31,25 khz Tab.č.9 Nastavení rychlosti A/D převodníku. Registr SIFOR (registr speciálních funkcí) slouží pro A/D převodník jako volba zdroje pro autospouštění. Pro aktivaci tohoto režimu musí být nastaven v registru ADSCRA bit ADATE na log.1 a musí nastat zvolené podmínky pro autospuštění. 3.1.4 Nastavení ext. přerušení a A/D převodníku pro záložní zdroj 230 V Nastavení externího přerušení bude realizováno dvěma způsoby, které budou mezi sebou v průběhu programu střídány. Pro přerušení v době připraven bude použito nastavení přerušení s citlivostí na sestupnou hranu a v době záloha bude použito nastavení s citlivostí na vzestupnou hranu. přerušení INT 0: Přerušení vzestupnou hranou => registr MCUCR.. ISC01 = 1; ISC00 = 1 Přerušení sestupnou hranou => registr MCUCR.. ISC01 = 1; ISC00 = 0 Povolení přerušení od INT0 => registr GICR.. INT0 = 1 A/D převodník bude použit s nastavením na měření jednoho kanálu. Jako referenční napětí bude použito vnitřní ref. napětí 2,56 V. Výsledná hodnota bude bitově zarovnána doleva. Nastavení A/D převodníku: registr ADMUX výběr analogového kanálu REFS1= 1 a REFS0= 1 => vnitřní referenční napětí 2,56 V ADLAR = 0 => výsledná hodnota bitově zarovnána doleva MUX0 až MUX4 = 0 => přepnutí kanálu ADC0 registr ADCSRA řídící a stavový registr ADEN=1 => zapnutí A/D převodu ADSC = 1 => start A/D převodu ADIE = 1 => povolení přerušení A/D převodem ADPS2 = 1; ADPS1 = 0; ADPS0 = 0 => Dělící poměr f ADC : f CPU = 16 [28]

Nastavení frekvence A/D převodníku, při F CPU = 4 MHz a dělícím poměru 1:16 je výsledný kmitočet A/D převodníku následující: Kde f CPU je kmitočet jádra procesoru a N je nastavený dělící poměr. Výsledek A/D převodu bude po dokončení uložen do registrového páru ADCW ve formě binární hodnoty 0 až 1024. V tomto případě bude hodnota 1024 odpovídat napětí 2,56 V. Z toho vyplývá, že koeficient pro přepočet na reálnou hodnotu napětí bude 2,5 10-3. ( 1024 : 2,56 = 400 => 400 odpovídá napětí 1 V => změna o jeden bit znamená změnu o 2.5 10-3 V) Při tomto nastavení A/D převodníku, se po ukončení A/D převodu vyvolá přerušení a program skočí na návěstí ISR(ADC_vect) a v této chvíli je už uložena hodnota A/D převodu v registrovém páru ADCW (ADCL+ADCH) kde ADCH používá jen 2 nejnižší bity. Hodnota je zarovnána doleva, tedy MSB...LSB. (3.1) 3.2 Definice proměnných Vzhledem k množství vnitřních stavů záložního zdroje bude použit stavový registr stav. Dále bude použita proměnná typu integer (celé číslo) pro nastavení hodnoty výstupního portu C(int vystup). Další proměnná typu int bude použita pro časování odložení A/D převodu (int pom). Není nutné provádět A/D převod po každé periodě výstupního napětí (v režimu záloha). Proto v každé periodě bude přičtena hodnota 1 k této proměnné a po dosažení definované hodnoty bude proveden A/D převod. Podobným způsobem pracuje funkce delay z knihovny <avr/delay.h>. Dále bude použita proměnná typu float pro uložení hodnoty napětí baterie (float napeti) a proměnná typu char pro cyklus for (char i). 3.2.1 Stavový registr Tento registr bude použit výše popsaným způsobem, tedy že při obsluze jakéhokoli stavu, bude změněn příznakový bit příslušného stavu bez ovlivnění ostatních bitů. Pro tyto účely postačí stavový registr o velikosti 8 bitů, tedy o hodnotě 0-255 (unsigned char). Stavový registr stav globální proměnná unsigned char = 8 bitů, hodnota 0-255 bit 0 bit 1 bit 2 bit 3 bit 4 bit 5 bit 6 bit 7 => síť 230 V 1 = síť ok; 0 = výpadek sítě. => T1 - aktuální stav tranzistoru T1 => T2 - aktuální stav tranzistoru T2 => T1 old předchozí stav tranzistoru T1 => T2 old předchozí stav tranzistoru T2 => Č/Č převod čekám na přetečení čítače/časovače => A/D převod čekám na dokončení A/D převodu => záloha 0 = aktuálně v nečinnosti; 1 = aktuálně probíhá záloha [29]

3.2.2 Ostatní proměnné globální int vystup float napeti int pom char i => proměnná pro výstupní port C => napětí baterie => pomocná proměnná pro odložení A/D převodu => proměnná pro funkci for lokální volatile unsigned int adcdata => proměnná pro výsledek A/D převodu 3.3 Vnitřní čítače/časovače ATmega16 Mikrokontrolér ATmega16 obsahuje 3 čítače/časovače (čítač 0 až 2). Jejich funkce a možnosti se nepatrně liší. Čítač 0 a čítač 2 je 8bitový, čítač 1 je pak 16bitový. Všechny tyto čítače obsahují 10bitovou předděličku pro hodinový signál f CPU. Čítače/časovače lze použít v několika režimech. Mohou pracovat jako prostý čítač, nebo při použití vektoru přerušení čítačem/časovačem jako časovač. Popřípadě je lze konfigurovat jako generátor kmitočtu nebo PWM modulátory. Pro účely této práce bude použit vnitřní čítač/časovač 0. 3.3.1 Nastavení čítače /časovače 0 Čítač/časovač 0 je ovládán registry TCCR0, TIMSK, TIFR a TCNT0. Registr TCCR0 je registr řídící. Rozložení jeho bitů je uvedeno v tab.č.10. Bit 7 6 5 4 3 2 1 0 název bitu FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00 Tab.č. 10 Registr TCCR0. Bit FOC0 slouží k nastavení vynucení OC výstupu. OC(output compare), tedy výstupní komparátor slouží v režimu PWM modulace k porovnávání obsahu časovače s zvláštním registrem, pomocí kterého se řídí šířka PWM signálu. Bit FOC=0 je tedy možné nastavit jen pokud je vybrán některý z PWM režimů. V ostatních režimech musí být tento bit ve stavu FOC=1. Bity WGM00 awgm01 slouží k nastavení režimu generovaného PWM průběhu. Opět se tedy jedná o nastavení jen při použití některého z PWM režimů. Viz tab.č.11. WGM01 WGM00 režim 0 0 normální 0 1 fázově korigovaný PWM 1 0 kmitočtově řízený PWM 1 1 rychlý PWM Tab.č.11 Volba režimů čítače/časovače 0. [30]

Bity COM01 a COM00 slouží k nastavení řízení chování výstupního komparátoru. V tab.č.12a je uveden popis chování výstupního komparátoru v režimech bez PWM. V tab.č.12b a 12c je pak uveden popis chování v rychlém a fázově korigovaném PWM režimu. COM01 COM00 popis 0 0 Č/Č 0 odpojen od vývodu OC0 0 1 negace stavu vývodu OC0 při shodě 1 0 vynulování vývodu OC0 při shodě 1 1 log1 na vývodu OC0 při shodě Tab.č.12a Volba nastavení výstupního komparátoru v režimech bez PWM. COM01 COM00 popis 0 0 Č/Č 0 odpojen od vývodu OC0 0 1 vyhrazeno 1 0 OC0=0 po shodě OC0=1 při $FF 1 1 OC0=1 po shodě OC0=0 při $FF Tab.č.12b Volba nastavení výstupního komparátoru v režimu rychlého PWM. COM01 COM00 popis 0 0 Č/Č 0 odpojen od vývodu OC0 0 1 vyhrazeno 1 0 OC0=0 po shodě při čítání nahoru a OC0=1 po shodě při čítání dolů 1 1 OC0=1 po shodě při čítání nahoru a OC0=0 po shodě při čítání dolů Tab.č.12c Volba nastavení výstupního komparátoru v režimu fázově korigovaného PWM. Bity CS02 až CS00 slouží k výběru hodinového signálu čítače/časovače. Viz. tab.č.13. CS02 CS01 CS00 popis 0 0 0 čítač/časovač 0 zastaven 0 0 1 f CLK = f CPU 0 1 0 f CLK = f CPU /8 0 1 1 f CLK = f CPU /64 1 0 0 f CLK = f CPU /256 1 0 1 f CLK = f CPU /1024 1 1 0 sestupná hrana T0 1 1 1 vzestupná hrana T0 Tab.č.13 Nastavení hodinového signálu pro čítač/časovač 0. Dalším registrem je registr TIMSK, tento registr nastavuje masky přerušení čítačů/časovačů. Bit OCIE0 nastavuje povolení přerušení po shodě výstupního komparátoru s registrem TCNT0 a bit TOIE0 nastavuje povolení přerušení při přetečení obsahu TCNT0. Viz tab.č.14. Bit 7 6 5 4 3 2 1 0 název bitu - - - - - - OCIE0 TOIE0 Tab.č.14 Registr TIMSK. [31]

Registr TCNT0 obsahuje aktuální hodnotu čítače/časovače 0. Zápis do tohoto registru před zahájením čítání zkrátí dobu přetečení o hodnotu, která byla do tohoto registru zapsána. Zápis ovšem blokuje porovnávání shody s registrem OCR0 na dobu jednoho hodinového impulsu. To může vést k přetečení čítače bez vyvolání přerušení. Z toho důvodu se zápis do tohoto registru během čítání nedoporučuje. Rozložení bitů je v tab.č.15. Bit 7 6 5 4 3 2 1 0 název bitu MSB LSB Tab.č.15 Registr TCNT0. Registr TIFR je příznakový registr pro příznak přerušení čítačů/časovačů. Bit OCF0 je příznak přerušení po shodě výstupního komparátoru s hodnotou v registru TCNT0. Bit TOV0 je příznak přerušení přetečením čítače/časovače 0. Oba tyto bity jsou resetovány při vstupu do obslužné rutiny přerušení INT0 a skokem na vektor přerušení, v tomto případě TIMER0_OVF_vect. Rozložení bitů je uvedeno v tab.č.16. Bit 7 6 5 4 3 2 1 0 název bitu OCIE0 TOIE0 Tab.č.16 Registr TIFR. 3.3.2 Nastavení čítače/časovače 0 pro přepínání tranzistorů záložního zdroje Požadovaný čas přetečení je t = 10 ms (polovina periody 50Hz) Byl zvolen parametr předděličky 256 a počáteční hodnota čítače 100. Ze vzorce (3.2) vyplývá výsledný čas přetečení časovače. Kde je kmitočet jádra procesoru, TCNT0 je počáteční hodnota čítače, f clk_io je hodnota předděličky časovače a 256 je hodnota přetečení čítače (8 bitový čítač). (3.2) registr TCCR0 - řídí registr čítače/časovače FOCO = 0 => nepoužito PWM WGM00, WGM01 = 0 => normální režim COM00,COM01 = 0 => vývod OC0 odpojen CS00 = 0; CS01 = 0; CS02 = 1 => nastavení vnitřní předděličky 256 registr TCNT0 obsah čítače/časovače 0 TCNT0 =100 => čítač začne čítat od hodnoty 100. registr TIMSK masky přerušení čítačů/časovačů TOIE0 =1 => povolení přerušení čítačem/časovačem Při tomto nastavení je po přetečení čítače vyvoláno přerušení a program skočí na návěstí ISR(TIMER0_OVF_vect). [32]

3.4. Vývojový diagram V této kapitole bude popsán vývojový diagram firmwaru řídicího procesoru. Vývojový diagram je rozdělen na 4 základní části. V první části ihned po startu bude provedeno nastavení vstupně-výstupních portů a budou definovány globální proměnné. Dále bude v této části nastaven stavový registr do výchozí hodnoty a to s ohledem na to, zda při zahájení programu byla napájecí rozvodná síť 230 V zapnutá, či nikoliv. Hlavní část programu (uvnitř funkce main) bude rozdělena na 3 základní smyčky. Smyčka připraven, smyčka záloha a smyčka A/D převod. Smyčka připraven, bude sloužit k zacyklení programu po dobu, kdy není registrován výpadek rozvodné napájecí sítě 230 V. Smyčka záloha bude sloužit ke generování střídavého signálu na vývodech 1 a 2 portu C, po dobu poruchy rozvodné napájecí sítě 230 V. Při této činnosti se ovšem musí provádět kontrolní operace pro hlídání stavu baterie a případného obnovení výpadku rozvodné napájecí sítě 230 V. Smyčka A/D převod bude vnořena do smyčky záloha na tuto smyčku bude program přesměrován vždy při přetečení pomocné proměnné int pom. To z toho důvodu aby se neprováděl A/D převod každou půlperiodu výstupního napětí. Rozložení výstupního portu (port C) je znázorněno v tab.č.17. Bit č.0 realizuje ovládání přepínacího relé. Jestliže bit 0 portu C = 0, tak je relé v klidové poloze a rozvodná napájecí síť je připojena na výstup záložního zdroje. Bit 7 6 5 4 3 2 1 0 název bitu LED LED LED LED LED tranzistor tranzistor přepínací 100% 50% 30% error záloha T1 T2 relé Tab.č.17 Rozložení výstupního portu C. Rozložení bitů stavového registru je znázorněno v tab.č.18. Bit 7 6 5 4 3 2 1 0 název bitu záloha čekání na A/D převod čekání na přetečení Č/Č Tab.č.18. Stavový registr stav. T2 OLD T1 OLD T2 T1 síť Kompletní vývojový diagram záložního zdroje je zobrazen na obr.č.12. [33]

Obr.č.12 Vývojový diagram. start definice f_cpu definice glob. proměných stav (záloha) = 0b 1xxx xxx0 stav (připraven) = 0b 0xxx xxx1 int main Nastavení portů I/O Stav = záloha ano síť = = vypnutá ne nekonečná smyčka připraven Pozn.: ošetření zapnutí při vypnuté síťi stav = = připraven ano nast. INT0 sest.hrana bliknutí led 100% ne ne stav = = záloha ano nast. INT0 vzest. hrana pom = + + pom = = 3000 ano A/D převod A/D převod 1x za minutu zobrazení LED ne napeti < 10 V ano stav = připraven Error, stop ne síť = = zapnutá ano stav = připraven nekonečná smyčka záloha ne oba tranzistory vypnout, 10 µs předchozí stav = 1,0 ano tranzistory = 0,1 čítač/časovač 10 ms ne oba tranzistory vypnout, 10 µs předchozí stav = 0,1 ano tranzistory = 1,0 čítač/časovač 10 ms ne síť == zapnutá ano stav = připraven ne [34]

3.5. Zdrojový kód mikrokontroléru Kompletní zdrojový kód je uveden v příloze č.5. Níže je prezentována pouze část hlavní smyčky záloha. Vývoj zdrojového kódu probíhal v prostředí AVR studia v 5.0. 3.5.1 Část zdrojového kódu smyčky záloha if (( bit_is_set( stav, 3 ))&&(bit_is_clear( stav, 4))) //jestliže T1 byl naposledy ve stavu 1 { //a současně T2 ve stavu 0 cli(); stav = 0b00010100; //stavový registr..t1=t1old = 0, T2=T2OLD = 1 stav &= 0b11110101; vystup = 0b00001101; vystup &= 0b11111101; PORTC = vystup; //tranzistory T1=0 a T2=1 } TCCR0 =(1<<CS02) (0<<CS01) (0<<CS00); //nastavení čítače/časovače 0, předdělička 256 TIMSK =(1<<TOIE0); //povolení přerušení při přetečení TCNT0 = 108; //výchozí hodnota čítače stav = 0b00100000; //stav. reg. "čeká na přerušení č/č" sei(); while (bit_is_set (stav, 5)); // smyčka čekající na přerušení časovačem PORTC &= 0b11111001; _delay_us (10); //tranzistory T1 a T2 oba vypnuté //zpoždění pro vypnutí tranzistoru if (( bit_is_clear( stav, 3 ))&&(bit_is_set( stav, 4))) //jestli_ze T1 byl naposledy ve stavu 0 { //a současně T2 ve stavu 1 cli(); //zákaz všech přerušení stav = 0b00001010; stav &= 0b11101011; //stavový registr..t1=t1old = 1, T2=T2OLD = 0 vystup = 0b00001011; vystup &= 0b11111011; PORTC = vystup; //tranzistory T1=1 a T2=0 TCCR0 =(1<<CS02) (0<<CS01) (0<<CS00); //nastavení čítače/časovače, předdělička 256 TIMSK =(1<<TOIE0); //povolení přerušení při přetečení TCNT0 = 108; //výchozí hodnota čítače } stav = 0b00100000; sei(); while (bit_is_set (stav, 5)); //stav. reg. "čeká na přerušení č/č" // smyčka čekající na přerušení časovačem if(bit_is_set(pind, 2)) //proti krátkým vyp. sítě (duální provoz) { stav = 0b00001001; //stav = připraven } [35]

4. Realizace záložního zdroje 4.1. Přístrojová skříň záložního zdroje Ve firmě zabívající se přesným řezáním plechu laserem byl zakoupen kovový obal určen pro spínaný zdroj. K tomu musí být přispůsobena i velikost DPS, viz příloha č.4. Kovový obal byl doplněn 2ks ventilátory pro nucené chlazení a zásuvkou GSD3 pro napájení ze sítě. Rovněž byl vybrán chladič s vodorovným žebrováním pro optimální průtok vzduchu mezi žebry a byly změřeny rozměry předvrtaných otvorů pro uchycení DPS. Zjednodušený výkres kovového poudra záložního zdroje je uveden v příloze č. 4. 4.2 Výroba a osazení DPS DPS byla navržena v programu Eagle 4.11 s přihlédnutím na rozměry kovového obalu pro záložní zdroj viz příloha č.3d. Deska plošných spojů byla nejprve exportována do formátu s příponou.ps funkcí CAM processor. Poté pomocí programu Acrobat Distiller do formátu.pdf. Samotná deska plošných spojů byla vyrobena fotocestou pomocí tisku na tzv. pauzovací papír (90-95g/m 2 ). Dále byla deska plošných spojů provrtána a osazena součástkami. Nejprve byly osazeny rezistory, poté kapacitory, tranzistory a nakonec transformátor. Vzhledem k tomu že při návrhu desky plošných spojů bylo přihlédnuto k rozměrům kovového pouzdra záložního zdroje, byl redukován počet komponentů na jednu centrální desku plošných spojů. Tím byla odstraněna nutnost propojování jednotlivých komponentů. Informační LED diody byly letovány na desku plošných spojů ze strany spojů a do kovového obalu záložního zdroje byly vyvrtány otvory na tyto LED. Z toho důvodu jsou na desku plošných spojů připojeny pouze vodiče pro vstupní a výstupní zásuvku 230 V a silové vodiče pro připojení akumulátoru. Tyto vodiče byly vedeny kabelem o průřezu 4 mm 2. Vodiče pro připojení zásuvek 230 V byly vedeny vodičem o průřezu 2,5 mm 2. Kovový obal záložního zdroje byl pospojován a přiveden na zemní svorku vstupní i výstupní zásuvky. Fotografie hotového záložního zdroje je uvedena v příloze č. 4. [36]

5. Oživení a měření záložního zdroje Vzhledem k tomu, že se zařízení skládá ze dvou obvodových částí (nabíjecí automatika a záložní zdroj), tak oživování probíhalo také po částech. 5.1 Oživení nabíjecí automatiky Pro zajištění neovlivňování jednotlivých zařízení byla odletována katoda diody D102 a na ni byla připojena kladná svorka akumulátoru. Po připojení byla nabíjecí automatika uvedena do stavu zdroj napětí (TY101 ve vodivém stavu). Ukázalo se, že schéma zapojení, které bylo uvedeno v [4] je sice funkční, ale hodnoty součástek musely být přepočítány. Pro zajištění dostatečného proudu LED diodou optočlenu O101 byla upravena hodnota rezistoru R7 na obr.č.8, resp. R107 v kompletním schématu na hodnotu 820 Ω. Tím se zvýšilo napětí LED na doporučených 1,3 V a fototranzistor optočlenu byl uveden do vodivého stavu. Dále Byl tyristor TY1, resp. TY101 nahrazen za tyristor BT146, který více vyhovuje tomuto zapojení. Rezistor R1, resp. R101 byl nahrazen rezistorem 1 kω, pro uvedení tyristoru do vodivého stavu právě při napětí 13,6 V. Paralelně k rezistoru R2, resp. R102 byl připojen kondenzátor 100 nf pro zachycení napěťových impulsů při zapínání nabíječe. Nastavením trimru P1, resp. P101 bylo nastaveno napětí, při kterém se nabíječ překlopí do režimu stabilizátor napětí (napětí akumulátoru = 13,6 V) a následně byl trimrem R4, resp. R104 nastaven výstupní proud v tomto režimu na 80 ma. Proud v režimu proudového zdroje (TY101 zahrazen) nelze nastavit, je pevně stanovený hodnotou, resp. úbytkem napětí na rezistoru R10, resp. R106. V tomto konkrétním zapojení, s projevením tolerance součástek zejména rezistoru R106, byl nabíjecí proud změřen 1,14 A. Tyto parametry byly očekávány a jsou považovány za naprosto dostatečné. Měřící pracoviště je vidět na obr.č.13. Obr. č.13 Oživování nabíjecí automatiky. [37]

5.2 Oživení střídače s transformátorem 5.2.1. Hardwarová kontrola prostředí pro mikrokontrolér Pro zajištění neovlivňování jednotlivých zařízení byla ponechána katoda diody D102 v odpojeném stavu, ale kladná svorka akumulátoru byla připojena na přívodní vodič záložního zdroje. Mikrokontrolér ATmega16 byl prozatím ponechán mimo patici záložního zdroje. Po připojení napájecího napětí 230 V byly zkontrolovány základní hodnoty vstupních děličů. Na výstupu děliče R11, R12, t.j. na pinu č.16 patice pro mikrokontrolér, bylo naměřeno napětí 3,7 V. Vzhledem k tomu, že logická úroveň 1 je vyhodnocena vstupními obvody mikrokontroléru od hodnoty 2 V, je tato hodnota uspokojivá a dostatečně pokrývá možnost přepětí v síti, které by v opačném případě způsobilo otevření Zennerovy diody D6 a následné přetavení pojistky F5. Dále bylo odpojeno síťové napětí a byl připojen akumulátor 12 V. měřením napětí pro A/D převod na pinu č.40 patice pro mikrokontrolér, byla naměřena odchylka od předpokládané hodnoty napětí (převod 1:10). Tato odchylka byla způsobena tolerancí součástek. Pro jednoduchost a možnost následné kompenzace byl nahrazen rezistor R15, děliče R14 - R15, trimrem 25 kω. Poté byla nastavena hodnota napětí na pinu č.40 na 1/10 napětí akumulátoru. Následně byla zkontrolována správná funkce stabilizátoru napětí IO2 (7805) na pinu č.10 11. Poté co byly zkontrolovány LED za pomoci propojky mezi pinem č. 10 a pinem č. 25 až 29, byl vložen mikrokontrolér do patice. 5.2.2 Programování mikrokontroléru Na programování mikrokontroléru ATmega16 byl zakoupen programátor STK500 v2, označen prodejcem jako AVRprog USB v2. Nejprve bylo nutné nainstalovat ovladače do AVR studia, pro prostředí Windows XP, výrobce dodává instalační soubor s označením w2kxp. Tento ovladač byl nainstalován do počítače po připojení programátoru STK500 s odpojenými všemi propojkami běžným způsobem pomocí správce zařízení. Do Záložního zdroje byl vložen mikrokontrolér ATmega16 a zařízení bylo připojeno k napájecímu napětí (akumulátoru). Po připojení programátoru pomocí 2x5pin ISP konektoru bylo spuštěno AVR studio a pomocí tlačítka AVR programing bylo spuštěn programátor příkazem apply. Nejprve bylo nutné správně nastavit programovatelné propojky. Při tomto kroku je nutné dbát zvýšené opatrnosti, protože při špatném nastavení je možné zakázat další přístup přes rozhraní ISP. Na horní liště otevřeného okna byla zvolena mutace ATmega na ATmega16A, programovací nástroj STK500 a programovací rozhraní ISP. Dále byly zvoleny tyto hodnoty programovatelných propojek mikrokontroléru (fuses): 1. JTAGEN- JITAG interface enabled - vypnuto 2. BODLEVEL brown out detector trigger level - 4 V 3. SPIEN serial program downloading enabled označit 4. BOOTSZ select boot size neoznačeno 5. SUT_CKSEL select clock source 16KCK-64MS Tlačítkem program bylo toto nastavení propojek vloženo do mikrokontroléru. Samotné programování zdrojovým kódem pro Záložní zdroj bylo provedeno v záložce pamětí (memories). Do flash paměti, v tomto případě o velikosti 16 kb, byl přenesen soubor zálozni_zdroj_230v.hex, zadáním cílové složky tohoto souboru a stisknutím tlačítka program. Tento zdrojový kód byl vytvořen AVR studiem po stisknutí tlačítka Build solution a jeho [38]

výsledná velikost po všech úpravách je 7,84 kb, což odpovídá 47% velikosti flash paměti mikrokontroléru. Po dokončení programování začalo zařízení ihned pracovat (zapnutí bez síťového napětí). Připojením a odpojením síťového kabelu byla ověřena schopnost záložního zdroje reagovat na sestupnou a náběžnou hranu. Zkouškou krátkého odpojení síťového napětí bylo zjištěno, že zařízení nebylo schopné reagovat na velmi krátké přerušení síťového napětí. Přesněji zařízení zareagovalo na sestupnou hranu, ale pokud náběžná hrana přišla během obsluhy přerušení sestupnou hranou, tak na náběžnou hranu zařízení nezareagovalo, a to i přes to, že jako první instrukce v rutině přerušení INT0 bylo nastavení dalšího přerušení. Tento problém byl odstraněn vložením následující instrukce do smyčky záloha. if(bit_is_set(pind, 2)) { stav = 0b00001001; } Tím byla definitivně odstraněna jakákoliv možnost, aby zařízení pracovalo při zapnutém síťovém napětí déle než jednu periodu. 5.3 Oživení Záložního zdroje Při oživování Záložního zdroje jako kompletního zařízení byla dioda D102 (která byla dříve odletována) přiletována na své místo. Tím bylo zařízení uvedeno do kompletního stavu. Po opětovném ověření funkčnosti nabíječe a střídače s transformátorem bylo zařízení podrobeno měřením, při kterém byly získány důležité parametry zařízení. 5.3.1. Měření Záložního zdroje bez zátěže Po připojení akumulátoru bylo zařízení automaticky uvedeno v činnost. Na zdířky výstupní zásuvky byl připojen měřící přístroj a osciloskop pomocí sondy 1:1000. Výstupní napětí bylo nastaveno trimrem P1 na hodnotu 230 V. Viz obr. 14. Obr. č.14 Nastavení výstupního napětí 230 V. [39]

Na obr.č.15 je znázorněn oscilogram výstupního napětí bez zátěže. Obr. č.15 Oscilogram výstupního napětí bez zátěže. 5.3.2. Měření Záložního zdroje se zátěží Na obr. č.16 je znázorněn oscilogram výstupního napětí při výstupním výkonu 45 VA. Hodnota výstupního napětí byla kompenzována trimrem P2 na hodnotu 225 V. Obr. č.16 Oscilogram výstupního napětí při výkonu 45 VA. Další měření bylo provedeno při výstupním výkonu 86 VA. Při tomto výkonu byla použitá zátěž na výstupních svorkách na svém proudovém maximu. Nicméně již při tomto výstupním výkonu se projevilo, že vlivem vyšší účinnosti použitého toroidního transformátoru, použití 10 V sekundárních vinutí, není dostatečné. Záložní zdroj při výkonu nad 80 VA už není [40]

schopen kompenzovat úbytek napětí vlivem ztrát. Tranzistor T5 byl plně otevřen a výstupní napětí bylo 205 V. Tento problém byl vyřešen odmotáním 5 ks závitů obou sekundárních vinutí transformátoru. Po tomto zásahu bylo výstupní napětí dostatečně stabilizováno i při maximálních výkonech. Na obr. č. 17 je znázorněn oscilogram výstupního napětí při výkonu 86 VA. Obr. č.17 Oscilogram výstupního napětí při výkonu 86 VA. Během tohoto měření byl několikrát kompenzován úbytek výstupního napětí trimry P1 a P2. Na obr. č.18 je pak oscilogram kde je vidět detail přepnutí mezi tranzistorem T3 a T4. Jak se ukázalo, tak nastavená doba vypnutí obou tranzistorů (T1,T2) 10µs, je dostatečná. Během této doby se tranzistor T3, resp. T4 pohodlně uzavře. Obr. č.18 Oscilogram přepnutí tranzistorů. [41]

5.3.4. Měření účinnosti Záložního zdroje Dalším důležitým parametrem, který byl změřen je účinnost. Účinnost záložního zdroje byla měřena při výstupním výkonu 47 a 85 VA. Při výstupním výkonu 47 VA byla účinnost záložního zdroje 71,8%, což je velice uspokojivé. Při zvýšení výstupního výkonu na 85 VA, klesla účinnost zařízení na 64,3 %. Na obr. č. 19 je vidět pracoviště při měření účinnosti. Obr. č.19 Pracoviště při měření účinnosti. [42]

6. Závěr Zařízení naprosto splnilo očekávání a i přes některé nedostatky se stalo zcela funkčním. Účinnost zařízení byla změřena 72% do poloviny maximálního výstupního výkonu. Vzhledem k tomu, že zařízení většinu své životnosti stráví ve stavu připraven, je tato účinnost naprosto dostatečná. Jako nedostatky tohoto zařízení byly shledány: nemožnost vypnutí nabíječe akumulátoru a nemožnost rozprostřeného zálohování při vybité baterii, které by prodloužilo dobu zálohy. Na trhu je velké množství záložních zdrojů pro oběhová čerpadla a jejich cena se pohybuje od 3 500 do 7 000 KČ. Záložní zdroje z horní poloviny cenového rozpětí dovedou při vybitém akumulátoru přejít na tzv. rozprostřené zálohování, kdy roztočí oběhová čerpadla 1 krát za minutu na 20 vteřin. Tím je doba zálohy výrazně prodloužena. Při výběru záložního zdroje pro oběhová čerpadla je zapotřebí si uvědomit, jaké parametry od zařízení očekáváme. Jestliže bude zařízení provozováno ve větším městě, kde jsou výpadky napájecí sítě zcela výjimečné, tak nejdůležitějším parametrem by měla být spolehlivost zařízení a kvalita nabíjecí automatiky. Na druhou stranu, pokud bude zařízení provozováno na malé obci se zastaralou distribuční sítí, tak by dalším důležitým parametrem měla být účinnost zařízení, resp. doba zálohy. [43]

7. Použitá literatura [1] MATOUŠEK, D. Práce s mikrokontroléry ATMEL AVR ATmega16. Praha: BEN technická literatura, Praha, 2006. 319 s. ISBN 80-7300-174-8. [2] HORKÝ, J. Jednoduchý můstkový měnič 12V/230V/100W. Praha: A-rádio, praktická elektronika, ročník 2009, č. 9, s. 19. Vedoucí bakalářské práce doc. Ing. Jiří Šebesta, Ph.D. [3] GM Elektronik. Katalogové listy GME. [online]. [cit. 29.10.2011], Dostupné z WWW: <www.gme.cz>. [4] HUMLHANS, J. Zajímavá zapojení 1.díl. Praha: BEN-Technická literatura, Praha 2005. 199s. ISBN 80-7300-150-0. [5] WIKIPEDIE otevřená encyklopedie. [online]. [cit. 12.11.2011], Dostupná z WWW, <cs.wikipedia.org>. [6] DRTINA, R. LOKVENC, J. MANĚNA,V, Elektrické rozvody v praxi, Praha: Media4u Magazine, Praha 2009. 84s. ISSN 1214-9187. [7] Datasheet HCC4047. [online]. [cit. 10.12.2011], Dostupné z WWW: <www.gme.cz>. [8] Datasheet ATmega16. [online]. [cit. 10.12.2011], Dostupné z WWW: <www.gme.cz>. [9] Datasheet IRF9540. [online]. [cit. 10.12.2011], Dostupné z WWW: <www.gme.cz>. [10] 110816_ERU_Narodni zprava Ceske republiky o elektroenergetice a plynarenstvi za rok 2010. [online]. [cit. 10.12.2011], Dostupné z WWW: <www.schp.cz>. [44]

8. Přílohy 8.1 Kompletní schéma zapojení Příloha 1a. Kompletní schéma zapojení záložního zdroje - výkonová část. [45]

Příloha č.1b. Kompletní schéma zapojení záložního zdroje ovládací obvody. [46]

8.2. Seznam použitých součástek měnič a ovládací obvody: Nabíječ: označení název ks označení název ks TR1 transformátor TST 100 W 1 Chladič chladič DO1A 21K/W 1 2x10V pr.97mm,v.40mm T1, T2 tranzistor BC547A TO92 2 T101 2N3906 TO92 NPN 1 I c 0,2AU CE 40V T3,T4 tranzistor IRF 9540 TO220 2 TY101 tyristor BT146, TO92, I=0,8A 1 T5 tranzistor IRFZ 44 TO220 2 U101 regulátor, LM317 TO220 1 T6,T7 tranzistor BC546A TO92 2 R101 1kΩ 1 IC1 ATmega16 16PU DIP40 1 R102 100 Ω 1 IO2 78S05 TO220 1 R103 200 Ω 1 R1,R2,R14 120 kω 3 R104 trimr PT10V k005, 0,15W 1 R3,R4 22 Ω 2 R105 330 Ω 1 R5 470 Ω 1 R106 1 Ω, 1W 1 R6, R13 1 kω 2 R107 820 Ω 1 R7 4k7 1 R108 470 Ω 1 R8 270 kω 1 P101 trimr PT10V k001, 0,15W 1 R9 470 Ω 1 C101 2000 µf 35V E2200M/35VT 1 R10 10 kω 1 C102 CK100n/63 100nF 1 R11 3,3MΩ 1 O 101 PC817 B, optočlen DIP6 1 R12 50 kω 1 DM101 B250C1500F 2A diod. můstek 2A 1 R15 12 kω 1 D101,102 dioda 1N5401 3A 2 R16,17,18,19,20 200 Ω 5 R21 510Ω SMD 1 C1 22µF 36V 1 C2 1000 µf 36V 1 C3,4,5,9,10 100nF 5 C6 100 µf 16V 1 C7, C8 CK33p 33pF 2 L1 TL 0,1uH 1 DM1,DM2 B250C1500 diod. můstek 1,5A 2 D1 1N4007 1A 1 D2 1N5401 1 D3 BZW 06, transil, P6KE6V8A 1 D4,D5 P1000K dioda 10 A 2 ZD2 BZX 83V 5,1V zen. dioda 1 ZD1 BZX 85V010 10V 1,3Wzen.d. 1 LD1,4,5,6 Led 5mm zelená 2,2V 20mA 4 LD2 Led 5mm žlutá 2,2V 20mA 1 LD3,LD7 Led 5mm červená 2,2V 20mA 2 LD8 Led SMD 1206 žl. 2,1V 20mA 2 P1,P2 trimr PT10V k001 0,15W 2 K1 relé RM94 2CO 12V 1 F2,F3,F4 pojistka 5x20mm 1A 3 F1 pojistka 5x20mm 10A 1 F5 Poj. MST 2.00,050 0,05A 1 Q1 Krystal 4 MHz 1 ventilátor chlazení 12V DC 2 síťová zásuvka GSD3 1 síťová vidlice GSD3 SI 1 chladič SK681000AL 3,8K/W 1 patice DIL 400 PZ 1 [47]

8.3. Deska plošných spojů. Příloha č.3a. Deska plošných spojů pohled ze strany spojů. [48]

Příloha č.3b. Deska plošných spojů pohled ze strany součástek. [49]

Příloha č.3c. Deska plošných spojů rozmístění součástek. ø 5mm 5 127 73 34 Chladič 40 113 100 97 Transformátor 2x 10V 70 74 90 234 Příloha č. 3d. Velikost a rozmístění montážních otvorů DPS (pohled ze strany spojů). [50]

20 225 50 10 130 80 Vysoké učení technické v Brně 8.4. Realizace prototypu Záložního zdroje 230V ø 2,7 mm ø 6mm 270 315 Příloha 4a. Díl A kovového obalu záložního zdroje. ø 3 ø 4 235 ø 4 7 ø 45 ø 4 25 32 ø 4 120 7x ø 5 10 7 7 7 10 7 ø 5 20 20 ø 4 80 270 80 Příloha 4b. Díl B kovového obalu záložního zdroje. [51]

Příloha č.4c Kovový obal záložního zdroje. Příloha č.4d DPS záložního zdroje. [52]

Příloha č.4e Osazená DPS pohled ze strany spojů. Příloha č.4f Hotový prototyp záložního zdroje. [53]

Příloha č.4g Hotový prototyp záložního zdroje pohled ze strany LED. Příloha č.4h Měřící pracoviště. [54]

8.5. Zdrojový kód mikrokontroléru #include <avr/io.h> #include <avr/interrupt.h> #include <avr/delay.h> #define F_CPU 4000000UL #define xtal 4000000 int vystup = 0b00000000; unsigned char stav = 0b00001001; float napeti = 1.2; int pom = 2990; char i = 0; //kmitočet F_CPU pro fce delay //kmitočet krystalu je 4MHz //proměnná pro port C //kontrolní registr //napětí baterie //pomocná proměnná ISR(INT0_vect) //vektor externího přerušeni INT0 { if ((bit_is_clear( MCUCR,0))&&(bit_is_set(MCUCR, 1))) //přerušeni sestupnou hranou { stav = 0b10001000; //záloha vystup = 0b00000001; //odpojeno od sítě 230 V PORTC = vystup; //zapnout relé(odpojeni od sítě) } for (i = 0 ; i < 4 ; i++) { _delay_ms( 250 ); } //prodleva 1s if ((bit_is_set( MCUCR,0))&&(bit_is_set(MCUCR, 1))) //přerušeni vzestupnou hranou { stav = 0b00001001; //připraven vystup = 0b00000001; //stop ale stale odpojen od sítě PORTC = vystup; for (i = 0 ; i < 4 ; i++) { _delay_ms( 250 ); //prodleva 1s } vystup = 0b00000000; //stop a připojeno k síti PORTC = vystup; } } ISR(ADC_vect) { volatile unsigned int adcdata = ADCW; napeti = (float)adcdata; napeti *= 0.0025; //vektor přerušeni A/D převodu //ulož hodnotu A/D převodu jako nap. baterie //převod binární hodnoty 0-1024 na 0-2,56V if (napeti>=1.26) //napětí baterie > nebo rovno 12.6V (100%) { vystup = 0b10000000; //sviti led 100 % vystup &= 0b10011111; //nulováni ostatních led } if (napeti>1.23 && napeti<1.26) //napětí bat. 12,6-12,3 V (50 %) { vystup = 0b01000000; //sviti led 50 % vystup &= 0b01011111; //nulováni ostatních led } if (napeti>1.15 && napeti<1.22) //napětí bat. 12,2-11,5 V (30 %) { } if (napeti<1) { vystup = 0b00100000; //sviti led 30 % vystup &= 0b00111111; //nulováni ostatních led vystup = 0b00010000; vystup &= 0b00011111; //napětí pod 10V sviti error //nulováni ostatních led [55]

} } PORTC = vystup; stav &= 0b10111111; //zápis hodnoty na LEDky //nulování stav. reg. "čeká na A/D převod" ISR(TIMER0_OVF_vect) { vystup = (1<<3); stav &= 0b11011111; } int main(void) { DDRA = 0b00000000; DDRB = 0b01111111; DDRC = 0b11111111; DDRD = 0b00000000; PORTC = vystup; //vektor přerušení časovače //sviti led záloha //nulování stav.reg "čeká na přetečení" //nastaveni portu A jako vstupní (A/D převod) //nastaveni portu B jako výstupní (MISO/MOSI) //nastaveni portu C jako výstupní (výstupy) //nastaveni portu D jako vstupní (přerušeni) //vše vypnuté if (bit_is_clear(pind, 2)) { } //jestliže je na INT0=log0 (vypnutá síť při zapnutí nebo po resetu) stav = 0b10001000; //záloha while(1) { //*********hlavní program***************************************************************************** while (( bit_is_clear( stav, 7 ))&&(bit_is_set( stav, 0))) { cli(); MCUCR = (1<<ISC01) (0<<ISC00); MCUCR &= 0b11111110; GICR = (1<<INT0) ; PORTC = (1<<7); _delay_ms(250); PORTC &= 0b01111001; //dokud je stav *********** PŘIPRAVEN********* //INT0 = přerušeni sestupnou hranou //nulování ISC00 //povoleni přerušeni od INT0 //led 100% blikne 1x za vteřinu //nulování led 100% a tranzistorů } for (i = 0 ; i < 4 ; i++) { _delay_ms( 250 ); } PORTC &= 0b11110000; sei(); //prodleva 1s //nulování tranzistorů, relé 1/0 síť, led záloha while (( bit_is_clear( stav, 0 ))&&(bit_is_set( stav, 7))) //dokud je stav ************* ZÁLOHA*************** { cli(); MCUCR = (1<<ISC01) (1<<ISC00); // INT0 = přerušení vzestupnou hranou GICR = (1<<INT0) ; //povoleni přerušeni od INT0 pom = pom+1; //pom=pom+1 => 1/50 * 3000 = 60s if (pom==3000) //podmínka bude splněna 1x za 1 minutu { pom = 0; ADMUX = (1<<REFS1) (1<<REFS0) (0<<ADLAR) (0<<MUX4) (0<<MUX3) (0<<MUX2) (0<<MUX1) (0<<MUX0); //nastavení A/D převodu ADCSRA = (1<<ADEN ) (1<<ADSC ) (1<<ADIE ) (1<<ADPS2) (0<<ADPS1) (0<<ADPS0 ); //nastavení A/D převodu stav = 0b01000000; //stav. reg. "čeká na přerušení A/D převodem" sei(); while (bit_is_set (stav, 6)); //smyčka čeká na přerušení A/D Převodem } [56]

if (napeti < 1) { cli(); vystup = 0b00010001; PORTC = vystup; for (i = 0 ; i < 4 ; i++) { _delay_ms( 250 ); } //zákaz všech přerušení //stop ale stale odpojen od site } //prodleva 1s vystup = 0b00010000; //stop a připojeno k síti PORTC = vystup; stav = 0b00001001; //připraven => konec zálohy while(1); return(1); //Nekonečná smyčka error =>čeká na ext.reset if(bit_is_set(pind, 2)) //proti krátkým vyp. sítě (duální provoz) { stav = 0b00001001; //stav = připraven } PORTC &= 0b11111001; _delay_us (10); //tranzistory T1 a T2 oba vypnuté //zpoždění pro vypnutí tranzistoru if (( bit_is_set( stav, 3 ))&&(bit_is_clear( stav, 4))) //jestliže T1 byl naposledy ve stavu 1 { //a současně T2 ve stavu 0 cli(); stav = 0b00010100; //stavový registr..t1=t1old = 0, T2=T2OLD = 1 stav &= 0b11110101; vystup = 0b00001101; vystup &= 0b11111101; PORTC = vystup; //tranzistory T1=0 a T2=1 } TCCR0 =(1<<CS02) (0<<CS01) (0<<CS00); //nastavení čítače/časovače 0, předdělička 256 TIMSK =(1<<TOIE0); //povolení přerušení při přetečení TCNT0 = 108; //výchozí hodnota čítače stav = 0b00100000; //stav. reg. "čeká na přerušení č/č" sei(); while (bit_is_set (stav, 5)); // smyčka čekající na přerušení časovačem PORTC &= 0b11111001; _delay_us (10); //tranzistory T1 a T2 oba vypnuté //zpoždění pro vypnutí tranzistoru if (( bit_is_clear( stav, 3 ))&&(bit_is_set( stav, 4))) //jestli_ze T1 byl naposledy ve stavu 0 { //a současně T2 ve stavu 1 cli(); //zákaz všech přerušení stav = 0b00001010; stav &= 0b11101011; //stavový registr..t1=t1old = 1, T2=T2OLD = 0 vystup = 0b00001011; vystup &= 0b11111011; PORTC = vystup; //tranzistory T1=1 a T2=0 TCCR0 =(1<<CS02) (0<<CS01) (0<<CS00); //nastavení čítače/časovače, předdělička 256 TIMSK =(1<<TOIE0); //povolení přerušení při přetečení TCNT0 = 108; //výchozí hodnota čítače } stav = 0b00100000; sei(); while (bit_is_set (stav, 5)); //stav. reg. "čeká na přerušení č/č" // smyčka čekající na přerušení časovačem } } return(1); } if(bit_is_set(pind, 2)) //proti krátkým vyp. sítě (duální provoz) { stav = 0b00001001; //stav = připraven } [57]