Szervomotor pozíciószabályozása 1. A gyaorlat célja Egyenáramú szervomotor pozíciószabályozásána tervezése. A pozíció irányítási algoritms megvalósítása valós iben. A pozíció szabályozás tranzienséne archiválása, grafis megjelenítése. 2. Elméleti bevezet A PD szabályozó A Proporcionális - Deriváló ialaítás figyelembe veszi a hiba változását is. A eriváló csatorna a hiba változásából öveteztet a hiba tenenciájára, jövbeli alalására és a szabályozó ezt is figyelembe veszi a beavatozó jel számításánál. A 1 Ábra a szabályozási hiba (e) lehetséges alalását szemlélteti. Minét esetben a t=t 1 pillanatban az atálisan mért hiba értée megegyezi, e az els esetben a folyamat imenete özelei az alapjelhez, a másoi esetben a folyamat imenete távoloi az alapjeltl. A PD szabályozó a ét esetben másépp reagál: a iszámított beavatozó jel nagyobb lesz abban az esetben, amior a imenet távoloi az alapjeltl, figyelembe véve a hibafüggvény irányát az atális szabályozási pillanatban. 1. Ábra: A hiba változása A beavatozó jel számításánál a hiba tenenciáját a hiba eriváltjával jellemezzü: >0 paraméter a eriválási i. A szabályozó átviteli függvénye: e ( t) = K Pe( t) +, K P, > 0 (1) t
( e( se( )) ( = K s P + ( H PD ( = = K P ( 1 + (2) e( Látszi, hogy az átviteli függvény nem azális, így az ieális folytonos iej PD szabályozó nem megvalósítható. A mintavételes ialaításnál a eriváló csatorna megvalósításához a hátratartó ifferencia özelítést alalmazhatj. a mintavételi perióst jelöli. A (3) alapján a beavatozó jel számítása a -i mintavételben: e e e 1 (3) t = K P e + e e 1 (4) A mintavételes approximáció átviteli függvényéne felírásához a Z transzformáltat alalmazhatj: + = K P1 e K P e 1 = q0e + q1e 1 ( = q 1 0e( + q1z e( z ) ( q0z + q ( = = (5) e( z H PD 1 Látszi, hogy a mintavételes átviteli függvény már azális, miözben a folytonos nem. Ez azért lehetséges, mert a mintavételes átvitel nem az ieális PD, hanem a PD szabályozó approximációját moellezi, a felírásához a (2) approximációt alalmazt. A folytonos ieális PD szabályozó egységgrásra aott válasza és Boe iagramja a 2 Ábrán látszi. A eriváló csatorna miatt a t=0 ipillanatban a beavatozó jel végtelen nagy értéet vesz fel. A Boe iagram alapján látszi, hogy a szabályozó a nagyfrevenciás jeleet felersíti, a nemazális jelleg miatt a nagyfrevenciá tartományában az ersítés végtelenül növeszi. Mivel a zajo általában a magas frevenciá tartományában jelentezne, a PD szabályozó zajérzéeny. Ha nagy mérési zajoal ell számolni, nem célszer a eriváló csatornát alalmazni.
2 Ábra: Az ieális PD szabályozó egységgrásra aott válasza és Boe iagramja Holtsáv és ompenzálása A holtsáv nemlinearitás statis átvitelét ( bemenet, v imenet) a 3 Ábra mtatja. A imenet aig nem változi, amíg a bemenet abszolút értée nem éri el a holtsáv szélességét (δ). Ha abszolút értée nagyobb mint δ, a imenet a bemenet függvényében mereeséggel, lineárisan n. ( δ ), > δ v = D( ) = 0, δ (6) ( + δ ), < δ 3 Ábra: Holtsáv A holtsáv mechaniai renszereben általában a súrlóás miatt jeleni meg. Feltételezzü, hogy a súrlóást a olomb súrlóási moell írja le. A olomb súrlóás értée (τ ) onstans, csa a sebesség eljelétl függ. Ugyanaor az álló mechaniai renszer sebessége (ω) csa aor váli nllánál nagyobbá, ha a rá ható - pélál egy motor által ifejtett nyomaté (τ) nagyobb lesz, mint a olomb súrlóás értée:
F = sign( ω), F τ (7) τ, < F F >0 olomb súrlóási együttható. Feltételezzü, hogy az irányított renszer bemenete a motorra aott felszültség (U), imenete a mechaniai renszer ω sebessége. Ha a motor rotorjána ellenállása R és nyomatéállanója τ, aor elhanyagolva a motor eletromos iállanóját a motor által ifejtett nyomaté τ=( τ /R)U. ehát a mechaniai renszer sebessége nlla mara minaig, amíg a bemeneti felszültség el nem éri a δ=(r/ τ )F értéet. Aztán a sebesség a bemeneti feszültséggel arányosan n. A holtsáv ompenzálásához a szabályozó imeneti jelét a holtsáv inverzével móosítj (lás 10.32 Ábra). A holtsáv inverzéne statis átvitele ( bemenet, imenet): = DI ( + δ, ) = 0, δ, = 0 > 0 < 0 (8) 4 Ábra: Holtsáv inverze Ha a holtsáv nemlinearitás bemenete a holtsáv inverzéne imenete, aor a holtsáv bemenete minig δ nál nagyobb lesz. Az imenetet, a pozitív tartományban, az alábbi móon számíthatj: + δ v = D δ = ( ) = D( DI( )) = (9) A önnyen belátható, hogy v= negatív tartományban is érvényes. ehát ha a holtsáv bemenetét móosítj a holtsáv inverzével. a ét átvitel sorban evivalens az egységnyi ersítvel, a holtsáv inverze ompenzálja a holtsáv hatását.
3. A mérés menete 3.1 A pozíciószabályozás tervezése Legyen a motor inamiáját leíró egyenlet: J α + A α K (8) m = ahol J jelöli a terhelés tehetetlenségi nyomatéát, A m az eletromágneses állanója, K a bemeneti feszültség ersítése. A motor átviteli függvénye: H M ( ( K = ( s( Js + A = α (9) A (9) és (2) összefüggése alapján, a = J/A m választással a nyílt renszer: A zárt renszer: H m K = K P ( s + 1) Js + A ) K K P N ( = (10) m Am s H N ( 1 H o ( = = (11) 1+ H N ( Am s + 1 K K Látszi, hogy minél nagyobb a szabályozó ersítése a renszer válasza annál gyorsabb. Ugyanaor a folyamatban lev integrátor miatt egységgrásra garantált a nlla állanóslt állapotbeli hiba. 3.2. A pozíciószabályozás megvalósítása Elészítés: A pozíciószabályozáshoz az elírt pozíciót a DESIRED POSIION ablaelembl olvass be raián/másoperc mértéegységben. A proporcionális ersítést és a eriválási it a KP és D csúszáról olvass le a sliervariable.getpos() függvénnyel. A D csúszáról leolvasott értéet el ell osztani 1000-el. PD implementálása: Az implementáláshoz elször a sebességszabályozási hibát számítj i: e =α ref -α. A beavatozó jel iszámításához az (4) összefüggést alalmazz. Beavatozó jel iülése: A holtsáv ompenzálásához elször a nyílt hrú teszt segítségével mérjü meg a holsáv szélességét (δ). A apott értéel móosíts a beavatozó jelet: P
if (>0) +=δ if (<0) -=δ A beavatozó jel iülésénél anna értéét limitálni ell +/- 5000 mv özé. A iülés az alábbi móon történi: Kiüljü a beavatozó jel abszolút értéét az Avantech ártya feszültségimenetén maj a beavatozó jel eljeléne függvényében iüljü a motorna az irány bitet (0-s imeneti port 0-s bitje). Pozitív beavatozó jel esetén 1-et, negatív beavatozó jel esetén 0-t ülün i. Aato mentése állományba: Mentsü el a renszer tranziens válaszát egy, a Matlab által felolgozható állományba. A pozíciószabályozás inításána pillanata táni 500 mintát mentsü el úgy, hogy az elírt pozíció 3000 fo legyen. A ívánt állomány formája (mérése.m): alfa=[0.07 0.12 0.34 5.45.. 3000.1];\n plot (alfa); Az állományba létrehozásához írásához alalmazhatj a File oszályt: Létrehozás, bezárás: File f f.open (állománynév, File::Moereate File::MoeWrite) f.lose(); Állományba írás: char text[1000] sprintf(text, beiroano_szoveg) f.write(text, strlen(text)) A mért pozícióaatoat tárolhatj egy List osztályba. Amior a lista hossza eléri az 500-at, a mérési aatoat szöveges típsú változóba mentjü és iírj az állományba. Lista létrehozása: List<float,float> alpha Listába írás: alpha.aail(alpha_) Listából olvasás: x=alpha.removehea() 4. Kérése és felaato 1. esztelje a programot úgy, hogy nem alalmazza a beavatozó jel iülésénél holtsáv ompenzálását. Hogyan móosl a pozíciószabályozási hiba? 2. esztelje a program ftását úgy, hogy a beavatozó jel iülését +/- 7000 mv -ra limitálja. Milyen változás látszi? 3. Móosítsa a programot úgy, hogy az elírt pozíció ne onstans legyen, hanem lineárisan njön 360 fo/másoperc mereeséggel. Mennyi az így elérhet pontosság?