AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/IZV.pdf · 1 AUTOMATIZACIJA Laboratorijske vježbe –...

51
1 AUTOMATIZACIJA Laboratorijske vježbe – Primjena gotovih programskih rješenja (MatLab/Simulink, Octave, Scilab/Xcos)) 1.Uvod u MatLab (Octave, Scilab) 2.Matlab,Octave, Scilab u analizi automatskih sustava pomoću prijenosne funkcije 3.Matematičko modeliranje komponenti sustava 4.Modeliranje i simulacija sustava pomoću Scilab/Xcos, Simulink 5.Vremenski odzivi sustava za različite koeficijente prigušenja (Po, P1, P2) 6.Utjecaj parametara PID regulatora i vremenskog kašnjenja na odziv i amplitudno fazno frekvencijsku karakteristiku sustava (P, PI, PID). 7.Kolokvij AUTOMATIZACIJA Laboratorijske vježbe – (MatLab, Octave, Scilab) Polaganje ispita i ocjenjivanje Vježbe (MatLab, Octave, Scilab) ) su 30 % ukupne ocjene kolegija. Kolokvij kao i ispit sadrži 3 zadatka ,( ukupno 30 bodova). Minimum 50 % za pozitivnu ocjenu, (15 bodova) . Nastava vježbi je obavezna. Dozvoljen je je jedan opravdan izostanak. Dva opravdana izostanka rezultiraju kolokviranjem jedne vježbe. Tri ili više izostanka - gubi se pravo na potpis. Materijal za učenje – dostupan na web stranici http://www.sfsb.unios.hr/~mcicak/AU/ AUTOMATIZACIJA Kontrola, nadzor i optimizacija zasnovani su na procesu mjerenja. znanje i informacije – ključna uloga u industriji AUTOMATIZACIJA 1. Ekonomski razlozi - povećanje produktivnosti - povećanje proizvodnje - povećanje kvalitete - ušteda energije 2. Zamjena rada opasnog po čovjeka - nuklearni reaktor - rudnik - otrovne atmosfere 3. Zamjena monotonog rada - montažna traka 4. Radne operacije izvan fizioloških i umnih mogućnosti čovijeka - zavarivanje u uskoj cjevi - brza obrada podataka - izrada štampanih pločica Zadatak : pomoću odgovarajućih uređaja održati zadano ili željeno stanje nekog procesa, protiv svih unutrašnjih i vanjskih poremećaja (smetnji). UPRAVLJANJE Izvršava rutinske instrukcije bez pomoći čovjeka. Automatski starta ili ponavlja pojedini ciklus rada. Osnovna značajka : osjetljivost na poremećaje nema povratne veze za samoispravljanje djelovanja REGULACIJA samoispravljajući strojevi koji djeluju prema pogrešci regulacije (razlici između ulazne i regulirane veličine) donosi jednostavne odluke Osnovna značajka : jednostavna petlja negativna povratne veza za samoispravljanje djelovanja otklanja vanjske i unutrašnje poremećaje Proces kontrole i upravljanja zahtijeva kontinuirano mjerenje Aktuator je mehanička naprava koja pretvara energiju u kretanje. Uzima energiju (obično energiju zraka, tekućine, električnu energiju) i pretvara je u neku vrstu gibanja. Dakle to je električni, hidraulični ili pneumatski uređaj koji upravlja tokom materijala ili energije. Pretvara ulaznu energiju u izlaznu energiju.

Transcript of AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/IZV.pdf · 1 AUTOMATIZACIJA Laboratorijske vježbe –...

1

AUTOMATIZACIJALaboratorijske vježbe – Primjena gotovih programskih

rješenja (MatLab/Simulink, Octave, Scilab/Xcos))

1.Uvod u MatLab (Octave, Scilab)

2.Matlab,Octave, Scilab u analizi automatskih

sustava pomoću prijenosne funkcije

3.Matematičko modeliranje komponenti sustava

4.Modeliranje i simulacija sustava pomoću

Scilab/Xcos, Simulink

5.Vremenski odzivi sustava za različite koeficijente

prigušenja (Po, P1, P2)

6.Utjecaj parametara PID regulatora i vremenskog

kašnjenja na odziv i amplitudno fazno

frekvencijsku karakteristiku sustava (P, PI, PID).

7.Kolokvij

AUTOMATIZACIJALaboratorijske vježbe – (MatLab, Octave, Scilab)

Polaganje ispita i ocjenjivanje

Vježbe (MatLab, Octave, Scilab) )

su 30 % ukupne ocjene kolegija.

Kolokvij kao i ispit sadrži 3 zadatka ,( ukupno 30 bodova).

Minimum 50 % za pozitivnu ocjenu, (15 bodova) .

Nastava vježbi je obavezna.

Dozvoljen je je jedan opravdan izostanak.

Dva opravdana izostanka rezultiraju kolokviranjem jedne vježbe.

Tri ili više izostanka - gubi se pravo na potpis.

Materijal za učenje – dostupan na web stranici

http://www.sfsb.unios.hr/~mcicak/AU/

AUTOMATIZACIJA

Kontrola,

nadzor i

optimizacija

zasnovani su

na procesu mjerenja.

• znanje i informacije – ključna uloga u industriji

AUTOMATIZACIJA

1. Ekonomski razlozi

- povećanje produktivnosti- povećanje proizvodnje- povećanje kvalitete- ušteda energije

2. Zamjena rada opasnog po čovjeka- nuklearni reaktor- rudnik- otrovne atmosfere

3. Zamjena monotonog rada

- montažna traka

4. Radne operacije izvan fizioloških i umnih mogućnosti čovijeka

- zavarivanje u uskoj cjevi- brza obrada podataka- izrada štampanih pločica

Zadatak :

pomoću odgovarajućih uređaja održati zadano ili željeno stanje nekog

procesa, protiv svih unutrašnjih i vanjskih poremećaja (smetnji).

UPRAVLJANJE

Izvršava rutinske instrukcije bez pomoći čovjeka. Automatski starta ili ponavlja pojedini ciklus rada.

Osnovna značajka :• osjetljivost na poremećaje

• nema povratne veze za samoispravljanje djelovanja

REGULACIJA

• samoispravljajući strojevi koji djeluju prema pogrešci regulacije

(razlici između ulazne i regulirane veličine)

• donosi jednostavne odluke

Osnovna značajka :

• jednostavna petlja

• negativna povratne veza za samoispravljanje djelovanja otklanja vanjske i unutrašnje

poremećaje

Proces kontrole i upravljanja zahtijeva kontinuirano mjerenje

• Aktuator je mehanička naprava koja pretvara energiju u kretanje. Uzima energiju (obično energiju zraka, tekućine, električnu energiju) i pretvara je u neku vrstu gibanja.

• Dakle to je električni, hidraulični ili pneumatski uređaj koji upravlja tokom materijala ili energije. Pretvara ulaznu energiju u izlaznu energiju.

2

• Tri osnovne grupe zadataka koje sistem treba osigurati:

• Otklanjanje utjecaja vanjskih poremećaja (željeni kvalitet i količina proizvoda)

• Osiguravanje stabilnosti procesa (sigurnost)

• Optimiziranje rada procesa

Osnovni tipovi sustava

i zatvorenom petljom

Sa otvorenom petljom

Regulator Proces

R(s) Y(s)

Regulator Proces

Senzor

_

+R(s) Y(s)E(s)

Yp(s)

xu e y

z

regulacijski uređaj PROCES

xi

pobuda odziv

mjerni uređaj

iz poznatih parametara sustava i pobude treba odreditiodziv

iz poznate pobude i odziva treba odrediti parametare sustava

Analiza i sinteza regulacijskog djelovanja Ciljevi analize i sinteze

Zahtjevana stabilnost, minimalna greška u stacionarnom stanju i oblik prijelaznog odziva sustava

Analiza u vremenskoj domeni• Analiza u vremenskom području najčešće podrazumijeva rješavanje

diferencijalnih jednadžbi koje opisuju sustav, ili promatranje odziva sustava na narinute standardne pobudne funkcije na njegovom ulazu.

Analiza u frekvencijskoj domeni

• Temelji se na pobudi sustava sinusnim signalom promjenjive frekvencije i promatranjem odgovarajućeg odziva.

• Za linearne, vremenski nepromjenjive sustave i odziv će biti sinusan, ali će mu na svakoj frekvenciji amplitude i faza biti drugačija.

• Na temelju poznatih ulaznih i izlaznih amplituda i faza crtaju se frekvencijski dijagrami koji su temelj analize sustava u frekvencijskoj domeni.

Primjena gotovih programskih paketa

• MatLab - jedan od komercijalnih matematičkih software paketa/alata (Maple, Mathematica, MathCad …)

OCTAVE, Scilab (Xcos) - nekomercijalni alati

• Posjeduju visoke performanse u numeričkim izračunavanjima i vizualizaciji podataka.

Što je MATLAB ?

OCTAVE ?

Scilab ?

3

• MATLAB (MATrix LABoratory) je programski jezik

namjenjen za tehničke proračune. Objedinjava

računanje, vizualizaciju i programiranje u lako

uporabljivoj okolini u kojoj su problem i rješenje

definirani poznatom matematičkom notacijom.

• upotrebljava se zamatematiku i računanjerazvoj algoritama

modeliranje, simulaciju, analizuanalizu i obradu podataka, vizualizacijuznanstvenu i inžinjersku grafiku

Što je MATLAB ?

Koraci za rješavanje problema uz pomoć MATLAB-a, Octave u tehnici i znanosti

1. Jasno postaviti/formulirati problem

2. Definirati ulazne i izlazne vrijednosti

3. Razviti algoritam (metodu za riješavanje problema)

4. Riješiti problem

5. Provijeriti riješenje

Ako se pridržavate pravila kod rješavanja vaših problema povećavate šanse da dođete do točnog rješenja.

mali primjer….

Koliko sunce potroši materije tokom jednog dana?

MATLAB – OCTAVE ? • okruženje i programski jezik

• njegov programski jezik omogućava izgradnju vlastitih alata

• Toolbox je skup specijaliziranih M - datoteka za rad na određenoj klasi problema.

• S MATLABom dolazi nekoliko Toolbox- ova s područja upravljanja, obrade signala, identifikacije procesa, i drugih

MATLAB

• Matlab sve podatke tretira kao matrice i ne zahtjeva dimenzioniranje;

• Nakon pokretanja programa, otvara se glavni prozor u kojem ćemo uočiti znak >> (prompt), koji označava da Matlab očekuje unos nove naredbe.

• Svaka naredba mora završiti tipkom Enter – u nastavku teksta koristit ćemo oznaku <ent>.

• Neki primjeri ….

4

Komandni prozor

Komande se unose kod “>>”

odziva

Tekući Direktorij

MATLAB Prozori

aktivne varijable

Radni prostor

Rješavanje Problema uz Pomoć MATLABa

• Pogledajmo sada kako MATLAB radi na nekim primjerima

Primjer: crtanje odziva

level_tank

Skripte – skup naredbi koje se mogu izvršiti u komandnom prozoru

Koriste se za automatsko ponavljanje zadatka.

Funkcije

Ugrađene funkcije plot(),!rand(),!mean(),!std() može i korisničke funkcije

Skripta je skup naredbi i funkcija spremljenih u jednoj datoteci. Kad ju

pokrenemo naredbe se izvršavaju sekvencijalno, jedna za drugom.

U Editoru kreiramo i modificiramo m-datoteke možemo ih pokrenuti sa edit –

otvori – debug-run ili sa alatne trake zeleni trokutić

% crtanje odziva

x=[0:0.1:10];

y=x.^2-2*x;

plot(x,y) % nacrtaj grafikon x,y

grid on % uključi rešetku

title('Grafik funkcije'); %naslov grafikona

xlabel('x');

ylabel('y');

Primjer skripte

Rezolucija x osi (5)

% primjer level_tankclc, clear

Kp=16.5;

A_tank=78.5;

A=[0,-1/A_tank; 0, 0];

B=[Kp/A_tank; 0];

C=[1, 0];

D=[0];

model=ss(A, B, C, D)

step(model) % crta step na model

H=tf(model)

step(H)

Izvršavanje naredbi• Tijek:

• Pročitati naredbu (razumjeti je)

• Izvršiti naredbu

• Ispisati rezultat

• Ukoliko liniju naredbe završimo sa ; naredba će se izvršiti, ali se njen rezultat neće ispisati, (za međukorake čiji nas rezultat ne zanima).

• Tekst iza znaka % se zanemaruje

>>A=5; % ovo je komentar

>>% a=10

>>

Varijable

• Na početku rada sa MATLABom obično je potrebno definirati varijable i dodijeliti im odredjene vrijednosti, npr. A=3

• Ovu komandu je najbolje shvatiti kao dodjeljivanje vrijednosti 3 varijabli A

• Ovako definirane varijable mogu se koristiti u narednim komandama

5

Varijable

• Sva imena moraju početi slovima

• Imena varijable mogu sadržavati slova, brojeve i znak “ _”)

• MATLAB pravi razliku izmedju malih i velikih slova

Osnovna vrsta varijabli

• Grupa brojeva raspoređena u redove i stupce

• Jedan broj (Skalar)• MATLAB ga tretira kao matricu sa jednim redom i

jednin stupcem

• Vektor (Jednodimenzionalna matrica)• Jedan red ili jedan stupac

• Matrica (Dvije dimenzije)

Varijable• Prema sadržaju elemenata matrice:

• Realne

