pid controller types for tuning
control system toolbox™ pid tuning tools can tune many pid and 2-dof pid controller types. the term controller type refers to which terms are present in the controller action. for example, a pi controller has only a proportional and an integral term, while a pidf controller contains proportional, integrator, and filtered derivative terms. this topic summarizes the types of pid controllers available for tuning in the following tools:
app
task in the live editor
command
specifying pid controller type
the pid tuning tools let you design numerous controller types. how you specify controller type depends on which tool you are using.
command-line tuning
for command-line tuning, provide the type
argument to the
pidtune
command. for example, c =
pidtune(g,'pi')
tunes a pi controller for plant
g
.
alternatively, if you provide an existing controller object as the input
argument c0
, pidtune
tunes a new
controller of the same type and form. for example, suppose c0
is a pid
controller object that has proportional and
derivative action only (pd controller). then, pidtune(g,c0)
generates a new pid
controller object that also has only
proportional and derivative action. see .
for more about the specific controller types available with command-line tuning, see:
pid tuner app
in the pid tuner app, you can specify a controller type when you open the app or change controller type within the app.
specify type when opening the app — provide the
type
argument to thepidtuner
command when you open pid tuner. for example,pidtuner(g,'pidf2')
opens pid tuner with an initial design that is a 2-dof pid controller with a filter on the derivative term.specify type with an existing controller object — provide the baseline-controller
cbase
argument to thepidtuner
command when you open pid tuner. pid tuner designs a controller of the same type ascbase
. for example, supposec0
is apid
controller object that has proportional and derivative action only (pd controller). then,pidtuner(g,c0)
opens pid tuner with an initial design that is a pd controller.specify controller type within the app — in pid tuner, use the type menu to change controller types.
for more about the specific controller types available in the pid tuner app:
tune pid controller live editor task
in the task in the live editor, you specify controller type using the degrees of freedom and controller type menus.
for more about the specific controller types available in the tune pid controller task, see:
1-dof controllers
the following table summarizes the 1-dof pid controller types available with all tools and provides representative controller formulas for parallel form. the standard-form and discrete-time formulas are analogous.
type | controller actions | continuous-time controller formula (parallel form) | discrete-time controller formula (parallel form, forwardeuler integration method) |
---|---|---|---|
p | proportional only | kp | kp |
i | integral only |
|
|
pi | proportional and integral |
|
|
pd | proportional and derivative |
|
|
pdf | proportional and derivative with first-order filter on derivative term |
|
|
pid | proportional, integral, and derivative |
|
|
pidf | proportional, integral, and derivative with first-order filter on derivative term |
|
|
2-dof controllers
the tuning tools can automatically design 2-dof pid controller types with free setpoint weights. the following table summarizes the 2-dof controller types available in all tools and provides representative controller formulas for parallel form. the standard-form formulas are analogous. for more information about 2-dof pid controllers generally, see .
type | controller actions | continuous-time controller formula (parallel form) | discrete-time controller formula (parallel form, forwardeuler integration method) |
---|---|---|---|
pi2 | 2-dof proportional and integral |
|
|
pd2 | 2-dof proportional and derivative |
|
|
pdf2 | 2-dof proportional and derivative with first-order filter on derivative term |
|
|
pid2 | 2-dof proportional, integral, and derivative |
|
|
pidf2 | 2-dof proportional, integral, and derivative with first-order filter on derivative term |
|
|
2-dof controllers with fixed setpoint weights
with pid control, step changes in the reference signal can cause spikes in the control signal contributed by the proportional and derivative terms. by fixing the setpoint weights of a 2-dof controller, you can mitigate the influence on the control signal exerted by changes in the reference signal. for example, consider the relationship between the inputs r (setpoint) and y (feedback) and the output u (control signal) of a continuous-time 2-dof pid controller.
if you set b = 0 and c = 0, then changes in the setpoint r do not feed through directly to either the proportional or the derivative terms in u. the b = 0, c = 0 controller is called an i-pd type controller. i-pd controllers are also useful for improving disturbance rejection.
pid tuner and pidtune
can design the
fixed-setpoint-weight controller types summarized in the following table. the
standard-form and discrete-time formulas are analogous.
type | controller actions | continuous-time controller formula (parallel form) | discrete-time controller formula (parallel form, forwardeuler integration method) |
---|---|---|---|
i-pd | 2-dof pid with b = 0, c = 0 |
|
|
i-pdf | 2-dof pidf with b = 0, c = 0 |
|
|
id-p | 2-dof pid with b = 0, c = 1 |
|
|
idf-p | 2-dof pidf with b = 0, c = 1 |
|
|
pi-d | 2-dof pid with b = 1, c = 0 |
|
|
pi-df | 2-dof pidf with b = 1, c = 0 |
|
|
see also
functions
- |