• No results found

V´ ysledky identifikace pro r˚ uzn´e rychlosti

In document TECHNICK ´A UNIVERZITA V LIBERCI (Page 49-59)

rychlost parametry

oznaˇcen´ı [%] [cyc/min] ξ T

1 65 162 0.094 0.0013

2 70 175 0.093 0.0013

3 75 187 0.095 0.0013

4 80 200 0.093 0.0014

5 85 212 0.091 0.0014

6 90 225 0.104 0.0015

7 95 237 0.101 0.0018

8 100 250 0.112 0.0021

N´azornˇeji lze v´ysledky identifikace zobrazit pomoc´ı frekvenˇcn´ıch pˇrenos˚u, viz obr´azek 4.4. Je patrn´e, ˇze frekvence vybuzen´ych kmit˚u vlivem nelinearity z´avis´ı na jejich poˇc´ateˇcn´ı amplitudˇe. Pro prvn´ı tˇri rychlosti je frekvence kmit˚u t´emˇeˇr totoˇzn´a (cca 120 Hz), zat´ımco pro vyˇsˇs´ı rychlosti, kde jsou pˇrekmity v´yraznˇejˇs´ı, frekvence kles´a aˇz na cca 75 Hz.

4.2.4 N´avrh kompenzaˇcn´ıho filtru

Jelikoˇz je identifikovan´y model pouze velmi pˇribliˇznou aproximac´ı re´aln´e soustavy, kter´a nav´ıc sv´e parametry mˇen´ı, slouˇz´ı nalezen´e parametry sp´ıˇse jako poˇc´ateˇcn´ı odhady hle-dan´ych parametr˚u kompenzaˇcn´ıho filtru. Pro dosaˇzen´ı optim´aln´ıch v´ysledk˚u bylo nutn´e hodnoty jeho parametr˚u doladit experiment´alnˇe na z´akladˇe mˇeˇren´ı. Pˇrenos kompenzaˇcn´ıho

101 102 103

Obr´azek 4.4: Frekvenˇcn´ı pˇrenosy identifikovan´ych model˚u filtru pro zvolenou strukturu modelu m´a tvar:

FF IL(s) = (T s)2+ 2ξT s + 1

(τ s + 1)n , (4.3)

kde v´yznam parametr˚u ˇcitatele pˇrenosu odpov´ıd´a parametr˚um modelu soustavy (v´yraz 4.1), τ je ˇcasov´a konstanta p´olu filtru s n´asobnost´ı n. Tento pˇridan´y p´ol zajiˇst’uje fyzik´aln´ı realizovatelnost filtru, tzn. pro ˇcitatel druh´eho ˇr´adu je ˇr´ad jmenovatele n = 3. Jeho vlivem vˇsak vznik´a pˇr´ıdavn´e zpoˇzdˇen´ı, kter´e je nutn´e zpˇetnˇe kompenzovat optimalizac´ı (posunem a zkr´acen´ım) poˇzadovan´eho budic´ıho pr˚ubˇehu w(t). O tom je podrobnˇeji pojedn´ano v ˇc´asti 4.3.1.

Casov´a konstanta τ je volena podle v´ˇ ysledn´e frekvenˇcn´ı charakteristiky filtru tak, aby magnituda nenar˚ustala pˇres 0 dB, neboli, aby filtr ˇz´adnou ˇc´ast spektra nezesiloval. Ide´aln´ı situace ve frekvenˇcn´ı oblasti je uvedena na obr´azku 4.5.

4.3 V´ ypoˇ cty budic´ıch pr˚ ubˇ eh˚ u

4.3.1 Optimalizace

Budic´ı pr˚ubˇehy obou pohon˚u jsou sestaveny z nˇekolika ´usek˚u, tak jak byly pops´any v 1.2. ´Useky zdvih˚u (T1, T2 a T3) jsou zad´any dobou trv´an´ı, velikost´ı zdvihu, resp.

