Magnetic Levitation Control Magnetic Levitation Control (MagLev) je specializovaný software pro řízení procesu magnetické levitace na zařízení Magnetic Levitation Model CE152 vytvořeném společností HUMUSOFT. Řízení je založeno nepřesného popisu situace pomocí jazykově formulovaných fuzzy IF-THEN pravidel. To umožnuje navrhovat řízení procesu bez znalosti přesného matematického modelu a fyzikálních konstant zařízení, pouze na zakladě hrubé znalosti principu magnetické levitace. Tento software využívá výpočetního jádra softwaru LFLC 2000 a báze pravidel vytvořené v LFLC 2000. Vstupy jsou brány s PCI karty MF624 dodávané s zařízením Magnetic Levitation Model CE152. 1 Princip procesu magnetické levitace Hlavní část zařízení pro magnetickou levitaci Když cívkou s jádrem a) prochází proud vzniká elektromagnetické pole. Toto elektromagnetické pole působí na ocelovou kuličku b) a pokud je jeho síla větší než síla gravičační je kulička zvedána k jádru cívky. Jestliže je kulička v pohybu vstupuje do procesu kinetická energie kuličky působící ve směru jakým se kulička pohybuje. Tento proces je velmi nestabilní protože jakmile přesáhnou síly působící směrem vzhůru kulička se začně pohybovat směrem k cívce, tím se dostává do silnějšího elektromagnetického pole a zrychluje tak směrem k cívce. Obdobně zrychluje kulička směrem dolů převáží-li síla gravitace. Poloha 1
kuličky je snímána senzorem c). napětí přiváděného do obvodu. Řízení procesu se provádí pomocí ovládání 2 Fuzzy IF-THEN pravidla s jazykovými proměnnými Příklad fuzzy IF-THEN pravidla s jazykovými proměnnými: Slovní zápis pravidla: IF pozice kuličky je blízko nad AND rychlost je malá dolů THEN napětí zvýšíme o velmi málo Totéž pravidlo symbolicky v LFLC 2000: IF E je +sm AND de je -sm THEN du je +ve sm Výrazy pozice kuličky, rychlost a napětí jsou proměnné zatímco blízko nad, malá dolů a zvýšíme o velmi málo jsou výrazy vágně charakterizující význam proměnných. Tento způsob zápisu umožnuje vytvořit bázi pravidel i uživateli jenž nemá žádné znalosti o fuzzy množinách. 3 Práce se softwarem MagLev Prvním krokem je volba báze pravidel. Můžete použít testovací bázi test ML.rb, nebo si v softwaru LFLC 2000 vytvořit vlastní. K načtení báze slouží tlačítko d) Load... Následuje zvolení časové prodlevy mezi jednotlivými akčními zásahy g). Maximální prodleva mezi akčními zásahy pro kterou lze tento proces regulovat je 1ms. V případě použití nové báze je třeba správně nastavit kontexty veličin f) (Co pro vás znamenají výrazy velký, malý v případě jednotlivých proměnných). Například pokud odchylku pro odchylku od požadované pozice E zadáme kontext 3 znamená to, že všechny hodnoty E 0.94 3 budou brány jako velké kladné (+bi) a pro chování výstupu se zvolí pravidlo jenž má E = +bi, hodnoty v rozmezí 0.94 3 > E > 0.44 3 již nejsou zcela velké (stupeň pravdivosti toho, že E je velké v tomto intervalu klesá k nule), a proto se pravidlo E = +bi může uplatnit jen menší silou, pro E 0.44 3 nemají pravidla s hodnotou E = +bi žádný efekt. Je to dáno tím jak je definován výraz +bi v softwaru LFLC 2000 kde najdete i ostatní standardní výrazy. 2
Definování výrazu +bi v softwaru LFLC 2000 Tyto kontexty se samozřejmě dají nastavit přímo při vytváření báze pravidel v LFLC 2000, ale ponechání standartního kontextu [0, 1] respektive [ 1, 1] pro náš případ (Všechny tři proměnné mohou dosahovat jak kladných tak záporných hodnot) a určením kontextu až pro konkrétní aplikaci, umožníme širší využití jedné báze pravidel. Pozor! Protože náš akční zásah je změna hodnoty napětí a ne jeho nastavení na určitou úroveň, kontext du je závislý na časové prodlevě mezi jednotlivými zásahy. Proto akční zásahy které uvidíte v tabulce procesu k) mají velikost jako by kontext pro du byl vynásoben časovou prodlevou v milisekundách. Pro náš testovací případ to znamená 1.7 0.4 = 0.68. Dalším krokem je zvolení požadované pozice kuličky h). Pozor v tomto případě je nemožné proces regulovat pokud zvolíte pozici příliš blízko cívce! Testovací báze pravidel je nastavena pro Setpoint v okolí hodnoty 2. Nyní již zbývá jen spustit proces magnetické levitace. Klikněte na tlačítko Get Ready i), tlačítko se změní na Start počkejte až se ocelová kulička ustálí pod cívkou a klikněte na něj znovu, tlačítko se změní na Stop a ocelová kulička začne levitovat v požadované pozici. Pokud nejste s průběhem spokojeni stiskněne tlačítko Stop a prohlédněte si průběh kdy se kulička zachovala jinak než podle vašich představ a jaká pravidla se zde uplatnila toto pravidlo pak upravte po- 3
dle potřeby a spusťte proces znovu. Zlepšení regulace můžete také dosáhnout drobnou změnou některého kontextu. 4 Popis okna softwaru MagLev MagLev před spuštěním regulace okno d) Tlačítko Load... slouží k načtení báze pravidel e) Tlačítko Context otevírá okno kontextů f) f) Možnost změny nastavení kontextů pro jednotlivé proměnné g) Prodleva mezi jednotlivými akčními zásahy h) Možnost nastavení požadované pozice ocelové kuličky i) Tlačítko Get Ready/Start/Stop spouští a zastavuje proces 4
j) Tlačítko Save As... slouží k uložení aktuálního nastavení včetně průběhu posledního procesu MagLev po ukončení procesu okno k) Tabulka hodnot naměřených a vypočítaných během řízení procesu. Set Point: požadovaná pozice kuličky; y: aktuální pozice kuličky; E: odchylka od požadované pozice; de: rychlost kuličky (rozdíl průměru pozice kuličky v předchozích šesti měřeních a průměru předchozích dvou měření včetně aktuálního); current: proud v cívce; du : změna akčního zásahu (o kolik máme zvýšit nebo snížit napětí); U (action): velikost přiváděného napětí, řídící veličina; Rule: číslo uplatněného pravidla z báze; Context Factor: pouze v případě kdy dochází ke změně kontextu v průběhu procesu l) Adresa aktuálně používané báze pravidel m) Křivka proudu (modrá) n) Křivka napětí (červená) 5
o) Požadovaná pozice kuličky (zelená) p) Pozice kuličky v jednotlivých měřeních, odlišné barvy představují různá uplatněná pravidla q) Ukazatel kterému místu v grafu odpovídá zvýrazněný řádek hodnot v tabulce k) r) Přiblížení grafu 6