• Kompleksne

• Simboličke

• Polja

• Strukture

• Prema dohvatu (vidljivosti) na:

• Lokalne

• Globalne

• Prema izvoru nastanka:

• Interne

• Eksterne

Varijable

• Varijablu ans automatski generira i pridružuje joj vrijednost zadnjeg izračunatog izraza koji nije pridružen nijednoj varijabli.

>> 4*25+3

ans = 103

MATLAB pamti varijable koje smo koristili

Varijable koje su u radnom prostoru možemo vidjeti naredbom

who (ispis varijabli)

>> who Your variables are:

a b d kmpl2 p_kmpl1 y ans c kmpl1 kmpl3 x

whos (detaljniji ispis varijabli)

• >>whos

Name Size Elements Bytes Density Complex

a 1 by 1 1 8 Full No

ans 1 by 1 1 8 Full No

b 1 by 1 1 8 Full No

kmpl1 1 by 1 1 16 Full Yes …

Brisanje varijabli

clear – briše sve varijable iz workspace-a

clear a, b, c –briše varijable a, b i c iz workspace-a

clear global – briše globalne varijable iz workspace-a

clear d* - sve varijable koje počinju na d

Brisanje pomoću prozora workspace-a

Aritmetičke operacije

>> 4/1

ans =

4

>> 4\1

ans =

0.2500

>> 1 + 3 * 2 ^ 4 / 6 - 9

ans =

0

>> 1 + (3 * 2) ^ 4 / (6 - 9)

ans =

-431

+ zbrajanje

- oduzimanje

* množenje

/ "Desno" dijeljenje

\ "lijevo" dijeljenje

^ potenciranje

6

Zadatak:

Definirajte varijable x i z, x kao x=5.3 i z kao z=7.8

(x /z)2

xz14x 2 0.8z 2

1

) 2)2

x

z

z

x (x 2z z 2x (

Redosljed operacija

• Isti kako ste naučili u matematici• Prvo zagrade

• Eksponencijalne funkcije

• Množenje / dijeljenje

• Zbrajanje / oduzimanje

Zagrade

• Koristite samo ( )

• { } i [ ] se koriste za neke druge (važne) stvari u MATLABu

• MATLAB ne “podrazumjeva” množenje ako se ispusti znak “*”

>> 5(3+4)

??? 5(3+4)

|

Error: Unbalanced or unexpected parenthesis or bracket

5 * (3+4) nije 5(3+4)

Da bi ste u radnom prostoru stvorili vektor –

jednodimenzionalnu matricu, koristite

pravokutne zagrade [ ]

Operacije sa matricama

Između pojedinačnih brojeva u

vektoru možete upotrijebiti ili prazan

prostor ili zareze

Operacije sa matricama

Korištenje točka-zareza umijesto zareza ili

praznih prostora će brojeve rasporediti u

kolonu umjesto u redak (stupčasti vektor)

Korištenje točka-zareza da bi se označio

novi red

7

Korištenje prečica

• Dok se neke komplicirane matrice moraju unositi pažljivo, “ručno”, unos je puno lakši ako se radi o matricama sa elementima koji su pravilno raspoređeni. Instrukcija

b= 1:5 ili b = [1:5] će stvoriti vektor u jednom redu

Često nam vektor predstavlja rastući ili padajući niz brojeva s jednolikim

razmakom između susjeda. Takav vektor zadajemo pomoću znaka dvotočke

(:). Npr:

b =

1 2 3 4 5

Razlika izmedju elemenata matrice ili

vektora je 1 po definiciji, ako želite

neku drugu razliku, umetnite je

izmedju početne i krajnje vrijednosti

Korisna napomena

• U instrukciji koja definira elemente matrice može se upotrijebiti i matematička operacija

• Na primjer:

a = [0: pi/10: pi]

Vježba

40

Generirajte vektore (sve tri pomoću skripte)

a) v1= 2 4 6 8 10 12 sa konstantnim korakom između elemenata, zadavanjem prvog elementa, koraka i zadnjeg elementa.

b) v2= 2.0000;2.2000;2.4000;2.6000;2.8000;3.0000

sa konstantnim korakom između elemenata

c) t u kojem je prvi element 18, a posljednji -22, a korak između elemenata je -4.

Z1:

Generirajte vektor

a) v1= 2 4 6 8 10 12 sa konstantnim korakom između elemenata, zadavanjem prvog elementa, koraka i zadnjeg elementa.

v1=2:2:12

b) v2= 2.0000;2.2000;2.4000;2.6000;2.8000;3.0000

sa konstantnim korakom između elemenata

v2=2:0.2:3 ili v2=2:0.2:3

c) u kojem je prvi element 18, a posljednji -22, a korak između elemenata je -4.

t=18:-4:-22

Aritmetički operatori (matrice)

Relacijski operatori

Logički operatori

OPERATORI

8

Prioritet Operator Opis

1 ( ) Grupiranje i prioritet

2 ’

.’Konjugiranje i transponiranje

Transponiranje

3 ^

.^

Potenciranje

Potenciranje između elemenata

4 *

.*

/

\

./

Matrično množenje

Množenje među elementima matrica

Desno dijeljenje (X*Y-1)

Lijevo dijeljenje (Y-1*X)Dijeljenje među elementima matrica

5 +-

Zbrajanje Oduzimanje

38

ARITMETIČKI OPERATORI Relacijski operatori

44

Kao rezultat operacije se dobiva

logička vrijednost (0 ili 1)

Operator Opis Primjer

< Manje a<b

<= Manje ili jednako a<=b

> Veće a>b

>= Veće ili jednako a>=b

== Jednako a==b

~= Različito a~=b

Logički operatori

45

Operator Opis Primjer

&

Logičko I – Ako A i B imaju vrijednost true

(1), rezultat je true, u suprotnom rezultat

je false (0).A&B

I

Logičko ILI – Ako jedan ili oba operanda

imaju vrijednost true (1),rezultat je true

(1), u suprotnom rezultat je false (0)A|B

~Logički komplement – daje suprotnu

vrijednost operanda (1--> 0)~A

xor Logičko ekskluzivno ILI xor(A,B)

Početna

vrijednost

izražena kao

stupanj broja 10

Završna vrijednost

izražena kao

stupanj broja 10

Broj elemenata

e =

10 100 1000

Operacije sa Matricama i Vektorima• Množenje .*

• Dijeljenje ./

• Eksponencijalne funkcije .^

Dimenzije matrica ili vektora moraju biti iste.

Kod množenja matrica broj stupaca lijeve matrice mora biti jednak broju

redaka desne matrice:

Zahvaljujući matricama ponavljanje istih operacija u MATLABu je jednostavno

• Ako, na primjer, imate veliki broj kutova u stupnjevima koje treba pretvoriti u radijane, najbolje je

• Prvo ih sortirati u vektor (ili matricu) • Potom izvršiti pretvaranje u radijane

9

POSEBNE MATRICE Naredba zeros(m,n) vraća matricu sa m redaka i n stupaca popunjenu nulama, dok funkcija ones(m,n) vraća matricu istih dimenzija popunjenu jedinicama. Naredba eye(n) kreirat će kvadratnu matricu dimenzija n×n s jedinicama po dijagonali (jedinična matrica).

Uočimo iz prethodnog primjera da ako Matlab naredba ima više argumenata, oni se međusobno odvajaju zarezom.

Matricu sa slučajno odabranim brojevima (u intervalu od 0 do 1) kreirat će naredba rand(n,m):

Želimo li izbrisati neku varijablu iz radnog prostora, koristit ćemo naredbu clear. Npr:

>> clear a % briše varijablu a

>> clear % briše sve varijable iz radnog prostora

>> clear all

Znak “%” se koristi za komentar u Matlabu

Potreban je jedan “%” znak za svaku liniju u koju

stavljate komentar

Korištenje predefiniranih funkcija u MATLABu

Funkcija se sastoji od• Imena

• Ulaznih vrijednosti

• Izlaznih vrijednosti (Rezultata)

sqrt (x)= result

In MATLAB

sqrt(4)

ans = 2

Neke funkcije mogu (ili moraju) imati više ulaznih vrijednosti

• Funkcija “remainder” izračunava ostatak cjelobrojnog dijeljenja

• Npr. ostatak kod dijeljenja 10 i 3, 10/3

MATLAB funkcije mogu načiniti (skoro) sve što vam može zatrebati

• Da bi ste saznali kako rade i kako se koriste MATLAB funkcije možete upotrijebiti MATLAB “help”

• Help se može pozvatiIz komandnog prozoraIz MATLAB menija

Iz komandnog prozora

10

help help

Operacije sa matricamaKako se stvara matrica u MATLABu

A=[3.5]

B=[1.5, 3.1] ili

B=[1.5 3.1]

C=[-1, 0, 0; 1, 1, 0; 0, 0, 2];

“:” operator se korsti da bi se:• stvorile matrice sa konstantnom razlikom između susjednih elemenata

• pristupilo elementima ili djelovima postojećih matrica

• matrica pretvorila u stupac

Slučajni Brojevi

• rand(x)• Daje x puta x matricu slučajnih brojeva izmedju 0 i 1

• rand(n,m)• Daje n puta m matricu slučajnih brojeva izmedju 0 i 1

• Ovi brojevi su uniformno raspodijeljeni !

POLINOMI

U teoriji sustava i automatizaciji prijenosne funkcije sustava definiraju se

razlomcima s polinomima u brojniku i nazivniku.

Kako se u Matlabu definiraju polinomi ?

p=x5 + 3x2 – 4x + 21

Polinomi se u Matlabu predstavljaju s vektorima koji sadržavaju

koeficijente uz pojedine potencije varijable x

Korijeni polinoma traže se naredbom roots():

Funkcije za rad sa polinomima

Funkcija Opis

x=roots(P) Korijeni polinoma P

P=poly(x)Vraća polinom na temelju korijena

polinoma

R=conv(P,Q) Množenje polinoma P i Q

[R,S]=deconv(P,Q)Dijeljenje polinoma P/Q (R je

rezultat dijeljenja a S ostatak)

Q=polyder(P) Derivacija polinoma P

P=polyfit(x,y,n)

Metodom najmanjih kvadrata

računaju se koeficijenti polinoma

P(x) n-tog reda

Skripte Funkcije

Ima nastavak .m

Varijable možemo koristiti i u radnom prostoru, odnosno iz tog radnog prostora

Sadrže niz Matlabovih naredbi

Ima nastavak .m

Prvi red mora biti red s definicijom funkcije

Varijable su lokalne

Prihvaćaju podatke putem ulaznih argumenata, a vraćaju preko izlaznih

Kada snimamo funkcijsku datoteku, dajemo joj ime jednako imenu funkcije

11

Funkcije za rad sa polinomima

P(x)=x3-5x2+8x-6

Q(x)=x2-4x+3

P(x)Q(x)

P(x)/Q(x)

P’(x)

>> P=[1 -5 8 -6];

>> Q=[1 -4 3];

>> R=conv(P,Q)

R =

1 -9

31 -

53

48 -18

>> R=polyder(P) R =

3 -10 8

>> [R,S]=deconv(P,Q)

R =

1 -1

S =

0 0 1 -3

8.0000 -6.0000

P(x)

Q(x)

>> R=roots(P) R

=

3.0000

1.0000 + 1.0000i

1.0000 - 1.0000i

>> P=poly(R) P

=

1.0000 -5.0000

Množenje

Dijeljenje

Derivacija

Korijeni

polinom na temelju korijena

POLINOMI Polinomi se množe naredbom conv() : Pomnoži dva polinoma (x2 + 3x + 2)*(4x+2)

Za dijeljenje polinoma služi naredba deconv():

pri čemu je n kvocijent, a r ostatak dijeljenja, tj. vrijedi: p1/p2 = n + r/p2

!

Grafičke funkcije – 2D

Važnije funkcije (plot, bar, stem, stairs)

Kao prvi korak potrebno generirati vektor x koji sadrži vrijednosti u kojima se izračunava funkcija y=f(x), te nakon izračunavanja graf funkcije se iscrtava.

Ove funkcije primaju i dodatne parametre koji definiraju izgled samog grafa (npr. boja i vrsta linija)

>>plot(x,y)

Osnovna naredba dvo-dimenzionalne grafike u MATLABu je plot.

Potrebno je nacrtati funkciju y=sin(x) od 0 do

2 P sa 30 točaka.

Osnovna naredba dvo-dimenzionalne grafike u MATLABu je plot.

Potrebno je nacrtati funkciju y=sin(x) od 0 do

2 P sa 30 točaka

>> x=linspace(0,2*pi,30); % od 0 do 2pi generira 30 točaka

>> y=sin(x);

>> plot(x,y)

Osnove grafike u MATLABu

• Crtanje i označavanje dvodimenzionalnih grafova

• Podešavanje izgleda vaših crteža

• Upotreba “subplot” opcije

• Trodimenzionalni crteži

• Interaktivni grafički alati

1 2 3 4 50

2

4

6

8

A bargraph of vector x

1 20

2

4

6

8

A bargraph of matrix y

12

34

51

2

0

5

10

A three dimensional bargraph

5%10%

25%

20%

40%

A pie chart of x

12

Inženjeri obično dodaju i …

• Naslov

• Ime za X osu, i jedinice

• Ime za Y osu, i jedinice

• često je korisno dodati i mrežu preko slike

xlabel (‘x os’) – dodavanje naziva x osi

ylabel (‘y os’) – dodavanje naziva y osi

