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

SM6 - Solved MATLAB Exercises On Time Response

Uploaded by

marahhwaitat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

SM6 - Solved MATLAB Exercises On Time Response

Uploaded by

marahhwaitat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Self- Learning Material 6

Prepared by Dr. Ashraf Suyyagh


Solved Exercises on Control Systems Time Response
Q1) Use MATLAB to find the zeros and poles of the following transfer function, and determine if the system is
stable or not?

Zeros:

syZeros = roots ([1 2 2])


syZeros = 2×1 complex
-1.0000 + 1.0000i
-1.0000 - 1.0000i

Poles

sysPoles = roots ([1 6 4 7 2])


sysPoles = 4×1 complex
-5.4917 + 0.0000i
-0.0955 + 1.0671i
-0.0955 - 1.0671i
-0.3173 + 0.0000i

• The system has a real root at -5.4917 and another at -0.3173 (exponential dampening)
• The system has two complex roots at -0.0955 + 1.0671i and -0.0955 - 1.0671i (sinusoidal
components)
• All roots are in the left-half plane (LHP), therefore the system is stable.
Q2) For the following second order transfer function, find ζ, ωn, Ts, Tp, Tr, and the percentage overshoot

omegaN = sqrt(1.05*10^7)
omegaN = 3.2404e+03

Remember in MATLAB e+03 means x 10^3, so the frequency is 3240.4. If we want to see more digits and
an accurate result, we can reformat MATLAB output to long
format long
sysOmegaN = sqrt(1.05*10^7)
sysOmegaN =
3.240370349203930e+03

So, the sinusoidal frequency is 3240.370349


The system pole σ is at –(1.6x103)/2 = -800

Page 1 of 5
Therefore, ζ = | σ | / ωn = 800/ 3240.370349 = 0.2468. In MATLAB:
sysSigma = -1600 / 2
sysSigma = -800

sysZeta = abs(sysSigma/sysOmegaN)
sysZeta = 0.246885359939347

sysTp = pi/ (sysOmegaN * sqrt(1 - sysZeta^2))


sysTp = 0.001000486920049 seconds

sysPercOvershoot = exp(-(sysZeta*pi)/(sqrt(1 - sysZeta^2))) * 100


sysPercOvershoot = 44.915396837794596%

sysTs = 4 / (sysZeta*sysOmegaN)
sysTs = 0.005000000000000 seconds

zetaVec = 0.1:0.1:0.9;
NormRiseVec = [1.104, 1.203, 1.321, 1.463, 1.638, 1.854, 2.216, 2.467, 2.883];
result = spline (zetaVec, NormRiseVec, sysZeta)
result =
1.255992393111594

sysTr = result/sysOmegaN
sysTr =
3.876076675680474e-04

Q3) Given the following system specifications of %OS = 12% and Ts = 0.6 seconds, find the location of the
second order-system poles and write down the system’s transfer function.

We can solve this either by hand/calculator or using MATLAB. Since we have access to MATLAB, we shall
use it. We shall rely on these equations to solve the problem (slide 30)

sysPercOvershoot = 12;
sysTs = 0.6;
sysZeta = -log(sysPercOvershoot/100) / sqrt(pi^2 + (log sysPercOvershoot/100))^2)
sysZeta =
0.559416391109633
sysOmegaN = 4 / (sysZeta * sysTs)
sysOmegaN =
11.917181499531988

We know that the system generic form is represented by this equation:

Page 2 of 5
142.0192
So, G(s) = 2
𝑠 +13.3333𝑠+142.0192

The poles are located at

roots ([1 13.3333 142.0192])


ans = 2×1 complex
-6.6667 + 9.8780i
-6.6667 - 9.8780i

Q4) Find the percent overshoot, settling time, rise time, and peak time for the following transfer function
using what you learnt in class.
14.145
(𝑠 2 + 0.842𝑠 + 2.829)(𝑠 + 1.5)

Initially, this is a 3rd order system and we need to find where the dominant poles are located. Using MATLAB

roots ([1 0.842 2.829])


ans = 2×1 complex
-0.4210 + 1.6284i
-0.4210 - 1.6284i

So, the dominant pole is at -0.421. The 3rd term pole is at 1.5. The 3rd pole is not at least five-time constants
away from the dominant poles, so we cannot use the equations we know to approximate the system
specifications and other tools and methods must be used.

Q5) Given the following unit step system response graph, find the equation of the transfer function:

Page 3 of 5
From visually analyzing the graph, we can deduce that the steady-state goes to 1. We can approximate that
the settling time Ts is at around 22.5 seconds. The maximum overshoot is at 1.4, so 40% more than the
steady state. Now that we have visually approximated the system specifications, we can solve the system
exactly as in Q3. We have %OS and Ts, so we proceed the same way.

Q6) Industrial robots are used for myriad applications.


The robot shown in the figure is used to move 55-
pound bags of salt pellets; a vacuum head lifts the
bags before positioning. The robot can move as
many as 12 bags per minute Assume that we already
derived the model for the open-loop swivel controller
and plant and is represented as where K = 100:

where ω0(s) is the Laplace transform of the robot’s output swivel velocity and Vi(s) is the voltage applied to
the controller.
1. Evaluate percent overshoot, settling time, peak time, and rise time of the response of the open-loop
swivel velocity to a step-voltage input. Justify all second-order assumptions. Solve by hand or
MATLAB.

The dominant poles are at –2 ± j2.449, the third pole is at -10, or 5 times further so we can use the
equation we learnt to approximate the system.
• ωn = 3.16
• ζ = 0.632
• %OS = 7.69%
• Ts = 2 seconds
• Tp = 1.28 seconds
• Tr = 0.611 seconds

2. Use MATLAB to plot the system response and compare the values you obtained with the figure
num=100;
den=conv([1 10],[1 4 10]);
G=tf(num,den)

Page 4 of 5
G =

100
-------------------------
s^3 + 14 s^2 + 50 s + 100

Continuous-time transfer function.

stepplot(G)

Exercise: Given the transfer function

let a = 30 and b = 30.1, 31, 35, and 40. Which values of b will have minimal effect upon the pure second-
order transient response?
Hint: Substitute the values of a and b each time, then use MATLAB to find the partial fractions expansion,
check if (s + a) and (s + b) can cancel each other.

Page 5 of 5

You might also like