VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Počítačové systémy
S m ě ro v á n í f o t o v o l t a i c k é h o p a n e l u z a z d ro j e m s v ě t l a bakalářská práce
Autor: Petr Neshyba Vedoucí práce: Ing. Michal Bílek
Jihlava 2013
Anotace Práce se zabývá moţnostmi ovládání modelu fotovoltaického panelu prostřednictvím průmyslových řídících počítačů. V teoretické části obsahuje práce stručný popis pouţitých technologií. Dále pojednání o způsobech a moţnostech řízení instalovaných krokových motorů. V praktické části pak návrh obsluţné aplikace naprogramované v technologii C# .NET. A program pro ovládání motorů v prostředí TwinCat.
Klíčová slova Fotovoltaický panel, krokový motor, C# .NET, PLC, IPC, Bechoff, TwinCat
Abstract This publication deals of options control photovoltaic panel through industrial logical computer. In theoretic part are described used technology. And opportunities control of mounted stepper motors. In practical part is proposal of control aplication in technology C# .NET. And project for handling motors in TwinCat’s environment.
Key words Photovoltaic panel, stepper motor, C# .NET, PLC, IPC, Bechoff, TwinCat
Prohlašuji, ţe předloţená bakalářská práce je původní a zpracoval/a jsem ji samostatně. Prohlašuji, ţe citace pouţitých pramenů je úplná, ţe jsem v práci neporušil/a autorská práva (ve smyslu 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ů, v platném znění, dále téţ „AZ“). Souhlasím s umístěním bakalářské práce v knihovně VŠPJ a s jejím uţitím k výuce nebo k vlastní vnitřní potřebě VŠPJ. Byl/a jsem seznámen s tím, ţe na mou bakalářskou práci se plně vztahuje AZ, zejména § 60 (školní dílo). Beru na vědomí, ţe VŠPJ má právo na uzavření licenční smlouvy o uţití mé bakalářské práce a prohlašuji, ţe s o u h l a s í m s případným uţitím mé bakalářské práce (prodej, zapůjčení apod.). Jsem si vědom/a toho, ţe uţít své bakalářské práce či poskytnout licenci k jejímu vyuţití mohu jen se souhlasem VŠPJ, která má právo ode mne poţadovat přiměřený příspěvek na úhradu nákladů, vynaloţených vysokou školou na vytvoření díla (aţ do jejich skutečné výše), z výdělku dosaţeného v souvislosti s uţitím díla či poskytnutí licence. V Jihlavě dne
............................................... Podpis
Poděkování Na tomto místě bych rád poděkoval svému vedoucímu práce Ing. Michalu Bílkovi, za ochotu a konzultace při vedení projektu.
Obsah 1
Úvod.......................................................................................................................... 9
2
Fototovoltaika ........................................................................................................... 9
3
2.1
Fotovoltaický jev .............................................................................................. 10
2.2
Fotovoltaický článek ........................................................................................ 11
2.3
Typy fotovoltaických panelů............................................................................ 11
2.4
Výhody a nevýhody FV panelů........................................................................ 12
2.5
Zvýšení účinnosti FV panelů ........................................................................... 13
2.6
Fotovoltaika v ČR ............................................................................................ 13
PLC (Programable logical computer) ..................................................................... 15 3.1
Jak funguje PLC ............................................................................................... 16
3.2
Programovací jazyky PLC ............................................................................... 17
4
IPC .......................................................................................................................... 18
5
Krokové motory ...................................................................................................... 18 5.1
Krokové motory s pasivním rotorem ............................................................... 19
5.1.1
Čtyřtaktní způsob ovládání po jedné fázi ................................................. 19
5.1.2
Čtyřtaktní způsob ovládání po dvou fázích .............................................. 20
5.1.3
Osmitaktní způsob ovládání...................................................................... 20
5.2
Krokové motory s aktivním rotorem ................................................................ 20
5.2.1
KM s radiálně polarizovaným magnetem ................................................. 21
5.2.2
KM s axiálně polarizovaným magnetem .................................................. 21
6
C# .NET .................................................................................................................. 21
7
TwinCat .................................................................................................................. 22
8
Analýza problému ................................................................................................... 24 8.1
Fotovoltaický panel .......................................................................................... 25
8.2
Řídící obvod krokového motoru ...................................................................... 25
9
8.3
Krokový motor ................................................................................................. 27
8.4
Akumulátor elektrické energie ......................................................................... 27
8.5
Regulační obvod dobíjení ................................................................................ 28
Výběr vhodného řešení ........................................................................................... 29 9.1
Výběr řídící jednotky a řídícího obvodu .......................................................... 29
9.1.1
Wago 750 a L298 ...................................................................................... 29
9.1.2
Wago 750 a L298, L297 ........................................................................... 30
9.1.3
Wago 750 a modul 750-672...................................................................... 31
9.1.4
Beckhoff a modul EL7041 ....................................................................... 31
9.2
Fotosenzor ........................................................................................................ 32
9.3
Akumulátor a regulátor dobíjení ...................................................................... 33
9.4
Krokové motory ............................................................................................... 33
9.5
Získání dat polohy slunce................................................................................. 33
10 Realizace ................................................................................................................. 34 10.1
Instalace programu Twincat ......................................................................... 34
10.2
Navázání komunikace mezi TwinCatem a IPC ............................................ 36
10.3
Zapojení motorů ........................................................................................... 40
10.4
Nastavení parametrů CoE ............................................................................. 40
10.5
Nastavení os v sekci NC ............................................................................... 43
10.6
Ovládání motoru pomocí TwinCatu ............................................................. 45
10.7
Program pro ovládání motoru a popis knihovny TcMc2.lib ........................ 47
10.7.1
Blok MC_Power ....................................................................................... 47
10.7.2
Blok MC_MoveVelocity .......................................................................... 48
10.7.3
Blok MC_MoveRelative ........................................................................... 48
10.7.4
Blok MC_Stop .......................................................................................... 49
10.7.5
Blok MC_Reset......................................................................................... 50
10.8
Připojení projektu k TwinCatu ..................................................................... 50
10.9
Program pro PLC .......................................................................................... 50
11 Popis knihovny TwinCat.Ads.dll ............................................................................ 51 12 Desktopová aplikace v C# ...................................................................................... 52 12.1
Získání pozice Slunce ................................................................................... 53
12.2
Záznam chybových hlášení programu .......................................................... 54
12.3
Popis ovládání aplikace ................................................................................ 54
13 Přesnost pozicování ................................................................................................ 57 14 Návrh technologií pro rozšíření .............................................................................. 58 14.1
Měření aktuálních napětí .............................................................................. 58
14.2
Vytvoření databáze ....................................................................................... 58
14.3
Vytvoření webového rozhraní ...................................................................... 59
15 Závěr ....................................................................................................................... 59 16 Zdroje ...................................................................................................................... 60 17 Seznam obrázků ...................................................................................................... 63 18 Seznam tabulek ....................................................................................................... 65 19 Seznam zkratek ....................................................................................................... 66 20 Přílohy..................................................................................................................... 67
1 Úvod Cílem projektu je navázat na bakalářskou práci „Studie a experimenty nad obnovitelnými zdroji energie“ z roku 2010 a to takovým způsobem, aby původní činnost modelu zůstala zachována a původní řídící jednotka byla snadno připojitelná. To znamená, bez zásahu do konstrukce modelu a za pouţití stávajících motorů. V současné době je tento model vhodný jen jako názorná ukázka, ale k výuce je prakticky nepouţitelný, kvůli pouţitým technologiím. Je totiţ řízen mikroprocesorem ATmega, které se na škole jiţ nevyučují, a proto ho nelze do výuky zařadit. Pokud by byl model rozšířen o moţnost řízení za pomoci PLC, je moţné tento projekt v rámci výuky dále rozšiřovat nebo upravovat. Cílem práce je, k modelu fotovoltaického panelu vybrat nejvhodnější PLC nebo IPC, pomocí kterého bude probíhat řízení panelu. Je nutné zváţit různé moţnosti řízení krokových motorů, které zajišťují natáčení panelu. Panel se bude natáčet ve dvou reţimech. V prvním způsobu bude automatizované nastavení polohy panelu na předpokládanou pozici Slunce. Druhý způsob bude ruční ovládání modelu. Pozice Slunce bude získána na základě zeměpisné polohy aktuálního data a času. Dále je nutné zváţit, jakým způsobem bude PLC data o poloze Slunce získávat. V následujícím textu jsou popsány výstiţnou formou technologie a technologické prvky pouţité v této práci, pouze však do takové hloubky, jaké je potřeba pro orientaci v problematice této práce.
2 Fototovoltaika V dnešní době se většina států snaţí přenést co největší procentuální část výroby elektrické energie do oblasti obnovitelných zdrojů. Většina těchto technologií se ale vyznačuje vysokou cenou a nebo neefektivní účinností. Například pálení biomasy je sice účinností srovnatelné s uhelnou elektrárnou, ale suroviny, které se pro tyto účely pěstují, zabírají místo, kde by se mohly pěstovat například potraviny. Další nevýhodou
9
jsou zplodiny uvolňované do ovzduší. Z těchto důvodů se právě často diskutuje o fotovoltaice jako o čistém a přirozeném způsobu získávání energie. Sluneční záření dopadá na naši planetu v hojné míře, nic nás nestojí a z dlouhodobého hlediska je to nevyčerpatelný zdroj. Fotovoltaika je bez emisí a znečišťování ţivotního prostředí. Největší slabinou této technologie je účinnost FV panelů. Tomuto odvětví se věnuje spousta organizací a společností za podpory jednotlivých států i nadnárodních organizací (např. EU). Právě do fotovoltaiky se v dnešní době vkládají velké naděje. [1]
2.1 Fotovoltaický jev Základní myšlenkou pro rozšíření fotovoltaiky je to, ţe na povrch Země dopadá ze Slunce asi 180 000 TW energie, která je de facto „zadarmo“. Tuto energii nám umoţňuje přeměnit fotovoltaický článek, jehoţ funkce je zaloţena na fotovoltaickém jevu. Fotovoltaický jev objevil Alexandr Edmond Becquerel v roce 1839. Tento jev vyuţívá dopadajícího slunečního záření na polovodičovou desku PN přechodu. Kde má N vrstva záporný náboj, v podobě přebytku volných, nevázaných elektronů. Naopak „kladná“ vrstva P obsahuje takzvané „kladné díry“, které „čekají“ na obsazení elektronem. Pokud na tento polovodičový přechod dopadne foton s dostatečnou energií, vyrazí v závislosti na velikosti své energie jeden nebo více volných elektronů z polovodiče N. Tyto elektrony pak překonají depletiční vrstvu mezi přechodem P a N a následně obsadí kladné „díry“ v přechodu P. Tomuto toku elektronů se říká elektrický proud. [1], [2]
10
2.2 Fotovoltaický článek
Obrázek 1: Fotovoltaický článek [1]
Vyuţívá ke své činnosti fotovoltaický jev. Základem celého článku je relativně tlustá vrstva přechodu P, která je realizována buď monokrystalem, nebo polykrystalem křemíku obohaceného například bórem. Povrch polovodiče se naleptá, čímţ se vytvoří členitý povrch, tím se zvětší obsah povrchu přechodu. Následně se nanese tenká fosforová vrstva a tím vzniká přechod PN. Dále se článek vodivě připojí k vrstvičce antireflexního nitridu. Takto vyrobený článek můţe dodávat aţ 0,5 voltu a 3 ampéry. Ve fotovoltaických panelech se články spojují do sériově-paralelních polí. Sériově proto, aby se dosáhlo kýţeného napětí, a paralelně k dosaţení vyšších proudů. [1], [2]
2.3 Typy fotovoltaických panelů Monokrystalické Monokrystalické FV panely se vyrábí z válcového krystalu, který se rozřeţe na destičky, tímto postupem se dosahuje vysoké účinnosti aţ 30 %, ale výroba je relativně drahá. Polykrystalické Vyrábí se z polykrystalického ingotu. Jejich výroba je levnější, avšak účinnost panelu je niţší, asi 17 %. Tyto panely mají členitý povrch článků, čímţ se zvětší plocha pro dopad 11
slunečního záření. Tato vlastnost stírá rozdíl mezi účinností monokrystalických a polykrystalických FV panelů. Amorfní Jsou vyráběny na bázi syntetických polymerů. Jejich výroba je levná, ale jejich účinnost zatím nedosahuje dostatečných hodnot pro masové rozšíření. Vícevrstvé Navrstvení několika PN přechodů s různou šířkou zakázaných pásem je efektivní metoda jak zachytávat fotoelektrony s různou energií. Pokud dopadne foton s velkou energií na jednovrstvý článek, část energie se přemění na teplo. U vícevrstvých panelů dojde k efektivnějšímu pohlcení elektronu. Jejich cena a technologická náročnost je vyšší, ale účinnost se pohybuje aţ kolem 40 %. [1], [2], [3]
2.4 Výhody a nevýhody FV panelů Mezi výhody FV panelů patří fakt, ţe vyuţívají sluneční záření, které nás nic nestojí a je ho relativně dostatek. Navíc při přeměně záření na elektřinu nedochází k ţádným emisím. Provoz je naprosto tichý a neznečišťuje ţivotní prostředí. Navíc zde nejsou přítomny ţádné točivé, nebo pohyblivé mechanické součástky, které by se musely kontrolovat nebo měnit. Panel je po celou dobu své ţivotnosti, která je udávána na 2035 let, bezúdrţbový. Nevýhoda panelu je v jeho počáteční pořizovací ceně. Mezi nevýhody patří i nízká účinnost, dnešní panely dokáţí absorbovat maximálně 40 % dopadající energie, ale průměrná hodnota účinnosti je asi poloviční. Navíc výkon panelů je závislý na počasí, na místě kde je panel namontován a na úhlu natočení. Nelze se tedy spoléhat na konstantní přísun elektrické energie. [4]
12
2.5 Zvýšení účinnosti FV panelů Tendencí firem vyrábějících FV panely je co nejvíce zvýšit jejich účinnost a to nejen výrobními postupy a novými technologiemi při výrobě. Zvýšení účinnosti FV panelů lze dosáhnout například: Oboustranným FV panelem Takový panel se umístí pod ideálním úhlem 25° - 40° a nasměruje se na jih popřípadě na jihovýchod. Plocha pod panelem se natře barvou s vysokou odrazivostí záření a tento nátěr odráţí paprsky do spodní vrstvy panelu. Zvýšení produkce je aţ 30%. Polohovací systémy Panely lze polohovat (natáčet) za sluncem. Natáčení můţe být jednoosé, nebo dvouosé. V případě dvouosého natáčení se jedná o zvýšení účinnosti aţ o 35%. Koncentrátory Koncentrátory jsou zrcadla, která odráţí záření do prostoru panelu. Většinou jsou připevněna přímo ke kostře panelu a často jsou kombinována s některým polohovacím systémem, který udrţuje panel kolmo ke zdroji záření. Na místo rovných zrcadel lze poţít kulová zrcadla, nebo čočky a jejich soustavy. Nevýhodou tohoto řešení je stoupající teplota panelu. Takový panel se buď musí dodatečně chladit, nebo se musí zvolit kompromis, při kterém se zvýší výkonnost panelu, ale jen do takových hodnot, aby se panel nepřehříval. [5]
2.6 Fotovoltaika v ČR Z technologického hlediska je pro efektivní vyuţití potenciálu FV panelu nutná správná poloha tak, aby na FV panel dopadaly paprsky kolmo od zdroje. Dalším kritériem je intenzita slunečního záření v dané oblasti a počet slunečných dnů v průběhu roku. Výkon FV panelů sniţuje i smog nebo prach. Na území České republiky dopadá na jeden metr čtvereční 950-1 240 kWh za rok, při hodnotě slunečných hodin 1 600 aţ 2 100 za rok. Tato čísla stačí na efektivní pouţívání 13
FV panelů, ale ani zdaleka se nepřibliţují hodnotám kolem rovníku. Z toho vyplývá, ţe i při zvyšujících se účinnostech FV panelů, bude pro naši zeměpisnou polohu tento způsob získávání energie pouze částečným řešením pro výrobu elektrické energie. Přehled průměrných hodnot slunečního záření v různých oblastech ČR je na obrázcích. [6]
Obrázek 2: Průměrný roční úhrn globálního záření [6]
Obrázek 3: Průměrný roční úhrn doby trvání svitu [6]
14
Obrázek 4: Průměrný roční počet jasných dnů [6]
3 PLC (Programable logical computer) PLC je programovatelný logický počítač, k jehoţ rozšiřování došlo v 80. letech minulého století v průmyslově vyuţívaných strojích a výrobních linkách. Je to moderní náhrada za řízení pomocí programovatelných polí, reléových systémů atd. Oproti klasickému PC má mnohem jednodušší operační systém, který je zaměřený na cyklické načítání vstupů a následné vysílání na výstupní porty, takţe nedochází k zahlcování systému, nejsou nutné restarty. Další výhodou PLC je fakt, ţe je kompletně odrušené, takţe můţe pracovat v průmyslových halách mezi desítkami strojů, které vyuţívají točivé magnetické součásti, a nemá to při tom vliv na jeho chod. Další výhodou PLC je jeho schopnost rozšíření. V dnešní době kaţdý výrobce PLC dodává rozšiřitelné „moduly“, takţe nemusíme nakupovat drahý celek, který pak nevyuţijeme a naopak pokud se rozhodneme stávající PLC rozšířit, tak není nijak komplikované dokoupit rozšiřující slot a přidat ho do celku. Dalším standardem dnešních PLC je komunikace a ovládání přes protokol Ethernet. Pokud je třeba řídit sloţitější celek se vzájemnou návazností a časovou kontinuitou, je moţné uspořádat PLC do různých hierarchií v rámci průmyslového Ethernetu. Například jedno PLC bude mít pozici „serveru“, bude udávat řídící impulsy ostatním
15
PLC, které budou propojeny po sběrnici, a kaţdé bude vykonávat dílčí operace na jednotlivých částech procesu. [15] [16]
3.1 Jak funguje PLC Dříve, neţ začne PLC provádět hlavní cyklus programu, je nutné, aby proběhla diagnostika PLC. Ta se provádí bezprostředně po startu a obsluhuje ji operační systém. Po dokončení nabíhá PLC do hlavního cyklu programu. Na začátku kaţdého cyklu načte PLC vstupní vektor (zjistí stavy vstupních portů). Tyto informace načte jako paralelní, ale samotné hodnoty zpracovává postupně v těle programu a na konci cyklu zapíše výstupní vektor (hodnoty na výstupní porty). Díky tomuto systému zpracování dat se celé PLC jeví jako paralelní logické hradlo, i kdyţ ve skutečnosti vše zpracovává postupně (sériově). Hlavní program je vykonáván v takzvaném cyklickém módu. Ten spočívá v pravidle, ţe je program procházen a vykonáván řádek po řádku a vyhodnocují se jednotlivé podmínky a příkazy. Program nemůţe skočit opět na začátek kódu jako třeba u mikrokontrolérů (návěští). Pokud potřebujeme v programu například pouţít cyklus, tak hlavní program ho provede v jedné hlavní smyčce vţdy jen jednou, hodnoty získané při jeho vyhodnocení se uloţí do „datového obrazu“. Při druhém vykonávání hlavní smyčky se program k cyklu vrátí a provede další opakování, ale jiţ s návazností na výsledky cyklu předešlého. Z toho vyplývá, ţe PLC nejde zacyklit tak, aby vzniklo zpoţdění. Paralelně k hlavní řídící smyčce běţí čítače/časovače a přerušení. Tyto se volají z hlavního programu, následně se vyhodnotí mimo hlavní smyčku a po uběhnutí patřičného strojového času je do hlavní smyčky vrácena výsledná hodnota, která se uloţí a pouţije se v dalším cyklu PLC. Na základě skutečnosti, ţe můţe přerušení běţet mimo hlavní cyklus, je pro správný běh PLC nutný multitasking, který zaručuje běh několika paralelních výpočtů najednou. V jednoprocesorových PLC systémech je toto řešeno vykonáváním kódu střídavě ze
16
dvou front. Kde jsou poţadavky na vykonání prioritně seřazeny a prvně se vykonávají poţadavky s vysokou prioritou. [15] [16]
3.2 Programovací jazyky PLC Poţadavky na programovací jazyky PLC jsou hlavně jednoduchost a podobnost s logickými výrazy a boolovskými rovnicemi. Všechny programovací jazyky pouţitelné pro PLC jsou standardizovány a popsány v normě IEC 1131-3, kde jsou mimo jiné popsány jednotlivé bloky a definice jednotlivých proměnných, coţ zaručuje přenositelnost kódu mezi jednotlivými systémy PLC. PLC lze programovat těmito jazyky: LD Lader diagram je grafický programovací jazyk, kde se pouţívají logické spínače a logické blokové prvky uspořádané do jednotlivých programových částí, které se nazývají network. Jednotlivé networky jsou připojené na napájecí sběrnici (svislá čára na levé straně ve vývojovém prostředí) FBD Function blok diagram je grafický jazyk, který vyjadřuje logické spojení celých většinou signálových funkcí. SFC Seqential function chart je další z grafických jazyků, kde se zakreslují jednotlivé stavy programu a přechody mezi nimi. Kaţdý jednotlivý krok představuje jeden stav systému. Krok můţe mít několik akcí. Na další krok se přechází po splnění všech podmínek zapsaných v přechodu. IL Instruction list je textový programovací jazyk, který je podobný assembleru. Program je sloţen z jednotlivých povelů a jejich operandů. ST Structure text je textový programovací jazyk vycházející svojí syntaxí z jazyku Pascal. 17
Je moţné vytvářet podmínky, cykly, konverze mezi formáty atd. Předdefinované funkční bloky se volají jako funkce v jazyku pascal. [15] [16]
4 IPC Industriální (průmyslové) PC je název pro řídící automatizační prvek, vycházející z osobního počítače. Na IPC jsou však kladeny vyšší nároky, hlavně pak na spolehlivost a včasnost zpracování operace v náročných podmínkách a prostředích průmyslových hal. IPC musí splňovat normy o průmyslových strojích a splňovat také normy o programovacích jazycích. Dále je kladen důraz na odizolování a odrušení celého zařízení. V neposlední řadě bylo nutné navrhnout systém přídavných modulů a karet pro průmyslovou automatizaci. Základní myšlenkou pro vznik IPC bylo sestrojit zařízení, které zvýší programátorský komfort na maximum. V dnešní době se IPC dostávají do popředí řídících aplikací, kde nahrazují objemné řídící celky pocházející z 60. let. Avšak ukazuje se, ţe řízení pomocí PLC v reálném čase je spolehlivější a proto mají klasické PLC stále svoji roli. Pokud jde o cenu, tak je IPC lacinější neţ PLC o stejném výkonu. [15] [16]
5 Krokové motory Krokové motory se dělí do dvou základních skupin. Jsou to krokové motory s pasivním rotorem nebo s aktivním rotorem. [16][17]
18
5.1 Krokové motory s pasivním rotorem Rotor těchto motorů není tvořen trvalým magnetem ani vinutím. Jednotlivé pasivní póly jsou tvořeny slisovanými plechy. Stator je tvořen póly, na které je navinuto vinutí statoru. Počet pólů je odvozen od počtu kroků motoru. Fáze vinutí jsou vyvedeny na vstupy krokového motoru (většinou jsou značené A, B, C, D). K řízení krokového motoru dochází přiváděním cyklicky se opakujících řídících impulsů na tyto vstupy, čímţ dochází k buzení jednotlivých vinutí motoru. [16] [17]
5.1.1 Čtyřtaktní způsob ovládání po jedné fázi
Obrázek 5: Buzena fáze A [17]
Obrázek 6: Buzena fáze B [17]
Obrázek 7: Buzena fáze D [17]
Obrázek 8: Buzena fáze C [17]
19
Princip řízení KM je patrný z obrázků. Na prvním obrázku se na jednotlivé fáze vinutí (A, B, C, D) přivádí signál (1, 0, 0, 0), čímţ dojde k buzení vinutí A. Pokud chceme motorem otočit doprava o jeden krok, je nutné poslat signál (0, 1, 0 ,0), tím se přestane budit vinutí A a začne se elektricky budit vinutí B. Pro otočení osy motoru o jednu otáčku je nutné stejným způsobem vybudit vinutí C (0, 0, 1, 0 ) a poté vinutí D (0, 0, 0, 1 ). Pro další otočení kolem osy se celý postup cyklicky opakuje. Pro opačný běh otáček se postup buzení vinutí provádí v obráceném sousledu. [17]
5.1.2 Čtyřtaktní způsob ovládání po dvou fázích Jedná se o obdobu předešlého způsobu. Opět se odešle sled 4 kombinací pro řízení fáze, tentokrát to budou ale následující kombinace (1,1,0,0), (0,1,1,0), (0,0,1,1), (1,0,0,1). Tím dosáhneme skoro dvojnásobné vazební síly, coţ je hlavním důvodem, proč se tento způsob řízení pouţívá. [17]
5.1.3 Osmitaktní způsob ovládání Tímto způsobem řízení dosáhneme polovičního kroku KM. Řízení probíhá sloţením čtyřtaktních způsobů řízení, tedy jednofázového a dvoufázového. Sled řídících impulzů vypadá následovně: (1,0,0,0), (1,1,0,0), (0,1,0,0), (0,1,1,0), (0,0,1,0), (0,0,1,1), (1,0,0,1), (0,0,0,1). [17]
5.2 Krokové motory s aktivním rotorem Rotory těchto motorů obsahují permanentní magnety. Podle uspořádání magnetů v rotoru se krokové motory (KM) s aktivním rotorem dělí na KM s radiálně polarizovanými magnety a na KM s axiálně polarizovanými magnety. [17]
20
5.2.1 KM s radiálně polarizovaným magnetem Rotor KM je osazen magnety tak, ţe vţdy sousední magnety mají obrácenou polaritu. Stator má oproti rotoru dvojnásobný počet pólů. Tyto motory se vyznačují nízkým krouticím momentem (jednotky Nm), velkým krokem ( <15°) a vysokým kmitočtem ( aţ desítky kHz). [17]
5.2.2 KM s axiálně polarizovaným magnetem Na rotorové hřídeli jsou nalisovány dva póly, které jsou tvořeny slisovanými plechy. Mezi těmito póly je uloţen axiálně polarizovaný trvalý magnet. Stator má větší mnoţství pólů neţ rotor a všechny jeho póly jsou tvořeny dvoufázovým čtyřpólovým vinutím. Pokud budíme vinutí v předepsaném pořadí, dochází k tomu, ţe rotor nastavuje nejbliţší zuby do klidové polohy. Řídící prvek KM s axiálně polarizovaným magnetem musí umoţnit dvoufázové řízení a změnu směru magnetického toku. [17]
6 C# .NET C# je relativně nový programovací jazyk od společnosti Microsoft. Často je označován za nástupce rodiny jazyků C a C++. Při prvním pohledu na jeho syntaxi je to skutečně první věc, která programátora napadne, ale skutečnost je taková, ţe C# se od C++ radikálně liší a to hlavně svým vnitřním zpracováním. Jazyk C# je součástí technologie .NET. Filozofií .NET je řada programovacích jazyků, které přistupují ke společným prvkům (knihovnám, komponentám atd.) a cílový program se přeloţí do stejného univerzálního jazyka, který není závislý na tom, v jakém jazyce byl původně naprogramován. Tomuto univerzálnímu jazyku se říká CIL instrukce (někdy je nazýván i IL). 21
Veškerý kód napsaný v programu se kompiluje pomocí CIL instrukcí do takzvané assembly, která krom samotného kódu programu obsahuje i metadata. Tato metadata detailně popisují kaţdý pouţitý datový typ a vazby mezi nimi (od které rodičovské třídy je odvozen, jeho velikost, způsoby dědění atd.). Díky tomuto není ţádné assembly závislé na platformě a pouhou změnou kompilátoru (pro danou platformu) lze námi napsaný program zkompilovat jak například pro OS Microsoft Windows, tak i pro systémy OS UNIX a další.
Obrázek 9: Grafické znázornění kompilace zdrojového kódu v .NET [18]
Technologie .NET v současné době pokrývá vývoj mobilních aplikací, desktopových aplikací, 3D grafických aplikací, webových aplikací a v neposlední řadě je zahrnuta jeho podpora do průmyslově vyuţívaných IPC. [18]
7 TwinCat TwinCat je programové prostředí pro PLC a IPC firmy Bechoff. Základní částí programu TwinCat je real-time systém, který běţí jako sluţba na pozadí systému Windows. Na tuto sluţbu se napojují konfigurační část programu (System manager) a prostředí pro samotný návrh programu (PLC control). Obě tyto poloţky jsou dostupné přes ikonu v oznamovací oblasti hlavního panelu ( vedle systémových hodin).
22
Úkolem System manageru je nastavení komunikace mezi počítačem, kde je TwinCat nainstalovaný a PLC (IPC). Lze zde nastavit všechny průmyslové sběrnice na zařízení, vstupy, výstupy, osy motorů a parametry všech přídavných karet. Součástí je ruční ovládání os motorů. Část TwinCatu nazývaná PLC Control slouţí k vytváření samotného programu pro PLC/IPC. Program lze zapisovat ve všech jazycích standardu IEC 61131. Umoţňuje přenos programu do a z IPC, jeho spuštění a simulaci. Při simulaci je moţné za běhu měnit hodnoty v proměnných a sledovat odezvu systému. Dále umoţňuje tvorbu vizualizace. Jedná se většinou o jednoduché grafické prvky, které upozorňují na jednotlivé stavy a funkce řídícího programu.
Obrázek 10: Okno TwinCat System Manageru
[14]
23
8 Analýza problému Tato práce navazuje na model FV panelu, který je umístěn ve školní laboratoři VŠPJ. Nosná konstrukce FV panelu (tracker) má funkci ukotvení celého zařízení a zároveň umoţňuje natáčení ve dvou osách. Obě osy otáčení jsou uloţeny do kuličkových loţisek, která zajišťují snadný chod krokových motorů. Kaţdá osa je polohována jedním krokovým motorem o 360ti čtvrtkrocích na otáčku. Jako řídící jednotka je pouţit mikroprocesor ATmega 162, který má na svých portech moţnost generovat impulsy PWM. Tyto impulsy jsou řídícím prvkem integrovaného obvodu L298 pro řízení krokových motorů, který na základě impulsů PWM řídí aţ dva krokové motory. Na celém zařízení je upevněn monokrystalický FV panel, jehoţ získaná elektrická energie se ukládá do akumulátoru, připevněnému k zařízení. Vedle FV panelu se nachází vyhledávač se čtyřmi fotosenzory, vzájemně oddělenými stínítkem. Pomocí tohoto zařízení se vyhledává zdroj záření. [7]
Obrázek 11: Konstrukce panelu [7]
24
8.1 Fotovoltaický panel Na zařízení je pouţitý monokrystalický FV panel se špičkovým výkonem 6 W. Bohuţel výrobce není uveden ani na štítku zařízení ani v původní dokumentaci zařízení (BP p. Vrány). Proto mohu uvést jen údaje ze štítku. Maximální napětí při zatíţení
17 V
Napětí na prázdno
21,8 V
Jmenovité napětí
12 V
Proud na krátko
0,36 A
Maximální proud při zatíţení
0,34 A
Špičkový výkon
6W
[7]
8.2 Řídící obvod krokového motoru L298 je řídící prvek s dvěma výkonovými stupni, kaţdým z nich lze ovládat jeden krokový motor. Kaţdý stupeň má čtyři vstupy IN1, IN2, EN1A a EN1B (pro první stupeň) a IN3, IN4, EN2A (pro druhý stupeň). Obvod je napájen dvěma úrovněmi napětí. Nestabilizované Uss o velikosti +9 V aţ +28 V a stabilizované Us o velikosti 5 V. Diody D1 aţ D2 jsou ochranné prvky pro výstupní výkonové tranzistory obvodu L298. Tyto diody musí být velice rychlé, aby dokázaly zachytit napěťové špičky, které vznikají při jednotlivých skocích motoru a hlavně při brţdění motoru. Předepsaná rychlost přeběhu diody je trr ≤ 200 ns s maximálním zatíţením alespoň 2 A. Při špatně zvolených součástkách dochází k nepředvídatelným stavům v obvodu a nebo dokonce k poškození řídícího prvku (L298). Obvod ochraňují proti zkratu na výstupních svorkách vratné polovodičové pojistky. Řízení motoru je prováděno přívodem logických úrovní na vstupy obvodu. Tento proces vyjadřuje tabulka níţe: 25
Tabulka 1: Přehled řídících úrovní L298 IN1 (IN3) IN2 (IN4) EN1, EN2 (EN3, EN4) 1
0
1
0 1 0
1 1 0
1 1 1
X
X
0
Funkce Otáčení vpravo Otáčení vlevo Brzda Brzda Motor odpojen
Rychlost otáčení motoru je moţné řídit přiváděním PWM signálu na vstupy EN1-EN2 (EN3-EN4) nebo na vstupy IN1-IN2 (IN3-IN3). Frekvence PWM impulsů se můţe pohybovat v rozmezí 20Hz aţ 200kHz. V našem případě je tímto obvodem řízen krokový motor EMG30, na který je přiváděn impuls PWM o frekvenci 36kHz. [8]
Obrázek 12: Zapojení můstku L298 pro jeden stejnosměrný motor [8]
26
8.3 Krokový motor O pozicování FV panelu se stará dvojice krokových motorů EMG30. Jedná se o krokový motor se zabudovanou převodovkou v poměru 1:30,
řízený šesticí
konektorů, zapojených dle tabulky.
Tabulka 2: Zapojení vývodů motoru EMG30
Barva (číslo vývodu)
Význam
Fialová (1) Modrá (2) Zelená (3) Hnědá (4) Červená (5) Černá (6)
Hallova sonda B Hallova sonda A Hallova sonda – zem Hallova sonda - Vcc + Motor - Motor
Parametry krokového motoru EMG30: Tabulka 3: Parametry EMG30 Jmenovité napětí Jmenovitý točivý moment Jmenovité otáčky Jmenovitý proud Otáčky naprázdno Proud naprázdno Zkratový proud Jmenovitý výkon Počet pozic enkodéru na 1 otáčku
12 V 1.5 kg/cm 170 rpm 530 mA 216 150 mA 2.5 A 4.22 W 360
[9]
8.4 Akumulátor elektrické energie Kvůli kolísání výkonu FV panelu je nutné akumulovat energii v době, kdy je jí přebytek, do akumulátoru a v době, kdy je jí nedostatek, ji zase z akumulátoru čerpat. V tomto případě je pouţitý akumulátor FG-FORTE FG12120. Jedná se o bezúdrţbový olověný akumulátor se jmenovitým napětím 12 Ah a dobíjecím napětím 12-13,8 V. 27
Parametry akumulátoru: Tabulka 4: Parametry akumulátoru FG-Forte Jmenovité napětí Počet článků Ţivotnost Jmenovitá kapacita 20 h (25 °C) Vnitřní odpor baterie Provozní teplota Maximální vybíjecí proud Zkratový proud Maximální nabíjecí proud Teplotní kompenzace Hmotnost
12 V 6 3 – 5 let 12 Ah 17 mΩ -20 … 60°C 180 A (5s) 600 A 4,8 A -30 mV/°C 3,9 kg
8.5 Regulační obvod dobíjení O řízení dobíjení a vybíjení se stará regulační obvod CML05 s následujícími parametry: Tabulka 5: Parametry regulátoru dobíjení Hmotnost Max. proud z panelu Max. proud z zátěže Napětí Vlastní spotřeba akustická signalizace Signalizace stavu ochrana proti přepólování Typ připojeného akumulátoru Krytí
[10], [11]
28
0,1 kg 5A 5A 12 i 24 V < 4 mA ano LED ano Pb (elektrolit. Nebo gel.) IP 20
9 Výběr vhodného řešení 9.1 Výběr řídící jednotky a řídícího obvodu Řídícím prvkem celého zařízení bude PLC. Vhodné PLC je nutné vybrat z moţností, které poskytuje školní laboratoř pro průmyslovou automatizaci. Dalším kritériem pro výběr PLC je způsob řízení krokových motorů.
9.1.1 Wago 750 a L298 WAGO 750 je modulární PLC s ethernet rozhraním a základními vstupy a výstupy. K jeho programování
a nastavení je dodáván program CoDeSys, kde lze pouţít
všechny normou stanovené programovací jazyky pro PLC. Konfigurace WAGO 750 obsahuje:
750-841 modul pro ethernet rozhraní, 750-430 x2 – digitální vstupy s napěťovou úrovní 24 V, 750-530 x2 – digitální výstupy s napěťovou úrovní 24 V, 750- 459 10V analogový vstup, 750- 559 10V analogový výstup,
Jako řešení se nabízí ponechat v zařízení stávající řídící obvod L298. Tento obvod však vyţaduje přivádění PWM na své vstupy. PLC WAGO 750 nemá dostatečně rychlé výstupy, aby bylo moţné programově generovat PWM signál o dostatečné frekvenci. Aby bylo moţné generovat PWM signál, je nezbytné dokoupit modul WAGO 750-711, který umoţňuje na svých výstupech generovat PWM signál. Toto řešení má však dva zásadní problémy. Modul 750-711 je zaprvé velice pomalý a navíc relativně drahý. Frekvence generovaného PWM signálu je pouhých 100 Hz. A cena zařízení je přes 200,- €. Proto se toto řešení nejeví jako vhodné. [8] [13]
29
9.1.2 Wago 750 a L298, L297 Další moţností je řídit krokové motory pomocí sériové linky (RS232) PLC, která bude předávat vstupní impulzy pro obvod L297. Tento obvod dokáţe generovat PWM signál, jehoţ parametry získává ze sériové linky, na kterou je napojen. Zapojení obvodu:
Obrázek 13: Zapojení obvodu L297 a L298 [8]
Toto řešení není cenově náročné na zařízení, bylo by nutné navrhnout plošný spoj v hodnotě asi 300,- Kč. Zbylá zařízení jsou k dispozici ve školní laboratoři. U tohoto zapojení musíme striktně dodrţet předepsané vlastnosti součástek v obvodu, jinak dochází ke zničení celého řídícího obvodu, anebo k nepředvídatelnému chování. Dále je nutné vyvarovat se prudkým změnám otáčení. V opačném případě dochází k napěťové špičce, která můţe poškodit výkonovou dvojici tranzistorů na řídícím obvodu. [8] 30
9.1.3 Wago 750 a modul 750-672 Po připojení modulu 750-672 k PLC WAGO dostaneme profesionální zařízení pro řízení krokových motorů. Modul můţe řídit dva krokové motory aţ o 70 V a 7.5 A. Toto zařízení je ošetřeno proti všem situacím, které mohou běţný řídící systém ohrozit. Ze všech moţných řešení je toto nejlepší, bohuţel rozšiřující modul stojí více jak 12 000,- Kč, proto nepřipadá toto řešení v úvahu. [12]
9.1.4 Beckhoff a modul EL7041 PLC Beckhoff je modulární systém pro průmyslovou automatizaci a s připojeným modulem EL7041 umoţňuje řídit krokový motor o jmenovitém napětí 8-50 V a aţ 5 A jmenovitého proudu. Díky vývodům pro enkodér krokového motoru je tento modul schopný určit aktuální polohu motoru. Tabulka 6: Parametry EL7041
Typ zátěţe Jmenovité napětí Napájení Maximální výstupní proud Maximální frekvence kroků Řídící frekvence Elektrická pevnost Odebíraný proudu Rozlišení Enkodérový signál Hmotnost Pracovní/skladová teplota Ochranné krytí
uni- nebo bipolární krokový motor 8…50 V DC pomocí E-bus 5:00 dop. 1,000, 2,000, 4,000 nebo 8,000 celých kroků/s (nastavitelné) 30 kHz 500 V typ. 50 mA 5,000 kroků za sekundu 5…24 V DC, 5 mA 90 g 0…+55 °C/-25…+85 °C IP 20
Toto řešení bylo zvoleno jako nejlépe vyhovující, rozšiřující modul je součástí celého PLC, je s ním tedy plně kompatibilní. Není nutné přidávat do zařízení další obvodové součástky nebo řídící prvky. Modul sleduje v jaké situaci je řízený motor, nemusíme hlídat rychlé změny otáčení motoru. 31
Jak PLC Beckhoff, tak i modul Beckhoff EL7041 jsou k dispozici ve školní laboratoři, proto bylo toto řešení vybráno pro realizaci projektu.
[14]
9.2 Fotosenzor Fotosenzor pro sledování polohy slunce je momentálně řešen pomocí čtyř foto diod BPW34, které jsou vzájemně odděleny stínícím kříţem.
Obrázek 7 : Znázornění vyhledávače slunce
Tento senzor se natáčí zároveň s celým panelem a hledá polohu, kde jsou všechny fotodiody osvětlovány co největším mnoţstvím světla. V okamţiku, kdy takovou polohu najdeme, nejdeme i zdroj světla. Pro přesnější funkci tohoto vyhledávání je moţné prodlouţit stínítko, tím dosáhneme vyšší přesnosti při vyhledávání zdroje světla, ale zároveň tím zvyšujeme náročnost na vyhledávací algoritmus řídícího prvku. Panel musí důkladněji prohledávat jednotlivé sektory, a tím se zvyšuje doba na vyhledání. Je proto nutné zvolit vhodný kompromis. 32
Fotosenzor zůstane na zařízení namontován z důvodu zpětné kompatibility s původní řídící jednotkou, ale jinak nebude pouţíván. Z původní práce totiţ vyplývá, ţe zařízení má obrovskou odchylku. Která se dá prakticky vyřešit pouze novou konstrukcí kříţe. [7]
9.3 Akumulátor a regulátor dobíjení Tato část zařízení zůstane beze změny. Bude však doplněna o vývody na analogové vstupy PLC, kde bude ve vizualizaci (prostředí pro ovládání zařízení na dálku) zobrazena hodnota napětí na akumulátoru.
9.4 Krokové motory Původní myšlenkou bylo zachování původních krokových motorů tak, aby se model pouhým přepnutím dal řídit jak původní řídící jednotkou, tak i pomocí IPC. Toto řešení se ukázalo jako nerealizovatelné, protoţe instalované motory EMG 30 není moţné řídit jinak neţ pulzně-šířkovou modulací, coţ neumoţňuje karta EL7041. Proto bylo rozhodnuto o výměně motorů za Microcon SX17 - 0905. Tyto motory se vyznačují statickým momentem 0,55 Nm a jmenovitým proudem 0,88 A při sériovém zapojení a 1,77 A při paralelním zapojení. Při výběru motoru hrála největší roly cena. Proto bylo nutné oţelet poziční enkodér. Další věcí kterou ovlivnila cena je počet kroků na otáčku. Nejvhodnější by byl motor s 360 kroky, nebo násobky. Tento motor disponuje 200 kroky na otáčku, to se později projeví v přesnosti pozicování. [19] [7]
9.5 Získání dat polohy slunce K získání polohy slunce bude pouţit crawler napsaný v jazyce C#, který se připojí k internetu a tuto informaci bude v pravidelných intervalech získávat a dále předávat do IPC. Komunikace mezi IPC a aplikací bude realizována pomocí knihovny firmy Beckhoff. 33
10 Realizace 10.1 Instalace programu Twincat Po spuštění instalačního souboru a potvrzení smluvních podmínek budeme poţádáni o zadání sériového čísla a názvu firmy. Pokud číslo nemáme, necháme v jeho políčku vyplněné pomlčky, jako na obrázku.
Obrázek 14: Instalce TwinCat – zadání licenčních parametrů [14]
V dalším okně je nutné zaškrtnout moţnost „TwinCat NC PTP – PTP Motion Control“, tato volba zajistí potřebné komponenty pro vloţení a ovládání krokových motorů (os) do prostředí TwinCat.
34
Obrázek 15: Insatalece TwinCat – Výběr instalovaného prostředí[14]
V dalším kroku instalace můţeme ponechat defaultní nastavení, jak je vidět na následujícím obrázku. [14]
Obrázek 16: Insatalce TwinCat – Výběr součástí [14]
35
10.2 Navázání komunikace mezi TwinCatem a IPC Po úspěšné instalaci se vedle systémových hodin zobrazí inkonka Twincatu. Kliknutím pravého tlačítka vyvoláme kontextové menu a vybereme „System manager“. V nabídce „SystemConfiguration“ vyberem tlačítko „Choose target“.
Obrázek 17: Okno System Manageru [14]
V následujícím okně vybereme „Search (Ethernet)“. Tato volba nám dovolí vyhledat zařízení v síti podle IP nebo názvu.
36
Obrázek 18: Výběr zařízení [14]
Klepneme na tlačítko „Brodcast Search“, tím vyhledáme všechna zařízení v síti, která se vypíší jako seznam. Vybereme námi poţadované zařízení a v poloţce „Addres Info“ zaškrtneme radio button „IP Address“ a zařízení přidáme tlačítkem „Add Route“.
Obrázek 19: Vyhledání zařízení [14]
37
Dále je potřeba načíst hardwarovou konfiguraci IPC, to znamená namapovat všechny rozšiřující karty. V záloţce „I/O Configuration“ klepneme pravým tlačítkem na poloţku „I/O Devices“ a v kontextovém menu vybereme nabídku „Scan Devices…“.
Obrázek 20: Namapování součástí zařízení [14]
Otázku, zda chceme oskenovat i jednotlivé boxy, potvrdíme tlačítkem „Ano“. Protoţe TwinCat zaznamenal karty EL7041 k řízení krokových motorů, bude se dotazovat, zda má k jednotlivým kartám přidat osy do záloţky „NC Configuration“. Opět potvrdíme tlačítkem „Ano“. Výsledek je vidět na následujícím obrázku. [14]
38
Obrázek 21: Výsledek namapování [14]
39
10.3 Zapojení motorů Kaţdý motor je zapojen bipolárně k jednomu modulu EL7041. Dále je nutné k modulu připojit napájení silové části. Výrobce uvádí napětí o hodnotě 50 V a proud 5 A, ale při realizaci bylo ověřeno, ţe postačuje napětí rovné jmenovitému napětí ovládaného motoru. Schéma zapojení je patrné z obrázku níţe. [14]
Obrázek 22: Schéma zapojení motorů [14]
10.4 Nastavení parametrů CoE Motory Microcon SX17-0905 nedisponují konfiguračním souborem, který by bylo moţné importovat do System manageru prostředí TwinCat. Proto je nutné tyto parametry nastavit ručně. V „System manager“ vyhledáme kartu EL7041 a v záloţce „CoE register“ nastavíme parametry motoru. V první řadě je nutné nastavit napájení motoru. Rozbalíme záloţku 8010:0 a nastavíme poloţku „Maximal Current“ na hodnotu proudu udaného výrobcem motoru. Poloţka „Reducent current“ je sníţený proud pro brzdu motoru. Tato poloţka napomáhá ke sníţení zahřívání motoru v klidové poloze, ale zároveň sniţuje kroutící moment motoru, 40
proto je nutné tento parametr volit s rozvahou. Poloţka „Nominal voltage“ slouţí k nastavení jmenovitého napětí. Většina výrobců uvádí rozsah napětí. Při nízkých rychlostech otáčení je výhodné pouţít nízké napětí. Při nízkých otáčkách se stačí vinutí motoru dobíjet na patřičné hodnoty. Niţším napětím se sniţují ztráty na vinutí, a motory se tím pádem tolik nehřejí. Pokud bychom pouţili motor s vysokými otáčkami, bylo by nutné navýšit napětí. Tyto závislosti by měly být patrné z dokumentace výrobce. Pokud ne, je nutné experimentálně najít vhodné hodnoty, aby nedocházelo ke zbytečnému přehřívání motoru. Všechna nastavovaná napětí a proudy jsou udávány v jednotkách miliampér a milivoltů. Poloţka „Motor fullstep“ udává hodnotu kroků na jednu otáčku. V našem případě jsou hodnoty následující: jmenovité napětí - 8V, maximální proud – 1,77 A, redukovaný proud 0,8 A. Klíčové hodnoty nastavení s defaultními hodnotami je vidět na obrázku níţe.
Obrázek 23: Nastavení parametrů STM Motor Settings [14]
V záloţce „8012:05 Speed range“ nastavíme referenční frekvenci pro řízení motoru. Čím vyšší je hodnota referenční frekvence, tím vyšších otáček můţe motor dosahovat. Defaultně je nastavena na hodnotu 2 000 kroků za sekundu. Tato hodnota vyhovuje i našemu účelu. Pro lepší představu o nastavovaném parametru můţeme zavést vzorec pro maximální rychlost:
41
Referenční rychlost pak odpovídá:
Obrázek 24: Nastavení parametru Speed range [14]
Dalším důleţitým parametrem je poloţka „8012:08 Feedback“. Jedná se o rozlišení, zda má daný motor hardwarový encoder (pak pouţijeme volbu „Encoder“) a nebo nikoli (volba „Internal counter“).
Obrázek 25: Nastavení parametru Feetback type [14]
42
10.5 Nastavení os v sekci NC V sekci „NC Configuration“ vybereme patřičnou osu a v záloţce „Parametr“ nastavíme „Reference velocity“ a „Maximum velocity“ na výše vypočtenou hodnotu 3 600°/s.
Obrázek 26: Nastavení parametru Refence velocity [14]
Dalším parametrem je „Dead Time compensation“. Tato hodnota se počítá jako čtyřnásobek doby cyklu NC úkolu. Coţ odpovídá hodnotě 0.008 sekundy.
Obrázek 27: Nastavení parametru Dead Time Compensation [14]
43
Měřítko neboli „Scalling factor“ lze nastavit na patřičné ose v poloţce „Axis 1_Enc“ v záloţce „Parametr“. Jeho hodnotu vypočteme následujícím způsobem. S enkodérem:
Bez enkodéru:
Obrázek 28: Nastavení Scaling Factor [14]
Dále v poloţce „Axis 1_Ctrl“ vyhledáme v záloţce „Parametr“ poloţku „Position lab monitoring“, kterou aktivujeme, a její další poloţky nastavujeme dle obrázku níţe. Tato poloţka hlídá zpoţdění fyzického zařízení za softwarem. K tomuto zpoţdění dochází nejčastěji při nedostatečném napájení vinutí motoru nebo překročení dovolené rychlosti motoru.
44
Obrázek 29: Nastavení Position Lag Monitoring [14]
Poslední nastavovanou poloţkou je takzvané mrtvé pásmo pozicování. V případě, kdy se snímač enkodéru zastaví mezi dvěma vinutími, můţe se stát, ţe nedokáţe rozlišit svůj stav, proto se zadává tolerance mrtvého pásma, která určuje toleranci hranice jednotlivých pozic. Příklad nastavení je na obrázku. [14]
Obrázek 30: Nastavení position control [14]
10.6 Ovládání motoru pomocí TwinCatu Celé dosavadní nastavení si můţeme vyzkoušet přímo v prostředí TwinCat. Vybráním dané osy a zvolením záloţky „Online“ můţeme motor ovládat přímo z prostředí TwinCatu. Ovládání osy se aktivuje tlačítkem „Set“, v nabídce, která se ukáţe, vybereme tlačítko „All“ pro ovládání v obou směrech otáčení. A nyní uţ lze motorem pohybovat pomocí připraveného prostředí. 45
Popis ovládání: „F1“ – rychlé otáčení vzad, „F2“ – pomalé otáčení vzad, „F3“ – pomalé otáčení vpřed, „F4“ – rychlé otáčení vpřed, „F5“ – spuštění s nastavenými podmínkami, „F6“ – zastavení motoru, „F8“ – smazání chyb a restart, „F9“ – spuštění nekonečné smyčky. [14]
Obrázek 31: Ovládání motorů pomocí System manageru [14]
46
10.7 Program pro ovládání motoru a popis knihovny TcMc2.lib Samotný program pro IPC se píše ve vývojovém prostředí „PLC Control“. Pro ovládání krokového motoru pomocí karty EL7041 je moţné pouţít knihovnu TcMc2.lib. Tato knihovna se sice naistaluje zároveň s TwinCatem, ale do projektu se musí přidat přes „Library manager“. Tato knihovna je relativně obsáhlá, proto jsou zde popsány pouze části, které jsou pouţity v této práci. Nejprve je nutné vytvořit referenci na všechny osy v „System mangeru“. Příklad: VAR Axis1 : AXIS_REF; END_VAR Pak uţ můţeme pouţívat bloky z knihovny.
10.7.1 Blok MC_Power Blok MC_Power slouţí k zapnutí nebo vypnutí napájení osy. Dále lze osu povolit pro kladný a záporný směr otáčení. Blok pak vrací status osy v proměnné „Status“, v případě chyby vrací v „Error“ hodnotu „TRUE“ a v proměnné „ErrorID“ číslo dané chyby. Axis1_Power( Enable:= Axis1_Enable, Enable_Positive:= TRUE, Enable_Negative:= TRUE, BufferMode:= MC_Aborting, Axis:= Axis1);
(*název instance*) (*aktivuje/deaktivuje osu*) (*povolí osu v kladném směru*) (*povolí osu v záporném*) směru*) (*v případě změny na Enable se přeruší všechny akce*) (*ovládaná osa*)
Blok MC_Power má dále výstupní proměnné, které jsou přístupné přes tečkovou notaci. Popis výstupních proměnných: „Status“
indikace napájení dané osy,
„Error“
indikace chyby napájení osy,
„ErrorId“
ID chyby osy, 47
„DriveEnabled“
indikuje jestli je osa připravena na připojení napájení,
„DriveReady“
indikuje jestli je osa jiţ napájena.
[14]
10.7.2 Blok MC_MoveVelocity Tento blok spouští nekonečnou smyčku pohybu v zadaném směru zadanou rychlostí. Jeho proměnné jsou: Tabulka 7: Popis bloku MC_MoveVelocity
MC_MoveVelocity
Výstupy
Vstupy
Název
Popis
Execute
na náběžnou hranu spouští pohyb na dané ose
Velocity
rychlost pohybu zrychlení, pokud je zadána 0 je zrychlení maximální
Acceleration Deceleration
zpomalení
Direction InVelocity
Směr otáčení
CommandAborted
Osa v pohybu Příkaz přerušen jinným příkazem
Error
indikace chyby
ErrorID
identifikace chyby
10.7.3 Blok MC_MoveRelative Tento posune osu o zadanou vzdálenost vůči aktuální pozici. Pokud chceme osu pootočit do záporného směru, zadáme hodnotu vzdálenosti jako záporné číslo.
48
Tabulka 8: Popis bloku MC_MoveRelative
MC_MoveRelative
Výstupy
Vstupy
Název
Popis
Execute
na náběžnou hranu spouští pohyb na dané ose
Distance
Vzdálenost pootočení
Velocity
rychlost pohybu zrychlení, pokud je zadána 0 je zrychlení maximální
Acceleration Deceleration
zpomalení
Done
Osa je v toleranci cílové polohy
CommandAborted
Příkaz přerušen jiným příkazem
Error
indikace chyby
ErrorID
identifikace chyby
[14]
10.7.4 Blok MC_Stop Blok MC_Stop slouţí k odstavení osy a zablokování veškerých příkazů, které jsou na ni posílány. Tabulka 9: Popis bloku MC_Stop
MC_Stop Vstupy
Název Execute
Odstavení osy
Deceleration
Zpomalení Indikace odstavení osy Blok právě pracuje s osou a není schopný přijmout příkaz Indikace zda má blok kontrolu nad osou
Done Busy Výstupy
Popis
Active CommandAborted Error ErrorID
Příkaz přerušen jinným příkazem Indikace chyby Identifikace chyby
[14]
49
10.7.5 Blok MC_Reset Smaţe všechny chyby a poţadavky na osu a nastaví ji do stavu připravena. Tabulka 10: Popis bloku MC_Reset
MC_Reset Vstupy
Popis
Execute
Vykonání bloku
Axis
Reference osy
Výstupy
Název
Done
Osa je vyresetována
Error
Indikace chyby
ErrorID
Identifikace chyby
[14]
10.8 Připojení projektu k TwinCatu Všechny proměnné, které jsou poţité v programu a mají pracovat s fyzickým zařízením (vstupy, výstupy, osy atd.), musí být na tyto části napojeny v prostředí TwinCat. Proto je nutné v Systém Manageru vyhledat příslušné karty se vstupy a výstupy, popřípadě osy a na daný port kliknout pravým tlačítkem a vybrat odpovídající proměnnou. [14]
10.9 Program pro PLC Program je v největší míře sestaven z komponent knihovny TcMc2.lib pro ovládání krokových motorů. Nejdůleţitějším pravidlem pro programování je fakt, ţe za jeden cyklus PLC je pro správný chod moţné spustit jen jeden blok pro ovládání pohybu osy. Jinak je jeho činnost okamţitě přerušena krokem jiným. Proto je celý program rozdělen do jednotlivých stavů. Stavy jsou nadefinovány ve vlastní proměnné typu výčet. A Výběr stavu v jednotlivých cyklech PLC se provádí ve struktuře příkazu CASE.
50
Při prvním cyklu PLC se nastaví napájení pro koncové body os. Poté se nastaví výchozí hodnoty proměnných pro ovládání jednotlivých bloků z knihovny TcMc2. V dalším se nastaví vlastnosti obou os a spustí se jejich napájení, v okamţiku kdy jsou osy připraveny, se spustí nekonečná smyčka pohybu. Kdyţ se sepne koncový bod dané osy, smyčka se přeruší a osa je drţena na daném bodě. V tento okamţik se nastaví výchozí hodnota vnitřního počítadla. Tato hodnota je udávána jako úhlové modulo jedné otáčky. To znamená, ţe jedna otáčka je 0 aţ 360 stupňů a vyšší nebo niţší hodnoty jsou do tohoto rozsahu přepočítány. Pokud program dosáhne do stavu, ţe jsou obě osy zinicializovány, pak program čeká na zadání úhlů pro natočení. Toto obstarává desktopová aplikace. Celý program je napsán tak, ţe se jednotlivé fáze v případě vyskytnutí chyby mohou přepnout do chybového stavu, který obě osy vyresetuje a program spustí od začátku. [14]
11 Popis knihovny TwinCat.Ads.dll TwinCat.Ads je .NET knihovna z TwinCAT AdsCommLib. Tyto knihovny umoţňují namapovat jednotlivé softwarové moduly (jako TwinCat NC, Twincat PLC atd) na třídy kompatibilní s technologií .NET, které spolu mohou vzájemně komunikovat, ale také umoţňují vzdálenou správu přes Ethernet. Přehled vybraných tříd v AdsCommLib: Tabulka 11: Přehled tříd ADS
Třída
Popis
AdsBinaryReader AdsBinaryWriter AdsException AdsStream
Načítá jednoduché datové typy i celé struktury jako binární hodnoty Zapisuje binární hodnoty do proměnných v TwinCatu Rodičovská třída výjmek pro TwinCatAds Datový proud napojený na AdsCommunication
TcAdsClient
Je souhrnem knihovny TcAds.dll a umožňuje synchronní přístup k Ads zařízením
[14]
51
Obrázek 32: Komunikace jednotlivých bloků ADS
12 Desktopová aplikace v C# Desktopová aplikace je napsána v jazyce C# v prostředí Microsoft Visual Studio Express, jako Windows forms aplications. Základním úkolem aplikace je zapisování souřadnic Slunce do PLC. O komunikaci se stará třída TwinCat, která je potomkem třídy Windows.Form, coţ z ní zároveň dělá i hlavní formulář. Třída obsahuje handly jednotlivých proměnných, které jsou reprezentovány jako celočíselná proměnná typu integer. Tato třída obsahuje metodu „LoadVariable“, ve které dojde k vytvoření streamu pro čtení proměnných z PLC. Dále se navazuje komunikace a následně se začnou monitorovat poţadované proměnné v PLC. Při změně některé proměnné se změní hodnota odpovídající privátní proměnné ve třídě TwinCat a spouští se metoda „TcClient_OnNotification“, která přejímá jako parametr událost o změně proměnné. Na základě této události se vybírá akce při změně dané proměnné. Teprve zde se načítá skutečná hodnota proměnné a následuje kód určený k jejímu zpracování (zobrazení). 52
Celá tato logika je zaloţena na knihovně TwinCat.Ads.dll. Následuje popis nejdůleţitějších částí kódu čerpajícího z této knihovny.
Vytvoření nového streamu a „čtenáře“: [název streamu] = new AdsStream([délka streamu v bytech]); [název čtenáře] = new BinaryReader([název streamu]);
Vytvoření TcClienta a připojení k PLC [název TcClienta] = new TcAdsClient(); [název TcClienta].Connect(string [NetID zařízení], integer [číslo portu]);
NetID je rozšířený identifikátor vycházející z IP adresy. Monitorování proměnné v PLC [název oznamovací proměnné ] = [instance TcClienta].AddDeviceNotification (string[cesta k proměnné v PLC], [název data streamu], integer [pozice ve streamu], [velikost proměnné v bytech], [AdsTransmode], [čas cyklu v milisekundách], [čas spoždění v milisekundách], [uživatelem definovaná struktura]);
Vytvoření handlu pro zápis do PLC integer [název hadlu] = [instance TcClienta].CreateVariableHandle( string [cesta k proměnné PLC]);
Vytvoření události při změně proměnné pomocí delegáta [instance TcClienta].AdsNotification += new AdsNotificationEventHandler( TcClient_OnNotification);
[14] [18]
12.1 Získání pozice Slunce Pozice slunce byla původně získávána pomocí robota, který se připojil na webové stránky a stáhnul poţadovaná data. Bohuţel během ladění aplikace byly tyto stránky zrušeny, coţ mě přivedlo na myšlenku, ţe tento způsob získávání informací není dobrým řešením. Tato situace se můţe opakovat i s jiným webem, navíc nemusí být internetové připojení vţdy k dispozici, proto je pozice vypočítána přímo v aplikaci podle platných vzorců. 53
O získání pozice Slunce se stará třída SunCalculation, která vypočítává horizontální a vertikální úhel Slunce v místě pozorování. Pozice je vypočítána na základě zadaných souřadnic a času pozorování Slunce. Výpočet je optimalizován pro časový rámec let 1900 aţ 2100, po zadaném období se změní deklinace Slunce na hodnotu, která se projeví v přesnosti výpočtu. Výstupní úhlové hodnoty jsou převáděny do intervalu nula aţ dvě pí a následně převedeny na stupně, tím dosáhneme vţdy výsledku 0°aţ 360°. Maximální odchylka těchto výsledků je 0,002° od skutečné pozice Slunce. [20] [18]
12.2 Záznam chybových hlášení programu Aplikace obsahuje třídu EventLog, jejímţ primárním úkolem je zapisovat a číst seznam událostí v aplikaci včetně statutu úspěšnosti. Do tohoto zápisu jsou zahrnuty metody, které se starají o bezprostřední komunikaci mezi desktopovou aplikací a IPC. Do souboru je zapsáno spuštění a ukončení programu a jejich čas, dále název spuštěné metody, čas spuštění a status. Status obsahuje v případě chyby text vyhozené výjimky, v případě úspěchu obsahuje zápis: „Status OK“. Při testování aplikace se ukázalo, ţe metoda „tcClient_OnNotification“ nemůţe zapisovat do souboru při úspěšném průběhu, ale pouze v případě chyby. Tato metoda je totiţ volána tak často, ţe asi po pěti minutách provozu měl soubor přes 55 tisíc řádků. [18]
12.3 Popis ovládání aplikace V hlavním formuláři aplikace je obsaţeno ovládání pro manuální reţim, zobrazení vypočítaných souřadnic slunce a hlavně stav obou os.
54
Obrázek 33: Hlavní formulář desktopové aplikace
Oblast „1“ je ruční ovládání, které umoţňuje ruční zadávání pozice. Do kolonky „Azimut“, lze zadávat maximálně úhel 180°. To je dáno fyzickým limitem zařízení, v otáčení na vyšší stupně jak 180° brání koncový bod osy, o který se celá konstrukce zarazí. Tento koncový bod sice není nikde pouţíván, ale jeho odstranění mi bylo zamítnuto kvůli moţnosti připojit původní řídící jednotku. V Automatickém reţimu jsou komponenty pro ruční ovládání neaktivní a potřebné úhly jsou zapisovány ze třídy „SunCalculation“, která vypočítává pozici ze zeměpisné šířky, délky a aktuálního času. V případě ţe je azimut větší jak 180°, dojde k přepočtu souřadnic. Princip je moţné velice dobře vysvětlit na následujícím příkladu. Chceme nastavit úhel 270° jako azimut a 20° jako horizont, pak se osa 1 (azimut) nastaví do protivky k 270°, to znamená na 90° a správné pozice dosáhneme překlopením druhé osy (horizont). Výsledný horizont se v takovém případě vypočítá jako 180° mínus poţadovaná hodnota, čili našich 20°, tím dostáváme hodnotu horizontu 160°. Oblast „2“ zobrazuje aktuální vypočítanou pozici slunce. Oblast „3“ zobrazuje stav osy 1 (azimut). Poloţka „Enable“ je napojena na blok MC_Power a indikuje, jestli je osa napájena. „ErroId“ vypisuje číslo chyby na ose 1, pokud je hodnota 0, je osa bez chyb. Poloţka „Busy“ je napojena na referenci osy 1 a značí, jestli k ose přistupuje některý z ovládacích bloků. „Aktuální poloha“ ukazuje
55
aktuální modulo polohu osy. Dále check box „Vykreslovat pohyb“ vyvolá formulář pro vykreslení aktuální polohy.
Obrázek 34: Vykreslení horizontu
Obrázek 35: Vykreslení azimutu
Tyto vykreslovací formuláře obsahují kontextové menu. Při kliknutí pravým tlačítkem můţeme oknu nastavit, aby bylo stále na vrchu, nebo změnit velikost zobrazení. Totéţ je v oblasti „4“, pouze pro osu 2 (horizont). Oblast „5“ je stavový řádek, kde první poloţka zleva značí, zda je program připojen k zařízení, v případě úspěchu je pole zelené a je v něm nápis „Připraveno“, v opačném případě pole zčervená a vypíše se „Nepřipojeno“. V druhém poli se vypisuje aktuální reţim ovládání. Blok „6“ je hlavní nabídka programu. V záloţce „Program“ můţeme aplikaci ukončit, anebo načíst soubor s chybovým hlášením, ten se otevře v novém formuláři, kde ho lze i vymazat. V záloţce nastavení lze přepnout mezi reţimy „Ruční reţim“ a „Automatický reţim“, dále je k dispozici nabídka „Znovu zkalibrovat“, která dá PLC povel, aby se model uvedl do výchozí polohy. V případě ztráty spojení s IPC lze pouţít nabídku „Znovu připojit“. Nabídkou „Nastavení komunikace“ se vyvolá formulář na obrázku níţe. Zde lze nastavit port pro komunikaci s IPC a NetID zařízení, coţ je rozšířená IP adresa. Tyto poloţky lze zjistit v TwinCatu v System Manageru. Dále lze nastavit zeměpisná šířka a 56
délka pro výpočet pozice slunce. Defaultně je nastavena pozice Jihlavy. Poslední poloţkou je údaj o tom, jak často se bude aktualizovat údaj o poloze slunce. Všechny tyto poloţky se ukládají do souboru a načítají se při novém spuštění.
13 Přesnost pozicování U původního provedení směrování modelu byla naměřena chyba 0 aţ 25 úhlových stupňů a průměrná chyba pak 10° 56’. V současné podobě, kdy je panel automaticky naváděn na pozici slunce, je chyba mnohem menší. Bohuţel měření této chyby v podmínkách naší laboratoře nepřipadá v úvahu. Proto se musíme spokojit pouze s výpočtem. Výsledná maximální chyba je pak:
δv
chyba na vinutí motoru (je dána výrobcem)
δkp
chyba kontroly pozice (nastavení a důvody pouţití jsou popsány výše)
δvb
chyba výchozího bodu (vzniká dojetím na koncový bod a délkou sepnutí spínače)
δk
chyba kroku (máme k dispozici motor s pouze 200 kroky na jednu otáčku a jeden krok můţeme dělit na 4 mikrokroky, tím dostáváme maximální rozlišení kroku)
Vypočtená hodnota je největší přípustnou chybou samotného pozicování. Celková chyba by pak byla zvětšena o chybu výpočtu pozice Slunce.
Jak je vidět, toto řešení je jistě mnohem přesnější neţ původní. Ovšem absence dekodéru na motorech dělá toto řešení mnohem citlivějším na působení vnějších sil. Pokud někdo panelem násilně pootočí, program o tom nemá sebemenší ponětí a počítá pozici stále dál. Ke zkalibrování dojde teprve tehdy, kdyţ skutečná pozice panelu bude 57
mimo interval 0 aţ 360 stupňů, pak dojde k sepnutí koncového bodu a zařízení se restartuje. Dalším řešením je ruční spuštění kalibrace. Výslednou chybu pozice můţe dále ovlivnit umístění samotného modelu v prostoru. Aplikace vychází z toho, ţe je deska s modelem ve vodorovné poloze a také ţe je panel ve výchozí pozici natočen na sever. Na desce je pro tento účel nakreslena šipka, která pro správný běh aplikace musí ukazovat právě na sever.
14 Návrh technologií pro rozšíření 14.1 Měření aktuálních napětí Rozšíření o měření napětí na akumulátoru a na samotném panelu by názorně ukazovalo jak je daný panel efektivní. V současné době nebylo moţné toto rozšíření aplikovat, protoţe u IPC Beckhoff není v naší učebně karta s analogovým vstupem, která by zvládala vyšší napětí jak 10 V. Vzhledem k tomu, ţe panel můţe dodávat téměř 18 V a baterie aţ 13 V, nebylo moţné toto měření uskutečnit. Řešením by bylo buď sehnání patřičné rozšiřující karty, nebo navrhnout napěťovou děličku dvěma a změřené napětí pak vynásobit. Na tuto děličku se však nehodí obyčejný odporový dělič, protoţe má velkou vlastní spotřebu a v zařízení, kde potečou tak nízké proudy, by to mohlo mít velice skreslující účinky.
14.2 Vytvoření databáze V aplikaci je vytvořena třída DbObject, která ve svém konstruktoru načte z třídy TwinCat aktuální azimut, horizont, dále jsou připraveny poloţky pro napětí na akumulátoru a na panelu. Tuto třídu je dále moţné rozšířit tak, aby vkládala data do databáze. Protoţe je ţádoucí, aby tato aplikace běţela na osobním počítači, bylo by vhodné pouţít databázi, která je schopná provozu bez vlastního serveru. Velice výhodně se jeví DB4Object. Výhodou je, ţe nepotřebuje server ke svému běhu a lze do ní vkládat vlastní třídy jako datové poloţky. Přesně k tomuto účelu je vytvořena naše třída DbObject. [21] 58
14.3 Vytvoření webového rozhraní Data z vytvořené databáze by se dala vyuţít ve webové aplikaci, která by mohla v různě pojatých grafech a souhrnech zobrazovat dobíjení v jednotlivých ročních obdobích, jednotlivých časech nebo například v průběhu dne. Vzhledem k tomu, ţe je celá aplikace napsána v technologii .NET, bylo by vhodné pouţít i na webovou aplikaci .NET technologii. Z těchto technologií by bylo vhodné pouţít takovou, která opět dokáţe pracovat s objektově orientovanou databází, proto doporučuji Microsoft MVC Framework 2 nebo vyšší. [22]
15 Závěr V průběhu práce bylo zanalyzováno celé zařízení a bylo vybráno co nejefektivnější řešení v rámci dostupných prostředků školní laboratoře. Došlo k vytvoření aplikace pro řídící IPC psané v jazycích ST a FBD. Dále byla vytvořena aplikace pro ovládání modelu přes síť LAN v jazyce C# .NET. Při realizaci bylo nutné jisté odchýlení od původní myšlenky, ţe mechanická část modelu zůstane zachována bez jakéhokoliv zásahu. Ukázalo se totiţ, ţe původní motory nejsou klasické krokové motory s vývody jednotlivých vinutí, ale ţe mají jiţ zabudovanou vnitřní logiku. Po dlouhém bádání, zda by nebylo moţné daný problém nějak obejít, jsem došel k názoru, ţe to není moţné a je nutná výměna motorů. Se současnými motory se podařilo s úspěchem naprogramovat aplikaci pro pozicování panelu jak v ručním, tak i v automatickém reţimu. Model byl doplněn o nákresy úhlů jednotlivých os, na kterých lze přibliţně ověřit správnost náklonu. Dále je moţné se k zařízení připojit přes školní síť Lablink, která umoţňuje komukoliv, kdo má přidělen přístup, spravovat celou aplikaci a model ovládat.
59
16 Zdroje [1] ISOFEN ENERGY S.R.O. Isofen Energy [online]. 2009 [cit. 2012-12-12]. Dostupné z: www.isofenenergy.cz/ [2] Fotovoltaický jev. Solární energie [online]. 2006 [cit. 2012-12-12]. Dostupné z: http://www.cez.cz/edee/content/microsites/solarni/f8.htm [3] Současný stav a trendy ve vývoji fotovoltaických panelů. Aldebaran [online]. [cit. 201212-12]. Dostupné z: http://www.aldebaran.cz/bulletin/2010_37_fot.php [4] Výhody a nevýhody solárních panelů. Solární panely [online]. [cit. 2012-12-13]. Dostupné z: http://www.solarnipanely.biz/vyhody-a-nevyhody-solarnich-panelu/ [5] Energie slunce - výroba elektřiny. EkoWATT [online]. [cit. 2012-12-13]. Dostupné z: http://www.ekowatt.cz/cz/informace/obnovitelne-zdroje-energie/energie-slunce--vyroba-elektriny [6] Fotovoltaika v ČR. Energotherm Praha,s.r.o. - Tepelná čerpadla, fotovoltaické elektrárny [online]. 2010 [cit. 2012-12-13]. Dostupné z: http://www.energotherm.cz/uvod-do-fotovoltaiky/fotovoltaika-v-r [7] VRÁNA, Michal. Studie a experimenty nad obnovitelnými zdroji energie. Jihlava, 2010. Dostupné z: https://is.vspj.cz/bp/get-bp/studijniobor/2612R034/student/11695/thema/1347. Bakalářská práce. VŠPJ. Vedoucí práce Prof. Ing. František Zezulka, CSc.
60
[8] Dokumentace k obvodu L298. In: DUAL FULL-BRIDGE DRIVER L298 [online]. 1998 [cit. 2012-12-20]. Dostupné z: http://www.gme.cz/dokumentace/332/332005/dsh.332-005.1.pdf [9] EMG30, mounting bracket and wheel specification. Robot electronics [online]. [cit. 2012-12-20]. Dostupné z: http://www.robot-electronics.co.uk/htm/emg30.htm [10] FG12120 12V 12Ah(20hr). BATERIE DO VYSOKOZDVIŢNÝCH VOZÍKŮ STARTOVACÍ BATERIE - STANIČNÍ A OSTATNÍ BATERIE [online]. [cit. 201212-20]. Dostupné z: http://www.fg-forte.cz/images/datasheets/fg12120.pdf [11] Regulátor Phocos CML05. Solar-Eshop [online]. 2012 [cit. 2012-12-20]. Dostupné z: http://www.solar-eshop.cz/p/regulator-phocos-cml05/ [12] Stepper Controller 70 V / 7.5 A 6IN, 2OUT. WAGO - Elektro spol. s r.o [online]. [cit. 2012-12-28]. Dostupné z: http://www.wago.com/wagoweb/documentation/750/eng_dat/d07500672_00000000_0e n.pdf [13] WAGO Elektro spol. s r.o [online]. [cit. 2012-12-28]. Dostupné z: http://www.wago.com [14] BECKHOFF Beckhoff Information system [online]. 2012 [cit. 2012-12-29]. Dostupné z: http://infosys.beckhoff.com/ [15] ZEZULKA, František, Zdeněk BRADÁČ, Petr FIEDLER, Pavel KUČERA a Radek ŠTOHL. VUT FEKT. Programovatelné automaty. Brno, 2003.
61
[16] ZEZULKA, František. Prostředky průmyslové automatizace. Brno: VUTIUM Brno, 2004. [17] Krokové motory a jejich řízení [online]. Liberec, 2000 [cit. 2013-04-04]. Dostupné z: http://www.mti.tul.cz/files/ats/krok2.pdf. Studijní texty. Technická univerzita v Liberci. Vedoucí práce Pavel Rydlo. [18] TROELSEN, Andrew. C# a .NET 2.0 profesionálně. Vyd. 1. Brno: Zoner Press, 2006, 1197 s. ISBN 80-868-1542-0. [19] Hybridní dvoufázové krokové motory řady SX. Microcon [online]. [cit. 2013-05-26]. Dostupné z: http://microcon.cz/pdf2013/13-19.pdf [20] Position of the Sun. Stargazing Network [online]. [cit. 2013-05-27]. Dostupné z: http://www.stargazing.net/kepler/sun.html [21] Object database. Wikipedia [online]. 2013 [cit. 2013-05-27]. Dostupné z: http://en.wikipedia.org/wiki/Object_database [22]
62
17 Seznam obrázků Obrázek 1: Fotovoltaický článek [1] .............................................................................. 11 Obrázek 2: Průměrný roční úhrn globálního záření [6] .................................................. 14 Obrázek 3: Průměrný roční úhrn doby trvání svitu [6] ................................................... 14 Obrázek 4: Průměrný roční počet jasných dnů [6] ......................................................... 15 Obrázek 5: Buzena fáze A [17]....................................................................................... 19 Obrázek 6: Buzena fáze B [17] ....................................................................................... 19 Obrázek 7: Buzena fáze D [17]....................................................................................... 19 Obrázek 8: Buzena fáze C [17] ....................................................................................... 19 Obrázek 9: Grafické znázornění kompilace zdrojového kódu v .NET [18] ................... 22 Obrázek 10: Okno TwinCat System Manageru .............................................................. 23 Obrázek 11: Konstrukce panelu [7] ................................................................................ 24 Obrázek 12: Zapojení můstku L298 pro jeden stejnosměrný motor [8] ......................... 26 Obrázek 13: Zapojení obvodu L297 a L298 [8] ............................................................ 30 Obrázek 14: Instalce TwinCat – zadání licenčních parametrů [14]................................ 34 Obrázek 15: Insatalece TwinCat – Výběr instalovaného prostředí[14] .......................... 35 Obrázek 16: Insatalce TwinCat – Výběr součástí [14] ................................................... 35 Obrázek 17: Okno System Manageru [14] ..................................................................... 36 Obrázek 18: Výběr zařízení [14] .................................................................................... 37 Obrázek 19: Vyhledání zařízení [14] .............................................................................. 37 Obrázek 20: Namapování součástí zařízení [14] ............................................................ 38 Obrázek 21: Výsledek namapování [14] ........................................................................ 39 Obrázek 22: Schéma zapojení motorů [14] .................................................................... 40 63
Obrázek 23: Nastavení parametrů STM Motor Settings [14] ......................................... 41 Obrázek 24: Nastavení parametru Speed range [14] ...................................................... 42 Obrázek 25: Nastavení parametru Feetback type [14].................................................... 42 Obrázek 26: Nastavení parametru Refence velocity [14] ............................................... 43 Obrázek 27: Nastavení parametru Dead Time Compensation [14] ................................ 43 Obrázek 28: Nastavení Scaling Factor [14] .................................................................... 44 Obrázek 29: Nastavení Position Lag Monitoring [14].................................................... 45 Obrázek 30: Nastavení position control [14] .................................................................. 45 Obrázek 31: Ovládání motorů pomocí System manageru [14] ...................................... 46 Obrázek 32: Komunikace jednotlivých bloků ADS ....................................................... 52 Obrázek 33: Hlavní formulář desktopové aplikace ........................................................ 55 Obrázek 34: Vykreslení horizontu .................................................................................. 56 Obrázek 35: Vykreslení azimutu .................................................................................... 56
64
18 Seznam tabulek Tabulka 1: Přehled řídících úrovní L298 ........................................................................ 26 Tabulka 2: Zapojení vývodů motoru EMG30................................................................. 27 Tabulka 3: Parametry EMG30 ........................................................................................ 27 Tabulka 4: Parametry akumulátoru FG-Forte ................................................................. 28 Tabulka 5: Parametry regulátoru dobíjení ...................................................................... 28 Tabulka 6: Parametry EL7041 ........................................................................................ 31 Tabulka 7: Popis bloku MC_MoveVelocity ................................................................... 48 Tabulka 8: Popis bloku MC_MoveRelative ................................................................... 49 Tabulka 9: Popis bloku MC_Stop................................................................................... 49 Tabulka 10: Popis bloku MC_Reset ............................................................................... 50 Tabulka 11: Přehled tříd ADS ........................................................................................ 51
65
19 Seznam zkratek LD
Lader Diagram
FBD
Function Blok Diagram
IL
Instruction list
ST
Structure Text
IPC
Industrial Personal Computer
PLC
Programable Logical Computer
FV
Fotovoltaický Panel
KM
Krokový motor
CIL
Common Intermediate Language
OS
Operační Systém
PWM Pulse Width Modulation
66
20 Přílohy Na přiloţeném CD: Zdrojový kód desktopové aplikace v C# .NET Zdrojový kód programu pro IPC Konfigurační soubor pro TwinCat System manager
67