odpov´ıdaj´ıc´ım ´uhlem pootoˇcen´ı a ˇcasem poˇc´atku v r´amci cel´eho cyklu. ˇCasov´y pr˚ubˇeh

−80

−60

−40

−20 0 20

Magnitude (dB)

101 102 103

−270

−180

−90 0 90

Phase (deg)

f (Hz) Motor

Filtr Motor + Filtr

Obr´azek 4.5: Vliv filtru ve frekvenˇcn´ı oblasti (ide´aln´ı pˇr´ıpad, rychlost 8)

natoˇcen´ı odpov´ıd´a ˇc´asti periody funkce sinus, nen´ı zde tedy pouˇzit pr˚ubˇeh zrychlen´ı se zpomalen´ym n´abˇehem, jako pro pohon se servomotory. Odstranˇen´ı neˇz´adouc´ıho skoku ve zrychlen´ı je zajiˇstˇeno filtrac´ı poˇzadovan´eho pr˚ubˇehu kompenzaˇcn´ım filtrem.

Zpoˇzdˇen´ı zp˚usoben´e pˇridan´ymi p´oly filtru je kompenzov´ano zpˇetnou optimalizac´ı poˇzadovan´eho pr˚ubˇehu wOP T(t) tak, aby na v´ystupu filtru byl takov´y pr˚ubˇeh budic´ı funkce u(t), ˇze odezva modelu soustavy yM(t) na u(t) bude co nejbliˇzˇs´ı poˇzadovan´emu pr˚ubˇehu w(t). Schematicky je tento proces zn´azornˇen na obr´azku 4.6.

Obr´azek 4.6: Postup optimalizace budic´ıho pr˚ubˇehu

Na poˇc´atku v´ypoˇctu jsou definov´any parametry poˇzadovan´eho pr˚ubˇehu w(t), jehoˇz zdvihy jsou sestaveny z ˇcistˇe sinusov´ych ´usek˚u. Podle navrˇzen´ych poˇzadovan´ych para-metr˚u se nastav´ı i poˇc´ateˇcn´ı parametry v prvn´ım kroku optimalizace. Pr˚ubˇehem w(t) je buzen navrˇzen´y kompenzaˇcn´ı filtr, na jehoˇz v´ystupu je budic´ı pr˚ubˇeh u(t). Ten je sle-dovan´ym v´ystupem cel´e optimalizace a jeho v´ysledn´y tvar se po ukonˇcen´ı optimalizace pouˇzije pro generov´an´ı tabulek pro SLAVE MCU. Odezva soustavy (pohonu a z´atˇeˇze) yM(t) na toto buzen´ı je simulov´ana pomoc´ı modelu soustavy z´ıskan´eho z identifikace a vstupuje do v´ypoˇctu krit´eria spolu s poˇzadovan´ym pr˚ubˇehem w(t). Krit´erium je stejnˇe jako u identifikace kvadratick´e a optimalizaˇcn´ı funkce se snaˇz´ı minimalizovat jeho hod-notu pomoc´ı zmˇeny parametr˚u optimalizovan´eho poˇzadovan´eho pr˚ubˇehu wOP T(t).

Optimalizovan´ymi parametry pr˚ubˇehu wOP T(t) jsou d´elka a posun ´useku T1, d´elka, posun a ´uhel ´useku T2 a d´elka ´useku T3, celkem tedy ˇsest parametr˚u. Optimalizace byla provedena pomoc´ı vlastn´ıho v´ypoˇctov´eho programu v jazyce MATLAB, s vyuˇzit´ım opti-malizaˇcn´ı funkce fminsearch. Tato funkce hled´a lok´aln´ı minimum funkce v´ıce promˇenn´ych v okol´ı zadan´ych poˇc´ateˇcn´ıch parametr˚u, coˇz je urˇcit´e ´uskal´ı cel´eho v´ypoˇctu, jelikoˇz pro spolehliv´e nalezen´ı optimalizovan´eho pr˚ubˇehu wOP T(t) je nutn´e ˇsestici poˇc´ateˇcn´ıch para-metr˚u zn´at pomˇernˇe pˇresnˇe. To je jeden z d˚uvod˚u, proˇc je optimalizace provedena zvl´aˇst’

