Førskolebørnene på Boldesager Skole

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