Lineær analyse i SIMULINK

Like dokumenter
Simulering i MATLAB og SIMULINK

Stabilitetsanalyse i MATLAB og LabVIEW

1 Tidsdiskret PID-regulering

Løsningsforslag Dataøving 2

Minste kvadraters metode i MATLAB og LabVIEW

Stabilitetsanalyse. Kapittel Innledning

Frekvensanalyse av likestrømsmotor med diskret regulator og antialiasing filter

Control Engineering. State-space Models. Hans-Petter Halvorsen

Plotting av data. Kapittel Plott med plot-funksjonen

Control Engineering. Stability Analysis. Hans-Petter Halvorsen

Oppgave 1.1. Den første er en klassiker. Studer figur A4.1 i vedlegg 1. Finn overføringsfunksjonen ved hjelp av manuelle, grafiske metoder.

Control Engineering. MathScript. Hans-Petter Halvorsen

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas.

3.2.2 Tilstandsrommodeller

Løsning til eksamen i EE4107 Kybernetikk- videregående

EDT211T-A Reguleringsteknikk PC øving 5: Løsningsforslag

Løsning til eksamen i IA3112 Automatiseringsteknikk ved Høgskolen i Sørøst- Norge

Simuleringsalgoritmer

MATLABs brukergrensesnitt

Sammenlikningav simuleringsverktøyfor reguleringsteknikk

Kapittel 6 Stabilitetsanalyse Oppgave 6.1 Stabilitetsegenskap for transferfunksjoner

