• No results found

K´odov´an´ı pˇr´ıkaz˚ u pro zad´an´ı pr˚ ubˇeh˚ u

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

pˇr´ıkaz bit 15 bit 14 funkce

puls CCW 0 0 krok proti smˇeru hod. ruˇciˇcek puls CW 0 1 krok ve smˇeru hod. ruˇciˇcek

pauza 1 0 ˇcek´an´ı bez generov´an´ı pulz˚u konec 1 1 zastaven´ı ˇcten´ı pˇr´ıkaz˚u

Generov´an´ı pˇresn´ych ˇcasov´ych interval˚u je zaloˇzeno na pˇreruˇsen´ı od ˇcasovaˇce MCU a to jak pro kr´atk´e intervaly mezi jednotliv´ymi pulzy, tak pro delˇs´ı ˇcasov´e prodlevy. ˇCasovaˇc m´a ˇs´ıˇrku 16 bit˚u a pˇreddˇeliˇcku s dˇelic´ım pomˇerem v rozsahu 1:1 aˇz 1:256. Vstupn´ım sign´alem je frekvence oscil´atoru dˇelen´a ˇctyˇrmi, tj. 10 MHz.

Rozsah ˇcasov´ych interval˚u, kter´e lze generovat, je zdola omezen d´elkou obsluhy pˇreruˇsen´ı, kter´a se mus´ı pˇri kaˇzd´em kroku vykonat. Obsluha trv´a 40 instrukˇcn´ıch cykl˚u, tud´ıˇz minim´aln´ı odstup pulz˚u, resp. jejich n´abˇeˇzn´ych hran, je 4 µs. Lze tak generovat frekvenci aˇz 250 kHz, coˇz je z´aroveˇn nejvyˇsˇs´ı frekvence, kterou dok´aˇze zpracovat budiˇc krokov´eho motoru2. Rozliˇsen´ı ˇcasu odpov´ıd´a jednomu instrukˇcn´ımu cyklu, tj. 100 ns. Ma-xim´aln´ı ˇcas je d´an ˇs´ıˇrkou slova 14 bit˚u, pomˇerem pˇreddˇeliˇcky ˇcasovaˇce a vstupn´ı frekvenc´ı.

Pro pˇr´ıkazy generov´an´ı pulz˚u PULS CCW, PULS CW je pˇreddˇeliˇcka vypnuta (pomˇer 1:1) a maxim´aln´ı ˇcas je pˇri frekvenci oscil´atoru 40 MHz cca 1,6 ms.

2Maxim´aln´ı frekvence ˇr´ıdic´ıch pulz˚u nez´avis´ı na nastaven´em rozliˇsen´ı mikrokrokov´an´ı, tud´ıˇz pˇri nejvyˇsˇs´ım rozliˇsen´ı 10 000 pls/ot lze dos´ahnout ot´aˇcek nejv´yˇse 1500 ot/min, i kdyˇz maxim´aln´ı ot´aˇcky motoru jsou 4 000 ot/min. Pln´e ot´aˇcky motoru lze vyuˇz´ıt pouze pˇri niˇzˇs´ım rozliˇsen´ı mikrokrokov´an´ı

Jelikoˇz je tento ˇcas pomˇernˇe kr´atk´y v˚uˇci dob´am poˇzadovan´ych prodlev, kter´e jsou ˇr´adovˇe v des´ıtk´ach ms, byl definov´an pˇr´ıkaz PAUZA, kter´y m´a pˇreddˇeliˇcku ˇcasovaˇce na-stavenou na pomˇer 1:32 a lze s n´ım generovat zpoˇzdˇen´ı aˇz 52,4 ms. Pokud je potˇreba jeˇstˇe delˇs´ı ˇcas, sloˇz´ı se z nˇekolika tˇechto pˇr´ıkaz˚u za sebou. Zaˇrazen´ım pˇreddˇeliˇcky se rozliˇsen´ı ˇcasu zhorˇs´ı na 3,2 µs, coˇz je vˇsak vzhledem k ˇcas˚um poˇzadovan´ych prodlev zanedbateln´e.

