Question: 1 PID Controller and Its Practical Implementation A continuous - time PID controller is given by u ( t ) = K _ ( P

1 PID Controller and Its Practical Implementation
A continuous-time PID controller is given by
u(t)=K_(P)e(t)+K_(I)\int_0^t e(\tau )d\tau -K_(D)y^(')(t)
where e(t)=r(t)-y(t) is the tracking error, r(t) is the reference value (or set-point), and y(t) is the measured output.
Note that, to avoid the "derivative kick" issue, the derivative component is calculated with the plant's output y rather
than the tracking error e, and the negative sign before K_(D) is because we estimate e^(')(t)=-y^(')(t).
A PID controller implemented in a computer program will be executed with discrete sampling periods \Delta _(t)\Delta _(t)=1 second\Delta _(t) as the time between sampling instances. It also replaces the derivative with either a filtered
version of the derivative or another method to approximate the instantaneous slope of the measured plant's output.
u(t)=K_(P)e(t)+K_(I)\sum_(i=0)^t e(i)\Delta _(t)-K_(D)(y(t)-y(t-1))/(\Delta _(t))
In an iterative implementation, assume that u_(I)(t) is the accumulated integral value until time t:u_(I)(t)=\sum_(i=0)^t e(i)\Delta _(t)=
u_(I)(t-1)+e(t)\Delta _(t), with u_(I)(-1)=0. Then the above equation can be calculated as
u_(I)(t)=u_(I)(t-1)+e(t)\Delta _(t)
u(t)=K_(P)e(t)+K_(I)u_(I)(t)-K_(D)(y(t)-y(t-1))/(\Delta _(t))
Integral Windup Issue: An important feature of a controller with an integral term is to consider the case when the
controller output u(t) saturates at an upper or lower bound for an extended period of time. For example, in the case of
the TCL system, the heater power command is limited to between 0% and 100%, so if the controller output is below 0%
or above 100%, it must be saturated to be within the limits. This causes the integral term u_(I)(t) to accumulate to a large
summation that causes the controller to stay at the saturation limit until the integral summation is reduced; this issue
is known as integral windup. Anti-reset windup ensures that the integral term does not accumulate if the controller
output is saturated at an upper or lower limit. In this project, we will use a practical anti-reset windup method where the
integral component is switched off or reset (i.e., it does not accumulate) when the controller output is saturated. Below
is the description of this method, where l and h are the lower and higher limits of the controller output u :
Save the previous value of the integral term u_(I)(t-1) of the PID controller
Update the integral term given the current error value as above: u_(I)(t)=u_(I)(t-1)+e(t)\Delta _(t)
Calculate u(t) as above
If u(t)>hu_(I)u_(I)(t)=u_(I)(t-1)u(t) or u(t)>h then:
a
bu(t) to the limit range l,h :
u(t)={(l if u(t)h):}
Return u(t) and u_(I)(t)(which will be used in the next sampling time step)
2 Tuning PID Controller for FOPDT Models
For tuning the PID parameters for an FOPDT model with the transfer function (K_(p))/(\tau _(p)s+1)e^(-\theta _(ps)), we will use the following
methods:
PI control:
PI-IMC method: \tau _(c)=max(0.1\tau _(p),0.8\theta _(p));,K_(c)=(1)/(K_(p))(\tau _(p))/((\theta _(p)+\tau _(c)));,\tau _(I)=\tau _(p)
PI-ITAE method: K_(c)=(0.586)/(K_(p))((\theta _(p))/(\tau _(p)))^(-0.916);,\tau _(I)=(\tau _(p))/(1.03-0.165((\theta _(p))/(\tau _(p))))
PID control: PID-IMC method:
\tau _(c)=max(0.1\tau _(p),0.8\theta _(p));,K_(c)=(1)/(K_(p))(\tau _(p)+0.5\theta _(p))/((\tau _(c)+0.5\theta _(p)));,\tau _(I)=\tau _(p)+0.5\theta _(p);,\tau _(D)=(\tau _(p)\theta _(p))/(2\tau _(p)+\theta _(p))
Then, the PID parameters are given by:
K_(P)=K_(c);,K_(I)=(K_(c))/(\tau _(I));,K_(D)=K_(c)\tau _(D)
1 PID Controller and Its Practical Implementation

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Electrical Engineering Questions!