Abstrakt Abstrakt I dette projekt er der arbejdet med simulering og regulering af et XY-maskinbord. Vigtige elementer i arbejdet var opstilling af de matematiske ligninger for en simplificeret model af bordet samt analyse af dette dynamiske system. Dernæst blev der dimensioneret et antal regulatorer i henhold til den klassiske og moderne reguleringsteori. Endelig blev regulatorernes ydelse testet ved en række forskellige simuleringer. Jens Skovgaard Olsen Lars Christian Henriksen S011498 S010229 I Forord Forord Denne rapport blev udarbejdet i forårssemestret 2005 i kurset 41670 Motion Control på MEK-DTU. Eftersom rapporten blev udarbejdet af kun to studerende med elektroretning som baggrund, så blev der primært fokuseret på de reguleringstekniske problemer i projektet og sekundært på de maskintekniske. II Indhold Indhold 1. INDLEDNING....................................................................................................1 1.1 Projektafgrænsning................................................................................................................................ 1 1.2 Kravspecifikation ................................................................................................................................... 1 2. BESKRIVELSE AF SYSTEMET.......................................................................2 2.1 Matematisk beskrivelse af XY-maskinbord ......................................................................................... 2 2.2 Valg af motor .......................................................................................................................................... 4 2.3 Parametre................................................................................................................................................ 5 3. KLASSISK REGULERING ...............................................................................6 3.1 Opbygning af regulatorer ...................................................................................................................... 6 3.2 Test og evaluering af ydelse og stabilitet ............................................................................................ 10 4. MODERNE REGULERING.............................................................................12 4.1 Opstilling af model ............................................................................................................................... 12 4.2 Costate system....................................................................................................................................... 14 4.3 Observer baseret servosystem ............................................................................................................. 19 5. KONKLUSION................................................................................................22 6. LITTERATURLISTE .......................................................................................23 7. BILAG.............................................................................................................24 7.1 Oversigt over vedlagte filer.................................................................................................................. 24 7.2 Maxon RE75 datablad ......................................................................................................................... 25 III Indledning 1. Indledning I takt med, at den teknologiske udvikling og konkurrence fra lavtlønslande bliver mulighederne for anvendelse af automation mere og mere rentabel. Robotter vil i stigende grad overtage arbejde tidligere udført af mennesker, fordi de kan gøre det med større præcision og med langt højere hastighed end mennesker. I dette projekt vil vi kigge nærmere på et maskinbord kaldet et XY-maskinbord. Her har man tidligere kun kunne styre bordets position vha. håndrevne hjul. I nyere tid har det været muligt at lade styringen blive varetaget motorer og servoregulatorer, der følger de programmerede referencer med høj præcision, hastighed og reproducerbarhed. 1.1 Projektafgrænsning At bygge et XY-maskinbord, med al mekanik og elektronik er en dyr og tidskrævende affære, som således ikke er en del af projektet. Vi vil ikke komme nærmere ind på den virkelige implementering af systemet. Vi vil blot opstille de matematiske ligninger for en simplificeret model af bordet og analysere dette dynamiske system og udvikle forskellige servoregulatorer til det. 1.2 Kravspecifikation Følgende krav stilles til styringen af systemet: • Intet oversving - Der må ikke være noget oversving på et trinrespons, da dette vil resultere i beskadigelse og forkert bearbejdning af emnet i maskinbordet. • Ingen positionsfejl - Der må ikke forekomme stationære fejl ved trinrespons, da dette vil resultere i upræcis bearbejdning af emnet. • Lille hastighedsfejl - En eventuel hastighedsfejl skal være så lille som muligt, hvilket vil sige under 0,02 m ved et rampeinput på 1 rad/s. • Samme hastighedsfejl - Begge aksers hastighedsfejl bør være ens, da der eller vil forekomme forkert bearbejdning af emnet. • Hastighed - Maskinbordet bør være i stand til at flytte sig 1 m på under 1 s. • Forstyrrelse – Maskinbordet bør være i stand til at afvise forstyrrelsesmomenter under 5 Nm. Til et virkeligt mekanisk system ville der også blive stillet krav til: • Positionering – En præcisionstolerance på fx 1e-6 m. • Reproducerbarhed – Hvor meget et færdigbearbejdet emne ligner andre emner fra samme produktion. 1 Beskrivelse af systemet 2. Beskrivelse af systemet Maskinbordet består af to akser, der kan køre hver sin slæde 1 m mellem endepunkterne. Y-aksen er placeret oven på x-aksens slæde. X-aksen altså skal bære både sin egen vægt og hele y-aksen. Slæderne køres frem og tilbage ved at en skrue drejer og derved flytter den spindel som slæden sidder på. Hældningen på skruens gevind og et gear mellem motor og skrue vil bestemme forholdet mellem slædens lineære bevægelse og skruens rotation. Sensorsignaler Digital regulator X-akse Effektforstærkere Y-akse Styresignaler Figur 1. XY-bord og regulator. Skruens rotation kan enten styres med en motor eller et håndhjul. Motoren drives af en effektforstærker med en udgangsspænding på maksimalt ±12 V. På motorerne er der placeret et tachometer, der måler motorens og derved skruens vinkel hastighed. Slædens position bliver også målt med en lineær sensor. Sensorernes målinger sendes til en digital regulator, der sampler så hurtigt (0,1 MHz) og ved så høj præcision (24 bit), at regulering i det kontinuerte tidsdomæne kan anses som en tilstrækkelig aproksimering. Den digitale regulator kan programmeres så den benytter klassisk reguleringsteknik med en hastighedssløjfe inderst og en positionssløjfe yderst. Eller morderne regulering kan benyttes, hvor både observer og tilstands tilbagekobling benyttes i state space. 2.1 Matematisk beskrivelse af XY-maskinbord XY-maskinbordet består som tidligere nævnt af to uafhængige akser og de kan derfor modelleres ens. Differentialligningerne er Laplacetransformeret med det samme. 2 Beskrivelse af systemet 2.1.1 Ankerstyret DC-motor Hovedkomponenten i hver akse er den ankerstyrede DC-motor. Først skrives de elektriske ligninger op. Motoren styres af ankerstrømmen ia, der løber gennem ankermodstanden og ankerinduktansen. I a ( s ) = (ea ( s ) − eb ( s ) ) /( R + L ⋅ s ) Den elektromotoriske kraft eb er et spændingsfald over motoren proportionalt med rotationshastigheden eb ( s ) = k e ⋅ ω ( s ) R L + - ea - Tres=Tm – TL θ,ω eb + ia Belastning Inertimoment = J Viskos friktion = B Figur 2. Model af motoren. Herefter kan ligningerne for Newtons 2. lov, for rotation, opskrives, de beskriver momenterne i systemet. Det resulterende moment bliver således. Tres ( s ) = J ⋅ s 2 ⋅ θ ( s ) + B ⋅ s ⋅ θ ( s ) = Tm ( s ) − T L ( s ) Hvor TL er en ukendt momentforstyrrelse. Motoren yder et moment proportionalt med ankerstrømmen. Tm ( s ) = K M ⋅ i a ( s ) 2.1.2 Slæde Det samlede inertimoment som motoren er belastet med er givet ved følgende. J = JM + Jw + Jh + JL Motor JM Skrue (Lead-screw) JL Maskinbord Jw Håndhjul Jh Figur 3. Model af maskinbordet. 3 Beskrivelse af systemet Hvor JM er motorens interne inertimoment og Jh er håndhjulets inertimoment. Jw er det ækvivalente inertimoment for maskinbordet, med massen Mw, korrektionsfaktoren Kw og hældningen på skruens gevind γ. J w = K w M w ⋅ (γ /( 2π ) ) 2 JL er inertimomentet for skrue hvor denne antages at være en massiv cylinder med massen ML og den effektive radius r. JL = M L ⋅r2 /2 Maskinbordets position har følgende sammenhæng med skruens position: Y (s) = θ (s) ⋅ γ Alle disse ligninger kan sættes op som vist på blokdiagrammet nedenfor: Figur 4. Model af motor og gear. Her ses det, at systemet er et type 1 system, da der er 1 integrator uden for sløjferne, hvilket også kan ses af åbensløjfe overføringsfunktionen: γ ⋅ KM Y (s) = e a ( s ) s ⋅ ((R + L ⋅ s )( J ⋅ s + b ) + k e ⋅ K M ) Det bør kraftigt understreges, at systemet i Figur 4 er et idealiseret system. I et virkeligt system vil man skulle kæmpe imod ulineære elementer forårsaget af fx slør og tør friktion. Disse elementer kan til en vis grad minimeres ved brug af højpræcisions komponenter såfremt budgettet tillader det. Slid vil imidlertid forværre problemerne. 2.2 Valg af motor Et oplagt krav til motorerne er, at de skal kunne levere et moment, som er stort nok til at kunne flytte slæderne hurtigt nok. I dette regnestykke spiller gearingen naturligvis ind. Endvidere skal de kunne køre på ±12V forsyningsspænding. Af hensyn til reguleringen og lettelser i vedligeholdelse blev det valgt at bruge den samme motor til begge akser. Valget faldt på en motor fra Maxon med modelnavnet RE75. Dataene for motoren fremgår af kapitel 7.2. 4 Beskrivelse af systemet 2.3 Parametre Herunder fremgår den m fil, som bliver brugt til at initialisere de forskellige konstanter. %Parameters for DC-motor, sensors etc M_wy=20.8; %[kg] mass of the Y-part of the table and load M_wx=60; %[kg] mass of the X-part of the table and load K_w=1.1; %[-] correction for friction in bearings c_1=8.5e-4; %[m] constant, which gives the relationship between driving moment on the ballspindle and the force on the machine tool table K_a=1.2; %[A/V] amplifier gain %Ball spindle data r=12e-3; %[m] M_L=0.8; %[kg] J_L=M_L*(r^2)/2;%[kg*m^2] J_h=34.5e-6; %[kg*m^2] gamma=8e-4; %[m/rad] %Parametre for MAXON RE75 J_m=1.4e-6; %[kg*m^2] K_M=58.1e-3; %[N*m/A] k_e=6.4e-4; %[V*s] R=0.11; %[Ohm] L_induk=0.04e-3;%[Henry] B_vis=5.8e-5; %[kg*m^2/s] Moment of inertia for lead-screw: Moment of inertia for hand wheel fixed to ball-spindle pitch of the ball-spindle screw DC servo motors moment of inertia DC servormotor mechanical constant DC servormotor electrical constant motor resistance motor inductance Total equivalent viscous friction coefficient J_wx=K_w*M_wx*(gamma/(2*pi))^2; J_wy=K_w*M_wy*(gamma/(2*pi))^2; J_y=J_m+J_h+J_L+J_wy; % J_x=J_m+J_h+J_L+J_wx; % Samlet inertimoment for y-slæde Samlet inertimoment for x-slæde 5 Klassisk regulering 3. Klassisk regulering Da de to akser er uafhængige af hinanden i denne simplificerede model, kan deres regulering og styring designes separat. Først designes regulering til y-aksen og herefter afprøves om den kan benyttes uden ændringer kan benytte til regulering af x-aksen. Figur 5. De to akser med regulatorer Der sluttes to sløjfer på hver akse. En indre hastighedssløjfe og en ydre positionssløjfe. 3.1 Opbygning af regulatorer Der stilles store krav til både performance og præcision. Så fra starten vælges der at benytte PI-Lead regulatorer, herefter kaldet PID regulatorer, da disse opfylder begge krav. Ønskes en af delene ikke anvendt, kan parameteren for den ikke ønskede del blot sættes lig 0. 6 Klassisk regulering ⎞ ⎛ τ +1 ⎞ ⎛ 1 ⎟⎟ G PID ( s ) = K p ⋅ ⎜⎜ + 1⎟⎟ ⋅ ⎜⎜ d ⎝ τ i ⋅ s ⎠ ⎝ α ⋅τ d + 1 ⎠ Da præcision er et meget vigtigt krav er integrationsdelen af positions- og hastighedsregulatoren nødvendig. Integrationsdelen i positionsregulatoren vil forhindre en stationær fejl ved et trinrespons. Mens integrationsdelen i hastighedsregulatoren vil forhindre stationærfejl ved et ramperespons. For at hindre oversving ved et trinrespons bør et lead-led benyttes i positionsregulatoren. 3.1.1 Dimensionering af regulatorer Regulatorerne kan nu dimensioneres og ved trial & error er følgende parametre fundet. Positionsregulator Hastighedsregulator PI Lead K p , p = 200 α p = 0,1 τ i , p = 0,1 τ d , p = 0,05 K p ,v = 10 τ i ,v = 0,01 α v = 0,1 τv = 0 Et bodeplot af åbensløjfe overføringsfunktionen kan nu undersøges og fase og forstærkningsmargin kan fastlægges. Figur 6. Åbensløjfe Bode plot. Som det ses af ovenstående figur er forstærkningsmargin henholdsvis fasemargin lig med. Gm = 12,4dB og γ m = 47,6 7 Klassisk regulering Disse ligger indenfor stabilitetsgrænserne som sættes til at være. Gm , stabil ≥ 6dB og γ m, stabil ≥ 30 Et enhedstrinrespons kan nu klarlægge systemets stationære og dynamiske egenskaber. Men da dette ikke er det rigtige system, men en lineær approksimation uden mætning i effektforstærkeren giver det ikke mening at undersøge disse egenskaber her. Figur 7. Steprespons uden mætning. Som det ses på ovenstående figur er der et lille oversving. Dette er ikke i overensstemmelse med kravspecifikationen, men er nødvendigt for at integratoren har en effekt i forhold til lead-delen. Nødvendigheden heraf bliver forklaret nærmere i næste afsnit. 3.1.2 Mætning af effektforstærker Effektforstærkeren, der driver motoren bliver forsynet med ±13 V hvilket giver en udgangsspænding der kan ligge inden for ca. ±12 V. Dette ulineære fænomen giver problemer i forbindelse med regulering af systemet. Begrænsningen gør at systemet ikke opfører sig som forventet ved et trinrespons. Fænomenet kendt som integrator wind-up kan forekomme i dette tilfælde. Dvs. at hvis regulatorerne er dimensioneret for aggressivt vil integratoren i regulatoren fortsætte med at integrere fejlen op og dermed bede om højere udgangssignal fra regulatoren selvom den allerede giver alt hvad den har. Når referencen endelig nås vil integratoren være skudt så højt over målet, at den vil tvinge regulatoren til at fortsætte opad og dermed være skyld i oversving og efterfølgende svingninger og måske endda ustabilitet som det ses på Figur 8. 8 Klassisk regulering Figur 8. Steprespons med integrator wind-up. Man kan derfor enten dimensionere regulatoren mindre aggressivt eller indføre en mætning i integratoren, således at den ikke bliver skruet for hårdt op i forbindelse med en fejl mellem reference og tilbagekobling. Figur 9. Mætning i integratoren. Da vi ikke ønsker at dimensionere regulatorerne igen vælger vi at indsætte en mætning i integratorene. Grænserne for mætningen vælges ved trial & error. Figur 10. Steprespons med mætning. Figur 11. Steprespons på forstyrrelsesindgang. Mætningen af effektforstærkeren giver også en grænse for evnen til at afvise forstyrrelser. Det største moment motoren kan levere er: Tm ,max = ea ,max ⋅ K M / R = 6,3[Nm] 9 Klassisk regulering Det vil sige, at hvis forstyrrelsen er større end dette moment vil der komme en stationær fejl og slædens position vil blive styret af forstyrrelsesmomentet og ikke motorens moment. På Figur 11 ses at slædens position ikke længere kan styres af motoren som har fuldt styresignal. 3.2 Test og evaluering af ydelse og stabilitet t r = 0,3[s] og e ss ,trin = 0 t r = 0,3[s] og e ss ,trin = 0 Figur 12. Trinsvar. Trinsvarene på figurerne ovenfor viser at de to akser opfører sig ens og kravene til stigtiden og positionsfejlen er opfyldt. ess ,rampe = 0,018[m] for ref = 1[rad/s] ess ,rampe = 0,018[m] for ref = 1[rad/s] Figur 13. Rampesvar. Rampesvarene på figurerne ovenfor viser at de to akser opfører sig ens og kravene til hastighedsfejlen er opfyldt. 10 Klassisk regulering Figur 14. Cirkelinput. Figur 15. Firkantinput. Til sidst prøves lidt mere komplicerede 2 dimensionelle referencer. En firkant og en cirkel. Som det ses på figurerne til højre, hvor der er zoomet ind på grafen, kan man se, at der er en lille fejl på cirklen (1e-3 m). Denne fejl bliver mindre, når simuleringstiden øges og regulatoren derved får længere tid til at regulere. Firkanten rammes af et oversving på 1 promille. Dette er naturligvis ikke acceptabelt, da kravspecifikationen krævede, at ingen fejl og oversving forekom. 11 Moderne regulering 4. Moderne regulering 4.1 Opstilling af model Differentialligningerne for XY-bordet er i henhold til kapitel 2.1, blot i tidsdomænet, gengivet herunder. di (t ) + K e ⋅ ω (t ) dt ( 4-1 ) dω (t ) = K m ⋅ i (t ) − b ⋅ ω (t ) − Tb (t ) dt ( 4-2 ) v(t ) = R A ⋅ i (t ) + L ⋅ J⋅ x(t ) = γ ⋅ θ (t ) ( 4-3 ) Ved et passende valg af tilstandvariable kan ligningerne omskrives således, at de kan indsættes i de sædvanlige tilstandsligninger. x = A⋅ x + B ⋅u y = C ⋅ x + D ⋅u Indledningsvis omskrives ligning ( 4-1 ), ( 4-2 ) og ( 4-3 ) til førstegrads differentialligninger, hvorved følgende resultat fås. i= K R 1 ⋅ v − ⋅ i − e ⋅ω L L L ( 4-4 ) ω= Km 1 b ⋅ i − ⋅ ω − ⋅ Tb J J J ( 4-5 ) x = γ ⋅ω ( 4-6 ) Positionen for bordet, rotationshastigheden for motoren samt strømmen igennem motoren vælges som tilstandsvariable. Spændingen over motoren og det eksterne belastningsmoment vælges som input, hvorved følgende henholdsvis tilstands- og inputvektorer fremkommer. ⎡x⎤ x = ⎢⎢ω ⎥⎥ ⎢⎣ i ⎥⎦ ⎡v⎤ u=⎢ ⎥ ⎣Tb ⎦ Af ligning ( 4-4 ), ( 4-5 ) og ( 4-6 ) kan henholdsvis system-, input-, output- og den direkte overførselsmatrice direkte opskrives. 12 Moderne regulering γ 0 ⎤ ⎡0 ⎢ A = ⎢0 − b J K m J ⎥⎥ ⎢⎣0 − K e L − R A L ⎥⎦ C = [1 0 0] 0 ⎤ ⎡ 0 ⎢ B = ⎢ 0 − 1 J ⎥⎥ ⎢⎣ 1 L 0 ⎥⎦ ( 4-7 ) D=0 ( 4-8 ) Det bør bemærkes, at den opstillede tilstandsmodel kan bruges for både x- og y-slæden, når blot man husker at indsætte slædernes respektive inertimomenter. De øvrige parametre er konstanter, da det blev valgt at anvende den samme motor for begge slæder. param; %Initialisering af variable Ax=[[0 gamma 0];[0 -B_vis/J_x K_M/J_x];[0 -k_e/L -R/L]]; Bx=[[0 0];[0 -1/J_x];[1/L 0]]; Cx=[1 0 0]; Ay=[[0 gamma 0];[0 -B_vis/J_y K_M/J_y];[0 -k_e/L -R/L]]; By=[[0 0];[0 -1/J_y];[1/L 0]]; Cy=[1 0 0]; 4.1.1 Styrbarhed Styrbarheden for systemet bestemmes af rangen af styrbarhedsmatricen Q. Hvis rangen af Q er lig med antallet af rækker i Q, så er systemet fuldstændigt styrbart. Sagt med andre ord, så skal enhver tilstand kunne påvirkes med et input. [ Q= B A⋅ B … A n −1 ⋅B ] ( 4-9 ) Indsættelse i ligning ( 4-7 ) og ( 4-9 ) viser, at både x- og y-slæden er styrbar, da rangen i begge tilfælde er lig med 3. Qx=[Bx Ax*Bx Ax^2*Bx]; rank(Qx); %Styrbarhedsmatrice %Fuldstændig styrbar! Qy=[By Ay*By Ay^2*By]; rank(Qy); %Styrbarhedsmatrice %Fuldstændig styrbar! 4.1.2 Observerbarhed Systemernes observerbarhed bestemmes af rangen af observerbarhedsmatricen G. Såfremt rangen af G er lig med antallet af rækker i G, så er systemet fuldstændigt observerbart. ⎡ C ⎤ ⎢ C⋅A ⎥ ⎥ G=⎢ ⎥ ⎢ ⎢ n −1 ⎥ ⎢⎣C ⋅ A ⎥⎦ ( 4-10 ) Både x- og y-slæden er fuldstændig observerbare. Gx=[Cx;Cx*Ax;Cx*Ax^2]; %Observerbarhedsmatrice 13 Moderne regulering rank(Gx); %Fuldstændig observerbar! Gy=[Cy;Cy*Ay;Cy*Ay^2]; rank(Gy); %Observerbarhedsmatrice %Fuldstændig observerbar! 4.2 Costate system Costate tilstandsmodellen tager udgangspunkt i indførelsen af et fejl-integrerende led, hvilket svarer til indførelsen af en PI-regulator i den klassiske reguleringsteori. Det samlede system er illustreret på Figur 16. Figur 16. Costate system. Tilstandsmodellen for costate systemet er givet ved følgende ligninger. ζ = A ⋅ζ + B ⋅ u + W ⋅ r y = C ⋅ζ Henholdsvis ζ , A , B , W og C er defineret, som det er angivet herunder, hvor z er lig med outputtet fra integratoren i systemet. ⎡ x⎤ ζ =⎢ ⎥ ⎣z⎦ ⎡ A 0⎤ A=⎢ ⎥ ⎣− C 0⎦ ⎡B⎤ B=⎢ ⎥ ⎣0⎦ [ ⎡0 ⎤ W =⎢ ⎥ ⎣I ⎦ C= C 0 ] Styreloven er givet ved følgende, hvilket også kan aflæses direkte af Figur 16. u = −L ⋅ x + k I ⋅ z L og k I aflæses fra den ækvivalente tilbagekoblingsmatrice L , som er defineret således. [ L = L − kI ] 14 Moderne regulering L bestemmes fx ved polplacering. Kravet er at polerne skal være løsning til den karakteristiske ligning for systemet. ( ) λ⋅I − A− B⋅L = 0 Da der er tale om et MIMO-system, så anvendes place kommandoen i Matlab til bestemmelse af L . Der kræves imidlertid også fuld styrbarhed for costate systemet. Dette afgøres stort set på samme måde som for den sædvanlige tilstandsmodel, hvor der kræves fuld rang for styrbarhedsmatricen. [ Q= B A⋅ B … A n −1 ⋅B ] Null=[0;0;0]; Ax_streg=[[Ax Null];[-Cx 0]]; Bx_streg=[[Bx Null];[0 0 0]]; Cx_streg=[Cx 0]; Q=[Bx_streg Ax_streg*Bx_streg Ax_streg^2*Bx_streg Ax_streg^3*Bx_streg]; rank(Q); 4.2.1 Valg af poler Antallet af rækker i A dikterer hvor mange poler, der skal vælges. I dette tilfælde er der tale om 4. Vælges det, at der skal være to dominerende poler, så kommer den karakteristiske ligning fx til at se således ud. ( ) q (λ ) = λ2 + 2 ⋅ ζ d ⋅ ω n + ω n ⋅ (λ − α ) ⋅ (λ − β ) 2 Ideen er at vælge et par velspecificerede dominerende poler, og så i øvrigt placere de andre, så de ikke har så stor indflydelse på systemets karakteristik. Et af de helt centrale krav for systemets dynamik er, at der ikke må forekomme overshoot ved step påvirkninger. For et 2. ordens system betyder det, at det skal være overdæmpet (evt. kritisk dæmpet). Dæmpningsforholdet ζd skal altså opfylde følgende. ζd ≥1 Kravet til indsvingningstiden lægger ydermere følgende begrænsning. Ts = 4 ζ d ⋅ ωn Vælges et dæmpningsforhold på 1,01 og en indsvingningstid på 0,13s, så kan den udæmpede egenfrekvens beregnes. ωn = 4 4 = = 30,46 ζ d ⋅ Ts 1.01 ⋅ 0,13 15 Moderne regulering For at undgå at de to øvrige poler har indflydelse på systemets karakteristik, så ganges de med en faktor 10 i forhold til 2. ordens systemet. Herunder er de valgte poler opsummeret. λ1, 2,3, 4 ≈ {− 26,45 − 35,09 − 264,50 − 350,90} syms lambda; Z=1.01; Ts=0.13; wn=4/(Z*Ts); n=10; lambda=sym2poly(solve((lambda^2+2*Z*wn*lambda+wn^2),lambda)); L_streg=place(Ax_streg,Bx_streg,[lambda(1) lambda(2) n*lambda(1) n*lambda(2)]); L=[L_streg(1,1) L_streg(1,2) L_streg(1,3); L_streg(2,1) L_streg(2,2) L_streg(2,3)]; Ki=[-L_streg(2,4);-L_streg(2,4)]; 4.2.2 Performance I forhold til den idealiserede model illustreret på Figur 16, så blev det i forbindelse med simuleringen af costate systemet valgt at indlægge er ulineært element. Helt konkret drejer det sig om et mætningsmodul, som har til formål at begrænse spændingen over motoren. I praksis vil denne mætning være indbygget i den effektforstærker, der skal forsynes motoren. Figur 17 illustrerer modulet. Figur 17. Mætningsmodul. Simulink modellen for x-slæden i costate systemer er illustreret på Figur 18. Af figuren fremgår det bl.a., hvorledes henholdsvis reference- og forstyrrelsesinputtet er koblet til modellen. 16 Moderne regulering Figur 18. Simulink model for x-slæde i costate systemet. Figur 19 illustrerer et steprespons for et step på 0,01m, og som det fremgår, så er der intet overshoot. Ligeledes fremgår det at omdrejningstallet ligger indenfor motorens arbejdsområde (op til ca. 400 rad/s). Vælges et større step vil den aktuelle model blot øge omdrejningstallet forbi motorens arbejdsområde. Løsningen er altså at anvende et gear. Stigtiden ligger på ca. 0,25s. Figur 19. Steprespons for costate systemet. Figur 19 illustrerer endvidere stepresponset for et step på 1 på forstyrrelsesindgangen efter 0.4s forløb. Forstyrrelsen giver kun anledning til et minimalt og kortvarigt udsving fra referencen. Udover steptest blev der også foretaget en række andre test med 17 Moderne regulering varierende referencesignaler. For at tydeliggøre evt. problemer, så er kun fejlsignalerne taget med i det følgende. Af Figur 20 fremgår det hvorledes positionsfejlsignalet for henholdsvis x- og y-slæden udvikler sig i forhold til tiden. Referencen udgøres af et rampesignal, som stiger med hvad der svarer til 1 rad/s for motoren. Det væsentlige i figuren er, at der ikke er forskel på x- og y-hastighedsfejlene, som der var stillet krav om. Figur 21 illustrerer fejlen i y positionen som funktion af fejlen i x positionen ved varierende frekvenser af et cirkelinput. Det er værd at bemærke at fejlen kan gøres vilkårligt lille ved at reducere hastigheden. Ligeledes er det værd at bemærke, at hastighedsfejlen er konstant ved konstante hastigheder. Figur 20. Fejl ved rampeinput på 1 rad/s. Figur 21. Fejl ved cirkelinput. Figur 22 illustrerer hastighedsfejlene for x og y, som funktion af tiden ved en firkantreference på 1 rad/s. Referencen er periodisk med en periodetid på 5s, hvilket også fremgår af figuren. Figur 23 illustrerer hastighedsfejlen i y som funktion af x ved samme firkantinput. Det er af stor vigtighed at fejlen er ens for de to akser, hvilket også er tilfældet. 18 Moderne regulering Figur 22. Fejl ved firkantinput på 1 rad/s. Figur 23. Fejl ved firkantinput på 1 rad/s. 4.3 Observer baseret servosystem Ved brug af costate systemet blev det forudsat at alle tilstande blev målt. Det være sig positionen, omdrejningshastigheden og strømmen igennem motoren. Såfremt man er interesseret i at spare disse målinger væk (og dermed også de nødvendige transducere), så kan man i stedet indbygge en observer i systemet. Observerens formål er altså at estimere systemets tilstande. Ligningen for en full state observer er gengivet herunder. ( xˆ = A ⋅ xˆ + B ⋅ u + K ⋅ y − yˆ ) Figur 24 illustrerer det fulde system med både costate og observer indbygget. Figur 24. Observer baseret servo system. Til forskel fra systemet uden observer, så er der gjort brug af en såkaldt state observer forstærkningsmatrice K, som tilbagekobler differencen mellem det estimerede og det 19 Moderne regulering reelle output. K bestemmes fx ved polplacering. Kravet er at polerne skal være løsning til den karakteristiske ligning for systemet. λ ⋅ I − (A − K ⋅ C ) = 0 Rent praktisk anvendes place kommandoen i Matlab til polplaceringen. Der kræves imidlertid også fuld styrbarhed for costate systemet. Dette afgøres stort set på samme måde som for den sædvanlige tilstandsmodel, hvor der kræves fuld rang for observerbarhedsmatricen. G=[Cx;Cx*Ax;Cx*Ax^2]; rank(G); 4.3.1 Valg af poler Målet for dimensioneringen af observeren er, at gøre den så hurtig, at den kan nå at estimere systemets tilstande. Samtidigt må den ikke være så hurtig, at den bliver for støjfølsom. Som udgangspunkt blev det valgt at gøre observeren fem gange så hurtig som det øvrige system. Rent praktisk vil det sige at de tre langsomste poler fra costate systemet blev multipliceret med fem, hvorefter K blev beregnet vha. place kommandoen. Bemærk at matricerne er transponerede. Lambda_ob=5*Lambda; %Valgte poler K=place(Ax',Cx',[Lambda_ob(1) Lambda_ob(2) Lambda_ob(3)])' 4.3.2 Performance Figur 25 illustrerer den Simulink model som blev benyttet ved simuleringen af systemet. Som det fremgår så er både x- og y-slæden inkluderet således, at der kan simuleres med reference signaler såsom fx cirkler eller firkanter. Figur 25. Simulink model for det observer baserede system. Selve systemet er for x-slædens vedkommende illustreret på Figur 26. Modellen stemmer helt overens med den idealiserede på Figur 24 bortset fra spændingsmætningerne. 20 Moderne regulering Figur 26. Simulink model for x-slæden. Ved simuleringen stemmer observeren 100% overens med det system, der skal reguleres, hvilket med andre ord vil sige differencen mellem det estimerede og det egentlige output hele tiden vil være nul. I praksis vil systemet altså opføre sig præcis som systemet uden observer. For at give et bud på hvordan systemet vil klare sig såfremt observeren ikke er fuldstændig magen til det regulerede system, så ganges systemmatricen med 2. Figur 27 illustrerer stepresponset ved denne indstilling. Figur 27. Steprespons ved modificeret A matrice. Som det fremgår så bliver resultatet en stigtid på ca. fire gange den, som var tilfældet, da observeren stemte helt overens med det regulerede system. Eksemplet demonstrerer ikke desto mindre, at observeren fungerer efter hensigten. 21 Konklusion 5. Konklusion Resultaterne for de forskellige regulatorer afviger ikke nævneværdigt fra hinanden. Ved trinpåvirkninger opnås i alle tilfælde en stigtid i omegnen af 0,3s. Der forekommer et lille oversving for den klassiske regulator, som formentlig kunne undgås, ved mere præcis indstilling af regulatorernes parametre. Begge regulatorer har ingen positionsfejl. Hastighedsfejlene er i alle tilfælde små og i øvrigt ens for begge slæder. Ikke desto mindre så er der stor forskel på, hvordan resultatet blev opnået. Såfremt der havde været flere in- og output, så ville den klassiske fremgangsmåde være den moderne underlegen. Ligeledes har den moderne reguleringsteori forcer, såfremt regulatorerne skal implementeres på en computer, da den er velegnet til at foretage simple matriceberegninger, som er påkrævet ved beregning af styresignaler osv. Ved en nøjagtig model af systemet er det også lettere at dimensionere regulatorerne med moderne reguleringsteori, da man har fuld kontrol over lukket sløjfe systemets poler. Om regulatorerne vil fungere i virkeligheden kan kun en test afsløre. Udover mekaniske faktorer såsom slør og friktion og variationer i parametre, så kan elektriske faktorer såsom målestøj også spille en vigtig rolle for udfaldet. Her ville den moderne reguleringsteori være at foretrække, da LQ regulering netop er velegnet til optimal styring med støjfyldte målinger. 22 Litteraturliste 6. Litteraturliste Herunder fremgår en liste over den faglitteratur, der blev anvendt i forbindelse med projektet. • Modern Control Systems, 10. udgave, R. C. Dorf & R. H. Bishop, Prentice Hall • Advanced Control Engineering, Jianjun Zhou, 1999, Mek DTU • Reguleringsteknik, 2. udgave, O. Jannerup & P. H. Sørensen 23 Bilag 7. Bilag 7.1 Oversigt over vedlagte filer Hermed en oversigt over de vedlagte filer på cd-rom. • Classical o Xytable.mdl – Simulink model af XY-maskinbord og regulatorer o M_param.m – Motor parametre o Xyanalysis.m – Simulering af XY-maskinbord, med og uden mætning o Test.m – Simulering af XY-maskinbord med mætning o Makeloops.m – Analyse af diverse sløjfer o Makeref.m – Laver reference vektorer • Modern o Co_state.mdl – Simulink model af costate system. o Param.m – Init af parametre. o Statespace_sim.m – Simulering af costate system. o Statespace_sim2.m – Simulering af observer system. o Statespace4.m – Beregning af matricer og konstanter. o Statespace2.mdl – Simulink model af observer system. 24 Bilag 7.2 Maxon RE75 datablad 25
© Copyright 2024