Pˇr´ıkaz KONEC ˇr´ık´a programu, ˇze dos´ahl konce sekvence a nem´a pokraˇcovat ve ˇcten´ı dalˇs´ıch pˇr´ıkaz˚u. Program pot´e ˇcek´a na dalˇs´ı spuˇstˇen´ı. Doln´ıch 14 bit˚u se u tohoto pˇr´ıkazu nevyhodnocuje.

Obr´azek 3.3: Rozdˇelen´ı pamˇeti programu

3.2.2 Algoritmus generov´an´ı pr˚ubˇeh˚u

Chod cel´eho programu je ˇr´ızen pomoc´ı pˇreruˇsen´ı, kter´e m´a u pouˇzit´eho MCU dvˇe ´urovnˇe priority. Pˇreruˇsen´ı n´ızk´e priority je pouˇzito pro spouˇstˇen´ı vykon´av´an´ı naprogramovan´e sekvence pomoc´ı vstupu vnˇejˇs´ıho pˇreruˇsen´ı, kter´y je ovl´ad´an z MASTER MCU (sign´al RUN/HALT). Pˇreruˇsen´ı vysok´e priority je vyhrazeno pro pˇreruˇsen´ı ˇcasovaˇce a slouˇz´ı ke generov´an´ı sign´al˚u ˇr´ıdic´ıho pulzu (PLS) a smˇeru kroku (DIR). Jeho obsluha je zn´azornˇena ve zjednoduˇsen´em v´yvojov´em diagramu na obr´azku 3.4.

Pˇri vyvol´an´ı pˇreruˇsen´ı se nejdˇr´ıve testuje, zda toto pˇreruˇsen´ı nen´ı prvn´ım po pauze.

Pokud ano, nen´ı generov´an sign´al PLS (ˇr´ıdic´ı puls), pouze se pˇreˇcte dalˇs´ı pˇr´ıkaz z tabulky.

Podle v´yznamu pˇr´ıkazu se program d´ale vˇetv´ı. Pro pˇr´ıkazy pulz˚u se nastav´ı sign´al DIR (smˇer) a hodnota ˇcasovaˇce, kter´a ud´av´a ˇcas do dalˇs´ıho pˇreruˇsen´ı. Nakonec je ˇcasovaˇc spuˇstˇen, obsluha pˇreruˇsen´ı se ukonˇc´ı a program ˇcek´a v pr´azdn´e hlavn´ı smyˇcce na dalˇs´ı pˇreruˇsen´ı. Pro pˇr´ıkaz pauzy je situace podobn´a, pouze se m´ısto nastaven´ı smˇeru provede nastaven´ı pˇr´ıznaku pauzy a zmˇena dˇelic´ıho pomˇeru pˇreddˇeliˇcky ˇcasovaˇce na 1:32. Pˇr´ıkaz konce sekvence provede kontrolu skuteˇcn´e polohy pohonu na konci sekvence. Pokud se liˇs´ı

Obr´azek 3.4: Obsluha pˇreruˇsen´ı ˇcasovaˇce

od poˇzadovan´e (s jistou toleranc´ı), je nastaven pˇr´ıznak chyby, rozsv´ıt´ı se indikaˇcn´ı LED a prov´adˇen´ı programu se zcela zastav´ı. Nov´e spuˇstˇen´ı je moˇzn´e aˇz po resetu MCU.

Vynech´av´an´ı pulzu po pauze m´a dvoj´ı v´yznam. V poˇc´atku pohybu nesm´ı b´yt puls generov´an, protoˇze motor stoj´ı ve v´ychoz´ı poloze a ˇcek´a aˇz na puls, kter´y jej posune na prvn´ı krok. I kdyˇz je vˇsak vynech´an ˇr´ıdic´ı puls, je generov´an sign´al smˇeru, kter´y je platn´y pro puls n´asleduj´ıc´ı.

3.2.3 Synchronizace pohon˚u