title (‘Graf funkcije’) – dodavanje naziva grafu

grid on /grid off – dodavanje mreže

Grafičke funkcije – 2D (opcije)

Oznaka Boja Oznaka Tip linije

y Žuta - Puna

m Ljubičasta : Točkasta linija

c Svjetloplava -. Crta točka

r Crvena -- Isprekidana linija

g Zelena

b Plava

w Bijela

k Crna

Grafičke funkcije – 2D (opcije)

semilogy

Nova slika

Figure

Više odvojenih grafova na istoj slici

subplot

figure, plot(x,y,’r’);

subplot(211), plot(x1,y1,’r’);

subplot(212), plot(x2,y2,’k’);

semilogx(x,y,’r’);

semilogy(x2,y2,’k’);

Crtanje na logaritamskoj skali

semilogx

76

X=1:10

Y1=2*X+3

Y2=3*X-1

plot(X,Y1,’r’,X,Y2,’g’)

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

X=1:10;

Y1=2*X+3;

Y2=3*X-1;

plot(X,Y1,'r',X,Y2,'g')Više grafova na jednom crtežu• Svaki put kada izdate naredbu “plot” MATLAB briše postojeći crtež

• Da bi se otvorila nova slika, koristi se funkcija “figure”, npr.figure(2)

Naredba plot(x) crta vektor x na način da se na x-os nanose indeksi vektora x, a

na y-osi nalaze se vrijednosti vektora. Zadane točke međusobno se spajaju

ravnim linijama:

13

Crteži sa više grafova

• hold on •Zadržava postojeći crtež tako da se novi graf može

crtati preko postojećeg

• Kod ovog pristupa novi graf će po definiciji biti nacrtan plavom bojom

Ova krivulja je u plavoj boji

Nacrtaj krivulju y1=cos4x ako je x od 0 do 2P sa rezulucijom (korakom)

P/100.

hold on komanda

zadržava postojeći crtež

Drugi crtež je

takodjer

nacrtan

koristeći plavu

boju

hold off komanda

prekida zadržavanje

grafova na slici

Ova krivulja je u plavoj boji

- Na postojeći crtež dodati još funkciju y2=sin(x) Z2:

Svaki par varijabli

u plot komandi će

proizvesti novi

graf.

Jednom komandom je moguće istovremeno iscrtati više

krivulja

Koristeći ovaj način, svaki graf je druge boje

peaks(100)

instrukcija stvara

100x100 matricu

čije se vrijednosti

mogu prikazati

pomoću “plot”

funkcije koja daje

100 različitih

grafova.

Subplot

• subplot komandom se prozor u kome se crta može podijeliti na više pod-prozora u kojima se mogu prikazati crteži

• subplot(m,n,p)

broj

red

broj

stupca

broj slike

(položaj)

2 reda

2 stupca

1 2

3 4

-20

2

-20

2

-5

0

5

x

Peaks

y

subplot(2,2,1)

14

Pomoću naredbe subplot nacrtati funkcije sin(x) i sin(2x) ako zadan x od

0 do 2P , sa korakom P /20.

Z3:

2 reda i 1 stupac

Pomoću naredbe subplot nacrtati funkcije sin(x) i sin(2x) ako zadan x od

0 do 2P , sa korakom P /20.

x-y plot – linearna

podjela na obje osi

semilogx – log

podjela na x osi

semilogy – log

podjela na y osi

loglog – log podjela

na obje osi

% crtanje

x=[0:0.1:10];

y=x.^2-2*x;

plot(x,y) % nacrtaj grafikon x,y

grid on % uključi rešetku

title('Grafik funkcije'); %naslov grafikona

xlabel('x');

ylabel('y');

Primjer skripte

Rezolucija x osi (5)

Nacrtati funkciju y=x2-2x ako je zadan x od 0 do 10 , sa korakom 0,1. Uključi

rešetku, dodaj naslov te x i y labelu osi.Z4:

Matematičko modeliranje

Matematički prikaz vladanja sustava je matematički model koji se

sastoji od diferencijalnih, algebarskih ili logičkih jednadžbi.

Čemu služe matematički modeli?

● općenito predstavljaju polazište pri:

♦ analizi i sintezi sustava upravljanja

♦ simulaciji sustava na računalu (omogućava se

"eksperimentiranje" na

matematičkom modelu umjesto na stvarnom sustavu) ⇒posebno

važno u fazi projektiranja sustava

Matematičko modeliranje sustava podrazumijeva izračun jednadžbi

matematičkog modela i računanje prijenosne funkcije sustava, koja

omogućuje analizu ponašanja sustava, odnosno odziv izlaznih

veličina (odziv, posljedicu) sustava na ulazne veličine (pobudu, uzrok) .

15

Matematički model

- opisuje ponašanje procesa

• stacionirano - opisuje ponašanje sustava u stacionarnom (ustaljenom, uravnoteženom) stanju

• dinamičko - opisuje ponašanje sustava pri prijelazu iz jednog stanja u drugo stanje, tj. pri prijelazu iz jedne radne točke u drugu; brzina prijelaza ovisi o karakteristikama sustava (broju i veličini skladišta energije) i o pobudnom signalu koji djeluje na ulaz procesa

Kako odrediti matematički model nekog realnog procesa ?

REALNI SUSTAV

MATEMATIČKO MODELIRANJE – model se izvodi na temelju

poznatih fizičkih zakonitosti

(Newtonov zakon, Kirchoffov zakon)

IDENTIFIKACIJA SUSTAVA

– model se dobiva na temelju

mjerenja odziva na realnom

sustavu na poznati ulazni signal

Diferencijalna

jednadžba

Laplaceova

transformacij

a

MODEL

PROSTORA

STANJA (engl.

State space

model)PRIJENOS

NE

FUNKCIJE

(engl.

Transfer

Function)

PRIJENOS

NA

FUNKCIJA

REGULACI

JA

(npr. PID)

Rezultat prisustva formalne sličnosti među nekim karakteristikama ponašanja je postojanje ANALOGNIH (ekvivalentnih) sustava .

Sličnost se javlja samo nakon pojednostavljenja, koja idu dovoljno daleko.

Ako se pokuša odustati od nekih pojednostavljenja, može se izgubiti analogija.

Ekvivalentni ( analogni ) sustavi

•različiti sustavi (elektronički sustav, sustav mehaničkog gibanja,

toplinski sustav, sustav protoka itd.) mogu biti opisani istom

diferencijalnom jednadžbom.

16

Primjer

Mehanički sustav sa oprugom i prigušenjem

- praćenjem toka signala dobivaju se blok dijagrami

( bitno je odrediti ulazne i izlazne varijable, pri čemu svaki blok nema direktni utjecaj

na prethodni blok. Mogući utjecaj na prethodni blok definira se uvođenjem povratne

veze, što onemogućava stvarnu, fizičku interpretaciju pojedinih elemenata sustava. )

Kao ulazna varijabla pretpostavljen je pomak u točki A (xA), a kao izlazna varijabla

pomak u točki B (xB). Do blok dijagrama može se doći iz ravnoteže sila u točki B:

K konstanta krutosti opruge, a

D konstanta viskoznog prigušenja prigušivača udarca

Gdje

karakteristična

jednadžba

poprima slijedeći

oblik:

Da bi se pojednostavio postupak rješavanja diferencijalnih jednadžbi

primjenjuje se tzv. operatorski račun, pri kojem se operacija derivacije d/dt

zamjenjuje operatorom s.

Na taj način diferencijalna jednadžba poprima oblik algebarske jednadžbe

te se daljnji postupak rješavanja svodi na mnogo jednostavnije algebarske

operacije.

Pri tome je uobičajeno da se vrijednosti varijabli nakon Laplaceove

transformacije

oznacavaju velikim slovom (npr. y(t) Y(s)).

Prijelaz u vremensko područje ponovno zahtijeva transformaciju koja se zove obrnutom ili inverznom Laplaceovom transformacijom.

Operator s je kompleksna varijabla, ili kompleksna frekvencija, stoga je

rješenje u području kompleksne varijable. (Dakle, frekvencijsko područje).

• Matematičko modeliranje sustava podrazumijeva izračun jednadžbi matematičkog modela i računanje prijenosne funkcije sustava, koja nam omogućava analizu ponašanja sustava, odnosno odziv izlaznih veličina sustava na ulazne veličine.

Funkcija prijenosa

Prethodnu algebarsku jednadžbu u s području možemo izraziti kao

omjer izlazne (Y) i ulazne (X) veličine:

Gornji izraz predstavlja prijenosnu funkciju sustava, koja se obično

označava sa G(s) (ponegdje također H(s)).

Dakle, prijenosna funkcija G(s) nekog sustava je transformirani

omjer izlazne i ulazne funkcije uz početne uvjete jednake nuli: G(s)

= Y(s) / X(s)

Prijenosna funkcija opisuje dinamiku sustav samo povezujući utjecaj pobude

na izlaznu veličinu, a isključuje utjecaj pohranjene energije u sustavu, pošto su

početni uvjeti po definiciji jednaki nuli.

Funkcija prijenosa

Red prijenosne funkcije je red polinoma njenog nazivnika n.

Članovi u nazivniku predstavljaju kašnjenja u sustavu (broj integracija),

dok članovi u brojniku predstavljaju ponašanje sustava s obzirom na pobudu.

U pravilu je red polinoma nazivnika prijenosne funkcije veći ili jednak redu

polinoma njenog brojnika (n ≥ m), uz moguće iznimke.

Karakteristična jednadžba, polovi i nule

Vrijednosti s = pi za koje je polinom nazivnika prijenosne funkcije jednak nuli

zovu se polovi prijenosne funkcije, ili polovi sustava kojeg prijenosna funkcija

predstavlja.

Vrijednosti s = zi za koje je polinom brojnika prijenosne funkcije jednak nuli zovu

se nule prijenosne funkcije.

Drugim riječima, za te vrijednosti s izlaz iz sustava biti će jednak nuli, bez obzira

kakva pobuda djeluje na ulazu.

Napomene i ograničenja funkcije prijenosa

• Važi samo za linearne stacionarne sustave

– primjena nije moguća kod nestacionarnih sustava

• uzima u obzir samo zavisnost ulaz-izlaz i ne pruža informaciju o unutrašnjoj strukturi sistema

• Važi samo za nulte početne uvjete

17

Crtanje odziva sustava na zadanu pobudu

Za izračunavanje odziva sustava potrebno je izračunati vrijednost diferencijalnih

jednadžbi sustava u različitim vremenskim trenucima.

Za proračun diferencijalnih jednadžbi koristi se ugrađena Matlab funkcija ode23.

Za rad funkcije ode23 potrebno je napisati funkciju sa parametrima i diferencijalnim

jednadžbama sustava.

function xp=sustav(t,x)

Za poziv funkcije ode23 potrebno je imati napisanu funkciju „sustav“ i znati za koji interval

vremena se traže vrijednosti [t0, tstop] kao i početne uvjete

[x1(0), x’1(0), x2(0), x’1(0)].

Funkcija ode23 se poziva na sljedeći način:

[t,y]=ode23(@sustav, [t0, tstop], [x1(0), x’1(0), x2(0), x’2(0), ...]);

Primjer:

[t,y]=ode23(@sustav, [0, 10], [0, 0]);

ode23 funkcija vraća vremenske trenutke u kojima su izračunate vrijednosti

diferencijalnih jednadžbi (t - vektor) i vrijednosti x-ova i x' -ova u tim vremenskim

trenucima (y - matrica).

Za grafički prikaz potrebno je pozvati Matlab funkciju plot koja će

iscrtati dobivene rezultate. plot(t,y)

Postupak rada:

1. Napisati funkciju sustava (function xp=sustav(t,x)) u posebnom m fajlu

(sustav.m).

2. U Matlab/Octave okruženju ili u m fajlu u kom se trenutno radi zadatak, otkuca

se poziv ode23 funkcije:

([t,y]=ode23(@sustav, [0, 10], [0, 0]);)

3. Da bi se grafički prikazalo rešenje, otkuca se plot(t,y).

Primjer:

a) Napisati diferencijalnu jednadžbu koja opisuje ponašanje sustava na slici.

b) Uvesti promjene tako da se od dobivene diferencijalne jednadžbe drugog reda

dobije diferencijalna jednadžba prvog reda. Dobivene diferencijalne jednadžbe

prvog reda izraziti u vidu matrice (xp matrica).

c) Koristeći funkciju ode23 iscrtati odziv sustava za prvih 10 sekundi ako se sila

F(t) mijenja po zadanom dijagramu a parametri sustava su: K=10, B=5, M=0.8.

Stanje sustava u početnom trenutku je: x(0)=0, x’(0)=0.

Rješenja:

a) Potrebno je načiniti dekompoziciju sustava i nacrtati sve sile (direktne i indirektne)

koje djeluju na masu M.

Na osnovu slike koja pokazuje sile koje djeluju na masu M moguće je

napisati diferencijalnu jednadžbu (suma svih sila koje djeluju na masu jednaka je 0)

koja opisuje ponašanje sustava:

3. Newtonov zakon (suma primjenjenih sila jednaka je silama koje im se

suprostavljaju)Iz ravnoteže sila: f = fK = K (xA − xB )Točka A

Točka B

Rješenja:

a) ponašanje sustava:

b) Uvesti promjene tako da se od dobivene diferencijalne jednadžbe drugog

reda dobije diferencijalna jednadžba prvog reda. Dobivene diferencijalne

