Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

6/30/2020 Practicon Exercise System TU Delft

ae2235-I-st2020
 0_start ()
 1_know ()
 2_do ()
 2_do_a ()
 2_do_b ()
 3_design ()
 3_design_a ()
 99_reset ()

Root-locus
Consider the block diagram given below, and answer the following
questions.

For answering some of the questions, you need to combine the two parallel feedback paths into one.

Calculate the following:

Your answer
Calculate the equivalent transfer function for the closed-loop system, Y (s)/R(s) , using a gain K = 1

and rate feedback Kr = 0.9 .


Enter the numerator and the denominator coefficients, use for example h.num{1} and h.den{1} to get
these.
num = [ 20 ]

https://practicon.lr.tudelft.nl/practicon/index.html?extauth=1 1/5
6/30/2020 Practicon Exercise System TU Delft

den = [ 1 5 22 20 ]

Calculate the equivalent transfer function for the control error in the closed-loop system, E(s)/R(s) ,
also using K = 1 and rate feedback Kr = 0.9 .
Enter the numerator and the denominator coefficients, use for example h.num{1} and h.den{1} to get
these.
num = [1 5 22 0]

den = [ 1 5 22 20 ]

Calculate also these quantities.


For a gain K = 1 and Kr = 0.9 , what will be the settling time to within
0
5% for the response to a unit step input?
Assume gain Kr = 0.9 . Calculate the gain K to achieve a damping
coefficient of 0.8 for the pair of complex poles that will be produced. You
0
can use the root-locus procedure for this, and you might have to re-arrange
the diagram, by joining the two (parallel) feedback loops.

The model answer


Calculate the equivalent transfer function for the closed-loop system, Y (s)/R(s) , using a gain K = 1

and rate feedback Kr = 0.9 .


Enter the numerator and the denominator coefficients, use for example h.num{1} and h.den{1} to get
these.
num = [ 20.0 ]

den = [ 1.0, 5.0, 22.0, 20.0 ]

Calculate the equivalent transfer function for the control error in the closed-loop system, E(s)/R(s) ,
also using K = 1 and rate feedback Kr = 0.9 .

https://practicon.lr.tudelft.nl/practicon/index.html?extauth=1 2/5
6/30/2020 Practicon Exercise System TU Delft

Enter the numerator and the denominator coefficients, use for example h.num{1} and h.den{1} to get
these.
num = [ 1.0, 5.0, 22.0, 0.0 ]

den = [ 1.0, 5.0, 22.0, 20.0 ]

Calculate also these quantities.


For a gain K = 1 and Kr = 0.9 , what will be the settling time to within
2.801
5% for the response to a unit step input?
Assume gain Kr = 0.9 . Calculate the gain K to achieve a damping
coefficient of 0.8 for the pair of complex poles that will be produced. You
0.3433604
can use the root-locus procedure for this, and you might have to re-arrange
the diagram, by joining the two (parallel) feedback loops.
Explanation / script

Feedback
Explanation still to be elaborated

Here at least is the model answer:

And here is your own answer

Here is an example program in Python:

from control import matlab as ml


import numpy as np
from matplotlib import pyplot as plt

# basic set-up
K = 1
Kr = 0.9
s = ml.tf([1, 0], [1])

h = 20/((s+1)*(s+4))

# closed loop system response, initial gains


H_ry = ml.feedback(K*h/s, 1+Kr*s)

https://practicon.lr.tudelft.nl/practicon/index.html?extauth=1 3/5
6/30/2020 Practicon Exercise System TU Delft

# closed loop error response, initial gains


H_in = ml.feedback(K*h, Kr)
H_re = ml.feedback(1, H_in/s)
print(H_re)

# check step response plot


t = np.arange(0, 10, 0.001)
y, x = ml.step(H_ry, t)

plt.plot(t, y)
plt.show()

# determine settling time


print(t[np.abs(y - y[-1]) > 0.05][-1]+0.001)

# use sisotool, zoom in & deselect zoom, click


ml.sisotool(K*h/s*(1+Kr*s))

# found a gain of ???


K = ... (fill in your gain here)

# check
Hclosed = ml.feedback(K*h/s*(1+Kr*s), 1)
print(ml.damp(Hclosed))

And here is the Matlab code to get to the model answer:

https://practicon.lr.tudelft.nl/practicon/index.html?extauth=1 4/5
6/30/2020 Practicon Exercise System TU Delft

% enter the parameters and basic tf


K = 1
Kr = 0.9

s =tf('s')
h = 20/(s+1)/(s+4)

% move pick-off point for fb loop with Kr one to the right, multiply by
% s to compensate, so I get a single fb loop with: 1+ Kr*s
H_ry = feedback(K*h/s, 1+Kr*s)
H_ry.num{1}
H_ry.den{1}

% first do the inner loop


H_in = feedback(K*h, Kr)

% now the rest


H_re = feedback(1, H_in*(1/s))
H_re.num{1}
H_re.den{1}

% settling time
t = 0:0.001:10;
y = step(H_ry, t);

% check!
plot(t, y)

lsiminfo(y, t, 'SettlingTimeThreshold', 0.05)

% root-locus procedure on the open loop


rltool(K*h/s*(1+Kr*s))

% adjust until gain for damping coefficient 0.8 is found

edit You may add notes to this item


contents

Practicon web-based exercise system, version: 6.0 (Feb 2015)

https://practicon.lr.tudelft.nl/practicon/index.html?extauth=1 5/5

You might also like