Simulink Control Design™ - MathWorks

(Tuis.) #1
x: 0 dx: 0 (0)

Inputs:
----------
(1.) Boiler_Demo/Input
u: 2.41e+05 [0 Inf]
u: 100 [0 Inf]

Outputs:
----------
(1.) Boiler_Demo/Boiler
y: 1e+03 [0 Inf]

Before linearizing the model around this point, specify the input and output signals for
the linear model. First, specify the input points for linearization.

Boiler_io(1) = linio([mdl '/Sum'],1,'input');
Boiler_io(2) = linio([mdl '/Demux'],2,'input');

Next, specify the open-loop output points for linearization.

Boiler_io(3) = linio([mdl '/Boiler'],1,'openoutput');
setlinio(mdl,Boiler_io);

Find a linear model around the chosen operating point.

Lin_Boiler = linearize(mdl,opSS,Boiler_io);

Finally, using the minreal function, make sure that the model is a minimum realization.

Lin_Boiler = minreal(Lin_Boiler);

1 state removed.

Design Regulator and State Observer

Using this linear model, design an LQR regulator and Kalman filter state observer. First,
find the controller offsets to make sure that the controller is operating around the chosen
linearization point by retrieving the computed operating point.

u0 = opReport.Inputs.u;
y0 = opReport.Outputs.y;

Now, design the regulator using the lqry function. Tight regulation of the output is
required while input variation should be limited.

9 Classical Control Design

Free download pdf