H(s)
G(s) transfer funciton is given below;
K
G(s) = (is written using by hand)
(s + 4)(s + 6)(s + 10)
H(s)
1
K*G(s) ∗ H(s) = (İmaginary axis)
(s + 4)(s + 6)(s + 10)
𝜉 = 0.404
Poles are = -4,-6,-10 Ts -2.564 + 5.813i, K=466.99
Zero is = empty uncompensated pole(on root locus&on ksi)
Desired pole location(out of root locus&on ksi)
-2 + j4.534, (need to compensated)
-2 113.8°
𝑝1 , 𝑝2 = − 𝜉𝜔𝑛 ∓ 𝑗𝜔𝑛 √1 − 𝜉 2
𝜉
𝜃 = 180° − cos −1 ( )
√1 − 𝜉 2
𝜔𝑑 = 𝜔𝑛 √1 − 𝜉 2
ln(0.02√1−𝜉 2 )
{Ts = − 𝜉 𝜔𝑛
2
%OS = 𝑒 −(𝜉𝜋/√1−𝜉 ) 𝑥100}
𝑒 −𝜉𝜔𝑛 𝑡 𝜉
ʮ𝑠𝑡𝑒𝑝 (𝑡) = 1 − (cos(𝜔𝑑 𝑡 − 𝜑)) , 𝜑 = tan−1 ( )
√1−𝜉 2 √1−𝜉 2
𝑝1 , 𝑝2 = −2.000489522 ∓ 𝑗4.533469487 (points are desired which out of root locus,dominant poles for
design)
𝜔𝑑 = 𝜔𝑛 √1 − 𝜉 2 = 4.533469487
ln(0.02√1−0.40371275192 )
{2 = − 0.4037127519𝜔𝑛
𝜔𝑛 = 4.955229956
𝜉𝜔𝑛 = 2.000489522
√1 − 𝜉 2 =0.9148857928
2
%OS = 𝑒 −(𝜉𝜋/√1−𝜉 ) 𝑥100 = %25}
0.404
𝜑 = tan−1(√1−0.4042 )=23.81048667°
𝑒 −4.955229956𝑡
ʮ𝑠𝑡𝑒𝑝 (𝑡) = 1 − (cos( 4.533469487𝑡 − 23.81048667°))
0.9148857928
ʮ𝑠𝑡𝑒𝑝 (𝑡) = 1 − 1.093032603 𝑒 −1.528890292𝑡 (cos( 4.533469487𝑡 − 23.81048667°))
(At Time domain)
Therefore, we must apply to 𝐺𝑐 (s) (compensator) for G(s) is decreased ramp errors .
Maybe it should be an integrator(1/S) ,
1
𝑒∞ = 𝑒𝑟𝑎𝑚𝑝 (∞) = = 0.5139296344(𝑛𝑜𝑤 𝑠𝑦𝑠𝑡𝑒𝑚 𝑖𝑠 𝑠𝑎𝑡𝑏𝑙𝑒 𝑓𝑜𝑟 𝑟𝑎𝑚𝑝 𝑖𝑛𝑝𝑢𝑡)
lim 𝑠𝐺𝑐 (s)𝐺(𝑠)
𝑠→0
Compensating calculation :
(−4−6−10)−0 −20
𝜎= = the angle of the line intersect at -20/3
3−0 3
The aim that is catching the symmetrical(for reaching the desired point) on root locus, so for canceling
pole-zero, we can add the two zeros and one integrator on root locus and also we can add 1/S(integrator
)for editing steady-state erorrs (s=-10,s=-5.88---,1/S). System is now never unstable. And system root locus
is so close the desired point , if system has K which values given below; {%24.5(%OS), 1,7 sec(Ts).}
A new value of :
3.15∗(1+0.17s)∗(1+0.1s) 1
𝐺𝑐 (𝑠) = , K=466.99 , G(s)= (𝑠+4)∗(𝑠+6)∗(𝑠+10)
,
(𝑠)
𝜉 = 0.404
-10 -5.88
-10 -6 -4
%MATLAB COMMANDS:
deng=poly([-4 -6 -10]);
g=467*tf(numg,deng)
g=
467
--------------------------
>> rlocus(g)
Kp=dcgain(g);
step_err=1/(1+Kp)
step_err =
0.3395
Kv=dcgain(g);
ramp_err=1/Kv
ramp_err =
0.5139
gc =
-----------------------
C=pid(gc)
C=
Kp + Ki * --- + Kd * s
dens=poly([-4 -6 -10]);
gs=467*tf(nums,dens)
gs =
467
--------------------------
den=[1 0];
>> gc=3.15*tf(num,den)
gc =
-----------------------------
>> Ts=feedback(gs,1)
Ts =
467
--------------------------
stepinfo(Ts)
ans =
RiseTime: 0.2333
SettlingTime: 1.5577
SettlingMin: 0.6073
SettlingMax: 0.8258
Overshoot: 25.0218
Undershoot: 0
Peak: 0.8258
PeakTime: 0.5641
>> step(Ts)
hold on
>> T=feedback(series(gc,gs),1)
T=
---------------------------------------
stepinfo(T)
ans =
RiseTime: 0.2963
SettlingTime: 1.6857
SettlingMin: 0.9335
SettlingMax: 1.2451
Overshoot: 24.5147
Undershoot: 0
Peak: 1.2451
PeakTime: 0.6997
>> step(T)
Gcs=series(gc,gs)
Gcs =
------------------------------
>> Kp=dcgain(Gcs);
>> step_err=1/(1+Kp)
step_err =
rlocus(Gcs)
As a result:
K 466.99 1471.1
𝝃 0.404 0.404 0.404
𝝎𝒏 6.347 𝟓. 𝟖𝟐𝟒
%OS %25 %25(%24.5) %25
TS(SETTLING) 1.56 sec. 2 sec.(1.7 sec)
𝒆𝒔𝒕𝒆𝒑 (∞) 0.4656 0 0
EXTERNAL POLE None 0(integrator)
ZERO None -5.8824,-10
COMMENTS Second order
Approx ok.