pojasno propusni filter
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