pro ´usek T1 a zvl´aˇst’ pro ´useky T2, T3, kter´e jsou optimalizov´any jako celek. Rozdˇelen´ım se sn´ıˇzen´ı poˇcet parametr˚u optimalizac´ı, coˇz m´a pˇr´ızniv´y vliv na schopnost konvergovat k hle-dan´emu ˇreˇsen´ı. Druh´y d˚uvod vypl´yv´a z toho, ˇze sekvence obou pohon˚u jsou aˇz na poˇrad´ı jednotliv´ych ´usek˚u stejn´e, takˇze staˇc´ı prov´est jednu optimalizaci a v´ysledn´e d´ılˇc´ı pr˚ubˇehy se pouˇzij´ı pro sestaven´ı sekvenc´ı obou pohon˚u. To z´aroveˇn zaruˇc´ı, ˇze budic´ı pr˚ubˇehy u(t) obou pohon˚u budou tvarovˇe a ˇcasovˇe stejn´e.

Na obr´azc´ıch 4.7 a 4.8 jsou uvedeny v´ysledky optimalizace proveden´e pro rychlost 8, tj. 250 cykl˚u/min. Oznaˇcen´ı pr˚ubˇeh˚u odpov´ıd´a sch´ematu optimalizace na obr´azku 4.6.

Z obr´azk˚u je patrn´y pˇredstih wOP T(t) pˇred zb´yvaj´ıc´ımi pr˚ubˇehy, kter´ym je kompenzov´ano zpoˇzdˇen´ı filtru. V detailech dobˇeh˚u jsou vidˇet rozd´ıly v pr˚ubˇez´ıch w(t), kter´e jsou ´useky funkce sinus, a u(t), kter´e jiˇz vlivem filtrace nemaj´ı ostr´y pˇrechod, coˇz vede na aperiodick´y pr˚ubˇeh odezvy yM(t).

V detailu na obr´azku 4.8 je d´ale patrn´y v´yznam toho, proˇc optimalizovan´ym parame-trem je i ´uhel ´useku T2. Na vrcholu pˇrekmitu mezi ´useky T2 a T3 nenast´av´a ust´alen´y stav a proto je nutn´e hodnotu ´uhlu budic´ı funkce u(t) prostˇrednictv´ım zmˇeny wOP T(t) sn´ıˇzit tak, aby v´ysledn´a odezva yM(t) odpov´ıdala w(t). Vzhledem k tomu, ˇze model je pouze pˇribliˇznou aproximac´ı soustavy, neoˇcek´av´a se dosaˇzen´ı pˇresn´e hodnoty pˇrekmitu, ta ale nen´ı kritick´a. V´yhodou je naopak vyˇsˇs´ı plynulost pohybu a t´ım i niˇzˇs´ı hluk. Vari-anta s ust´alen´ym stavem byla tak´e vyzkouˇsena, ovˇsem potom jiˇz byl probl´em dos´ahnout poˇzadovan´eho ˇcasu zdvihu T3, kter´y se musel zkr´atit o dobu ustalov´an´ı zdvihu T2.

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045

0.026 0.028 0.03 0.032 0.034 0.036 0.038 70

Detail ustaleni na konci zdvihu T1

w(t) wOPT(t) u(t) yM(t)

Obr´azek 4.7: Optimalizace ´useku T1

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07

Cely prubeh zdvihu T2 a T3

t [s]

0.03 0.035 0.04 0.045 0.05 0.055 0.06

84

Detail prechodu mezi zdvihy T2 a T3

t [s]

Obr´azek 4.8: Optimalizace ´usek˚u T2 a T3

4.3.2 Generov´an´ı tabulek pro MCU

Sekvence kaˇzd´eho pohonu je sestavena z ˇsesti ´usek˚u: tˇr´ı zdvih˚u a tˇr´ı prodlev (viz obr´azek 1.2). Do tabulek pˇr´ıkaz˚u pro SLAVE MCU se ukl´adaj´ı jednak pr˚ubˇehy u(t) jednotliv´ych