jednadžbe prvog reda izraziti u vidu matrice (xp matrica).

Promjena

MATLAB

xp=[x(2); (1/M).*(F-B.*x(2)-K.*x(1))];

Rješenje

c) Potrebno je definirati način promjene sile F(t). Da bi jednostavno provjerili da li

je sila F(t)dobro definirana, definirat ćemo vrijeme t, i nakon toga uz pomoć

funkcije plot() provjeriti da li se dobiva željena promjena.

NAPOMENA: Prilikom definiranja sustava za ode23 funkciju nije potrebno

definirati vrijeme t.

>> % definiranje i provjera sile F(t) - I nacin

t=0:0.01:10; % definiranje vremena

f=(t<5)*0 + (t>=5)*10; % opis načina promjene sile F(t)

plot(t,f) % iscrtavanje signala

Ovo je samo provjera // pišemo samo funkciju sustav0 i poziv

sustava

>> % definiranje i provjera sile F(t) - II nacin

t=0:0.01:10; % definiranje vremena

f=(t>=5)*10; % opis nacin a promjene sile F(t)

plot(t,f) %iscrtavanje signala

18

Nakon što je opisana sila F(t), može se napisati funkcija sustava, koja se

kasnije prosljeđuje funkciji ode23.

Sustav se definira u obliku funkcije (function xp=sustav(t,x)) u posebnom m

fajlu.

function xp=sustav0(t,x)

%definicija mehaničkog sustava iz zadatka 1

% Konstante sustava

K=10; B=5; M=0.8;

% Definiranje promjene sile F(t)

F=(t>=5)*10;

% XP matrica sustava

xp=[x(2)

(1/M).*(F-B.*x(2)-K.*x(1))];

Rješenje

c) (funkcija sustav0 ) Nakon definiranja sustava potrebno je pozvati ode23 funkciju koja će za željeni

vremenski interval izračunati vrijednosti pozicija (x) i brzina (x’) u zadanom

vremenskom intervalu a nakon toga funkcijom plot dobivene rezultate prikazati

grafički.

% poziv ode23 funkcije

[t,y]=ode23(@sustav0, [0, 10], [0, 0]);

% prikaz odziva sustava

plot(t,y,'LineWidth',2) % 'LineWidth',2 - debljina linije 2

px

TITLE('Odziv sustava iz zadatka 1') % naslov

XLABEL('vrijeme t [s]'); % x-osa

YLABEL('promjena pozicije i brzine'); %y-osa

LEGEND('x - pozicija','v - brzina'); %legenda

https://octave-online.net/Control System DesignAlati kontrole:

1. prostorno stanje (prikazuje domenu kao matricu)

2. prijenosna funkcija (Laplace domene i koriste polinome iz kompleksne varijable)

3. blok dijagram

Ciljevi performansi dizajna uzimaju u obzir:

1. Prolazna (kratkoročna ponašanje)2. Stabilno stanje (dugoročno ponašanje)3. Stabilnost

• Povratne informacije imaju potencijal za uklanjanje i predstavljanje nestabilnosti.

• Grafički alati koji se koriste za rješavanje problema kontrole su Bode i Nyquist dijagram.

Generiranje prijenosne funkcijeUvodimo novu klasu varijable definiranu u control toolbox-u, nazvanu tf (eng. transfer function). Pomoću naredbe tf, unosimo željenu prijenosnu funkciju koristeći koeficijente brojnika i nazivnika(primjer) :

>> brojnik=[1 3] ;

nazivnik=[2 4 6];

G=tf(brojnik, nazivnik)

ili

G = tf( [1 3], [2 4 6] ); % tf (b, n)

- definirati polinom brojnika

- definirati polinom nazivnika

- Koristiti naredbu tf (transfer function)

Generiranje prijenosne funkcijeNapisati program koji generira funkciju prijenosa

- definirati polinom brojnika

- definirati polinom nazivnika

- Koristiti naredbu tf (transfer function)

Z5:

19

Napisati program koji generira funkciju prijenosa zadanu u faktoriziranom obliku:

s + 4

G(s)= -------------

(s +2 )(s+3)

Određivanje prijenosne funkcije

>> Br=[1 4];

N1=[1 2];

N2=[1 3];

Naz=conv(N1,N2);

G=tf(Br,Naz)

Transfer function:

s + 4

-------------

s^2 + 5 s + 6

Potrebno je nacrtati amplitudno-faznu karakteristiku prijenosne funkcije:

1

G(s)= -------------

S2 + 3s + 2

Generiranje prijenosne funkcijep1_prijaf

>> br=[1];naz=[1 3 2];G=tf(br,naz)

>> bode(G) nyquist(G)

Z6:

Operacije s prijenosnim funkcijama (blokovska algebra)

NAREDBE ZA ODREĐIVANJE PRIJENOSNE FUNKCIJE SUSTAVA: SERIES, PARALLEL, FEEDBACK

• series(G1,G2)

računa serijske veze dviju prijenosnih funkcija

• parallel(G1,G2)

računa paralelne veze dviju prijenosnih funkcija

• feedback(G,H,sign)

računa prijenosne funkcije sustava s povratnom vezom

jedinična povratna veza

Ispiši rezultat prijenosne funkcije ako su prijenosne funkcije G1 i G2 spojene

serijski.

>> br1=[1 1]; naz1=[1 2];

>> G=tf(br1,naz1)

>> br2=[1]; naz2=[500 0 0];

>>H=tf(br2,naz2)

>> RS=series(G,H);

>>

s+ 1

------------------

500 s^3 + 1000 s^2

br1=[1 1]; naz1=[1 2];

G1=tf(br1,naz1)

br2=[1]; naz2=[500 0 0];

G2=tf(br2,naz2)

S=series(G1,G2)p2_seria.m

Command window

script

Za zadane prijenosne funkcije:

Napisati program koji generira funkcije prijenosa za :

a) serijsku i

b) paralelnu vezu sustava

c) te za sustav s povratnom vezom kao i

d) za negativnu jediničnu povratnu vezu serijski spojenog sustava.

Z7:

Skripta (p2_spp.m)

p=pole(W)

z=zero(W)

P2_ser_polovi

Skripta

20

Generirati prijenosnu funkciju promatranog sustava

(pf1.m)

G= ?

Z8:Odrediti prijenosnu funkciju promatranog sustava

(pf1.m)

G= ?

G1 G2

G3 G4

G1=tf([1,2],1);

G2=tf([1,3],1);

G3=tf([1,0],1);

G4=tf([1,2,2],1);

G=G1*G2/G3/G4

Transfer function:

s^2 + 5 s + 6

-----------------

s^3 + 2 s^2 + 2 s

br=[1 5 6]

naz=[1 2 2 0]

pzmap(br,naz)

Odrediti prijenosnu funkciju promatranog sustava

G=G1*G2/(G3*G4)

G1=tf([1,2],1);

G2=tf([1,3],1);

G3=tf(1,[1,0]);

G4=tf(1,[1,2,2]);

G=G1*G2*G3*G4

118

Xcos Simulink

Modeliranje po varijablama stanja

ZADATAK 1.Dinamički sustav opisan je prijenosnom funkcijom . Opisati zadani sustav faznim varijablama stanja. Fazne varijable stanja definirane su kao:

Nacrtati pripadajući blok dijagram.

Generirati i nacrtati vremenske odzive varijabli stanja na dva načina, pomoću Matlab naredbe lsim i blok dijagrama (XCOS).

Na ulaz dovesti:

a) step funkciju

b) sinusnu pobudu

Z10:

Rješenje a) Kombinacijom jednadžbi (1) i (1a) biti će:

Napišemo li jednadžbe (1b), (2) i (3) u matričnom obliku, dobit ćemo sustav opisan varijablama stanja:

21

Pripadajući blok dijagram biti će: Vremenske odzive varijabli stanja u Octave generirat ćemo pomoću naredbe

lsim() na način:

[y,x]=lsim(A,B,C,D,u,t,x0)

% pri cemu su:

% y: izlaz ; x: matrica varijabli stanja x=[x1 x2 x3]

% A: matrica sustava ; B: ulazna matrica ; C: izlazna matrica ;

% D: vektor prijelaza (direktnog preslikavanja (obično nula u SISO sustavima)

% u: ulazna funkcija ; t: definirano vrijeme ; x0: početni uvjeti

A=[-7 -14 -8; 1 0 0; 0 1 0];

B=[6; 0; 0];

C=[0 0 1];

D=[0];

t=0:0.01:10;

u=ones(1,length(t)); % ulazna funkcija je step

x0=[0; 0; 0] ;

[br,naz]=ss2tf(A,B,C,D)

G=tf(br,naz)

[y,x]=lsim(A,B,C,D,u,t,x0)

subplot(311); plot(t,x(:,1))

subplot(312); plot(t,x(:,2))

subplot(313); plot(t,x(:,3))

Vremenske odzive varijabli stanja u SciLab (Xcos) promatrati ćemo tako da varijable

spojimo na osciloskop i pokrenemo simulaciju.

22

ODREĐIVANJE POLOVA, NULA SUSTAVA: NAREDBE : PZMAP, RESIDUE

PZMAP (G) – služi za računanje i crtanje polova i nula prijenosne

funkcije u kompleksnoj ravnini

[P,Z]=pzmap(G) – računanje polova i nula prijenosne

funkcije,

P: matrica polova a

Z: matrica nula pzmap(G) – crtanje polova i nula prijenosne funkcije,

pole (G) – računanje polova prijenosne funkcije

zero (G) – računanje nula prijenosne funkcije

PZMAP

Izračunaj i nacrtaj polove inule prijenosne funkcijekoristeći naredbu pzmap :

(s2+s+1)____________________

(s3-5s2+8s-4)

Z11:

Izračunaj i nacrtaj polove i nule prijenosne funkcije : (s2+s+1)/(s3 -5s2+8s-4)

br=[1 1 1]; naz=[1 -5 8 -4];

G=tf(br,naz)

[P,Z]=pzmap(G) % računanje

pzmap(G)

Residue – rastavljanje na parcijalne razlomke

Kvocijent dvaju polinoma može se rastaviti na parcijalne razlomke

gdje je M broj polova (duljina R, P i E),

k vektor je polinom reda N-1 koji predstavlja izravni doprinos, a

e vektor određuje mnoštvo m-t ostatka pola.

[br, naz] = residue (r, p, k, e)

P2rez.m

ODREĐIVANJE VREMENSKOG ODZIVA SUSTAVA NAREDBE: STEP, IMPULSE, LSIM

• STEP računanje i crtanje vremenskog odziva na step pobudu

• IMPULSE računanje i crtanje vremenskog odziva sustava na Dirac-ov impuls,

• LSIM (G) računanje i crtanje vremenskog odziva sustava na proizvoljno zadanu ulaznu funkciju y=lsim(G,u,t); računanje

lsim(G,u,t) crtanje

y=step(G) računanje odziva sustava, y(t), pri čemu je t

vremenski vektor za kojega računamo odziv; opcijski

argument (ako nije zadan, Matlab ga automatski određuje) y:

izračunati odziv sustava step(G, t) crtanje

y=impulse(G, t) računanje odziva sustava, y(t),

impulse(G, t) crtanje vremenskog odziva

23

PrimjeriIzračunati i nacrtati vremenski odziv zadane prijenosne funkcije G(s) =1/(s2+s+1) na jediničnu skokovitu, impulsnu i proizvoljno zadanu ulaznu funkciju u=5t u vremenskom intervalu od 0 do 3 sekunde sa korakom 0,01 .

MatLabbr=[1]; naz=[1 1 1]; step(br,naz); % crtanje

odziva

OCTAVE („tko želi više”)

T1 = 0.4; % vremenska konstanta

P = tf([1], [T1 1]); % kreiranje modela transfer funkcije

step(P, 2) % plot step odziv (trajanje 2 s)

% dodaci markera za tangente koje presijecaju linije lim(n->inf) f(t) pri t=T1

hold on

plot ([0 T1], [0 1], "g")

plot ([T1 T1], [0 1], "k")

plot ([0 T1], [1-1/e 1-1/e], "m")

hold off

p2odzivstep2

OCTAVE

br=[1]; naz=[1 1 1];

G=tf(br,naz)

Ys=step(G);

step(G,2);

step(G,12)

Promjena trajanja

odziva

Z12: PrimjeriIzračunati i nacrtati vremenski odziv zadane prijenosne funkcije G(s) =1/(s2+s+1) na jediničnu skokovitu, impulsnu i proizvoljno zadanu ulaznu funkciju u=5t u vremenskom intervalu od 0 do 3 sekunde sa korakom 0,01 .

br=[1]; naz=[1 1 1];

G=tf(br,naz)

ys=step(G); step(G)

figure % crtanje odziva

yi=impulse(G); impulse(G)

t=0:0.01:3;

u=5*t; % crtanje odziva

y=lsim(G,u,t); % računanje odziva

plot(t,u,t,y) % crtanje pobude i odziva

Ili

lsim(G,u,t) % crtanje y(t)

Potrebno je izračunati i nacrtati vremenski odziv sustava y(t)

na proizvoljno zadanu ulaznu funkciju: u=5t2

u vremenskom intervalu od 0 do 3 sekunde sa korakom 0,01 za prijenosnu

funkciju G(s)= 25/(s2+ 5s+25) .

br=[25];

naz=[1 5 25];

G=tf(br,naz);

t=0:0.01:3; % definiranje vremenskog vektora

u=5*t.^2; % definiranje ulazne funkcije

y=lsim(G,u,t); % računanje odziva

plot(t,u,t,y) % crtanje pobude i odziva

Ili

>>lsim(G,u,t) % samo crtanje u(t) i y(t)

OCTAVE(P2_odzivslf)

Z13:Analiza - vremenski kontinuirani sustavi koje opisujemo pomoću diferencijalnih jednadžbi sa stalnim koeficijentima

br = [0 0 1]; % definiramo koeficijente brojnika

naz= [1 2 3]; % definiramo koeficijente nazivnika

G = tf(br, naz) % definiramo sustav

Transfer funkcija: 1 /( s^2 + 2 s + 3)

impulse(G); % crtamo impulsni odziv mirnog sustava

step(G); % crtamo odziv na jedinični skok

pzmap(G); % crtamo položaj polova i nula

t = 0:0.001:10;

u = t > 0.5; % definiramo pobudu kao skok u 0.5

y = lsim(G, u, t); % računamo odziv mirnog sustava na

pobudu

plot(t, y); % crtamo odziv

Za zadanu prijenosnu funkciju 1 /( s2 + 2 s + 3) nacrtati

a) odziv na impulsnu pobudu

