PI-D and I-PD controllers are used to mitigate the influence of changes in the reference signal on the control signal. These controllers are variants of the 2DOF PID controller.
The general formula of a parallel-form 2DOF PID controller is:
Here, r and y are the reference input and measured output, respectively. u is the controller output, also called the control signal. P, I, and D specify the proportional, integral, and derivative gains, respectively. N specifies the derivative filter coefficient. b and c specify setpoint weights for the proportional and derivative components, respectively. For a 1DOF PID controller, b and c are equal to 1.
If r is nonsmooth or discontinuous, the derivative and proportional components can contribute large spikes or offsets in u, which can be infeasible. For example, a step input can lead to a large spike in u because of the derivative component. For a motor actuator, such an aggressive control signal could damage the motor.
To mitigate the influence of r on u, set b or c, or both, to 0. Use one of the following setpoint-weight-based forms:
PI-D (b = 1 and c = 0) — Derivative component does not directly propagate changes in r to u, whereas the proportional component does. However, the derivative component, which has a greater impact, is suppressed. Also referred to as the derivative of output controller.
The general formula for this controller form is:
I-PD (b = 0 and c = 0) — Proportional and derivative components do not directly propagate changes in r to u.
The general formula for this controller form is:
The following plot shows u for different PID forms for a step reference. The 1DOF PID controller results in a large spike when the reference changes from 0 to 1. The PI-D form results in a smaller jump. In contrast, the I-PD form does not react as much to the change in r.
You can tune the P, I, D, and N coefficients of a PI-D or I-PD controller to achieve the desired disturbance rejection and reference tracking.
To specify a PI-D or I-PD Controller using the PID Controller (2DOF) or
Discrete PID Controller (2DOF) blocks, open the block dialog. In the
Controller menu, select PID
.
For a PI-D controller, enter 1
in the Setpoint
weight (b) box, and 0
in the Setpoint
weight (c) box.
For an I-PD controller, enter 0
in the Setpoint
weight (b) box, and 0
in the Setpoint
weight (c) box.
For an example that demonstrates the PI-D and I-PD controller forms, type
ex_scd_pid2dof_setpoint_based_controllers
. This opens a model that
compares the performance of a 1DOF PID, a PI-D, and an I-PD controller.
You can use PID Tuner to automatically tune PI-D and I-PD controllers while preserving the fixed b and c values. To do so:
In the model, open the block. In the block dialog box, in the
Controller menu, select PID
.
Click Tune. PID Tuner opens.
In PID Tuner, in the Type menu, select
PI-DF
or I-PDF
. PID
Tuner retunes the controller gains, fixing b = 1 and
c = 0 for PI-D, and b = 0 and
c = 0 for I-PD.
You can now analyze system responses as described in Analyze Design in PID Tuner.
Discrete PID Controller (2DOF) | PID Controller (2DOF)