´

usek˚u (T1, T2, T3) a tak´e doby prodlev mezi nimi (P1, P2, P3). Ty se mus´ı na z´akladˇe v´ysledk˚u optimalizace pˇrepoˇc´ıtat, aby celkov´a d´elka periody byla stejn´a jako poˇzadovan´a.

Optimalizovan´e pr˚ubˇehy jednotliv´ych ´usek˚u totiˇz vych´azej´ı s m´ırnˇe delˇs´ı dobou trv´an´ı.

Vlastn´ı generov´an´ı tabulek pˇr´ıkaz˚u m´a tˇri f´aze:

1. Rozloˇzen´ı sekvence na prodlevy a monot´onn´ı zdvihy – Toto je zabezpeˇceno jiˇz t´ım, ˇze optimalizovan´e pr˚ubˇehy u(t) jsou poˇc´ıt´any samostatnˇe. Pouze je nutn´e urˇcit pˇrechod mezi ´useky T2 a T3, kde doch´az´ı ke zmˇenˇe smˇeru.

2. V´ypoˇcet ˇcas˚u mezi pulzy a jejich smˇeru – Zde se vych´az´ı z toho, ˇze ˇr´ızen´ı kro-kov´eho motoru se prov´ad´ı opaˇcnˇe, neˇz ˇr´ızen´ı servopohon˚u, kde se zpravidla v pevn´em ˇcasov´em rastru pˇredepisuje velikost pˇr´ır˚ustku polohy. U krokov´eho motoru je tento pˇr´ır˚ustek d´an velikost´ı jednoho kroku, tud´ıˇz se poloha pˇredepisuje ˇcasem vykon´an´ı pulzu, resp. rozd´ılem ˇcas˚u mezi ˇr´ıdic´ımi pulzy. Jedn´a se tedy vlastnˇe o v´ypoˇcet in-verzn´ı funkce. Ten je proveden pomoc´ı line´arn´ı interpolace, kdy se ve vypoˇcten´em budic´ım pr˚ubˇehu u(t) hledaj´ı ˇcasy, kter´e odpov´ıdaj´ı poloh´am diskr´etn´ıch krok˚u mo-toru. Diferenc´ı tˇechto ˇcas˚u se z´ısk´a vektor ˇcas˚u mezi ˇr´ıdic´ımi pulzy pro uloˇzen´ı do tabulky v pamˇeti SLAVE MCU.

3. Ukl´ad´an´ı pˇr´ıkaz˚u pulz˚u a prodlev do soubor˚u v definovan´em poˇrad´ı – V tomto bodˇe jsou vypoˇcten´e ˇcasy mezi pulzy korigov´any o d´elku obsluhy pˇreruˇsen´ı, ˇcasy prodlev vˇetˇs´ı neˇz 52 ms jsou rozdˇeleny na v´ıce pˇr´ıkaz˚u a zaokrouhleny na cel´y n´asobek 3,2 µs.

Na z´akladˇe informace o smˇeru kroku jsou vytvoˇreny kompletn´ı pˇr´ıkazy definovan´e v tabulce 3.1. Z´avˇerem se vygeneruj´ı v´ystupn´ı soubory s tabulkami pˇr´ıkaz˚u pro oba pohony.

Cel´y v´ypoˇcet byl naprogramov´an v MATLABu, program je na pˇriloˇzen´em CD. Sche-matick´y postup je naznaˇcen na obr´azku 4.9. V´ychoz´ı parametry jsou zadan´e pro maxim´aln´ı uvaˇzovanou rychlost stroje 250 cykl˚u/min. Jelikoˇz je v´ysledn´y pr˚ubˇeh u(t) ve sv´e podstatˇe ˇreˇsen´ım diferenci´aln´ı rovnice (ˇreˇsen´e numericky), z´avis´ı na konkr´etn´ı rychlosti. Proto je nutn´e optimalizaci opakovat pro kaˇzdou rychlost zvl´aˇst’. Pokud by tomu tak nebylo, a optimalizace by se provedla pouze pro nejvyˇsˇs´ı rychlost, pˇriˇcemˇz pr˚ubˇehy pro niˇzˇs´ı rych-losti by se odvodily pomˇern´ym vyn´asoben´ım ˇcas˚u, byly by odezvy na niˇzˇs´ıch rychlostech zbyteˇcnˇe pomal´e, jelikoˇz se pˇri nich vlastn´ı dynamika soustavy tolik neprojev´ı.