b) odziv na jediničnu odskočnu funkciju

c) polove i nule funkcije

d) odziv na funkciju prema slici ako je zadano t od 0 do 10 sa korakom 0,001.

e) Sve prethodno nacrtati u jednom prozoru pomoću naredbi subplot

Zadatak

Z14:

24

ZADATAK (samostalni)

Zadan je mehanički sustav s oprugom prikazan na slici. Odrediti i nacrtati pomak

mase M ako na nju djelujemo:

a) konstantnom silom od 5N

b) silom oblika f(t)=3sin(t)

Zadano je: M=10 kg;

k=1 N/m;

b=0,5 Ns/m

(t je od 1 do 200 sa korakom 0,1)

Z15: ZADATAK (samostalni)

Zadan je mehanički sustav s oprugom prikazan na slici. Odrediti i nacrtati pomak

mase M ako na nju djelujemo:

a) konstantnom silom od 5N

ua=(t>=0)*5;

b) silom oblika f(t)=3sin(t)

ub=3*sin(t);

Zadano je: M=10 kg;

k=1 N/m;

b=0,5 Ns/m

(t je od 1 do 200 sa korakom 0,1)

P2_zad2.

m

Prijenosnu funkciju odredit ćemo kao omjer pomaka i narinute sile:

Mx“(t) = f(t) – kx(t) – bx'(t)

s2MX(s)=F(s)-kX(s)-bs(s)

X(s)[ s2MX(s)+bs+k]=F(s) tj.

Za određivanje odziva sustava (pomaka x(t) ) koristit ćemo naredbu lsim():

x=lsim(G,u,t) % za OCTAVE; x=lsim(br,naz,u,t) % za Matlab;

pri čemu su : u=f(t) narinuta sila , a x=x(t) pomak mase

Prijenosna funkcija (transfer function) povezuje ulaz iizlaz sustava predstavljajući dinamičko ponašanje

• za ocjenu točnosti sustava u stacionarnom ili prijelaznom procesu, koriste se standardne pobudne (ulazne) funkcije, tako da se na osnovi odziva sustava mogu dobiti poznati pokazatelji točnosti (nadvišenje, vrijeme smirivanja, frekvencija oscilacija i sl.).

Ocjena kvalitete ponašanja u vremenskoj

domeni

Tr - vrijeme porasta (eng. RiseTtime ) vrijeme od 10% na 90% vrijednosti ustaljenog stanjaukoliko je na ulazu dovedena jedinična odskočna pobuda.

Tx - vrijeme smirivanja na x % vrijednost (eng. x% Settling Time) vrijeme za koje odziv sustavauđe u ±x % konačne vrijednosti odziva.

Tp - period prigušenih oscilacija i s njim povezana frekvencija prigušenih oscilacija fp = 1/ Tp ikružna frekvencija prigušenih oscilacija ωP = 2π fp

Tm - vrijeme prvog, maksimalnog prebačaja u odzivu sustava (eng. Peak Time) i

M – iznos prvog, maksimalnog prebačaja (eng. Maximal Overshoot) koji se često definira i upostocima konačne vrijednosti odziva i naziva maksimalni postotni prebačaj (eng. MaximalPercent Overshoot).

Razlomljenu racionalnu prijenosnu funkciju G(s) prikladno je faktorizirati (npr. u analizi stabilnosti sustava)

gdje su:

SNi – nule od G(s)

Spj – polovi od G(s)

SNi i Spj mogu biti: realni i konjugirano-kompleksni

O položaju polova i nula prijenosne funkcije (matrice) u kompleksnoj s-ravnini ovisi vladanje sustava.

25

Octave -Matlab

Za prijenosnu funkciju potrebno je odrediti:

a)Raspored nula i polova pomoću faktoriziranja funkcije,

b)Bodeov dijagram

c)Nyquistov dijagram

[z, p, k] = tf2zp (brojnik,nazivnik)

Octave-MatlabZa prijenosnu funkciju potrebno je odrediti:

a)Raspored nula i polova

b)Bodeov dijagram

c)Nyquistov dijagram

Raspored nula i polova

brojnik = [.3 1];p1 = [1 1];p2 = [1 .5];nazivnik = conv(p1, p2);W = tf (brojnik, nazivnik);pzmap(W)

Zero/pole/gain: kreiranje

funkcije prijenosa

iz nula polova i pojačanja

0.3 (s+3.333)

------------------

(s+1) (s+0.5)

[z, p, k] = tf2zp (brojnik,nazivnik)

MatLab

zpk(W)

Octave -Matlab

b)Bodeov dijagram. bode(W) c) Nyquistov dijagram

dobiva

se naredbom:

nyquist(W)

Zadatak (samostalni)Za prijenosnu funkciju

izračunati nule, polove i pojačanje te nacrtaj

zero-pole mapu.

Z16:

Prijenosna funkcija

br = [1 5 6]

naz = [1 2 2 0]

G= tf( br, naz )

pzmap(G)

Octave p3_zad_zpk.m

G= tf( [1 5 6], [1 2 2 0] );

pzmap(G)

[z,p,k] =tf2zp(G)

pzmap(G)

zpk(G)

Grafičko prikazivanje frekvencijskih karakteristika.

• Najčešće korišteni grafički prikazi su: • Nyquist-ov dijagram

• Bode-ovi dijagrami,

• Nichols-ov dijagram.

Metode za promatranje frekvencijskog odziva sustava baziraju se na

promatranju odziva u ustaljenom stanju na sinusnu pobudu.

Ako na ulaz sustava s prijenosnom funkcijom W(s) dovedemo sinusnu

pobudu oblika x(t)=Asin(ωt), izlaz u ustaljenom stanju imat će oblik:

y(t)=AMsin(ωt + φ).

Pri čemu su M(ω) i φ(ω) amplituda i faza prijenosne funkcije W(s), s=jω

26

- je polarni dijagram prijenosne funkcije W(jω) za frekvencijski opseg -∞<ω<+∞ .- polarni dijagram predstavlja prikaz prijenosne funkcije sustava W(jω) u kompleksnoj ravnini.

- PF zatvorene petlje

- PF otvorene petlje

Sustav sa zatvorenom povratnom vezom W(s)je stabilan samo onda ako Nyquistov dijagram prijenosne funkcije otvorene petlje W0(s)obilazi točku –1+0j u smjeru obrnutom kazaljci na satu onoliko puta koliko funkcijaotvorene petlje W0(s) ima polova s pozitivnim realnim dijelom (tj. u desnoj poluravnini).

Nyquist-ov dijagram

Da bi sustav bio stabilan, treba biti zadovoljeno:

P = -N

Broj polova u desnoj poluravnini, P

Broj obilazaka dijagrama oko točke –1+0j = N

(predznak od N '+‘ obilazak u smjeru kazaljke na

satu;

predznak od N '-' za obilaske suprotno smjeru kns)

OCTAVE, MATLAB NAREDBE

nyquist (br,naz) % Crta Nyquistov dijagram

nyquist (br,naz,w) % u ovisnosti o frekvenciji w

[Re,Im,w] = nyquist (br,naz) % Vraća vektore re. i imag. dijela

Wo=tf(br,naz)nyquist(Wo) % Crta Nyquistov dijagram

nyquist(Wo, w) % crta Nyquistov dijagram za zadane frekvencije

[Re, Im, W]=nyquist(Wo) % Vraća vektore re. i imag. dijela

Kriterij stabilnosti ili kritična točka

stabilnosti je :

W0(jω)= -1 odnosno (-1, j0)Nyquistov kriterij stabilnosti

Za sustav s negativnom jediničnom povratnom vezom zadana je prijenosna funkcija otvorene petlje:

a)Nacrtati Nyquist-ov dijagram te zaključiti o stabilnosti sustava.

b)Odrediti prijenosnu funkciju zatvorene petlje (W(s)=Y(s)/X(s)) te

naći vremenski odziv sustava na jediničnu pobudu.

Wo=tf(br,naz)

nyquist(Wo) % Crta Nyquistov dijagram

nyquist(Wo,w) % crta Nyquistov dijagram za zadane

frekvencije

[Re, Im, W]=nyquist(Wo) % Vraća vektore re. i

imag. dijela

Z17:

Rješenje:

Polarni dijagram se crta za 0≤w ≤ + ∞. Zato uvijek treba uzeti ω = 0 i ω

= ∞, one ω za koje je Re = 0 i Im = 0, te još poneku točku između.

Slika prikazuje skicirani polarni dijagram (puna crvena linija) i nadopunu do

Nyquistovog dijagrama (isprekidana plava linija).

Za sustav s negativnom jediničnom povratnom vezom zadana je prijenosna funkcija otvorene petlje:

a) Nacrtati Nyquist-ov dijagram te zaključiti o stabilnosti sustava.

b) Odrediti prijenosnu funkciju zatvorene petlje (W(s)=Y(s)/X(s)) te naći

vremenski odziv sustava na jediničnu pobudu.

br_Wo=[5];

naz_Wo=[1 5 0];

nyquist(br_Wo, naz_Wo)

[Re, Im]=nyquist(br_Wo, naz_Wo, 1)Re =

-0.1923

Im =

-0.9615

Sustav je asimptotski stabilan samo

onda kada svi korijeni karakteristične

jednadžbe sadrže negativne realne

korijene.

z1.m

br=[5]; naz=[1 5 0]; Wo=tf(br,naz)nyquist(Wo)[Re, Im, W]=nyquist(Wo, 1)

Wo(s)=5/(s2+5s)

27

>> [Re, Im]=nyquist(Wo, 5)

Re =

-0.1000 Im = -0.1000

>> [Re, Im]=nyquist(Wo, inf)

Re =

-0

Im =

0

>> [Re, Im]=nyquist(Wo, 0)

Warning:

>> [Re, Im]=nyquist(br_Wo, naz_Wo, 0.0001)

Re =

-0.2000

Im =

-1.0000e+004

Nyquistov dijagram nijednom ne obilazi točku –1+0j, a prijenosna

funkcija otvorene petlje nema polova u desnoj poluravnini, zaključujemo

da je sustav W(s) stabilan (P=N=0).

Polovi=pole(Wo)Polovi =

-5 0

Zadatak (samostalni)Pronađimo prijenosnu funkciju sustava i vremenski odziv na jediničnu odskočnu pobudu, te se na temelju odziva uvjerimo o stabilnosti sustava:

Pronađimo prijenosnu funkciju sustava i vremenskiodziv na jediničnu odskočnu pobudu, te se na temeljuodziva uvjerimo o stabilnosti sustava:

Vremenski odziv (konačna pobuda, konačni odziv) potvrđuje stabilnosti do koje

smo došli na temelju Nyquistovog dijagrama.

Pronađimo prijenosnu funkciju sustava i vremenski odziv najediničnu pobudu, sustava sa negativnom jediničnom povratnomvezom te se na temelju odziva uvjerimo o stabilnosti sustava:

brW =[0 0 5 ];

nazW = [1 5 5] ;

[br_W,naz_W]=cloop(br_Wo,naz_Wo)

step(br_W, naz_W)

Vremenski odziv (konačna pobuda, konačni odziv) potvrđuje stabilnosti do koje

smo došli na temelju Nyquistovog dijagrama.

OCTAVE p3_zodzivn.m

brW =[0 0 5 ];nazW = [1 5 5] ;W=tf(brW,nazW)W1=feedback(W,1)step(W1)

28

Bode-ovi dijagrami- ovisnost amplitude prijenosne funkcije (u decibelima) i faze φ (u stupnjevima) o frekvenciji ω, crtano u semilogaritamskom mjerilu.

Graf ovisnosti amplitude M o frekvenciji naziva se amplitudna frekvencijska karakteristika.

Graf ovisnosti faze φ o frekvenciji naziva se fazna frekvencijska karakteristika.

Bode-ove dijagrame obično crtamo za prijenosne funkcije otvorene petlje Wo(s).

Sintaksa za računanje i crtanje frekvencijskih odziva (Octave, MatLab)

bode(G) // bode(br,naz)

% crta amplitudni i fazni bodeov dijagram

bode(G,{wmin,wmax}) // bode(br,naz,{wmin,wmax}) % crta bodeove dijagrame za frekvencije između wmin i wmax

bode(G,w) // bode(br,naz,w) % crta za frekv. Zadane vektorom w koji najčešće prethodno zadajemo, logspace():

