Design Two-Degree-of-Freedom PID Controllers
Using PID Tuner, you can tune two-degree-of-freedom PID Controller (2DOF) and Discrete PID Controller (2DOF) blocks to achieve both good setpoint tracking and good disturbance rejection.
About Two-Degree-of-Freedom PID Controllers
A two-degree-of-freedom PID compensator, commonly known as an ISA-PID compensator, is equivalent to a feedforward compensator and a feedback compensator, as shown in the following figure.
The feedforward compensator is PD and the feedback compensator is PID. In the PID
Controller (2DOF) and Discrete PID Controller (2DOF) blocks, the
setpoint weights b
and c
determine the strength of the
proportional and derivative action in the feedforward compensator. For more information, see
the PID Controller
(2DOF) and Discrete PID Controller
(2DOF) block reference pages.
Tuning Two-Degree-of-Freedom PID Controllers
PID Tuner tunes the PID gains P
, I
,
D
, and N
. For the PID Controller
(2DOF) blocks, the tuner also automatically tunes the setpoint weights
b
and c
. You can use the same techniques to refine
and analyze the design that you use for tuning one-degree-of-freedom PID controllers.
To tune a 2-DOF PID controller block in a Simulink® model:
Double-click the block. In the block parameters dialog box, click Tune.
PID Tuner opens, linearizes the model at the model initial conditions, and automatically computes an initial controller design that balances performance and robustness. In this design, PID Tuner adjusts the setpoint weights
b
andc
if necessary, as well as the PID gains. To see the tuned values of all coefficients, click Show Parameters.Analyze and refine the initial design, as described in Analyze Design in PID Tuner. All the same response plots, design adjustments, and options are available for tuning 2-DOF PID controllers as in the single-degree-of-freedom case.
Verify the controller design, as described in Verify PID Design in Your Simulink Model.
Fixed-Weight Controller Types
When you tune a PID Controller (2DOF) block in PID Tuner, the Type menu shows additional options for specifying the controller type. These options include controllers with fixed setpoint weights, such as the controllers described in Specify PI-D and I-PD Controllers.
The availability of some type options depends on the Controller setting in the PID Controller (2DOF) block dialog box.
Type | Description | Controller Setting in Block |
---|---|---|
PIDF2 | 2-DOF PID controller with filter on derivative term. PID Tuner tunes all controller parameters, including setpoint weights. | PID |
PIDF2-fixbc | 2-DOF PID controller with filter on derivative term. PID Tuner fixes setpoint weights at the values specified in the controller block. | PID |
PIDF | 2-DOF controller with action equivalent to a 1-DOF PIDF controller, with fixed
b = 1 and c = 1 . | PID |
I-PDF | 2-DOF PID controller with filter on derivative term, with fixed b =
0 and c = 0 . | PID |
IDF-P | 2-DOF PID controller with filter on derivative term, with fixed b =
0 and c = 1 . | PID |
PI-DF | 2-DOF PID controller with filter on derivative term, with fixed b =
1 and c = 0 . | PID |
PI2 | 2-DOF PI controller. PID Tuner tunes all controller parameters,
including setpoint weight on proportional term, b . | PI |
PI2-fixbc | 2-DOF PI controller with filter on derivative term. PID Tuner fixes
setpoint weight b at the value specified in the controller
block. | PI |
PI | 2-DOF controller with action equivalent to a 1-DOF PI controller, with fixed
b = 1 . | PI |
PDF2 | 2-DOF PD controller with filter on derivative term (no integrator). PID Tuner tunes all controller parameters, including setpoint weights. | PD |
PDF2-fixbc | 2-DOF PD controller with filter on derivative term. PID Tuner fixes setpoint weights at the values specified in the controller block. | PD |
PD | 2-DOF controller with action equivalent to a 1-DOF PD controller, with fixed
b = 1 and c = 1 . | PD |