Synchronizace chodu dvojice pohon˚u je zajiˇstˇena koncepc´ı MASTER – SLAVE. Po za-pnut´ı nap´ajen´ı provedou oba SLAVE MCU odmˇeˇren´ı referenˇcn´ı polohy a najet´ı do v´ychoz´ı polohy pˇred spuˇstˇen´ım. Po dokonˇcen´ı tˇechto operac´ı ozn´am´ı hlavn´ımu MASTER MCU pˇripravenost pro spuˇstˇen´ı nastaven´ım sign´al˚u READY A a READY B do log. 1. Vy-kon´av´an´ı sekvenc´ı pohon˚u A, B je spuˇstˇeno spoleˇcn´ym sign´alem RUN/HALT, resp. jeho n´abˇeˇznou hranou. Na ni SLAVE MCU reaguj´ı v obsluze pˇreruˇsen´ı n´ızk´e priority spuˇstˇen´ım sekvence a nastaven´ım sign´al˚u READY A a READY B do log. 0. Po ´uspˇeˇsn´em do-konˇcen´ı sekvenc´ı se tyto sign´aly opˇet nastav´ı do log. 1, coˇz MASTER MCU vyhodnot´ı jako pˇripravenost na nov´e spuˇstˇen´ı, sign´al RUN/HALT na okamˇzik pˇrejde do log. 0, aby mohla b´yt vz´apˇet´ı generov´ana nov´a n´abˇeˇzn´a hrana pro spuˇstˇen´ı dalˇs´ı periody zdvihov´ych funkc´ı obou pohon˚u.

Pokud z nˇejak´eho d˚uvodu jeden ze SLAVE MCU nenastav´ı sv˚uj READY sign´al do log. 1, nevygeneruje MASTER MCU n´abˇeˇznou hranu na sign´alu RUN/HALT a t´ım je zabr´anˇeno spuˇstˇen´ı pohon˚u, kter´e by mohlo v´est k neoˇcek´avan´e kolizi JT. Po odstranˇen´ı z´avady je nutn´e celou ˇr´ıdic´ı jednotku restartovat.

Synchronizace pohon˚u v r´amci jedn´e periody pracovn´ıho cyklu je v reˇzii v´ypoˇctu bu-dic´ıch sekvenc´ı, kter´y je pops´an v ˇc´asti 4.3.2. V´ypoˇcet mus´ı zajistit, aby pr˚ubˇehy uloˇzen´e do pamˇet´ı SLAVE MCU byly v˚uˇci sobˇe spr´avnˇe ˇcasovˇe posunuty.

3.2.4 Odmˇeˇrov´an´ı referenˇcn´ı polohy

Jelikoˇz generov´an´ı polohy krokov´eho motoru i jej´ı odmˇeˇrov´an´ı jsou relativn´ı v˚uˇci poˇc´ateˇcn´ı hodnotˇe, je nutn´e tuto hodnotu pˇri kaˇzd´em spuˇstˇen´ı stroje definovat. Zpravidla se k to-muto ´uˇcelu pouˇz´ıvaj´ı r˚uzn´e koncov´e sp´ınaˇce, at’ uˇz optick´e, indukˇcnostn´ı ˇci mechanick´e.

Kl´ıˇcov´a je zde pˇresnost a opakovatelnost detekovan´e polohy. Poˇzadovan´a tolerance polohy JT je stanovena na 0,2 mm, coˇz je hodnota, kterou s levn´ymi sn´ımaˇci nelze dos´ahnout a nasazen´ı drah´eho sn´ımaˇce pouze pro nalezen´ı referenˇcn´ı polohy, byt’ je d˚uleˇzit´a, je finanˇcnˇe n´akladn´e.

Hled´an´ı referenˇcn´ı polohy proto bylo vyˇreˇseno pomˇernˇe netradiˇcn´ım zp˚usobem s vyuˇzit´ım polohov´e zpˇetn´e vazby motoru, kter´a bude v nˇejak´e podobˇe pˇr´ıtomn´a vˇzdy.

Zdvih klikov´eho mechanismu je vymezen kluzn´ymi vodic´ımi pouzdry JT a obj´ımkou