bode(tf([3],[1])) // bode([3],[1])

% kreira Bode-ove dijagrame proporcionalnog elementa K=3.

Metode za promatranje frekvencijskog odziva sustava

baziraju se na promatranju odziva u ustaljenom stanju na

sinusnu pobudu.

M(ω) - amplituda

φ(ω) - faza prijenosne funkcije W(s)|s=jω

Prikazujemo kao vektor dužine M(ω) i faznog zakreta φ(ω) - za pozitivan smjer faze φ(ω) uzet je smjer obrnut od kazaljke na satu.

Pravilo za utvrđivanje stabilnosti sustava po Bode-ovom kriteriju:

Sustav sa zatvorenom povratnom vezom W(s) biti će stabilan ako amplitudni Bodeov dijagram prijenosne funkcije otvorenepetlje Wo(s) siječe frekvencijsku os prije nego fazni Bodeov dijagram siječe pravac –180o (tj. ako je ωI

< ωП).

Tada će AP(pričuva) i FP imati pozitivne vrijednosti.

MATLAB NAREDBE (Octave,Matlab)

Za računanje vrijednosti ωI, ωП te AP i FP

koristi se slijedeća Matlabova naredba:

>> margin(Wo) % crta BD i označava AP i FPmargin(br, naz)

>> [AP,FP,w_pi, w_I] =margin(Wo)

[AP, FP, w_pi, w_I]=margin(br, naz)

Za prethodni zadatak

>> margin(Wo) % Octave

>> margin(brWo, nazWo) % Matlab

[AP,FP,w_pi, w_I] =margin(Wo)

ZADATAK: Na temelju Bodeovih dijagrama odrediti ωI, ωП , AP i FP te

zaključiti da li je regulacijski sustav stabilan.

III

Z19:

29

Dok smo sa slike približno mogli očitati željene parametre, Octave // Matlab će nam precizno izračunati njihove vrijednosti:

>> [AP, FP, w_pi, w_I]=margin(tf([20],[1 7 10 0]) ) %Octave

>> [AP, FP, w_pi, w_I]=margin([20],[1 7 10 0]) %MatLab

AP= 3.5000 FP = 35.7873 w_pi = 3.1623 w_I = 1.5224

>>AP_dB=20*log10(AP) % pretvaranje u dB

AP_dB = 10.8814

>> margin(tf([20],[1 7 10 0]))

>>margin([20],[1 7 10 0])

margin(G) margin(G)

[AP, FP, w_pi, w_I]=margin(G)

176

Softver za simulacijudinamičkih sustava

Matlab/SimulinkScilab/Xcos

177

Upotreba Xcos / SIMULINK-a

• Xcos predstavlja proširenje SciLab-a za analizu linearnih, nelinearnih, vremenski kontinuiranih i/ili vremenski

diskretnih sustava sa jednim ili sa više ulaza tj. izlaza.

• Omogućuje modeliranje i simulaciju sustava pomoću grafičkog predstavljanja diferencijalnih jednadžbi, prijenosnih funkcija, modela u prostoru stanja, nula, polova i pojačanja, modela frekvencijskog odziva i brojnih drugih modela sustava.

• Upotrebljava se u dvije faze:• formiranje simulacijskog modela

• analiza modela – simulacije

• Preporučuje se formiranje novog modela na osnovu postojećeg, tj. ne trebaraditi “sve iz početka”.

30

Temeljni principi modeliranja

• Kod matematičkog opisa procesa polazi se od osnovnih zakona fizike i kemije izraženih kroz:

-jednadžbe dinamičke ravnoteže (jednadžbe kontinuiteta ili očuvanja)

-jednadžbe koje opisuju pojedine karakteristične pojave u procesu (fenomenološke jednadžbe)

178

Nakon toga otvara se Xcos Palette Browser.

179

Pokretanje Scilab/ Xcos

180

Prozor Xcos Palette Browser-a je podjeljen u dva dijela. Sa lijeve strane se nalazi stablo u kome su smještene sve biblioteke Xcos-a, dok su sa desne strane prikazani svi blokovi koji pripadaju izabranoj biblioteci.

Kroz meni i radnu liniju moguće je stvarati nove modele, otvarati postojeći model, održavati prozor vidljivim, pretraživati blokove po imenu itd.

Palette Browser

biblioteke

Blokovi

Otvori

postojeći

model

Pronađi blok po nazivu

Opis bloka

182

Stvaranje novog modela

• Pokretanjem Xcos otvara se prozor za stvaranje novog modela ili

Novi model

Radna površina

modela

Izvrši model

Zaustavi

izvršavanje

183

Formiranje simulacijskog modela

• Upotrebljavaju se blokovi – tipična upotreba

• Formiranje modela podsjeća na crtanje blok-dijagrama

• Postoje biblioteke blokova• standardna biblioteka

• korisnikova biblioteka

• Blokovi se kopiraju iz biblioteke i povezuju vizuelno

• Blokovi posjeduju parametre koji se postavljaju na željenevrijednosti

• Parametri blokova se mogu mijenjati i u toku simulacije

31

184

Najčešće korišteni blokovi

185

Parametri simulacije

Mogu se podesiti na sledeći način:

• Simulation->Setup (trajanje simulacije)

• Desni klik na objekt->->Block Parameters

186 187

Kako Xcos / Simulink funkcionira?

1. svi parametri blokova se izračunavaju u Scilab-u i zamjenjuju brojnim vrijednostima

2. blokovi se sortiraju prema redoslijedu računanja (hijerarhija podsustava se ovdje ignorira)

3. provjeravaju se dimenzije veza među blokovima (broj izlaza predhodnog se mora slagati sa brojem ulaza narednog bloka)

4. prva faza simulacije:• računaju se izlazi svih blokova na osnovu (početnih) stanja

5. druga faza simulacije:• iterativno se računaju izvodi na osnovu tekućeg vremena, ulaza i stanja. Izračunati

izvodi se prosljeđuju algoritmu za integraciju

6. osvježava se ekranski prikaz

188

Osnovne grupe blokova

• Nedavno korišteni blokovi

• Kontinuirani vremenski sistemi

• Diskontinuirani

• Diskretni vremenski sistemi

• ….

• Izlazi - Sinks

• Ulazi - Sources

189

Postavljenje blokova

1. Drag and drop

2. Desni klik ->

Add to ‘Untitled’

32

190

Povezivanje blokova

1. Lijevim klikom

2. Desnim klikom

Sources

Sinks

191

Operacije sa blokovima

• Kopiranje

• Premještanje

• Promjena veličine

• Promjena parametara

• Brisanje

• Formatiranje izgleda

• Help

192

Formatiranje blokova

• Desni klik na željeni blok -> Format

Prijmer

Prevođenje složenog sustava na

jednostavniji oblik.

CSOPE

- prikazuje signal na ulazu kao funkciju vremena. Može imati višestruke y-osi sa uobičajenim vremenskim opsegom. Možemo podešavati vrijeme i opseg prikazanih vrijednosti, možemo pomjerati ili uvećavati CScope prozor i možemo modificirati njegove parametre u toku izvršenja simulacije.

- Scope blok dodeljuje boje svakom elementu signala.

Sumator

- - izvršava zbrajanje ili oduzimanje njegovih ulaza. U dijalogu parametri blokova možemo izabrati oblik ikone bloka, pravokutni ili kružni. Operacije bloka specificiramo kroz parametar lista znaka. Plus (+), minus (-).

33

Pojačalo

- množi ulaz u blok konstantom vrijednošću (pojačanjem, dobitkom). Vrijednost pojačanja specificiramo u parametru pojačanje. Parametar množenja nam omogućava postavljanje množenja skalarno ili matrično.

Blokovi za opis linearnih kontinuiranih sustava

U ove blokove spadaju:

• Integrator,

• Derivator,

• Funkcija prijenosa sustava,

• Funkcija prijenosa sustava u razdvojenom obliku

• Model sustava u prostoru stanja,

• Transportno kašnjenje

Integrator

- - integralni signal koji je doveden na njegov ulaz. Simulink tretira itegrator kao dinamički sustav sa jednim stanjem, njegovim izlazom. Izabrani algoritam integracije (u Configuration Parameters prozoru) izračunava izlaz iz bloka integratora u tekućem vremenskom trenutku, koristeći ulaz u tekućem trenutku i stanje sustava iz prethodnog trenutka. Algoritmu integracije je takođe moguće proslijediti i početni uvjet, kojim se inicira stanje sustava. Po defaulte ta vrijednost je 0.

Primjer 1

200

Nagibna funkcija na ulazu

integratora, na izlazu će se dobiti

kvadratna funkcija.

201

34

Funkcija prijenosa sustava

Blok funkcije prijenosa sustava realizira funkciju prijenosa linearnog sustava koja se dobiva kao odnos likova izlaza i ulaza sustava.

Parametri funkcijskog bloka: Funkcija prijenosa sustava

Parametri ovog bloka su koeficijenti brojnika i nazivnika funkcije prijenosa koji se parametrima prosljeđuju u vidu vektora. Apsolutna tolerancija omogućava da se kontrolira greška prilikom rješavanja svih stanja ovog sustava.

Primjer

Prijelazna funkcija

drugog reda.

205

Primjer

206

Primjer: jednostavan model

• Izraditi Xcos model za rješenje diferencijalne jednadžbe

• Početni uvjet

• Prvo, skicirati simulacijski model prema matematičkom modelu (jednadžba)

(3 min.)

tx 2sin3

.1)0( x

Z20:

207

Simulacijski dijagram

• Ulaz je ugrađena funkcija 3sin(2t)

• Izlaz je rješenje diferencijalne jednadžbe x(t)

• Izgraditi model u Xcos / Simulink

xx

s

13sin(2t)

(input)

x(t)

(output)

1)0( x

integrator

35

208

Označiti ulazni blok

Povucite Sine Wave blok iz Sourceslibrary u prozor modela tx 2sin3

.1)0( x

209

Spajanje blokova

• Postaviti kursor na GENSIN_f blok

• Odvucite GENSIN_f izlaz do Integrator(INTEGRAL_f) ulaza

• Povucite Integrator izlazdo CSCOPE ulaza

Strelica pokazuje smijer toka signala.

tx 2sin3.1)0( x

210

Podešavanje parametara simulacije

Dvostruki klik na Sine Wave blok postaviteamplitude = 3 i frekvenciju = 2.

Ovaj produkt je željeni izlaz3sin(2t)

211

Podešavanje parametara simulacije

Dvostruki klik na Integratorblok za postavljanje početnog uvjeta

= -1.

x(0) = -1.

212

Podešavanje parametara

simulacije

213

Selektiranje parametara simulacije

Dvostruki klik na Scope kako bi vidjeli rezultate simulacije

36

214

Pokretanje simulacije

Pogledati izlaz x(t)

u SCSCOPEprozoru.

215

Simulacija rezultata

Za verifikaciju rješenja riješiti jednadžbu analitički.

Analčitički rezultat,

Odgovara točno skici(rezultat simulacije).

ttx 2cos)( 23

21

216 217

Primjer 2

Mehanički sustav mase povezan je s nepomičnom podlogom

pomoću amortizera i opruge. Djelovanjem dodatne sile na

masu dolazi do pomaka mase u odnosu na nepomičnu

podlogu za iznos x.

Zadane su procesne veličine: m = 20 kg

k = 500 kg/s2 D = 20 kg/s

F = 50 S(t) (N)

Z21:

218

Uz pretpostavku da je izlazna varijabla sustava produljenje x, a ulazna varijabla

sustava dodatna sila F(t), potrebno je odrediti:

-matematički model i blokovsku shemu sustava

-diferencijalnu jednadžbu produljenja x kao funkciju dodatne sile F(t)

-prijenosnu funkciju

-prikaz sustava u prostoru stanja

-simulacijsku shemu

219

U stacionarnom stanju bez djelovanja sile vrijede fenomenološke jednadžbe:

Amortizer ne djeluje u stacionarnom stanju.

Sila amortizera je proporcionalna brzini.

Drugi Newton-ov zakon

- F(t) = m*a(t), odnosno:

F(t) = m*d2x(t)/dt2

Vektorska suma sila koje djeluju na kruto tijelo jednaka je nuli .

Opruga

- Sila kojom djelujemo na tijelo proporcionalna je deformaciji opruge

F(t) = k*x(t)

Prigušenje (trenje)

- Sila kojom djelujemo na tijelo proporcionalna je brzini deformacije

F(t) = D*dx(t)/dt

Jednadžba kontinuiteta gibanja:

37

220

Blokovska shema

221

Xcos model

Zadane su procesne veličine: m = 20 kg

k = 500 kg/s2 D = 20 kg/s

F = 50 S(t) (N)

222

Povucite Sum blok izMathematical Operations

Dvostruki klik za promjenu parametara za pravokutnik

223

(nastavak)

• Dodati pojačalo (multiplikator) blok za eliminaciju koeficienta te pokazati najveću derivaciju

summing block

m

1 x

224

Dvostruki klik za promjenu parametara.Dodati naslov.

Povući GAINBLK_f blok izMathematical Operations

Pojačanje 1/20

225

(nastavak)

• Dodati integratore za dobivanje željene izlazne vrijednosti

s

1

s

1 xx

m

1 x

38

226

Povući Integrator blokove izContinuous library

Inicijalne vrijednostina integratorima su nula.

Dodati prikaz iz Sinks library.Spojiti ulaze sa izlazima.Ime signala uz dvostruki klik na vodeću liniju

227

(nastavak)

• Spojiti integrirane signale sa blokovima pojačala.

m

1

summing block

s

1

s

1x x x

D/m

k/m

x

228

Povući noveGAIN_f blokove izMathematical Operations

Dvostruki klik na blokove pojačala za postavljanje parametara

229

Model

m

1

s

1

s

1x x

D/m

k/m

xc

kx

f(t)

ulaz

+

-

-

x

x

x

x(t)

izlaz

230

Dvostruki klik na Step blok za postavljanje parametara. Postaviti Final value na 50

Ulaz, jedinična odskočna

funkcija

231

Xcos model

39

232

Pokretanje simulacije

233

Rezultati

Prijenosna funkcija

Karakteristična jednadžba

Polovi sustava

234

Zadane su procesne veličine: m = 20 kg

k = 500 kg/s2 D = 20 kg/s

F = 50 S(t) (N)

235

236

Primjer-Prijenosne funkcije

proba222237

Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step

pobudu.

PrimjeriZ22:

40

238

Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step

pobudu.

Primjeri

239

Primjeri

Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step

pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva nacrtati na istom grafu

i komentirati dobivene rezultate.

Z23:

240

Primjeri

Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step

pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva nacrtati na istom grafu

i komentirati dobivene rezultate.

241

Primjeri

Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step

pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva nacrtati na istom grafu

i komentirati dobivene rezultate.

242

Primjeri (varijacije na prethodni primjer)

Za sustav opisan serijski spojenim funkcijama prijenosa G(s) i H(s)

nacrtati odziv na step pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva i ulaznu

pobudu nacrtati na istom grafu i komentirati dobivene rezultate.

Za sustav opisan paralelno spojenim funkcijama prijenosa G(s) i H(s)

nacrtati odziv na step pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva i ulaznu

pobudu nacrtati na istom grafu i komentirati dobivene rezultate.

Za sustav opisan funkcijama prijenosa G(s) i H(s) spojenim u pozitivnoj

povratnoj vezi, nacrtati odziv na step pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba

odziva i ulaznu pobudu nacrtati na istom grafu i komentirati dobivene

rezultate.243

30s

Z24:

41

244Zadatak1_opsk.zcos (30)

245

246 247

248 249

42

250

OSNOVNI DINAMIČKI ČLANOVI Složeniji dinamički sustavi u pravilu se daju rastaviti na jednostavnijeelemente, odnosno članove

251

Jedna od podjela osnovnih članova je na:

• proporcionalni element nultog reda (P0)

• proporcionalni element prvog reda (P1)

• proporcionalni element drugog reda (P2)

• integralni element (I)

• derivacijski element (D)

• element s mrtvim vremenom (Tm)

Pomoću njih možemo opisati svaki složeni sustav

Proporcionalni član nultoga reda – P0 član

- Za P0 član postoji opći oblik funkcionalne veze između izlazne i

ulazne veličine prikazane prijelaznom funkcijom

252 253

Proporcionalni član nultoga reda – P0 član

Prijenosna funkcija P0 člana bila bi:

Odziv je proporcionalan pobudi, bez kašnjenja,

odvija se trenutno, pa je nultog reda. Pojačanje

254

Proporcionalni član nultoga reda – P0 član

255

Proporcionalni član nultoga reda – P0 član

Zadatak za vježbu:

1) Simulirati sustav s P0 članom za: za K=0,1; 1; 2; 5;, na

