0% found this document useful (0 votes)
18 views

Control System

The document compares the step response of a second order system both with and without a zero. It defines the system parameters, creates transfer functions for the system with and without a zero, simulates the step response for each using different zero values, and plots the response curves to compare the effect of adding a zero.

Uploaded by

arshpoddar4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Control System

The document compares the step response of a second order system both with and without a zero. It defines the system parameters, creates transfer functions for the system with and without a zero, simulates the step response for each using different zero values, and plots the response curves to compare the effect of adding a zero.

Uploaded by

arshpoddar4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Step Response

a. G(s) = 4500k/s"2+361.2s+4500k
k = 7.248;14.5;181.2

Code: Output :

for k=7.248
kl= 7.248; RiseTime: 0.0186
n uml = [ 0 0 ( 45 0 0 * k 1 ) ] ; SettlingTime: 0.0323
denl Il 361.2 (4500*kl)]; 0.9030
SettlingMin:
sysl tf(numl,denl);
SettlingMax: 0.9999
k2 = 14.5;
Overshoot: 0

nurn2 [O O (4500*k2)]; Undershoot: 0

den2 (1 361. 2 (4500*k2)]; Peak: 0.9.999


sys2 tf(num2,den2); PeakTime: 0. 066-3

k3 = 181. 2; for k=14.5