s ˇcepem pro ojnici, kter´a je na JT um´ıstˇena mezi pouzdry. JT m´a proto na kaˇzd´e stranˇe mechanick´y doraz, pˇriˇcemˇz jeden z tˇechto doraz˚u je definov´an jako referenˇcn´ı poloha JT.

Jej´ı vyhled´an´ı prob´ıh´a pomal´ym posouv´an´ım JT smˇerem k dorazu (rychlost´ı cca 1 mm/s) a souˇcasn´ym odmˇeˇrov´an´ım polohy IRC sn´ımaˇcem. Referenˇcn´ı poloha je vyhodnocena jako stav, kdy se po opˇren´ı obj´ımky JT o doraz pˇrestane mˇeˇren´a poloha mˇenit. Potom se pohyb zastav´ı a provede se najet´ı JT do v´ychoz´ıch poloh pˇred spuˇstˇen´ım sekvenc´ı. Zde se pro-vede vynulov´an´ı ˇc´ıtaˇc˚u v dekod´erech polohy a od tohoto m´ısta se potom poloha za chodu odmˇeˇruje.

Opakovatelnost t´eto metody je d´ana pˇresnost´ı polohov´an´ı krokov´eho motoru. Pˇri rozliˇsen´ı 10 000 krok˚u/ot a provozu na modelu se setrvaˇcn´ıkem prakticky dosahovala nejv´yˇse dvou krok˚u, tj. 0,072. Na funkˇcn´ım modelu ˇsic´ıho stroje se vlivem vyˇsˇs´ıch pa-sivn´ıch odpor˚u opakovatelnost pohybovala mezi dvˇema aˇz ˇctyˇrmi kroky, tj. nejv´yˇse 0,144. Tomu dle obr´azku 2.4 odpov´ıd´a zdvih ˇr´adovˇe v setin´ach mm, coˇz je zcela dostaˇcuj´ıc´ı pˇresnost.

Kapitola 4

N´ avrh metody ˇ r´ızen´ı

4.1 Poˇ zadavky a omezen´ı

Pro ˇr´ızen´ı pohonu JT jsou stanovena tˇri hlavn´ı krit´eria s n´asleduj´ıc´ı prioritou:

1. Dosaˇzen´ı v´ydrˇz´ı s poˇzadovanou pˇresnost´ı 0,2 mm (0,7) pro spolehliv´e pˇred´an´ı jehly.

To se t´yk´a zejm´ena pˇrekmit˚u na konci zdvihu T1.

2. ˇCasovˇe optim´aln´ı pˇrechod mezi v´ydrˇzemi JT, jelikoˇz doba trv´an´ı zdvih˚u spoluurˇcuje dosaˇzitelnou rychlost cel´eho stroje.

3. Minim´aln´ı dynamick´y moment bˇehem zdvihu, kv˚uli sn´ıˇzen´ı n´arok˚u na pohon.

Tyto poˇzadavky jsou dosti protich˚udn´e, body 1 a 3 jsou snadno ˇreˇsiteln´e zpomalen´ım zdvih˚u, coˇz ovˇsem vyluˇcuje bod 2. Z bod˚u 2 a 3 vych´azela volba zdvihov´e funkce jiˇz pro n´avrh pohonu se servomotory na KTS FS TUL (viz obr. 2.6). Pˇri prvn´ıch pokusech s kro-kov´ym motorem byly sekvence pohon˚u sestaveny z takto konstruovan´ych zdvihov´ych funkc´ı a naprogramov´any do ˇr´ıdic´ı jednotky. Pˇr´ısluˇsn´a odezva pohonu zat´ıˇzen´eho setrvaˇcn´ıkem je pro rychlost 250 cykl˚u/min uvedena na obr´azku 4.1. Je vidˇet, ˇze ust´alen´ı polohy je prov´azeno znaˇcn´ymi pˇrekmity1. Ve vyznaˇcen´em m´ıstˇe dosahuj´ı hodnoty pˇribliˇznˇe 3, coˇz je daleko za stanovenou hranic´ı ∆ϕ = 0,7. Pˇr´ıˇcinou je pˇrekroˇcen´ı momentu motoru, viz momentov´a charakteristika na obr´azku 2.7, ˇc´ımˇz je uvedena do ˇcinnosti kontroln´ı zpˇetn´a vazba budiˇce motoru. Ta sice zabr´an´ı ztr´atˇe kroku pˇri pˇret´ıˇzen´ı a poloha se nakonec ust´al´ı na spr´avn´e hodnotˇe, ust´alen´ı je vˇsak prov´azeno pˇrekmity.

