pojasno propusni filter

Upload: cabidubiroda

Post on 10-Jul-2015

129 views

Category:

Documents


0 download

TRANSCRIPT

Sveuilite u Zagrebu c s Fakultet strojarstva i brodogradnje

SEMINARSKI RAD IZ KOLEGIJA MIKROPROCESORSKO UPRAVLJANJE

Implementacija pojasnopropusnog digitalnog ltra drugog reda primjenom PLC-a

Andrea Demetlika

Zagreb, 2010.

Sadraj zSadraj z 1 Uvod 1.1 Zadatak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii 1 1 3 3 5 9 9 10

2 Odreivanje prijenosne funkcije u Z podruje d c 2.1 2.2 Z-transformacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Crtanje odziva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Implementacija ltra 3.1 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Literatura

ii

Poglavlje 1 Uvod1.1 Zadatak

Potrebno je implementirati pojasnopropusni (PP) digitalni ltar drugog reda s prirodnom frekvencijom fn = n /2 = 1/2 Hz i faktorom priguenja = 1/ 2 primjenom Simatic s S7-200 programabilnog logikog kontrolera (PLC-a). c U tu svrhu potrebno je najprije odrediti prijenosnu funkciju u Z-podruju dinamikog c c lana drugog reda: c2 1 + n s y(s) = G(s) = 2 s2 u(s) 1 + n s + 2

,

(1.1)

n

uz pretpostavku ekstrapolatora nultog reda (ZOH) na ulazu. Odabrati vrijeme uzrokovanja T=0.2s. Napisati jednadbu diferencija za dobiveni digitalni ltar. z Njegovu valjanost treba provjeriti simulacijom u Matlab-u (npr. s obzirom na skokovitu pobudu) i usporediti ga s izvornim analognim (vremenski-kontinuiranim) dinamikim lanom (1.1). c c Konano je potrebno dani ltar implementirati na S7-200 PLC-u koristei Microwin32 c c programsko suelje i odgovarajue programsko okruenje (STL, LAD, FBD). Vrijeme c c z uzrokovanja generirati primjenom vremenskog sklopa (timera) tipa on-delay-timer (TON). Odabrati timer s vremenskom bazom 10ms. Filtar treba implemenirati u realnoj aritmetici, a parametre ltra (koecijente jednadbe diferencija) treba zadati u podatkovnom bloku z (Data block).

1

Poglavlje 1 Uvod

2

Vladanje ltra treba provjeriti s obzirom na jedininu skokovitu promjenu ulazne c veliine (npr. simulirati promjenom stanja nekog od digitalnih ulaza), a rezultate treba c spremiti u memoriju ope namjene PLC-a (V memoriju) kako bi se mogli isitati i kasnije c c iscrtati. Napomene: Pri odreivanju brojnika i nazivnika prijenosne funkcije vremenski-diskretnog d dinamikog lana drugog reda (num, dend) treba koristiti Matlab funkciju c2dm.m uz c c zoh opciju ([num,den])=c2dm(numc,denc,T,zoh)) Simuliranje analognih i digitalnih ltara u Matlab-u mogue je provesti tako da se c dani ltri deniraju kao Transfer function objekti (funkcija tf.m), te se zadaju kao argumenti funkciji step.m Za potrebe implementacije ltra na Simatic S7-200 PLC-u potrebno je rezervirati memorijske lokacije za prola stanja ulazne i izlazne varijable ltra. Za realizaciju s jedandbe diferencija koristiti matamatike operacije zbrajanja (oduzimanja) i z c mnoenja (ADDR, SUBR, MULR). Spremanje prolih stanja ulazne i izlazne z s varijeble ltra provesti primjenom naredbe za kopiranje realnog podatka (MOVR)

Poglavlje 2 Odredivanje prijenosne funkcije u Z podruje c2.1 Z-transformacija

Odreivanje prijenosne funkcije (1.1) u Z podruje vri se pomou programa Wolfram d c s c Mathematica. Funkcija ekstrapolatora nultog reda (ZOH) glasi: GZOH (s) = stoga treba odredit transformaciju od: G(z) = (1 z )Z Iz tablice za Z-transformaciju poznato je: Z 1 1 = s 1 z 1 (2.3)1

1 z 1 , s

(2.1)

1+ s(1 +

2 s n

2 s n

+

s2 2 ) n

.

(2.2)

