CSD Lab-Exp 4
CSD Lab-Exp 4
Aim: To design a lag compensator for the given unity feedback system to meet desired
performance specifications
Problem statement: A unity feedback control system has open loop transfer function
100 K
G ( s )=
s (s+36)( s+100)
Gain K to yield 9.5% overshoot 583.9. Design a suitable lag compensator to yield a tenfold
improvement in steady state error of gain compensated system while keeping percent overshoot
at 9.5 %.
Design steps:
1. Determine ξ for 9.5 overshoot. [ξ = 0.6]
2. Determine Kv for gain compensated system.. [Kv = 16.22]
3. Ten fold improvement in steady state error is required. Hence new Kv = 162.2]
4. To meet new Kv, Open loop transfer function of uncompensated system is
583900
G ( s )=
s (s+36)( s+100)
5. Draw magnitude and phase plot for the uncompensated system.
6. Use following relationship and obtain the phase margin required for overshoot of 9.5%.
MATLAB Program:
clf
K=input ('Type value of K to meet steady-state error requirement' ) ;
pos=input ('Type %OS ') ;
numg=[100*K];
deng=poly ([0 -36 -100]);
'G (s)'
G=tf (numg, deng)
z=(-log(pos/100))/(sqrt(pi^2+log(pos/100)^2));
Pm=atan(2*z/(sqrt (-2*z^2+sqrt (1+4*z^4))))*(180/pi)+10 ;
w=0.01:0.01:100 ;
[M , P]=bode(G,w ) ;
Ph=-180+Pm;
for k=1:1:length(P) ;
if P(k)-Ph<=0 ;
M=M(k);
wf=w(k);
break
end
end
wh=wf/10;
wl=(wh/M);
numc=[1 wh];
denc=[1 wl];
Kc=wl/wh;
'Lag compensator'
Kc
'Gc(s)'
Gc=tf(Kc*numc,denc)
'Gc(s)G(s)'
GcG=Gc*G
s=tf([1 0],1);
sGcG=s*GcG;
sGcG=minreal(sGcG);
Kv=dcgain(sGcG)
T=feedback(GcG,1);
step(T)
title ('Closed-Loop Step Response for lag compensated system')
pause
Result :
Lag compensator
Kc = 0.0624
Kv = 163.6944
Closed-Loop Step Response for lag compensated system
1.4
1.2
0.8
Amplitude
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
Time (seconds)