Vygenerovan´e soubory jsou vol´any jako extern´ı vstup pˇri kompilaci program˚u pro SLAVE MCU a data z nich jsou vloˇzena do pamˇeti programu na pevnˇe vyhrazenou adresu, viz zaˇc´atek sekvence 1 na obr´azku 3.3. Kromˇe samotn´ych dat se generuj´ı jeˇstˇe soubory

Obr´azek 4.9: Algoritmus generov´an´ı v´ystupn´ıch soubor˚u

s osmi definovan´ymi adresami zaˇc´atk˚u sekvenc´ı, kter´e se do programu MCU uloˇz´ı jako konstanty. Za chodu se v kaˇzd´em cyklu pˇred zaˇc´atkem ˇcten´ı sekvence pˇr´ıkaz˚u provede nastaven´ı rychlosti, kter´e nastav´ı ukazatel tabulky v pamˇeti programu MCU na pozici danou jednou z osmi adres. Po dosaˇzen´ı konce vybran´e sekvence program opakuje ˇcten´ı opˇet od t´eto adresy, dokud nen´ı rychlost opˇet zmˇenˇena. T´ımto zp˚usobem je zaruˇceno, ˇze zmˇena rychlosti se projev´ı aˇz na zaˇc´atku dalˇs´ıho pracovn´ıho cyklu a nikdy ne v jeho pr˚ubˇehu.

Kapitola 5

V´ ysledky v re´ aln´ em provozu

5.1 Model se setrvaˇ cn´ıkem

5.1.1 Zkuˇsebn´ı pˇr´ıpravek

Jak jiˇz bylo zm´ınˇeno, byla re´aln´a z´atˇeˇz v prvn´ı f´azi zkouˇsek nahrazena setrvaˇcn´ıkem, kter´y simuloval dynamick´e zat´ıˇzen´ı motoru. Bˇehem t´eto f´aze byl hled´an vhodn´y zp˚usob syn-chronizace pohon˚u a prob´ıhalo celkov´e odlad’ov´an´ı HW i FW ˇr´ıdic´ı jednotky. V´ysledkem byly fin´aln´ı varianty sch´ematu zapojen´ı, firmware SLAVE i MASTER MCU a skript˚u v MATLABu pro v´ypoˇcet a optimalizaci budic´ıch funkc´ı. Pˇri pˇrechodu na funkˇcn´ı model ˇsic´ıho stroje se tak nemuselo jiˇz nic z´asadn´ıho upravovat.

Pro testov´an´ı pohon˚u se setrvaˇcn´ıky byl na pracoviˇsti KTS FS TUL navrˇzen a zkon-struov´an zkuˇsebn´ı pˇr´ıpravek, na kter´y byly namontov´any oba krokov´e motory, setrvaˇcn´ıky a IRC sn´ımaˇce polohy, viz obr´azek 5.1. Na setrvaˇcn´ıc´ıch byly um´ıstˇeny v´ystupky, kter´e se mohly opˇr´ıt o dorazy na r´amu, ˇc´ımˇz byla ovˇeˇrov´ana funkce odmˇeˇrov´an´ı referenˇcn´ı polohy naj´ıˇzdˇen´ım na mechanick´y doraz.

Obr´azek 5.1: Model a fotografie zkuˇsebn´ıho pˇr´ıpravku

5.1.2 Dosaˇzen´e v´ysledky