jednom scope prikazati sve odzive kao i ulazni signal ;

2) Podesiti generator na „step time” 0 (s). Simulirati za

K=0,1; 1; 2; 5; i usporediti rezultate s prije dobivenim

za „step time” 1 (s).

43

256

Proporcionalni član nultoga reda – P0 članZadatak za vježbu:

1) Simulirati sustav s P0 članom za: a) za K=0,1;1; 2; 5; na jednom

scope ;

2) Podesiti generator na „step time” 0 (s). Simulirati za K=0,1;1; 2; 5; i

usporediti rezultate s prije dobivenim za „step time” 1 (s).

Z25:

Primjer može biti

mehanički, sa

oprugom

i prigušenjem

Odziv P1 člana na jediničnu odskočnu funkciju

Prijenosna funkcija P1 člana

Pomak

pobuda

Pomak

odziv

Vremenska konstanta

sustava

Proporcionalni član prvoga reda – P1 član (PT1)

258

Proporcionalni član prvog reda

259

Zadatak za vježbu:

Odrediti vremenski i frekvencijski odziv zadane

prijenosne funkcije za vremenski interval od 0 do 20

sekundi sa korakom 0,1 ako je

i nacrtati frekvencijski odziv prijenosne funkcije

% Prijenosna funkcija:

% VREMENSKI ODZIV: Prijelazna funkcija P1-clana,

step(H)

% FREKVENCIJSKI ODZIV

nyquist(H)

bode(H)

K=4 T=2

clc

K=4;

T=2;

br=[K];

naz=[T, 1];

H = tf(br, naz);

Z26:

Proporcionalni član prvog reda

260

U vremenskoj domeni dobivamo slijedeću diferencijalnu

jednadžbuBlok dijagram

sustava

Uz K=2 a T= 4

261

ZADATAK za vježbu 1.

Kreirati m file koji će odrediti i nacrtati odziv sustava prvog reda na jediničnu

odskočnu funkciju. Na istoj slici (pomoću naredbe subplot) nacrtati mapu

polova i nula. Vrijednosti za parametar T unositi u komandnom modu

Octave. Izvesti zaključak o utjecaju vremenske konstante T na odziv sustava.

% odziv_sustava_1reda.m

disp('odziv sustava prvog reda')

T=input('unesi vrijednost vremenske konstante; T=');

br=[1/T]; naz=[1 1/T]; G=tf(br,naz);

t=0:0.01:10;

y=step(G,t);

[p,z]=pzmap(G);

subplot(211), plot(t,y), hold on % crtanje vremenskog odziva

title('Vremenski odziv')

subplot(212), plot(real(p),imag(p),'x'); hold on % crtanje polova u kompleksnoj ravnini

title('Dijagram polova i nula')

% kraj m-datoteke

Z27:

44

262 263

Na temelju slike možemo zaključiti da se porastom vremenske konstante

(približavanjem pola imaginarnoj osi) usporava odziv sustava i nagib tangente

na krivulju odziva je sve manji.

264

Scilab/XcosZadatak (samostalni)Koristeći Scilab/Xcos riješiti diferencijalnu jednadžbu prvog redapojačanje a=0,2, odnosno a=0,4, a na ulazu je stepenica amplitude u=2.Podesiti početne vrijednosti x0=0, odnosno x0=5 i x0=6.Snimiti sve odzive sustava i komentirati rezultate

265

+-

Zbrajalo

1/s

Integrator

0.2

Pojačanje

StepenicaGraph

Blokovski prikaz sustava prvog reda

Z28:

ZadatakKoristeći Scilab/Xcos riješiti diferencijalnu jednadžbu prvog redapojačanje a=0,2, odnosno a=0,4, a na ulazu je stepenica amplitude u=2.Podesiti početne vrijednosti x0=0, odnosno x0=5 i x0=6.Snimiti sve odzive sustava i komentirati rezultate

266

+-

Zbrajalo

1/s

Integrator

0.2

Pojačanje

StepenicaGraph

dx

dtax b ( )b u x C0

Sustav prvog reda je opisan diferencijalnom jednadžbom:

t x.

0 xb

aSS

U stacionarnom stanju je :

xssx0Ako je veće od , odziv će biti opisan eksponencijalnom jednadžbom.

x t x x e xss

at( ) ( )( )

0 01 x t x x e xss

t

( ) ( )( )

0 01 1

a

x xss 0

x t x x x e x x x ess ss

at

ss ss

t

( ) ( ) ( )

0 0

Ako je

:

Proporcionalni član drugoga reda – P2 član (PT2)

267

45

Mr 2 + Dr + K = 0

268

Radi jasnijeg prikaza, koeficijenti iz kvadratne jednadžba često se pišu izraženi

pomoću neprigušene vlastite frekvencije ωn i stupnja prigušenja ζ, pa kvadratna

jednadžba postaje:

Korijeni r 1 i r 2 sustava dobivaju se rješavanjem kvadratne jednadžbe:

Prijelazni odziv ovisi o tome da li je stupanj

prigušenja ζ veći od 1 , jednak 1 , ili manji

od 1. Ovisno o tome korijeni r 1,2 su realni

ili kompleksni brojevi.

U slučaju kada je brojnik pod korijenom jednak nuli, dva rješenja karakterističnejednadžbe r1 i r2 su jednaka - konstanta prigušenja ima kritičnu vrijednost Dkr

Stupanj prigušenja ζ (zeta, damping ratio) definiran je kao omjer aktualne i kritične konstante

prigušenja:

Prijelazni odzivi prema stupnju prigušenja mogu se podijeliti na:

0 < ζ < 1 korijeni su konjugirano-kompleksni parovi, odziv je prigušeno oscilacijski, tj. odziv je prigušena sinusoida (underdamped)

ζ > 1 korijeni su realni, odziv je aperiodski (overdamped)ζ = 1 korijeni su jednaki i realni, odziv je granično aperiodskiζ = 0 odziv su neprigušene oscilacijeζ < 0 odziv su raspršene oscilacije (sustav je nestabilan)

269

Nekoliko normaliziranih odziva (kao funkcija ωnt) na pobudu u oblikujedinične

odskočne funkcije za različite stupnjeve prigušenja:

270

Slučaj kada je D = 0, odnosno stupanj prigušenja ζ = 0, znači da prijelazni

odziv trajno oscilira. To je sinusoida konstantne amplitude.

Prijenosna funkcija

P2 člana

0 < ζ < 1 odziv je prigušena

sinusoida

ζ > 1 odziv je aperiodski

ζ = 1 odziv je granično

aperiodski

ζ = 0 odziv su neprigušene

oscilacije

ζ < 0 odziv su raspršene

oscilacije

271

x x x u.. .

2 2 w

ODZIV SUSTAVA DRUGOG REDA (KVADRATNO KAŠNJENJE)

272

Prijenosne funkcije drugog reda najčešće svodimo na standardni oblik:

Prijelazna pojava

SUSTAV DRUGOG REDAOpća jednadžba P2 člana glasi:

Mehanički sustav masa, opruga, prigušenje je sustav 2. reda. Analogni sustavi se mogu naći u elektrici idrugim granama znanosti. Neprigušena vlastita frekvencija sustava, wn, je frekvencija kojom bi sustavtitrao oko ravnotežnog položaja kada u sustavu ne bi bilo gubitaka energije, odnosno prigušenja.Gubitke energije opisuje koeficijent prigušenja . Što je koeficijent prigušenja veći, sustav će se prijesmiriti u stacionarnom stanju i titrat će manjom frekvencijom. Frekvencija prigušenog titranja sustava,wp, dana je relacijom:

Kod P2 člana razlikuje se 5 slučajeva odziva u ovisnosti o koeficijentu prigušenja, :

• > 1 aperiodski, . 0 < < 1 prigušeno oscilacijski,

• = 1 granično aperiodski, . < 0 raspireno oscilacijski.

• = 0 neprigušeno oscilacijski i

)()()(2)(1

2

2

2txkty

dt

tdy

dt

tydp

nn

w

w

21 ww np

46

Oscilatorno prigušeni odziv sustava drugog reda

Tr - vrijeme porasta (eng. RiseTtime )Tx - vrijeme smirivanja na x % vrijednost (eng. x% Settling Time)

Tp - period prigušenih oscilacija i s njim povezana frekvencijaprigušenih oscilacija fp = 1/ Tp i kružna frekvencija prigušenih oscilacija ωP = 2π fp

Tm - vrijeme prvog, maksimalnog prebačaja (eng. Peak Time) iM – iznos prvog, maksimalnog prebačaja (eng. Maximal Overshoot)

Ponekad se definira i Td – vrijeme kašnjenja (eng. Delay Time)

kao vrijeme od 0 do trenutka kada odziv dosegne 50 % konačne vrijednosti. 275

ZADATAK za vježbu 2.

276

Rješenje pod a):

>> wn=1; % odzivi i polno-nultni dijagrami

>> z=-0.02; s2r % pozivamo m-datoteku

>> z=0; s2r

>> z=0.2; s2r

Max. prebacaj, Mp= 1.5266

Vrsno vrijeme, Tp= 3.2100

Vrijeme smirivanja, Ts= 15

>> z=1; s2r

>> z=2; s2r

Odzivi sustava 2. reda u ovisnosti o faktoru

prigušenja, ζ (na slici označeno sa z)

wn=1; z=-0.02; sr2.m

277

278 279

P2 član:

-sustav koji je P2 član ima dva spremnika energije i kod njega kod promjene

stanja dolazi do prijelaznih pojava tj. do prijelaza energije iz jednog

spremnika u drugi i obrnuto

-to se očituje kao oscilacijske pojave ili prigušeno titranje

-P2 član se još naziva oscilacijski član

α -faktor prigušenja ili mjera za prigušene oscilacije

ω -prigušena vlastita frekvencija ili frekvencija prigušenih oscilacija

ξ -relativni koeficijent prigušenja(stupanj prigušenja)

ξ > 1-aperiodski odziv

ξ = 1-granični aperiodski odziv

ξ < 1-prigušeni oscilatorni odziv

ξ = 0-neprigušen i oscilatorni odziv

ξ < 0-raspršeno oscilatorni odziv

47

280

Tablica osnovnih dinamičkih članova

