Tuning Setup
Consider the PID loop of Figure 2 with a load disturbance at the plant input.
Figure 2: PID Control Loop.
For this example we use the plant model
The target control bandwidth is 10 rad/s. Create a tunable PID controller and fix its
derivative filter time constant to (10 times the bandwidth) so that there are
only three gains to tune (proportional, integral, and derivative gains).
G = zpk(-5,[-1 -2 -10],10);
C = tunablePID('C','pid');
C.Tf.Value = 0.01; C.Tf.Free = false; % fix Tf=0.01
Construct a tunable model T0 of the closed-loop transfer from r to y. Use an "analysis
point" block to mark the location u where the disturbance enters.
LS = AnalysisPoint('u');
T0 = feedback(G*LS*C,1);
T0.u = 'r'; T0.y = 'y';
The gain of the open-loop response is a key indicator of the feedback loop
behavior. The open-loop gain should be high (greater than one) inside the control
bandwidth to ensure good disturbance rejection, and should be low (less than one)
outside the control bandwidth to be insensitive to measurement noise and unmodeled
plant dynamics. Accordingly, use three requirements to express the control objectives:
13 Control System Tuning Examples