Professional Documents
Culture Documents
Control System I Laboratory 1306134: Course No: Group No: Course Name: Student No
Control System I Laboratory 1306134: Course No: Group No: Course Name: Student No
Experiment No: 04
Experiment Name:
a) Effect of input waveform, loop gain, and system type upon steady-state
errors
b) Effect of open-loop poles and zeros upon the shape of the root locus
Department: EEE
Section: C
1306135
1306136
Part-A: Effect of input waveform, loop gain, and system
type upon steady-state errors
1. Step Input
Simulink Model
Output
For the value of k=50: For unit step function we have found the steady state error = 4.54
And from plot it’s also 4.54
For the value of k=500: For unit step function we have found the steady state error = 2.51
And from plot it’s also 2.51
For the value of k=1000: For unit step function we have found the steady state error = 1.675
And from plot it’s also 1.676
For the value of k=5000: For unit step function we have found the steady state error = .457
And from plot we can see it’s oscillating. It’s because increasing the value of K has shifted
some poles to right hand side.
Ramp Input
Simulink Model
Output
Output
Output
For the value of k=50: For unit step function we have found the steady state error = 2.788
And from plot it’s also 2.788
For the value of k=500: For unit step function we have found the steady state error = .559
And from plot it’s also .559
For the value of k=1000: For unit step function we have found the steady state error = .296
And from plot it’s also .296
For the value of k=5000: For unit step function we have found the steady state error = .062
And from plot it’s also .062
Ramp Input
Simulink Model
Output
Output
Output
For the value of k=200: For unit step function we have found the steady state error = 0
And from plot it’s also 0
For the value of k=400: For unit step function we have found the steady state error = 0
And from plot it’s also 0
For the value of k=800: For unit step function we have found the steady state error =0
And from plot it’s also 0
For the value of k=1000: For unit step function we have found the steady state error = 0
And from plot we can see it is oscillating. It’s because increasing the value of K has shifted
some poles to right hand side.
Ramp Input
Simulink Model
Output
For the value of k=200: For ramp function we have found the steady state error = 0
And from plot it’s also 0
For the value of k=400: For ramp function we have found the steady state error = 0
And from plot it’s also 0
For the value of k=800: For ramp function we have found the steady state error =0
And from plot it’s also 0
For the value of k=1000: For ramp function we have found the steady state error = 0
And from plot we can see it is oscillating. It’s because increasing the value of K has shifted
some poles to right hand side.
Parabolic Input
Simulink Model
Output
For the value of k=200: For parabolic function we have found the steady state error = 1.575
And from plot it’s also 1.575
For the value of k=400: For parabolic function we have found the steady state error = .7875
And from plot it’s also 0.7875
For the value of k=800: For parabolic function we have found the steady state error =.39375
And from plot it’s also 0.39375
For the value of k=1000: For parabolic function we have found the steady state error = 0.315
And from plot we can see it is oscillating. It’s because increasing the value of K has shifted
some poles to right hand side.
Part-B: Effect of open-loop poles and zeros upon the shape
of the root locus
Matlab code:
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
sys= tf (num,den); % transfer function of the motor.
numcf=conv([1 60],[1 70]);
dencf=[1 0];
controller=tf(numcf,dencf); % transfer function of the PID
controller.
PID_sys=controller*sys;
rlocus(PID_sys,0: .001:1); %plot the root locus of the system
sgrid(.5,0);
axis([-400 100 -200 200])
[k poles]=rlocfind(PID_sys);
feedbk_sys=feedback(k*PID_sys,1);
figure()
step(feedbk_sys,0: .001: .1)
stepinfo(feedbk_sys)% step response of the compensated system.
figure()
dis_sys=feedbk_sys/(k*controller); % transfer function for
disturbance input
step(dis_sys,0: .001: .1);%step response for disturbance input