n um3 = [ 0 0 ( 4 5 0 0 * k 3 ) ) ; RiseTime: 0.0084
den3 [l 3 61. 2 (4500*k3)); SettlingTime: 0 .0233
sys3 = tf(num3,den3);
SettlingMin: 0.9036
SettlingMa:x: 1.0432
display('fo r k=7.24 8 ');
o,iershoot: 4.3246
display(st epinfo(sysl)); ·
display ( ' fo r k=14. 5' ); Und.e r sh oot : 0
display(s tepinfo(sys2)); Peak: 1.04.32
display( 1 f o r k=18 1. 2 ' ); Pea.kTime: 0.0173
display(stepinfo (sys3));
for k =l8lk : ----
/ ~s e ~~rne: 0 .0013
/ Sett=1.~gT1.1~e ~ O. 021 7
Se t Ll1ngM1.n . 0.7228
SettlingMax: 1.5265
Overshoot: 52.6541
Undershoot: 0
Peak: 1. 52 65
PeakTime: 0.0036
b. G(s) = (1.5 X 10/\7)k/s" 3+3408.3s/\2+1204000s+(l.5 X 10/\7)k
k = 7.248;14.5;181.2
Code : c l c , clearvars
Output :
~~ Pa r t (b)
kl 7 . 248;
for k=7.248
k2 14 . 5;
RiseTime : 0 . 0182
k3 181.2;
·S ettlingTime: 0.0322
Settli ngMin: 0 . 90 24
num4 [O O (1. 5* (10"7) .. kl)];
SettlingMax: 0 . 9992
den4 [l 3408.3 1204000 (l.5*(10"7)*kl)];
sys4 t f (num4 , den4 ) ; Overshoot : 0
Undershoot: 0
num5 = [O O (l.5*(10"7)*k2)]; Peak: 0 . 9992
den5 [l 3408.3 1204000 (l.5*(10"7)*k2)]; Pea,kTime : 0 . 0528
sys5 = tf (num5, den5);
f o r k=l4.5
num6 = [O O (1. 5* (10 " 7) *k3)]; RiseTime : 0.0182
den6 = [l 340B.3 1204000 (l.5*(10"7)*k3)]; SettlingTime: 0.0322
sys6 = tf (num6, den6); SettlirigMin: 0. 9024
Set,t lingMax : 0.9992
step(sys4 , sys5,sys6)
Overshoot: 0
grid
Undershoot: 0
display(' f o r ~=7. 148 ')
Peak: 0.9992
display(stepinfo (sys4))
Peak.Time: 0. 0 528
display ( ' f,:,r k=l4 . S ')
display (stepinfo(sys4))
display ( ' for k=l8 1. 2 ') for k=181 .. 2
display(stepinfa (sys4)J RiseTime: 0 .0182
SettlingTime: 0.0322
SettlingMin : 0.9 024
Ss=ttlingMax: 0 . 9992
St~p Response Overshoot: 0
Undershoot: 0
Peak: 0.9992
PeakTime: 0.0528
1.6

1.4

1..2
Q)
-g 1
~
a.
E 0.8
<t:
0.6

0.4

0.08 0 ·1
40, f4.\J4b

after adding zero :

G(sJ = "',/ '20 + Ts) I s"2 + 2 -w/s+ w,/ 2


36 l0
1Vizere w n = I '· '°". O.5•· . = l1I , I., ' , r·

tem with and without zero.


Compare the response ofsys

Code: % O~fine: system p.::wam.:,t r~l'


s
omega_rr ;: 2"pi ; ~; /j,}t ,_rr•,1 1 fr• t.'i◄ :F~n< _\;
xi :: 0.5; % Ja111pi11g re ti o
1·: ithou t :er-v
% Crea te tr~.an:--fer ·fun{ t·ior:
num = omega_n,'\2;
_n ··2j;
den = (:1 2•xi- omega_n omegd
G_no _zero :: tf (n u,n, den); T/
for· slj_f -fr~ren t v(;lut :s n ..:
t :.: ~erYi:t:• t.ran sf.~ p fun-:ti011 :-1.tth
::f• f'C

;\:,,.,\ ~a!/ ~e:0:;,:,t ,~:;\~lr:~L,;d~:'.;


5 0
aero t im•o w,s t a!lt
t = 0:0 .01 :10; Time vc" rt or
t );
y_no_ zero :: step( G_n o_zer o, •·. f T7.
few d.l fff' ~'t:-n~ ::r1l1ws 1
~: Pl ot. st ep 1'es r:r.:nsr: ,: ,wves
fi gu re;
hol d en ;
t h ·, 2);
plot (t, y_no_ze ro., '!.i nel•Jld
for i = 1 : leng th( T2 )
on l•1i t h zc::f'o ·
% ( r'f.:'ate trans fer f unc t i
a_n"2];
num = [omega_n"'2:ioT2(i ) or.1eg
_n·'\2] ;
de n : (1 2i'"xi "·cmega_n ornega
);
G_l•.iit h_ zero =i tf(nu m, den

;~ Si t<:u l a-te st ep r~'spons .


~. ~J.i th z~;•u
er'OJ t);
y_:.-,ith_ze ro : st ep (G_~·dth_z

~ P.h:t step respo nse: CUl'V{'


:

.dth ' , 2);


p1ct( t , y_w.i th__ zeroJ "l in~id
er,d/

I;i§!:iif;:/f:ii!:·::,;:::,:::,::;;,:':::
}•la bel ( 'Aniol i tude ·);
!;, , .1.0' i;

% ,1d j ust ax s limit• :·· ai


d 1.Hsc,la~ g r·id lin:.•:,
alim ( f0 10]
yli m([O 1.1 i;

3C ~ -
I/i grid er ,;

25

lh
20 (/ \ ;
f {;.

; ~\'..
10
s

,-:-=:,.,~ -- .,------
'
I ,-
J ~
u ' .,,.......

L___ ~Z___ 1

I
- __ j__ _ ___ _____
1
J _ -- -
.. __ ' --- --·- ·---· -----L ___ _
'
Tim u (s)
Root Locus
a) G(s)H(s) = k/(s(s+4) (s/\2+4s+2 0))
Code: % Part (a )
numl = [l];
denl = [1 8 36 80 O];
sysl = tf(numl ,denl);
rlocus( sysl);
grid;
Root Locus
11
I

i
b) G(s)H(s) = k(s+3)/s(s+5) (s+6) (s" 2+2s+2) .
For-3000<k<3000
Code : % Par t (b )
num2 Jl ];
den2 = [1 13 54 82 60 OJ ;
s ys2 = t f( num2 , den2);
rlocus (sys2 );
gr id

Out put :

.0.76- .
15 ·Q.., 86

--
..-
'if)
i::,
10
·Q,94
C:
0 5 _
,(.)
Q)
i G.,9 85

--- 't5
(/)

(/) 20
J
c
ro -5 0.98'5
C:
·gi ·. ---·
E -10 _o:~4

-15 -oJ ~6 .. ..

0.76•' o,64 o._


5 0.,34 o.16 ,,/ ,
-2Q '---~-'---~--- ---'---'----'-~ -.- - - ' - - --:c--"--- ' - - - - ' - - - -
-25 , -20 -15 -10 .5 /er 5 1D 15
Real Ax is (se ,,onds-1 )
c) G(s)H(s) == k(s+2)/s (s"2+2s+a) a>O
for a == 1 ; 1.12 ; 1.185 ; 3
Investig ate the difference between the root loci

9
Code: ,; a = 1
num3 [ 1 2] ;
den3 = [1 21 OJ;
sys3 = tf(num 3,den3 };
r locu.'3 ( sys 3) ;
grid

Output :
Root Locus
-------;- ----,---- -,---- i
4 .------:- -:----,-- ----,-.-- ---,----, --~-,---- ----r--:-
0.998 . _0.996 . o.9S3 o.986 o.965 ,o .86
3 .

~ 2.
'(/)
"O
·-1 ,, ... , ·- · ,. : ' . .
8C -1 . . . . .

¾10 : __
·4-1--'-6"-'-o·_ _5_0-:- ..._.. ·_; _·o::;.--_,.. ___ __'ft
40-:-:_-_ ....,,
2! 1~ !:~
~
~ -
ro -1
C ·t ··
·rn
(0

.s -2 -
·0.999
-3 -

o.~a·'. _o.996 . - o.993 o.98-B o,9&5 ' ---"


' -'-
:o.se ----
-4 L_....c:.:...___.__ _------L-. ---'---'--- -------'-- -'----'-'-- -----'-
-70 -60 -50 -40 -30 -20 -10 0 ·10
Real Axis (seconds-1 )

Code : ~s a = 1 . 12
num4 = (1 2]; ./
/
den 4 = [1 21. 12.,,,0/J ;
sys4 = tf~ 1m'< den4) ;
rlocu .'3'..(-s-ys4} ;
grid
Root Locus
---~- ---- --
Output:
j 0.998 0.996 0.9~3·--o-986 ·a:gss ua6
3i
0.999
~~ 2
'w
"O
C:
8
Q)
1

, 1---_::6.:::.0_
:; "(p,.., _.:::::
50:__:__4c::..
0_ · ·_2 •
--'-30_ _ . 10· · 'G_f<
~
~
('!l -·1 '
.!: 1
Ol
('!l

_§ -2
0.999
-3

-70 60 -50 -40 -30 -20 -'!O 0 -10


1
Real Axis (seconds· }

Code : % a == l . 1 f; 5
mun5 [1 2];
den 5 = [l 2 1. 18 5 0 ] ;
sys5 = tf(num5,den 5};
rlocus(sys5 );
grid

Output:
Root Lo;cus

6
0:44
;-- 4
'(/)

~ 0.7
8
Q)
2
.!!!.,

~ 0
~
ro
C
-2-
·5, 0.7
ro
_§ -4
0.4.f
-6
o.~2 · o. t6
-8 .co:.3.'.:_
.. ----'----~ -~
-2 .5 -2 -1.5 _, -0.5
0.5
Real Axis (secorids ·1 )
~rt -:e;;: -zr: ·-Z

Code: % a = 3
num6 = [1 2];
den 6 = [ 1 2 3 o] ; .
sys6 = tf(num6,de~6);
rlocus(sys6);
grid

Output:

-1.5 -1 -0.5 0 0.5


-2
1
Real Axis (se.conds · )
Bode Plot
a) L(s) = 2500/s(s+S) (s+lO)
► Find gain cross over frequency and phase margin
► Find phase cross over frequency and gain margin
Code: '5 pc>.rt (a) Outpu t:
num = [0 0 0 2500] ; GainMargin
den= [1 15 50 OJ ;
sys= tf(nu m,de n);
0.3000
bode( sys);
grid
[Gm,Pm,Wcg,Wcp] rnargi n (sys} PhaseMargin

-28.08 14

Wcg_G ainCro ssover Freque ncy

7. 0711

Wcp_ PhaseC rossov erFreq uency =

12.126 3

Bode Diagram

-TI O ------ ----'- ---,.- -/, ----- '---- ----'"------


--~-- -----=·-:::c-
'=""=--=
-
10- i '100 ✓- '! Oi '!0 2 103
Frequency (rad/s)
b) L(s) = 100k(s+5) (s+40)/s"3 (s+l00) (s+200)
k=l

- Find gain cross over frequency and phase margin


- Find phase cross over frequency .
- Discuss about the stability of the system
Code : Output :
clc, clearvars; GainMargin
num = [100 4500 20000];
2.8479e+03
den= (1 300 20000 0 0 O];
sys= tf(num,den);
bode (sys); PhaseMargin
grid
(Gm,Pm,Wcg,Wcp]~margin(sys) -78.0393

Wcg GainCrossoverFrequency

25. 7 43.8

Wcp_Phaset:rossoverFrequency

1.0067
Bode Diagram

Q)
"O
.3 - 100
'cC):
('J
::;E -200 -

fill -mo
2-
Q)
(I)

~ -225 -
0.

-270
10-1 10 1 102
Frequency (rad/s)
~l
Nyquist Criteria

a) L(s) =k/s(s+2)(s+10)
two points .
For k<240 and k>240 , investigate the difference between

' cs_Nyquist_l .m * · · ~ c;_Nyqu ist_2.m · · l Nyquist Diagram


- -- - - - - - - - - - -·- ·----~ - ·-·
-7
1 6 %For k<240 150 ,----
OdB
2 L %Let k=100
3 num = [100 ] ;
100 ;
4 den= (1 12 200 ] ; ,i
IJ.
5 sysl = tf( num,de n); \

6 nyquis t (sysl) ; 50 ~
7 gri d; "' \
'--·,,-...
8
9
J
>.
;;;
C
'5,
o -=~~=::~-;--..=--·.· .,,------~~.. --.,..-j
- ,·= .......

/
%For k>240
10
11 1 %Let k= 300
111
E
~50 /
/

num= I[ 300];
i
12
13 den= (1 12 20 0); I/'I
14 sys2 = tf(num , den);
- 100 I
15, nyqu i st(sys2 ) ; '-----'
16 grid; -150 '--~-~ -----'- ----'-- ---'--- --'---- '------
.g -3 -7 -6 -5 -4 .3 -2 -1
Real Axis

b) L(s) = k(s + 2) / (s" 3) + 3s" 2 + 10


! ' '": ,.,., •• , ......
! cs_Nyqu ist_2.m x l- i:'.~.:Nyquist:..3 .m
1 num=( 24] ;
2 den= (1 3010] ;
3 sys= t f( num, den );
4 nyquis t (sy s ) ;
5 gr i d;

Nyquist Diagram
OdB
_,,,,.,,
--- --- ,, . ~ .. ----- - ·: ...--,
4
(/ -2 dB '•.,,\
3 .

2
2 dB i
4 dB . .\
,10·8rf1
-4 dB
8 · ~✓-/
0
~~ dB . ·,-,( _,,.,/ .

·+ . . / /'
'):·

-2.
/
-3

-4
"--·-·· ..... ► ....

0 1 2
Real Axis
c) investigate the difference between(i), (ii), (iii), (iv).

i) L(s) = k/l+T1s T1> O


Nyquist Diagram ·.Cs O (j E'~ 8. C)
os .-- -~ ---- ~ -/
s 11Bl82dB)d82dS4dB : / ·-, ''6,dB
i cs_Nyquist_3.m :;,, +
·-··-··-·· -•····-·········
··········· ··-·· •....
~

10dB -10_l _
.
\
1 clearvars; o.3 ;
2 num = [1];
3 den = [2 It); 0.2 I
-20(d8
4 sysl = tf(num den)· j 0.1 Wd8 .t .
5 nyquist(sys1)'. ' i
~C: 0
6
7
grid;
ro, .
'o,
;j

-0.2 t
-0.3
I
/!
-0.4 / .

-D .5 0 0.5
Real Axis

ii) add pole at origin to L(s) L(s) = I / s (1 + T1 s)

'. cs_Nyquist_3.m -x L±J Nyquist Diagram


40 , - - - - - - - - - - - - - - - - --
1 clearva rs ; OdB
2 num = [1];
3 den2 = (2 1 0];
4 sys2 = tf(num,den2 );
5 nyquist(sys2);
6 grid;
7

-40 ' - - - - -- ~- - - ~ - - - - - ' - -- - -_J


-2 -1.5 -·1 -0.5 0
Real Axis

iii) L(s) = k / (s" 2) * (1 + T1 s)


Ny_qulst Diagram
~--- .J ~G 00.. 0. w
i cs_Nyquist_3.m ;.~ l. ±.t __ 20 , -- - ~ · --
15 [__ ·- -- - --~~B
1 clearvars; I
I
2 num = [1 ] ; !
3 · den3 = ( 1 1 0 0 ); 1D
i
4 sys3= tf(num,den3) ;
nyquist(sys3) ;
6
7
grid;
~
/ ~ oi
-~ 1 I
1I

.; sf j
-10

· 15

-21)0 . :50 -1 00 -~,O


Real Axis
iv) L(s) = k / (s" 3) * (1 + T1 s)

~l__
cs_Nyquist_3.m · : ~-+ Nyquist Diagram
1 clearvars;
num = [1);
4000 r-----.-- :..---~-- - - - - -
OdB
/,, §
:?
0 E~ 0_ (,j
2
3 den4 = [1 1 0 0 0) ; 300~
4 sys4= tf(num,den4 );
5 nyquist ( sys4); 200-:J i
6 grid ; I
7 .!i! 1000 r
~ :
>, I

~ 0 t
'g /'
E ·1000 \.

-2000

-JOOO !
i

You might also like