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

SFC

Uploaded by

rahul.bhopale
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)
5 views

SFC

Uploaded by

rahul.bhopale
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/ 9

Controller Design

This section shows how to introduce additional parameters into a system so that we can control the location of
all closed-loop poles. An nth-order feedback control system has an nth-order closed-loop characteristic equation
of the form

1.1

Since the coefficient of the highest power of s is unity, there are n coefficients whose values determine the
system’s closed-loop pole locations. Thus, if we can introduce n adjustable parameters into the system and
relate them to the coefficients in Eq. (1.1), all of the poles of the closed-loop system can be set to any desired
location.

Pole Placement Design for Second-Order System


In order to lay the groundwork for the approach, consider a plant represented in state space by

and shown pictorially in Figure 1(a), where light lines are scalars and the heavy lines are vectors.

FIGURE 1 a. State-space representation of a plant; b. plant with state-variable feedback

In a typical feedback control system, the output, y, is fed back to the summing junction. It is now that the
topology of the design changes. Instead of feeding back y, what if we feed back all of the state variables? If
each state variable is fed back to the control, u, through a gain, ki, there would be n gains, ki, that could be

1
adjusted to yield the required closed-loop pole values. The feedback through the gains, ki, is represented in
Figure 1(b) by the feedback vector -K.

The state equations for the closed-loop system of Figure 1(b) can be written by inspection as

Numerical Example: Consider the regulator system whose plant is given by

The system uses the state feedback control u = –Kx. Let us choose the desired closed-loop poles at

s = -2 + j4, s = -2 - j4, s = -10

(We make such a choice because we know from experience that such a set of closed-loop poles will result in a
reasonable or acceptable transient response.) Determine the state feedback gain matrix K.

Solution:

Method 1: The first method is to use Equation (1.6) given below.

The characteristic equation for the system is

2
Referring to Equation (1.6), we have

where T=I for this problem because the given state equation is in the controllable canonical form.

Then we have

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%

Method 2: By defining the desired state feedback gain matrix K as

3
Thus

from which we obtain

or

State feedback (pole placement) control (Code 1)


Matlab Code for above Example using place and acker command

Input the matrices and create the state-space system.

A = [0 1 0;0 0 1;-1 -5 -6];


B = [0;0;1];
C = [1 0 0];
D = 0;
sys = ss(A,B,C,D);

Compute the open-loop poles and check the step response of the open-loop system.

Pol = pole(sys)

Pol = 3×1
-5.0489
-0.3080

4
-0.6431

Step Response

figure
step(sys)
hold on;

Notice that the resultant system is underdamped. Hence, choose real poles in the left half of the complex-plane
to remove oscillations.

p = [-2+4i,-2-4i,-10];

Find the gain matrix K using pole placement and check the closed-loop poles of syscl

%K = acker(A,B,p)
K = place(A,B,p)

K = 1×3
199.0000 55.0000 8.0000

Acl = A-B*K;
Bcl=[0;0;200];
syscl = ss(Acl,Bcl,C,D);
Pcl = pole(syscl)

Pcl = 3×1 complex


-2.0000 + 4.0000i
-2.0000 - 4.0000i

5
-10.0000 + 0.0000i

Now, compare the step response of the closed-loop system.

figure
step(syscl)
xlim([0 5])

Hence, the closed-loop system obtained using pole placement is stable with good steady-state response.

stepinfo(syscl) % System with controller

ans = struct with fields:


RiseTime: 0.3866
SettlingTime: 1.9605
SettlingMin: 0.9145
SettlingMax: 1.1843
Overshoot: 18.4293
Undershoot: 0
Peak: 1.1843
PeakTime: 0.9026

stepinfo(sys) % Oiginal system without controller

ans = struct with fields:


RiseTime: 8.3344
SettlingTime: 15.0125
SettlingMin: 0.9002
SettlingMax: 1.0000
Overshoot: 0
Undershoot: 0

6
Peak: 1.0000
PeakTime: 37.0932

State feedback (pole placement) control (Code 2)


clc
t = 0:0.01:35;

Define state space model

A = [0 1 0; 0 0 1; -1 -5 -6];
B = [0; 0; 1];
C=[1 0 0];
D=0;

Plotting the respoonse of original system

sys1 = ss(A,B,C,D);
c3=step(t,sys1);
figure
plot(t,c3,'.r'), grid
title('Response of original system')

Check open loop eigenvalues

E = eig(A)

7
E = 3×1
-5.0489
-0.3080
-0.6431

Desired closed loop pole location

P = [-2+4i -2-4i -10];

Solve for K using pole placement

K = place(A, B, P);

Check for closed loop eigenvalues

Acl = A - B*K;
Ecl = eig(Acl)

Ecl = 3×1 complex


-2.0000 + 4.0000i
-2.0000 - 4.0000i
-10.0000 + 0.0000i

Create closed loop system

syscl1 = ss(Acl, B,C,D);

Calculate the scaling gaing

Kdc = dcgain(syscl1);
Kr = 1/Kdc;

Step response of system without scaling gain

t1 = 0:0.01:4;
c1=step(t1,syscl1);

Step response of system with scaling gain

syscl2 = ss(Acl, B*Kr,C,D);


c2=step(t1,syscl2);

Plotting the response with and without scaling

figure
subplot(2,1,1); plot(t1,c1,'.r'), grid
title('Response without scaling')

subplot(2,1,2); plot(t1,c2,'.b'), grid


title('Response with scaling')

8
stepinfo(syscl1)

ans = struct with fields:


RiseTime: 0.3866
SettlingTime: 1.9605
SettlingMin: 0.0046
SettlingMax: 0.0059
Overshoot: 18.4293
Undershoot: 0
Peak: 0.0059
PeakTime: 0.9026

You might also like