10.01.2015 Views

Szabályozástechnika Matlab Gyakorlatok, Villamosmérnöki - Index of

Szabályozástechnika Matlab Gyakorlatok, Villamosmérnöki - Index of

Szabályozástechnika Matlab Gyakorlatok, Villamosmérnöki - Index of

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Soros PID Kompenzáció Hetthéssy Jenő, Bars Ruth, Barta András, 2005<br />

Írjunk <strong>Matlab</strong> programot (hozzunk létre egy m fájlt, ez egy szövegfájl m kiterjesztéssel). Nyissunk meg<br />

egy új m-fajlt a <strong>Matlab</strong> file menűjéből. Írjuk a <strong>Matlab</strong> utasításokat az üres fájlba. Mentsük el a fájlt: Save<br />

As, C:/<strong>Matlab</strong>/work/myfile.m<br />

A program meghívásához egyszerűen írjuk be a program nevét kiterjesztés nélkül a <strong>Matlab</strong> parancs<br />

ablakába.<br />

» myfile<br />

Az alábbi <strong>Matlab</strong> program szolgálja a szabályozó tervezést.<br />

clear<br />

s=tf('s');<br />

P=1/((1+10*s)*(1+s)*(1+0.2*s<br />

))<br />

P=zpk(P)<br />

Cp=1<br />

Cpi=(1+10*s)/(10*s)<br />

Cpd=(1+s)/(1+0.1*s)<br />

Cpid=Cpi*Cpd<br />

Cpid=zpk(Cpid)<br />

[mag,phase,w]=bode(Cp*P);<br />

kp=margin(mag,phase-60,w)<br />

Cp=kp*Cp;<br />

[mag,phase,w]=bode(Cpi*P);<br />

kpi=margin(mag,phase-60,w);<br />

Cpi=kpi*Cpi;<br />

[mag,phase,w]=bode(Cpd*P);<br />

kpd=margin(mag,phase-60,w);<br />

Cpd=kpd*Cpd;<br />

[mag,phase,w]=bode(Cpid*P);<br />

kpid=margin(mag,phase-60,w);<br />

Cpid=kpid*Cpid;<br />

figure(1),step(Tp,'r',Tpi,'b'<br />

,Tpd,'g',Tpid,'y')<br />

figure(2),step(Up,'r',Upi,'b'<br />

)<br />

figure(3),step(Upd,'g',Upid,'<br />

y')<br />

t=0:0.05:10;<br />

yp=step(Tp,t);<br />

ypi=step(Tpi,t);<br />

ypd=step(Tpd,t);<br />

ypid=step(Tpid,t);<br />

ysp=dcgain(Tp)<br />

yspi=dcgain(Tpi)<br />

yspd=dcgain(Tpd)<br />

yspid=dcgain(Tpid)<br />

ep=1-ysp<br />

epi=1-yspi<br />

epd=1-yspd<br />

epid=1-yspid<br />

ytp=(max(yp)-ysp)/ysp<br />

ytpi=(max(ypi)-yspi)/yspi<br />

ytpd=(max(ypd)-yspd)/yspd<br />

ytpid=(max(ypid)-yspid)/yspid<br />

Tp=feedback(Cp*P,1);<br />

Tpi=feedback(Cpi*P,1);<br />

Tpd=feedback(Cpd*P,1);<br />

Tpid=feedback(Cpid*P,1);<br />

Up=feedback(Cp,P);<br />

Upi=feedback(Cpi,P);<br />

( )<br />

up=step(Up,t);<br />

upi=step(Upi,t);<br />

upd=step(Upd,t);<br />

upid=step(Upid,t);<br />

upim=max(upi)<br />

updm=max(upd)<br />

upidm=max(upid)<br />

A szabályozási kör viselkedése vizsgálható Simulink blokk-diagram megépítésével és futtatásával az adott<br />

szakasszal és a megtervezett szabályozókkal.<br />

41

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!