,QQOHGQLQJ 3-1/ )DJ 67( 6W\ULQJ DY URPIDUW \ / VQLQJVIRUVODJ WLO YLQJ

Tidsdiskrete systemer

SCE1106 Control Theory

STE 6219 Digital signalbehandling Løsning til kontinuasjonseksamen

Øving 1 ITD Industriell IT

TTK 4140 Reguleringsteknikk m/elektriske kretser Dataøving 2

EDT211T Reguleringsteknikk PC-øving nr 1. NB: Det lønner seg å kjøre gjennom leksjonen før du tar fatt på selve øvingen på siste side.

Eksamensoppgave i TELE2001 Reguleringsteknikk

Foroverkopling. Kapittel Innledning

ù [rad/sek] h O [db] o o o o o o o o o o o

Løsningsforslag øving 6

Tilstandsrommodeller. Hans- Pe1er Halvorsen, M.Sc.

Utledning av Skogestads PID-regler

Systemidentifikasjon Oppgaver

48 Praktisk reguleringsteknikk

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

TTK 4140 Reguleringsteknikk m/elektriske kretser Dataøving 1

Systemidentifikasjon Oppgaver

Løsning til eksamen i IA3112 Automatiseringsteknikk ved Høgskolen i Sørøst- Norge

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. systemidentifikasjon fra sprangrespons.

Matlab-tips til Oppgave 2

Stabilitetsanalyse. Hans- Pe/er Halvorsen, M.Sc.

Systemidentifikasjon

Spørretime / Oppsummering

Løsningsforslag øving 4

ELEKTRONIKK 2 DAK-ØVING 6 Endre i transistormodell, DCsvip, AC-svip, impedans 2004

Løsning til eksamen i IA3112 Automatiseringsteknikk

Denne labøvelsen gir en videre innføring i elementær bruk av programmet Maple.

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Inst. for elektrofag og fornybar energi

Plotting av data i grafer

Løsningsforslag øving 8

2.2.1 Framgangsmåte for matematisk modellering Modellering av massesystemer. Modellbegreper... 15

41070 STABILITET I ELKRAFTSYSTEMER

Oppgave x d 1.0 for n from 1 by 1 to 200 do x d sin x end do

nyq Inst. for elektrofag og fornybar energi Fag TELE2001 Reguleringsteknikk Simulink øving 4 Oppstart av Matlab. c:\temp.

6,((OHNWULVNH0RWRUGULIWHU.RUWIDWWHWLQQI ULQJL6LPXOLQN DY5LFKDUG/XQG

Eksperimentell innstilling av PID-regulator

Frequency Response and Stability Analysis

Oppgave Iterasjonen ser ut til å konvergere sakte mot null som er det eneste fikspunktet for sin x.

NB! Vedlegg 2 skal benyttes i forbindelse med oppgave 3a), og vedlegges besvarelsen.

Del 1: Leksjon Det anbefales å kjøre igjennom denne før dere begynner med oppgaven.

Systemidentifikasjon Løsninger

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD30005 Industriell IT. Dato: Eksamenstid: kl til kl. 1300

SLUTTPRØVE. EMNEANSVARLIG: Finn Aakre Haugen. Tlf Epost: Antall sider: 14 (medregnet denne forsiden)

Del 1. ACC adaptiv cruisekontroll

Dato: fredag 14 desember 2007 Lengde på eksamen: 4 timer Tillatte hjelpemidler: ingen. 1 Diskret tilstandsrommodell 2. 2 Stående pendel 4

Del 1. Standard overføringsfunksjoner (25%)

a) The loop transfer function with the process model with a P controller is given by h 0 (s) = h c (s)h p (s) = K p (1 + s)(2 + s) K p

2003/05-001: Dynamics / Dynamikk

Observer HANS-PETTER HALVORSEN, Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics

Oppgaver til Dynamiske systemer 1

MathScript. Hans- Pe1er Halvorsen, M.Sc.

Del 1. En klassiker, og en litt mer utfordrende

Del 1. Linearisering av dynamisk modell

c;'1 høgskolen i oslo

Øvingsforelesning i Matlab TDT4105

Contents. Oppgavesamling tilbakekobling og stabilitet. 01 Innledende oppgave om ABC tilbakekobling. 02 Innledende oppgave om Nyquist diagram

KYBERNETIKKLABORATORIET. FAG: Dynamiske systemer DATO: OPPG.NR.: DS3 MOTOR GENERATOROPPGAVE I

HØGSKOLEN I SØR-TRØNDELAG

3x + 2y 8, 2x + 4y 8.

Transformanalyse. Jan Egil Kirkebø. Universitetet i Oslo 17./23. september 2019

HØGSKOLEN I SØR-TRØNDELAG

Del 1. Standard overføringsfunksjoner (25%)

MAT Prøveeksamen 29. mai - Løsningsforslag

Emnekode: sa 318E. Pensumlitteratur ( se liste nedenfor), fysiske tabeller, skrivesaker og kalkulator

University College of Southeast Norway. Observer HANS-PETTER HALVORSEN.

Løsning til eksamen i EK3114 Automatisering og vannkraftregulering ved Høgskolen i Sørøst-Norge

Oblig 1 FYS2130. Elling Hauge-Iversen

Kalmanfilter på svingende pendel

Litt generelt om systemidentifikasjon.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

Litt generelt om systemidentifikasjon.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Obligatorisk oppgave 1 MAT1120 H15

Forelesning 14 Systemer av dierensiallikninger

Tidsdomene analyse (kap 3 del 2)

MAT1120. Obligatorisk oppgave 1 av 2. Torsdag 20. september 2018, klokken 14:30 i Devilry (devilry.ifi.uio.no).

Transkript:

Lineær analyse i SIMULINK Av Finn Haugen (finn@techteach.no) TechTeach (http://techteach.no) 20.12 2002 1

2 Lineær analyse i SIMULINK

Innhold 1 Innledning 7 2 Kommandobasert linearisering av modeller 9 2.1 Beregningavarbeidspunkt... 9 2.2 Utviklingavlineærmodell... 13 3 Lineær analyse med LTI Viewer 19 3.1 Analyseomkringarbeidspunkt... 19 3.2 UtviklingavLTI-modell... 20 4 Lineær analyse av tilbakekoplede systemer 23 3

4 Lineær analyse i SIMULINK

Forord Dette dokumentet supplerer boka Lær SIMULINK trinn for trinn [1]. Dokumentet beskriver metoder som er tilgjengelige i SIMULINK for analyse av en lokal, lineær modell omkring et spesifisert arbeidspunkt for det opprinnelige systemet, som kan være lineært eller ulineært. Analysemetodene som er tilgjengelige, er bl.a. sprangrespons, frekvensrespons og pol-nullpunkt-beregninger. MATLAB-skriptene (m-filene) og SIMULINK-modellene (mdl-filene) som er benyttet i dette dokumentet er fritt tilgjengelig fra hjemmesiden for http://techteach.no. Skien, desember 2002 Finn Haugen 5

6 Lineær analyse i SIMULINK

Kapittel 1 Innledning Det fins mange analyse- og designmetoder for lineære systemer (modeller). Metodene baseres gjerne på lineær tilstandsrommodell transferfunksjon poler og nullpunkter egenverdier frekvensrespons SIMULINK har to muligheter for lineær analyse: SIMULINK har funksjonene linmod og dlinmod for å finne disse størrelsene fra en gitt blokkdiagrammodell både for lineære modeller og for ulineære modeller. Dersom modellen er ulineær, vil den lineære modellen utgjøre en lokal modell omkring et arbeidspunkt. SIMULINK har funksjonen trim for å finne dette arbeidspunktet, som må bestemmes før lineariseringen utføres. Dersom Control System Toolbox er installert, kan en få utført linearisering og forskjellige slags lineære analyser vha. menyvalget Tools / Linear analysis i SIMULINK, som bruker LTI Viewer til visning av f.eks. poler og nullpunkter, frekvensrespons og sprangrespons. En kan også få generert en modell i form av et LTI-objekt. 7

8 Lineær analyse i SIMULINK Begge de to ovenfor nevnte mulighetene for lineær analyse beskrives i dette dokumentet.

Kapittel 2 Kommandobasert linearisering av modeller 2.1 Beregning av arbeidspunkt trim beregner verdien av variablene for et system som befinner seg i et spesifisert arbeidspunkt, som typisk vil være et likevektspunkt der alle variablene har konstante verdier, dvs. et statisk arbeidspunkt. trim kan være første trinn i utvikling av en lokal linear modell omkring et statisk arbeidspunkt. Før du bruker trim, må du angi hva som er systemets innganger og utganger. Det gjøres vha. Inport-blokker hhv. Outport-blokker som fins i hhv. Sources- hhv. Sinks-biblioteket i SIMULINK. Syntaksen for en typisk anvendelse av trim er [xop,uop,yop] = trim( sys,xop0,uop0,yop0,ix,iu,iy) (Du kan utføre kommandoen help trim for å se videre muligheter, for eksempel hvordan du kan beregne et ikke-statisk arbeidspunkt, der tilstandsvariablenes deriverte er forskjellig fra null.) I uttrykket ovenfor representerer sys SIMULINK-modellen med navn sys.mdl. Videre er xop, uop og yop returnerte verdier for hhv. tilstanden, inngangen og utgangen i arbeidspunktet. xop0, uop0 og yop0 er enten anslåtte verdier eller faste (ikke justerbare) verdier for xop, uop og yop, slik: Hvis du for eksempel 9

10 Lineær analyse i SIMULINK setter iu=[](tom matrise), blir uop0 betraktet av trim til å være bare en omtrentlig verdi. Hvis du i stedet spesifiserer la oss si iu = [1;2], vilde to første elementene i den spesifiserte vektoren uop0 betraktes som faste verdier. Tilsvarende gjelder for x og y. La oss se på et eksempel. Gitt følgende ulineære modell: ẋ(t) = x x + u(t τ) der τ =1 (2.1) y = Kx der K =3 (2.2) Initialtilstanden er x 0 =0. Figur 2.1 viser et SIMULINK-blokkdiagram for denne modellen.vi skal nå først for hånd beregne verdien, x s, av tilstanden Figur 2.1: SIMULINK-blokkdiagram for modellen ẋ(t) = x x + u(t τ), y = Kx. x i det stasjonære arbeidspunktet svarende til at u er en konstant med verdi U =4 (2.3) og deretter skal vi bruke trim-funksjonen til å finne denne tilstandsverdien (trim skal da anvendes på SIMULINK-modellen). Vi antar at x faktisk vil få en slik stasjonær konstant verdi 1. Den tidsderiverte av x s er null, og 1 Vi antar med andre ord at det arbeidspunktet er asymptotisk stabilt.

Lineær analyse i SIMULINK 11 betydningen av tidsforsinkelsen faller bort, så (2.1) blir 0= x s (t) x s (t) + U (2.4) som gir (som eneste reelle løsning) x s = U =2 (2.5) som gir y s = Kx s =3 2=6 (2.6) Laossseomensimuleringbekrefteraty s =6når U =4. MATLAB-skriptet skript_sim_sysulin.m kjører simuleringen: skript_sim_sysulin.m tu=0; %Sprangtidspunkt for u u0=0; %Verdi av u før spranget u1=4; %Verdi av u etter spranget tau=2; %Tidsforsinkelse K=3; x0=0; %Initialverdi av x %Setter simuleringsparametre: tidsskritt=0.01; options=simset( solver, ode5, fixedstep,tidsskritt); tstopp=5; %Simulerer systemet sysulin: sim( sysulin,tstopp,options) Figur 2.2 viser responsen i y etter et sprang i u fra 0 til 4 ved tidspunktet t =0.Vi ser at den stasjonære responsen ganske riktig er y s =6. Vi skal nå prøve å finne arbeidspunktet som vi fant ovenfor (med håndregningogmedsimulering)vedåbrukesimulinkstrim-funksjon. Vi definerer innganger og utganger vha. Inport-blokker hhv. Outport-blokker (disse fins SIMULINKs Source- hhv. Sinks-bibliotek). Vi erstatter signalkilder med Inport-blokker (Inport-blokken fins i ) og hekter Outport-blokker på de signallinjene som utgjør systemets utganger. Det viser seg at trim-funksjonen ikke fungerer tilfredsstillende, dvs. at arbeidspunktet ikke beregnes korrekt av trim-funksjonen, dersom det er en

12 Lineær analyse i SIMULINK Figur 2.2: Simulering av det ulineære systemet (sysulin.mdl) Transport Delay-blokk i systemet. Jeg har derfor fjernet denne fra blokkdiagrammet for vårt system (det gjør ikke så mye tidsforsinkelser har jo ingen betydning i statiske arbeidspunkter). Figur 2.3 viser blokkdiagrammet med Inport- og Outport-blokk innsatt (og Transport Delay-blokken fjernet eller satt utenfor systemet). Følgende MATLAB-skript beregner arbeidspunktet: skript_trim_sysulin.m: xop0=[3]; %Gjettet verdi for x uop0=[4]; %Spesifisert verdi for u yop0=[5]; %Gjettet verdi for y ix=[]; %x er ikke fast (men gjettet) iu=1; %u er spesifisert iy=[]; %y er ikke fast (men gjettet) [xop,uop,yop] = trim( sysulin_trim,xop0,uop0,yop0,ix,iu,iy) MATLAB svarer (ganske riktig)

Lineær analyse i SIMULINK 13 Figur 2.3: Systemets blokkdiagram med Inport- og Outport-blokk innsatt (og Transport Delay-blokken fjernet eller satt utenfor systemet). xop = 2.0000 uop = 4 yop = 6.0000 2.2 Utvikling av lineær modell SIMULINK har funksjonene linmod for å utvikle en tidskontinuerlig lokal linear modell og dlinmod for å utvikle en tidsdiskret lokal lineær modell for et ulineært system (blokkdiagram) omkring et spesifisert arbeidspunkt. Modellen som linmod og dlinmod gir, er tilstandsrommodeller i form av tilstandsrommodellens standard systemmatriser (4 stk. matriser). linmod og dlinmod kan brukes også til utvikle tilstandsrommodeller for SIMULINK-modeller som i utgangspunktet er lineære men ikke på tilstandsromform. Fra den lineære tilstandsrommodellen som linmod eller dlinmod gir, kan vi så finne f.eks. en transferfunksjonsmodell i form av et

14 Lineær analyse i SIMULINK LTI-objekt vha. tf-funksjonen og beregne poler med pzmap og foreta frekvensresponsanalyse med f.eks. bode eller nichols eller nyquist (alle disse funksjonene er tilgjengelig i Control System Toolbox). Vi skal nå finne en lokal lineær modell for systemet sysulin.mdl, se figur 2.1, omkring arbeidspunktet gitt ved u =4, x =2og y =6,somvifantikap. 2.1 bl.a. vha. trim-funksjonen. Den lineære modellen skal finnes for systemet mellom inngang u og utgang y. Vi må sette inn en Inport-blokk og en Outport-blokk for å definere det lineære systemets inngang og utgang, se figur 2.4. Figur 2.4: En Inport-blokk og en Outport-blokk settes inn for å definere det lineære systemets inngang og utgang Systemet inneholder en tidsforsinkelse. Den lineære modellen skal da (selvsagt) inkludere en tidsforsinkelse. linmod vil da benytte en Padé-approksimasjon for tidsforsinkelsen. Approksimasjonens orden kan velges i parametervinduet for Transport Delay-blokka, se figur 2.5. Vi velger orden 5 i vårt eksempel. MATLAB-skriptet skript_linearisering_sysulin.m vist nedenfor viser hvordan lineariseringen kan utføres. (Det er tilstrekkelig å angi arbeidspunktverdiene for x og u altså ikke for y.) skript_linearisering_sysulin.m

Lineær analyse i SIMULINK 15 Figur 2.5: Valg av Pad é-approksimasjonens orden for tidsforsinkelsen gjøres i parametervinduet for Transport Delay-blokka xop=2; uop=4; [A,B,C,D] = linmod( sysulin_linearisering,xop,uop) sysulin_lti=ss(a,b,c,d); %Lager LTI-objekt sysulin_tf=tf(sysulin_lti)%lager transferfunksjon Den resultererende (6. ordens) transferfunksjonen er som vist nedenfor: Figur 2.6 viser sprangresponsen for denne transferfunksjonen. Sprangresponsen er generert med step(sysulin_tf,5)

16 Lineær analyse i SIMULINK (Oscillasjonene stammer fra Padé-approksimasjonen.) 0.8 Step Response 0.7 0.6 0.5 Amplitude 0.4 0.3 0.2 0.1 0-0.1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (sec) Figur 2.6: Sprangresponsen for den lineære modellen Og vi kan f.eks. tegne Bode-plott: bode(sysulin_tf) Bode-plottet er vist i figur 2.7. Betydningen av tidsforsinkelsen (Transport Delay-blokka) Ovenfor var utgangspunktet for lineariseringen en ulineær modell som inneholder en tidsforsinkelse. Den tilsvarende lineære modellen ble da en modell av orden 6, selv om det opprinnelige systemet kun inneholder én tilstandsvariabel, nemlig x (de 5 øvrige tilstandsvariablene stammer fra padé-approksimasjonen). Det viser seg at dersom det opprinnelige systemet (i vårt eksempel) ikke inneholder noen tidsforsinkelse, gir linmod en lineær modell som blir av 1. orden. Mer spesifikt: linmod sammen med funksjonene ss og tf, jf. skriptet skript_linearing_sysulin.m vist ovenfor, gir

Lineær analyse i SIMULINK 17 Figur 2.7: Bode-plott for den lineære modellen følgende 1. ordens modell omkring arbeidspunktet (u =4, x =2): dy(s) du(s) = 3 s +4 (2.7) Dette er faktisk presis den transferfunksjonen som vi vil finne ved å linearisere (2.1), (2.2) analytisk omkring arbeidspunktet u =4, x =2. Den analytisk lineariserte modellen blir nemlig dẋ(t) = 2 x a dx + du (2.8) dy = Kdx (2.9) der x a er verdien av x i arbeidspunktet. Fra denne modellen, med x a =2, får vi (2.7).

18 Lineær analyse i SIMULINK

Kapittel 3 Lineær analyse med LTI Viewer 3.1 Analyse omkring arbeidspunkt Som alternativ til bruk av trim og linmod beskrevet ovenfor, kan vi utføre linearisering med menyvalg og knappevalg via menyen Linear Analysis i SIMULINK-vinduet. Merk at dette ikke gir noen eksplisitt lineær modell, men du får utført lineær analyse, som beregning av poler, plotting av frekvensrespons og plotting av sprangrespons omkring et spesifisert arbeidspunkt. Menyvalget Linear Analysis åpner i første omgang vinduet Model_Inputs_and_Outputs vist i figur 3.1. Blokkene der, som er Input Point-blokka og Output Point-blokka, brukes til å definere innganger og utganger for det lineariserte systemet.du trekker ganske enkelt disse blokkene inn på de aktuelle signallinjene i systemets blokkdiagram, og de faller automatisk på plass på signallinjene. Figur 3.2 viser det resulterende blokkdiagrammet for vårt eksempel. Når Input Point-blokka og Output Point-blokka er på plass i systemets blokkdiagram, bør du definere det aktuelle arbeidspunktet som den lineære analysen skal foretas ut fra. Arbeidspunktet defineres med menyvalget Simulink / Set Operating Point i vinduet LTI Viewer, se figur 3.3, som åpnes automatisk etter menyvalget Linear Analysis i SIMULINK-vinduet. Når arbeidspunktet er valgt, kan du angi hva slags lineær analyse (bl.a. impulse, step, bode, nichols, pole-zero) som skal utføres og vises. Dette 19

20 Lineær analyse i SIMULINK Figur 3.1: Menyvalget Linear Analysis i SIMULINK-vinduet åpner i første omgang vinduet Model_Inputs_and_Outputs. Blokkene der brukes til å definere innganger og utganger for det lineariserte systemet. gjøres via menyvalget Edit / Plot Configurations i LTI Viewer-vinduet, hvilket åpner dialogvinduet Plot Configurations vist i figur 3.4. Når du har utført ovenstående (definert inngang og utgang, angitt arbeidspunkt og bestemt type lineær analyse), er du endelig klar for å utføre den lineære analysen. Dette gjøres med menyvalget Simulink / Get Linearized Model i LTI Viewer-vinduet. Figur 3.5 viser sprangresponsen for den lineære, lokale modellen omkring arbeidspunktet tilsvarende x =2.(Sprangresponsen er lik den som ble funnet etter trim og linmod i kap. 2, se figur 2.6.) 3.2 Utvikling av LTI-modell Du får generert en LTI-modell i form av en tilstandsrommodell med menyvalget File / Export i LTI Viewer-vinduet. Modellen er tilgjengelig i MATLABs arbeidsrom.

Lineær analyse i SIMULINK 21 Figur 3.2: Det resulterende blokkdiagrammet etter at Input Point- og Output Point-blokker er lagt inn p å de aktuelle signallinjene i systemets blokkdiagram Figur 3.3: Vinduet LTI Viewer åpnes automatisk etter menyvalget Linear Analysis i SIMULINK-vinduet.

22 Lineær analyse i SIMULINK Figur 3.4: Dialogvinduet Plot Configurations som åpnes via menyvalget Edit / Plot Configurations i LTI Viewer-vinduet. Figur 3.5: Sprangresponsen for den lokale lineære modellen funnet i arbeidspunktet x =2

Kapittel 4 Lineær analyse av tilbakekoplede systemer Dersom du skal analysere et tilbakekoplet system, f.eks. et reguleringssystem, ut fra en lineær åpen-sløyfe-modell for systemet 1,mådu huske ååpnesløyfafør du setter inn blokker som definerer inngang og utgang. Dette er illustrert i figur 4.1. På den annen side: Dersom du skal utføre en analyse av det lukkede (tilbakekoplede) system ut fra systemets lukket-sløyfe-modell, f.eks. følgeforholdet eller sensitivitetsfunksjonen, skal du selvsagt beholde sløyfa lukket under analysen. 1 En slik analyse kan gjelde f.eks. frekvensanalyse av et reguleringssystems sløyfetransferfunksjon. 23

24 Lineær analyse i SIMULINK Figur 4.1: Analyse av et tilbakekoplet systems åpen-sløyfe-modell må foretas når sløyfa er åpen.

Bibliografi [1] Finn Haugen: Lær SIMULINK trinn for trinn, TechTeach og Tapir Akademisk Forlag, 2003 25