Jelikoˇz jsou moˇznosti ˇr´ızen´ı krokov´ych motor˚u ve srovn´an´ı s klasick´ymi servopohony v´yraznˇe omezen´e, je jedn´ım z m´ala zp˚usob˚u dosaˇzen´ı stanoven´ych poˇzadavk˚u optimalizace budic´ı funkce tak, aby odezva na ni byla co nejbliˇzˇs´ı poˇzadovan´emu pr˚ubˇehu. Pˇritom by bˇehem zdvih˚u nemˇelo doch´azet k aktivaci kontroln´ı zpˇetn´e vazby budiˇce, tj. polohov´a odchylka by mˇela b´yt menˇs´ı neˇz 1,8.

1Pˇrekmitem, resp. amplitudou pˇrekmitu, je myˇslen rozd´ıl hodnoty maxim´alnˇe dosaˇzen´e a ust´alen´e

0 0.05 0.1 0.15 0.2 0.25

−100

−80

−60

−40

−20 0 20

t [s]

φ REL [°]

Obr´azek 4.1: Odezva pohonu bez ˇr´ızen´ı (zat´ıˇzeno setrvaˇcn´ıkem)

4.2 Metoda ˇ r´ızen´ı a identifikace

4.2.1 Dopˇredn´e ˇr´ızen´ı bez zpˇetn´e vazby

Pro optimalizaci zdvihov´e funkce byla zvolena metoda dopˇredn´eho ˇr´ızen´ı bez zpˇetn´e vazby.

Tato metoda vyˇzaduje matematick´y model ˇr´ızen´e soustavy ve formˇe obrazov´eho pˇrenosu, kter´y byl z´ısk´an experiment´aln´ı identifikac´ı. Obecn´ym principem je vloˇzen´ı kompenzaˇcn´ıho filtru mezi vstup ˇz´adan´e hodnoty a ˇr´ızenou soustavu. Pˇrenos tohoto filtru obsahuje in-verzn´ı pˇrenos regulovan´e soustavy, ˇc´ımˇz lze dos´ahnout zm´ırnˇen´ı vlivu jej´ı dynamiky na v´yslednou odezvu. Pro splnˇen´ı fyzik´aln´ı realizovatelnosti filtru je nutn´e jeho pˇrenos dopl-nit nezbytn´ym poˇctem p´ol˚u.

Pˇr´ınos t´eto metody spoˇc´ıv´a v odstranˇen´ı neˇz´adouc´ıch pˇrekmit˚u. ˇR´ızen´a soustava, tvoˇren´a budiˇcem, krokov´ym motorem a setrvaˇcn´ıkem, resp. klikov´ym mechanismem, je modelov´ana pˇrenosem, kter´y se snaˇz´ı vystihnout charakter kmit˚u soustavy. Inverz´ı tohoto pˇrenosu se z´ısk´a filtr, kter´y uprav´ı poˇzadovanou zdvihovou funkci tak, ˇze odezva soustavy na ni bude v ide´aln´ım pˇr´ıpadˇe aperiodick´a, neboli dojde k eliminaci komplexn´ıch p´ol˚u modelu soustavy nulami filtru v celkov´em pˇrenosu. Odpov´ıdaj´ıc´ı blokov´e sch´ema je na obr´azku 4.2.

Obr´azek 4.2: Blokov´e sch´ema dopˇredn´eho ˇr´ızen´ı 4.2.2 Struktura modelu

