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
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