Ostatak funkcije se najprije inverznom Laplace-ovom transformacijom izvede u vremensku domenu, a zatim se od dobivene funkcije odredi Z-transformacija. pojednostavimo funkcijom Simplify, a zatim uvrstimo zadane vrijednosti. Dobiveni izraz

3

Poglavlje 2 Odreivanje prijenosne funkcije u Z podruje d c

4

Poglavlje 2 Odreivanje prijenosne funkcije u Z podruje d c

5

2.2

Crtanje odziva0.302 + 0.348z . 1 2.28z + 1.327z 2

Dakle, prijenosna funkcija u Z-podruju dinamikog lana drugog reda glasi: c c c (2.4)

Iz (2.4) izvedemo jednadbu diferencija: z y(k) = 0.2629x(k 1) 0.2281x(k 2) + 1.7189y(k 1) 0.7536y(k 2). (2.5)

U programskom paketu Matlab izraen je odziv funkcije (2.4) s obzirom na skokovitu d pobudu, te potom je usporeen s odzivom izvornog analognog (vremenski-kontinuiranog) d dinamikog lana. c c diferencija. Program za crtanje spomenutih odziva:1 clear all 2 3 z e t a = 1/ s q r t ( 2 ) ; 4 omega = 1 ; 5 T = 0.2; 6 s f u n c = t f ( [ 2 z e t a /omega , 1 ] , [ 1 / ( omegaomega ) , 2 z e t a /omega , 1 ] ) ; 7 z f u n c = t f ( [ 0 . 3 4 8 8 4 9 , 0 . 3 0 2 7 7 2 ] , [ 1 . 3 2 6 9 , 2 . 2 8 0 8 2 , 1 ] ,T, v a r i a b l e , z ) ; 8 9 [ x , xt ] = s t e p ( s f u n c ) ;

Takoer pomou for petlje nacrtan je i graf izveden iz jednadbe d c z

Poglavlje 2 Odreivanje prijenosne funkcije u Z podruje d c

6

10 [ y , yt ] = s t e p ( z f u n c ) ; 11 12 xn1 =0; 13 xn2 =0; 14 yn1 =0; 15 yn2 =0; 16 p l = z e r o s ( s i z e ( x ) ) ; 17 x p l = z e r o s ( s i z e ( x ) ) ; 18 f o r n=2: s i z e ( x ) 19 20 end 21 22 f o r n=1: s i z e ( x ) 23 24 25 26 27 28 29 end 30 31 f i g u r e ( 1 ) 32 c l f 33 p l o t ( xt , x , yt , y , , xpl , p l ) , g r i d on ; yo =(0.348849 xn1 0 . 3 0 2 7 7 2 xn2 + 2 . 2 8 0 8 2 yn1 yn2 ) / 1 . 3 2 6 9 ; p l ( n )=yo ; xn2 = xn1 ; xn1 = 1 ; yn2 = yn1 ; yn1= yo ; x p l ( n ) = x p l ( n1) + 0 . 2 ;

Poglavlje 2 Odreivanje prijenosne funkcije u Z podruje d c

7

Nakon pokretanja danog programa Matlab ispisuje sljedei odziv: c1.4 1.2 1 0.8 0.6 0.4 0.2 0

0

1

2

3

4

5

6

7

8

9

Slika 2.1: Odziv Zbog dobrog poklapanja ne vidi se odziv vremenski kontinuiranog dinamikog lana c c (plava linija), stoga je prikazan sljedei detalj: c

Poglavlje 2 Odreivanje prijenosne funkcije u Z podruje d c

8

1.22

1.2

1.18

1.16

1.14

1.12 1.6 1.8 2 2.2 2.4 2.6

Slika 2.2: Detalj odziva Iz grafa se zakljuuje da su Z-transformacija i jednadba diferencija ispravno odreene. c z d

Poglavlje 3 Implementacija ltra3.1 Program

Pojasnopropusni ltar drugog reda implementiran je u Microwin32 programskom suelju. c Vladanje ltra je provjereno s obzirom na jedininu skokovitu promjenu ulazne veliine (I c c 0.1). Dobiveni rezultati spremljeni u V memoriji ope namjene dani su u tablici. c

9

Literatura[1] Mathworks-Inc. MATLAB - The Language of Technical Computing. 1999. [2] Siemens-GmbH. SIMATIC S7-200 Programmable Controller System Manual. 2005. [3] T.Surina. Automatska regulacija. Skolska knjiga, Zagreb, 1991.

10