Aˇckoli je krokov´y motor ze sv´e fyzik´aln´ı podstaty kmitav´a neline´arn´ı soustava, byl v prvn´ı f´azi pro zjednoduˇsen´ı modelov´an line´arn´ım pˇrenosem druh´eho ˇr´adu s komplexn´ımi p´oly, tj. nejjednoduˇsˇs´ım modelem, kter´ym lze aproximovat tlumen´e kmit´an´ı [10]. Modelovan´y pˇrenos zahrnuje budiˇc motoru, samotn´y motor a konkr´etn´ı z´atˇeˇz, coˇz je bud’ setrvaˇcn´ık, nebo klikov´y mechanismus. Zvolen´y obrazov´y pˇrenos soustavy m´a tvar:

FKM(s) = k

(T s)2+ 2ξT s + 1 (4.1)

V´yznam koeficient˚u pˇrenosu je n´asleduj´ıc´ı:

k - statick´e zes´ılen´ı soustavy. Uvaˇzovan´y pˇrenos je pˇrenosem polohy, tzn. k=1.

T - n´asobn´a ˇcasov´a konstanta, T = 1/ωN, kde ωN [rad/s] je pˇrirozen´a ´uhlov´a frekvence.

ξ - pomˇern´e tlumen´ı soustavy

4.2.3 Identifikace

Identifikace parametr˚u zvolen´e struktury modelu byla provedena z namˇeˇren´e odezvy. Bu-dic´ı funkce, pouˇzit´a pro identifikaci, je, na rozd´ıl od buzen´ı pouˇz´ıvan´eho u varianty stroje se servomotory, sestavena z ˇcistˇe sinusov´ych pr˚ubˇeh˚u zrychlen´ı, kter´e proto obsahuj´ı skoko-vou zmˇenu na zaˇc´atku a konci pr˚ubˇehu. Pˇrekmity jsou tak jeˇstˇe v´yraznˇejˇs´ı, neˇz na obr´azku 4.1, coˇz pro ´uˇcely identifikace nen´ı na z´avadu.

Princip parametrick´e identifikace je pops´an v [11] a z´akladn´ı algoritmus v´ypoˇctu uv´ad´ı obr´azek 4.3. Pro poˇzadovan´e buzen´ı w(t) je zmˇeˇrena odezva re´aln´e soustavy y(t) a pro zvo-lenou strukturu modelu je opakovanˇe poˇc´ıt´ana odezva modelu yM(t). Oba pr˚ubˇehy vstu-puj´ı do v´ypoˇctu kvadratick´eho krit´eria, kter´e hodnot´ı m´ıru shody odezvy modelu s odezvou mˇeˇrenou. Na z´akladˇe hodnoty krit´eria se upravuje vektor promˇenn´ych parametr˚u modelu tak, aby se hodnota krit´eria minimalizovala. Pouˇzit´e krit´erium je pˇredeps´ano vzahem:

J (ξ, T ) =

N

X

k=1

[y(k) − yM(k)]2, (4.2)

Identifikace byla provedena pro 8 r˚uzn´ych rychlost´ı, jejichˇz konkr´etn´ı volbu uv´ad´ı ta-bulka 4.1. Rychlost 100 % odpov´ıd´a 250 cykl˚um/min. Pro identifikaci byl pouˇzit zdvih

Obr´azek 4.3: Princip parametrick´e identifikace

T1, o kter´y pˇri optimalizaci zdvihov´e funkce jde pˇredevˇs´ım. ˇCasov´e pr˚ubˇehy, srovn´avaj´ıc´ı re´alnou odezvu s odezvou identifikovan´eho modelu, jsou uvedeny v pˇr´ıloze A. Z pr˚ubˇeh˚u je patrn´e, ˇze perioda kmit˚u re´aln´eho pohonu postupnˇe kles´a, coˇz je znakem nelinearity sou-stavy. Aproximace line´arn´ım modelem je tedy pomˇernˇe hrub´a, a vystihuje sp´ıˇse jen prvn´ı periodu pˇrekmit˚u. Identifikovan´e parametry modelu pro vˇsechny rychlosti jsou uvedeny v tabulce 4.1.

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