Prvn´ı v´ysledky z mˇeˇren´ı se setrvaˇcn´ıky pˇrinesla jiˇz identifikace modelu pohonu. Na z´akladˇe jej´ıch v´ysledk˚u byl navrˇzen kompenzaˇcn´ı filtr s inverzn´ım pˇrenosem. Nastaven´ı para-metr˚u modelu a filtru pˇresnˇe podle identifikace vˇsak nevedlo k optim´aln´ım v´ysledk˚um.

Pˇrekmity pˇri ustalov´an´ı na konci zdvihu sice byly v´yraznˇe niˇzˇs´ı, neˇz pˇri buzen´ı nefiltro-van´ym pr˚ubˇehem, ale pomoc´ı dalˇs´ıho experiment´aln´ıho nastaven´ı parametr˚u bylo dosaˇzeno v´ysledk˚u jeˇstˇe v´yraznˇe lepˇs´ıch. Hodnoty v´ysledn´ych parametr˚u filtru a modelu soustavy jsou n´asleduj´ıc´ı:

τ = 0,0008; ξ = 0,05; T = 0,00119

Rozd´ıl je zejm´ena v tlumen´ı ξ, kter´e vych´az´ı ˇr´adovˇe o polovinu niˇzˇs´ı, neˇz jsou hodnoty z´ıskan´e z identifikace.

Jelikoˇz chov´an´ı obou pohon˚u v provozu se setrvaˇcn´ıky bylo t´emˇeˇr identick´e, jsou mˇeˇren´ı zpracov´ana pouze pro pohon A. Namˇeˇren´e odezvy y(t) pro vˇsech osm rychlost´ı jsou uve-deny v pˇr´ıloze A, v´ysledek mˇeˇren´ı na nejvyˇsˇs´ı rychlosti je uveden na obr´azku 5.2. Do spoleˇcn´ych graf˚u jsou zakresleny i poˇzadovan´e pr˚ubˇehy w(t), kter´e byly ukl´ad´any bˇehem v´ypoˇctu budic´ı funkce, pr´avˇe pro moˇznost pozdˇejˇs´ıho srovn´an´ı s namˇeˇrenou odezvou.

Pro vˇetˇs´ı pˇrehlednost jsou z pr˚ubˇeh˚u poˇzadovan´e polohy w(t) a namˇeˇren´e polohy y(t) vypoˇcteny pr˚ubˇehy odchylek e(t) = w(t) − y(t).

0 0.05 0.1 0.15 0.2 0.25

Pozadovana poloha w(t), merena poloha y(t), rychlost 8

w(t)

Polohova odchylka e(t) = w(t) − y(t)

Obr´azek 5.2: Namˇeˇren´a odezva na modelu se setrvaˇcn´ıkem (rychlost 8)

Z nich jsou patrn´e dosahovan´e hodnoty polohov´ych odchylek bˇehem zdvih˚u i pˇrekmity bˇehem ustalov´an´ı ve v´ydrˇz´ıch. Sledovan´ym m´ıstem je zejm´ena ˇsipkami vyznaˇcen´y ko-nec zdvihu T1, kde se objevuj´ı neˇz´adouc´ı pˇrekmity. Jejich orientaˇcn´ı hodnoty, odeˇcten´e z graf˚u, jsou shrnuty v tabulce 5.1. Pro vˇsechny rychlosti je splnˇena stanoven´a podm´ınka maxim´aln´ı hodnoty pˇrekmitu 0,7 a to s bezpeˇcnou rezervou. Odchylky ˇz´adan´e a namˇeˇren´e polohy bˇehem zdvih˚u jsou pomˇernˇe v´yrazn´e a jsou zˇrejmˇe zp˚usobeny aproximac´ı line´arn´ım modelem, kter´y nevystihuje pˇresnˇe dynamiku v r´amci cel´eho zdvihu.

Tabulka 5.1: Amplitudy pˇrekmit˚u na modelu se setrvaˇcn´ıkem

In document TECHNICK ´A UNIVERZITA V LIBERCI (Page 49-59)