281

K predstavlja pojačanje, τ vremensku konstantu, τm mrtvo vrijeme, ωn

neprigušenu vlastitu frekvenciju, a ζ stupanj prigušenja.

282

Svaki objekt upravljanja posjeduje karakterističan

vremenski odziv.

Praktično vremenski odziv je određen konstrukcijom

stroja, postrojenja ili tehnologijom procesa, i

najčešće ga nije moguće modificirati.

Vremenski odziv nekog sustava može se odrediti

eksperimentalno ili teorijskom analizom.

Regulator također predstavlja dinamički sustav, koji ima

svoj karakteristični vremenski odziv.

283

Međutim, za razliku od vremenskog odziva sustava kojim

se upravlja, vremenski odziv regulatora određuje

projektant sustava automatskog upravljanja i to na taj

način da sustav u cjelini zadovolji tražene performanse.

Drugim riječima, vremenski odziv cjelokupnog sustava

regulacije treba ispuniti postavljene zahtjeve.

284

Regulacijsko djelovanje klasičnih kontinuiranih regulatora se

sastoji od tri osnovne komponente:

• proporcionalnog djelovanja (P-djelovanja),

• integralnog djelovanja (I-djelovanja),

• diferencijalnog djelovanja (D-djelovanja).

Ove tri osnovne komponente djelovanja regulatora proizlaze

iz načina na koji se određuje regulacijsko djelovanje, na

osnovu ulaznog signala u regulator.

285

Regulator sa proporcionalnim djelovanjem

Kod proporcionalnog regulatora je

vrijednost regulacijskog djelovanja

proporcionalna vrijednosti ulaznog

signala u regulator.

Kada je regulacijska greška velika,

i regulacijsko djelovanje će biti veliko.

U protivnom, kada je regulacijska

greška mala, i regulacijsko djelovanje

će biti malo.

48

286

Regulator sa integralnim djelovanjem

Ukoliko regulator ima integralno djelovanje, njegovo regulacijsko

djelovanje će predstavljati signal regulacijske greške sumirano

tokom vremena (odnosno integrirana regulacijska greška).

To znači da za kratkotrajna odstupanja od zadane vrijednosti

integralni regulator neće dati znatno regulacijsko djelovanje.

Međutim, ukoliko regulacijska greška traje duže vremena,

regulacijsko djelovanje će postepeno portasti i neće iščeznuti sve

dok regulacijska greška ne opadne na nultu vrijednost.

Integralni član

• odziv sustava ovisi o integralu pobude

• Može biti I0,I1, I2, ..

287

Primjer integralnog člana – istosmjerni

elektromotor sa kutnim pomakom

osovine kao izlaznom varijablom.

Ako je do skokovite promjene regulacijske greške došlo

u trenutku t0, vremenska promjena regulacijskog

djelovanja može se odrediti kao:

odnosno prijenosna funkcija I- regulatora data je sa:

288

Regulator sa integralnim djelovanjem je pogodan za uklanjanje

preostale regulacijske greške.

Ako se greška jako promjeni, regulacijsko djelovanje počinje rasti

velikom brzinom.

Kao posljedica, greška počinje postepeno opadati, što dovodi i do

postepenog smanjivanja regulacijskog djelovanja, sve do postizanja

nulte vrijednosti regulacijske greške.

Međutim, treba imati na umu da regulator gotovo nikada ne

posjeduje samo integralno djelovanje. Ovo djelovanje je nepogodno za

veliki broj objekata upravljanja koji posjeduju velika kašnjenja.

Uslijed toga regulator sa integralnim djelovanjem ovakve objekte može

dovesti u stanje osciliranja.

289

Regulator sa derivacijskim (diferencijalnim )

djelovanjem

Regulator sa derivacijskim djelovanjem koristi se za

uklanjanje brzo promjenljivih vrijednosti regulacijske

greške.

Kod derivacijskog regulatora se prati brzina promjene

regulacijske greške, i na osnovu nje se određuje vrijednost

regulacijskog djelovanja. Drugim riječima, signal

regulacijske greške se diferencira.

Ukoliko se signal regulacijske greške brzo mijenja,

regulator sa derivacijskim djelovanjem će trenutno dati

veliku vrijednost regulacijskog djelovanja

290

Vremenski odziv idealnog regulatora sa derivacijskim

djelovanjem na step ulazni signal.

Već iz prirode prikazanog odziva vidi se da idealni derivator

ne postoji, nego se diferencijalno djelovanje uvodi preko

realnog

derivatora.

odziv realnog derivacijskog regulatora,

amplituda skoka vrijednosti izlaza regulatora je

konačna i zavisna od parametara

regulatora, te postepeno eksponencijalno opada

prema nuli

Derivacijski član• Odziv ovisi o derivaciji pobude,

a označava se kao D član.

• može biti nultog reda (bez kašnjenja), što se označava sa D0. Može imati kašnjenje prvog reda, drugog reda, itd., a tada se označava sa D1, D2, ..

• Primjer derivacijskog člana može biti generator istosmjerne struje.

291

49

292

Vremenski odziv realnog derivatora na step ulazni signal i

njegova prijenosna funkcija su:

Međutim, primjena regulatora koji poseduje samo diferencijalno

djelovanje nema smisla, jer regulacijsko djelovanje postoji samo u

slučaju da postoji promjena vrijednosti regulacijske greške.

Znači da ovaj regulator ne bi davao nikakvo regulacijsko djelovanje

ukoliko bi regulacijska vrijednost imala ne nultu, ali konstantnu vrijednost.

Zato se ovakvo djelovanje pojavljuje isključivo u kombinaciji sa nekim od

gore navedenih (proporcionalnim, integralnim ili u kombinaciji sa oba).

TEMELJNE ZNAČAJKE POJEDINIH VRSTA REGULATORA

294

PID regulator

PID regulator kombinira sva do sada spomenuta

djelovanja u okviru jedinstvenog regulatora. Vremenski

odziv PID regulatora je prikazan je na slici.

Odziv na step signal na ulazu se formira najčešće na

osnovu izraza:

PID regulator – osnovna blok struktura

295

zahtjevi kod vremenskog odzivaSvojstva odziva na primjeru P2 člana

296

─ tr vrijeme porasta (rise time) – najčešće

označava vrijeme potrebno da odziv sustava

poraste od 10% do 90% svoje konačne

vrijednosti.

─ ts vrijeme smirivanja (settling time) – označava

vrijeme potrebno da se prijelazni dio odziva

smanji na neku malu vrijednost, tako da odziv

poprimi gotovo ustaljenu vrijednost u

stacionarnom stanju. Neka mala vrijednost može

biti različito

pretpostavljena, ovdje je ± 1% (može biti i do ±

5%).

─ tp vrijeme maksimalnog prebačaja (peak

magnitude time) – označava vrijeme

maksimalnog prebačaja.

─ Mp maksimalni prebačaj (peak magnitude) –

označava prebačaj odziva u postocima.

─ e0 trajno regulacijsko odstupanje (steady-state

error) – predstavlja regulacijsku pogrešku u

stacionarnom stanju.

Stabilnost

Točnost

Brzina odziva

297

Vrijeme uspona Preskok Vrijeme

smirivanja

Greška

ustaljenog

stanja

Kp Smanjuje Povećava Mala promjena Smanjuje

Ki Smanjuje Povećava Povećava Eliminira

Kd Mala promjena Smanjuje Smanjuje Mala promjena

Utjecaj djelovanja na step odziv sustava se može grubo predstaviti tablicom:

PID djelovanje

50

298

Odabir PID regulatora

- Za određeni proces koji se želi automatizirati

potrebno je odabrati i primijeniti prikladni

regulator

- Za P, PD, I, PI i PID regulatore svojstva se

mogu definirati u tabličnom prikazu:

299

NAMJEŠTANJE REGULACIJSKIH

PARAMETARA (regulacijskih koeficijenata)

- Da bi se postigli zadovoljavajući rezultati regulacije, osim upotrebe

prikladnog regulatora, još je važnije da regulacijski parametri KP, KD i

Ki budu prikladno namješteni, odnosno Td i Ti komponente

regulacijskih parametara KD i Ki

- Najčešće namještanje regulacijskih koeficijenata postaje kompromis

između dva krajnja regulacijska djelovanja

NAMJEŠTANJE REGULACIJSKIH PARAMETARA (regulacijskih koeficijenata)

- U praksi regulatori se uobičajeno namještaju na temelju iskustva

- Ili nekoliko teoretskih i praktičnih pristupa u izradi određivanja ispravnih regulacijskih koeficijenata

- Jedan od pristupa je upotreba Ziegler i Nichols metode, odnosno njihove tzv. Konačne metode (ultimate method)

- Ova metoda se može primijeniti jedino u regulacijskim sustavima koji dopuštaju određene (podnošljive) oscilacije izlaznih signala

- Za ovu metodu postoji sljedeća procedura postupanja:

- na regulatoru postavi KP i Tv u najnižu vrijednost, a Tn u najvišu vrijednost (na ovaj način postiže se najmanji mogući utjecaj regulatora na sustav)

- namjesti regulacijski sustav ručno (započni regulacijsku petlju)

- postavi upravljanu veličinu na ručno namještenu vrijednost i prebaci na automatski režim rada

300 301

302

Primjer : Za sustav opisan funkcijom prijenosa

zatvoriti povratnu vezu i projektirati PID kontroler (regulator) tako da u sustavu

zatvorene veze bude:

- vrijeme uspona < 0.5s

- bez greške u stacionarnom stanju

- preskok < 20%

Cilj automatizacije nekog procesa je zadovoljenje realnih zahtjeva naručitelja.

Zahtjevi su najčešće izraženi kroz granicu preskoka odziva sistema i željeno

vrijeme smirivanja prijelaznih procesa u sustavu. Nažalost, ova dva zahtjeva su

oprečne prirode, tako da se sva filozofija PID regulatora svodi na određivanje

optimalnih parametara u cilju ispunjenja zahtjeva.

Da bi mogli uvidjeti utjecaj parametara PID regulatora na odziv sustava, kao i na

amplitudno-faznu karakteristiku, koristićemo Scilab-ov Xcos paket.

303

Primer : Za sistem opisan funkcijom prijenosa

zatvoriti povratnu vezu i projektirati PID kontroler(regulator) tako da u sustavu zatvorene

veze bude:

- vrijeme uspona < 0.5s

- bez greške u stacionarnom stanju

- preskok < 20%

Rješenje:

PID regulator kome je proporcionalno djelovanje jednako 1, a integralno i diferencijalno

pojačanje nula, kao na slici. Vrijeme trajanja simulacije je 2s i pogledajmo rezultate simulacije. Sa slike

se vidi da uvjet za vrijeme uspona nije ispunjen, pošto ovaj odziv ima vrijeme uspona oko 1s, a u

projektnim zahtjevima je da ono bude manje od 0.5s

Varirajmo sve kombinacije za:

Kp= 1; 7; 10 Ki=0; Kd=0 , izabrati najpovoljniji

Ki= 1; 7; 10 Kp ; Kd=0

Kd= 0,1; 0,3; 0,7

51

304 305

306 307

Primjer

Pronaći metodom isprobavanja parametre PID regulatora tako da čitav

sustav sa negativnom povratnom vezom bude stabilan, ima relativno

brz odziv i da mu greška u stacionarnom stanju bude anulirana. Za

svaki set isprobanih parametara gledati odziv sustava i amplitudno-

faznu karakteristiku otvorenog kruga.

Sustav je 3. reda i ima oblik:

Osnovne značajke pojedinih vrsta regulatora

• Proporcionalni (P) regulator- su jednostavnost, stabilnost, neposrednost, ali i odstupanje stvarne vrijednosti

od željene vrijednosti (kao preostala stacionarna pogreška pri odzivu sustava).

• Integracijski (I) regulator- ne uzrokuje odstupanje u sustavu, ali se prijelazna karakteristika sustava ne

smiruje. Stvarna vrijednost oscilira oko željene vrijednosti.

• Derivacijski (D) regulator- trenutačno se suprostavlja djelovanju poremećaja s brzim odzivom u oblikuvalovitog skoka koji prelazi u uzlazno klizanje (Na taj način vođeni sustav postajenestabilan).

U sustavima sa negativnom povratnom vezom najčešće se koriste P, PI i PID

• P-regulatori djeluju trenutno bez kašnjenja

• I – regulatori djeluju sporo i brzina odziva ovisna je o iznosu regulacijskog odstupanja

• PI – regulatori, u području niskih frekvencija radi kao integrator a u području visokih frekvencija kao pojačalo. P komponenta je dobra za prijelaznu pojavu a I komponenta za stacionarno stanje

• PD – regulator, izlazna veličina ovisi i o brzini promjene signala razlike, na visokim frekvencijama veliko pojačanje i fazni pomak +900, na niskim frekvencijama fazni pomak 00 a pojačanje Kp (održavanje smjera i položaja gibajućih tijela u prostoru )

• PID – regulatori, ujedinjuju prednosti sve tri člana

• P član daje veliku brzinu odziva i pojačanje

• D član povećava brzinu odziva – spriječava veliko regulacijsko odstupanje

• I član daje točnost – uklanja grešku u stacionarnom stanju

PID djelovanje = zamjena za djelovanje operatera u ručnoj regulaciji:

reagira proporcionalno u skladu s trenutnim prilikama

reagira integralno uzimajući u obzir prošlost

reagira derivacijski uzimajući u obzir buduće prilike309