Part 5 · Chapter 19

Control Actions: P, PI, PD, and PID Controllers

Once the analysis of Parts 2 to 4 has told you that a loop is stable but not good enough, the controller is the one block you are free to change — and the three elementary actions, proportional, integral and derivative, each buy exactly one improvement at exactly one cost, which is what this chapter makes precise before assembling them into PD, PI and full PID.

Control Systems Prof. Mithun Mondal Reading time ≈ 46 min
i What you'll learn
  • Why a proportional controller must leave an offset on a type-0 plant, and how the offset shrinks with gain but never vanishes.
  • How integral action removes that offset by raising the system type — and why it costs \(90^{\circ}\) of phase everywhere.
  • Why derivative action adds damping, why it can never act alone, and why it must always be filtered.
  • The zero a PD controller adds, the pole–zero pair a PI controller adds, and what each does to the root locus and the Bode plot.
  • The three PID forms — parallel, standard and series — and how to convert between them.
  • The practical faults every real PID must handle: integral windup, derivative kick and measurement noise.
Section 19-1

From Analysis to Design

Everything in this book so far has been diagnosis. Chapter 8 measured the transient with \(\zeta\) and \(\omega_n\); Chapter 9 measured the final accuracy with the static error constants; Chapter 11 decided whether the loop was stable at all; Chapters 12 and 13 traced where the closed-loop poles go as gain rises; Chapters 14 to 18 said the same things in the language of frequency. In every case the system was given and we asked what it does.

Now the question reverses. A plant \(G(s)\) is handed to us — a motor, a furnace, a level tank — and it is what it is. Its poles were fixed by iron and copper and thermal mass, and no amount of analysis will move them. The one block we own is the controller \(G_c(s)\), which sits between the error signal and the plant input and converts the one into the other. Designing \(G_c\) is the whole of Part 5, and this chapter establishes its vocabulary.

The demands on a loop can always be sorted into three bins: accuracy (does the output reach the commanded value?), speed (how quickly?), and stability margin (how much ringing, and how much room before the loop breaks?). What makes control design non-trivial is that a single tuning knob usually improves one bin and damages another — as Chapter 9 already warned when it showed that the gain which shrinks steady-state error also shrinks damping. The elementary control actions are worth studying one at a time precisely because each addresses a different bin.

Three actions, three time frames. Proportional action responds to the error now. Integral action responds to the accumulated error of the past. Derivative action responds to the trend, which is a statement about the future. A PID controller is nothing more than an opinion about the error assembled from all three tenses.
Section 19-2

The Basic Control Actions

Before the three linear actions, one non-linear action deserves a mention because it still controls more loops than all the others combined. Two-position or on–off control drives the actuator fully open when the error is positive and fully closed when it is negative. It is the cheapest possible controller and the reason a domestic thermostat costs almost nothing. Its defect is structural: with the actuator only ever at two extremes the output can never sit still, so it oscillates in a limit cycle whose amplitude is set by the plant lag and by the deliberate hysteresis band ("differential gap") built in to stop the relay chattering. Where a permanent small oscillation is acceptable, on–off control is unbeatable. Where it is not, we need an actuator signal that can take intermediate values, and that is what the three linear actions provide.

Write \(e(t)=r(t)-c(t)\) for the error and \(u(t)\) for the controller output. The definitions are then as short as they could be.

ActionTime domainTransfer function \(G_c(s)\)What it responds to
Proportional\(u=K_p\,e\)\(K_p\)the present error
Integral\(u=K_i\displaystyle\int_0^t e\,d\tau\)\(\dfrac{K_i}{s}\)the accumulated past error
Derivative\(u=K_d\dfrac{de}{dt}\)\(K_d\,s\)the rate of change of error

Two pieces of industrial vocabulary attach to these gains and appear on every instrument faceplate. The proportional band is \(\text{PB}=100/K_p\) per cent — the percentage of full-scale error that drives the actuator across its full travel, so a narrow band means a high gain. The integral or reset time \(T_i=K_p/K_i\) is the time in which the integral term repeats the contribution the proportional term made instantly; its reciprocal is quoted as "repeats per minute". The derivative or rate time \(T_d=K_d/K_p\) is the time by which the derivative term makes the controller anticipate. All three are simply the gains rewritten in units an operator can feel.

Section 19-3

Proportional Control and the Offset It Leaves

Proportional control is a pure gain, and its most important property is a limitation that follows from one sentence of physics: a proportional controller produces an output only while an error exists. If a furnace needs its gas valve 40 % open to hold temperature against heat loss, and the controller can only produce valve opening in proportion to error, then a permanent 40 %-worth of error is exactly what holds the valve there. Remove the error and the valve shuts. The steady state therefore cannot be error-free.

The algebra confirms it. Take a first-order type-0 plant \(G(s)=K/(\tau s+1)\) under proportional control with unity feedback. The closed-loop transfer function is

Proportional control of a first-order plant
\[ T(s)=\frac{K_pK/(\tau s+1)}{1+K_pK/(\tau s+1)}=\frac{K_pK}{\tau s+1+K_pK}=\frac{\dfrac{K_pK}{1+K_pK}}{\dfrac{\tau}{1+K_pK}\,s+1} \]

Written that way the result reads itself. The closed-loop DC gain is \(K_pK/(1+K_pK)\), always less than one, so the output settles short of the command by a fraction \(1/(1+K_pK)\) — the offset. The closed-loop time constant is \(\tau/(1+K_pK)\), smaller than the plant's own, so the loop is faster than the plant. Both improvements and the residual error scale with the same factor.

🔑
Offset under proportional control
\[ e_{ss} = \frac{1}{1+K_p K} \quad\text{for a unit step on a type-0 plant of DC gain } K \]

This is Chapter 9's step-error formula \(A/(1+K_p^{\text{pos}})\) with the position error constant now equal to \(K_pK\). Raising \(K_p\) shrinks the offset in inverse proportion but never abolishes it, because a pure gain cannot change the type of the system: it adds no pole at the origin.

On a first-order plant the temptation is to keep raising \(K_p\), since the closed loop of a single-pole plant is stable for every positive gain. Real plants have more than one pole. On a second- or third-order plant the extra gain pushes the closed-loop poles along the root locus of Chapter 13 towards and eventually across the imaginary axis; in frequency terms, from Chapter 17, it lifts the magnitude curve so that gain crossover moves to a frequency of greater phase lag and the phase margin collapses. Chapter 18 then reports the same event as a rising \(M_r\). So the accuracy of proportional control is bought with damping, and beyond some gain the price is instability.

Proportional control alone is therefore the right answer only when the plant is benign and a small permanent error is tolerable — level control in a surge tank, for instance, where the tank exists precisely to absorb error. Everywhere else the offset must be attacked directly, and that means integral action.

Section 19-4

Integral Control: Removing the Offset

An integrator has a property no finite gain can imitate: its output changes as long as its input is non-zero, and stops changing only when the input is exactly zero. Put one in the forward path and a steady state with residual error becomes arithmetically impossible. If \(e\) settled at some non-zero value, \(u=K_i\int e\,d\tau\) would grow without bound, and the loop would not be in a steady state at all. The only self-consistent resting point has \(e=0\).

Transfer-function algebra says the same thing in Chapter 9's language. The controller \(G_c(s)=K_i/s\) contributes a pole at the origin, so the open-loop function \(G_cG\) has one more integrator than \(G\) alone and the system type rises by one. A type-0 plant becomes a type-1 loop: the step error drops to zero and the ramp error becomes finite. A type-1 plant becomes type 2, and the ramp error drops to zero too.

🔑
What integral action does and costs
\[ G_c(s)=\frac{K_i}{s} \;\Longrightarrow\; \text{type} \uparrow 1, \qquad \angle G_c(j\omega) = -90^{\circ} \text{ at every } \omega \]

The type rises by one, so one whole column of Chapter 9's error table improves. The price is a constant \(-90^{\circ}\) of phase added everywhere, which is subtracted directly from the phase margin.

That phase penalty is not a small defect; it is the reason pure integral control is rare. Consider \(G(s)=1/[(s+1)(s+2)]\), a plant that proportional control cannot destabilise at any positive gain, since its characteristic equation \(s^2+3s+2+K_p\) has positive coefficients for every \(K_p>0\). Now apply pure integral control:

Integral control of a two-pole plant
\[ 1+\frac{K_i}{s(s+1)(s+2)}=0 \;\Longrightarrow\; s^3+3s^2+2s+K_i=0 \]

Building the Routh array of Chapter 11 for this cubic gives a first column \(1,\;3,\;(6-K_i)/3,\;K_i\). Both of the last two entries must be positive, so the loop is stable only for \(0<K_i<6\). A plant that was unconditionally stable under proportional control now has a hard gain ceiling. The root-locus reading is equally direct: the added pole at the origin drags the departing branches to the right, and they cross into the right half-plane at \(K_i=6\).

There is a second, quieter cost. Since \(|G_c(j\omega)|=K_i/\omega\), integral action is enormous at low frequency and negligible at high frequency. It is superb at eliminating a slow drift and useless against a fast disturbance. Integral action alone is thus both slow and fragile, which is why it is almost always combined with proportional action, as in Section 19-7.

Why accuracy costs stability. The two are linked through phase. Steady-state accuracy demands very large loop gain at low frequency, and the only way to get unbounded gain as \(\omega\to0\) is a pole at the origin — which brings \(-90^{\circ}\) with it as a matter of arithmetic, not of engineering choice. Every technique in Part 5 for getting accuracy without losing margin is really a technique for confining that phase lag to frequencies where it does no harm.
Section 19-5

Derivative Control: Acting on the Trend

Proportional and integral action both look backwards — at the error now and at the error accumulated. Derivative action looks at where the error is heading. If the error is still large but shrinking rapidly, the plant is already on its way and further push will overshoot; the derivative term detects that and pulls back early. This anticipatory behaviour is exactly what "damping" means when described in words.

In the frequency domain the effect is a pure phase lead: \(G_c(j\omega)=jK_d\omega\) has an angle of \(+90^{\circ}\) at every frequency, the exact opposite of the integrator. Adding phase raises the phase margin, and by Chapter 18's correlation table a larger phase margin means a larger \(\zeta\), a smaller \(M_r\) and less overshoot.

The most economical demonstration is a plant that cannot be stabilised without it. A satellite's attitude, or any pure inertia driven by a torque, is \(G(s)=1/s^2\). Under proportional control the characteristic equation is \(s^2+K_p=0\), whose roots \(\pm j\sqrt{K_p}\) sit on the imaginary axis for every gain: the satellite oscillates forever, and no adjustment of \(K_p\) changes that — it only changes the frequency of the oscillation. Add derivative action and the equation becomes \(s^2+K_ds+K_p=0\), which is the standard second-order form with \(2\zeta\omega_n=K_d\). Damping appears out of nothing, and it appears because a term proportional to \(\dot{e}\) is precisely the viscous term that a mechanical system lacks.

🔑
Derivative action is damping
\[ \frac{1}{s^2}: \quad \underbrace{s^2+K_p=0}_{\text{P: undamped}} \qquad\longrightarrow\qquad \underbrace{s^2+K_ds+K_p=0}_{\text{PD: } \zeta=K_d/(2\sqrt{K_p})} \]

\(K_p\) sets \(\omega_n=\sqrt{K_p}\) and \(K_d\) sets \(\zeta\). For this plant the two knobs are completely independent, which is as clean as controller design ever gets.

Derivative action nevertheless has three faults, and all three are consequences of the same fact — that \(|K_djω|\) grows without bound with frequency.

It cannot act alone. For a constant error the derivative is zero, so a pure derivative controller produces no output whatever the error is, and the loop has no DC gain at all. A derivative term is a modifier, never a controller.

It amplifies noise. A measurement corrupted by a small sinusoid at \(500\) rad/s has that component multiplied by \(500K_d\). Sensor noise that is invisible in the measurement can dominate the actuator command. The cure is to replace the ideal derivative with a filtered one,

The realisable derivative
\[ K_d s \;\longrightarrow\; \frac{K_d s}{1+\dfrac{T_d}{N}s}, \qquad N \approx 3\text{–}20 \]

which behaves as a differentiator up to \(\omega=N/T_d\) and flattens to a gain of \(NK_p\) above it. The parameter \(N\) is exactly the maximum high-frequency amplification the design will tolerate. The filtered form is also the only realisable one: \(K_ds\) has a numerator of higher degree than its denominator and cannot be built.

It kicks on a setpoint change. A step in \(r(t)\) produces an impulsive \(de/dt\), and the actuator receives a violent spike that has nothing to do with the plant. Since the setpoint's derivative carries no information about the plant's behaviour, the standard cure is to differentiate the measurement rather than the error — replacing \(K_d\,de/dt\) with \(-K_d\,dc/dt\), which is identical whenever the setpoint is constant and well-behaved when it is not.

Section 19-6

PD Control: Adding a Zero

Combining the first two actions gives the proportional-plus-derivative controller. Factoring it exposes what it really is:

PD controller
\[ G_c(s)=K_p+K_ds = K_d\left(s+\frac{K_p}{K_d}\right) = K_p\left(1+T_ds\right), \qquad T_d=\frac{K_d}{K_p} \]

A PD controller is a gain and a single zero at \(s=-1/T_d\). That one sentence explains every one of its effects.

On the root locus (Chapter 12): a zero in the left half-plane attracts branches towards it. Loci that would have curved right towards the imaginary axis are bent left, so at any given gain the closed-loop poles sit further from the axis and the damping is higher. The asymptote count also drops by one, since the number of asymptotes is \(n-m\), which curbs the outward flight of the far branches.

On the Bode plot (Chapter 14): the term \(1+T_ds\) contributes \(0\) dB and \(0^{\circ}\) below \(\omega=1/T_d\), then \(+20\) dB/decade and up to \(+90^{\circ}\) above it. The lead is centred where it is placed, so the zero is put near the gain-crossover frequency, where the extra phase becomes extra phase margin. The rising magnitude also pushes crossover to a higher frequency, so bandwidth and speed increase — together with the noise that Chapter 18 warned accompanies bandwidth.

On steady state: nothing at all. As \(s\to0\) the controller tends to \(K_p\), a finite number, so the type is unchanged and every static error constant keeps the value it would have had under proportional control with the same \(K_p\). PD is a purely transient instrument.

🔑
Independent tuning on a type-1 plant
\[ G(s)=\frac{1}{s(s+a)},\;\; G_c=K_p+K_ds \;\Longrightarrow\; s^2+(a+K_d)s+K_p=0 \]

So \(\omega_n=\sqrt{K_p}\) and \(2\zeta\omega_n = a+K_d\). The proportional gain sets the speed, the derivative gain sets the damping, and neither disturbs the other — the design goes through in two lines with no iteration.

What PD cannot do is fix an offset. On a type-0 plant it leaves exactly the error proportional control would have left. That deficiency is the other half's job.

Section 19-7

PI Control: Adding a Pole and a Zero

The proportional-plus-integral controller factors just as revealingly:

PI controller
\[ G_c(s)=K_p+\frac{K_i}{s} = \frac{K_p\left(s+K_i/K_p\right)}{s} = K_p\left(1+\frac{1}{T_is}\right), \qquad T_i=\frac{K_p}{K_i} \]

It is a pole at the origin together with a zero at \(s=-1/T_i\). The pole does the useful work — raising the type and killing the offset — while the zero exists to repair the damage the pole does to the phase.

Look at the phase of \(G_c(j\omega)=K_p - jK_i/\omega\). At very low frequency the imaginary part dominates and the angle approaches \(-90^{\circ}\); at high frequency the real part dominates and the angle approaches \(0^{\circ}\). The transition happens around \(\omega=1/T_i\). So the \(-90^{\circ}\) of the integrator is confined to frequencies below the zero, and if the zero is placed well below the gain-crossover frequency the phase margin is barely touched. The usual rule of thumb is to put \(1/T_i\) about a decade below \(\omega_g\); a common alternative is to place the zero exactly on the plant's slowest pole so that the two cancel.

🔑
The PI compromise
\[ \angle G_c(j\omega) = -\tan^{-1}\!\frac{K_i}{K_p\,\omega} = -\tan^{-1}\!\frac{1}{T_i\omega} \]

At \(\omega=1/T_i\) the lag is \(45^{\circ}\); at \(\omega=10/T_i\) it is only \(5.7^{\circ}\). Push the zero low enough and the loop enjoys infinite DC gain while the phase near crossover is essentially untouched — which is why a PI controller is often described as a lag compensator with the pole moved all the way to the origin.

On the root locus the pole at the origin and a nearby zero form a dipole: from any point far away their angle contributions nearly cancel, so the dominant branches are almost where they were without the controller. The transient is therefore hardly disturbed, while the low-frequency gain becomes infinite. That is precisely the trick — a change that is enormous at \(\omega=0\) and invisible at \(\omega=\omega_n\).

"Hardly disturbed" is not "undisturbed", and the residual disturbance always goes the same way. A PI loop is slightly slower and slightly more oscillatory than a proportional loop at the same \(K_p\), because the added pole still contributes some lag near crossover. That extra overshoot is the honest price of zero offset, and it is visible in the step responses below.

t setpoint r(t) offset P PI PID
P leaves an offset; PI removes it at the cost of overshoot; PID recovers the damping
Section 19-8

The PID Controller and Its Practical Forms

Putting all three actions in parallel gives the controller that runs the overwhelming majority of industrial loops. Placing it over a common denominator shows its pole–zero structure at once.

The PID controller, parallel form
\[ G_c(s)=K_p+\frac{K_i}{s}+K_ds = \frac{K_ds^2+K_ps+K_i}{s} = \frac{K_d\left(s^2+\dfrac{K_p}{K_d}s+\dfrac{K_i}{K_d}\right)}{s} \]

One pole at the origin and two zeros. The pole supplies the accuracy of Section 19-4; the two zeros supply the damping and the phase lead of Section 19-6, and there are now two of them to place rather than one. That is the whole design freedom of a PID: where to put two zeros, and how hard to drive the loop.

R(s) + E(s) Kd · s Kp Ki / s + + + U(s) G(s) C(s) unity feedback
PID in parallel form: three branches acting on the same error signal

Three algebraically equivalent ways of writing the same controller are in daily use, and a tuning rule quoted for one form gives the wrong loop if entered into another. The parallel (or independent-gain) form uses \(K_p,K_i,K_d\) as above. The standard or ISA form factors \(K_p\) out so that the remaining parameters are times. The series or interacting form is the one pneumatic controllers were built with, and many instruments still implement it internally.

FormExpressionConversion
Parallel\(K_p+\dfrac{K_i}{s}+K_ds\)the reference form
Standard (ISA)\(K_p\left(1+\dfrac{1}{T_is}+T_ds\right)\)\(K_i=K_p/T_i\), \(K_d=K_pT_d\)
Series\(K_p'\left(1+\dfrac{1}{T_i's}\right)(1+T_d's)\)\(K_p=K_p'\left(1+\dfrac{T_d'}{T_i'}\right)\), \(T_i=T_i'\left(1+\dfrac{T_d'}{T_i'}\right)\), \(T_d=\dfrac{T_d'}{1+T_d'/T_i'}\)
Realisable\(K_p\left(1+\dfrac{1}{T_is}+\dfrac{T_ds}{1+T_ds/N}\right)\)\(N\) caps the high-frequency gain at \(NK_p\)

The series form has one structural limitation worth knowing: multiplying two real first-order factors can only ever produce two real zeros, so a series controller cannot represent a parallel PID whose zeros are complex. The condition for the parallel zeros to be real is \(T_i \ge 4T_d\), and every classical tuning table respects it.

Two further defects appear the moment a PID meets real hardware, and both come from the integrator.

Integral windup. Every actuator saturates. If a large setpoint change drives the valve fully open, the plant responds as fast as it physically can — but the error remains positive throughout, so the integrator keeps accumulating even though its output can no longer influence anything. By the time the output reaches the setpoint the integral term has stored an enormous value, and the loop must build up an equally large error in the opposite direction to discharge it. The result is a huge overshoot that has nothing to do with the linear design. The cures are all forms of telling the integrator to stop when the actuator has stopped listening: conditional integration, which freezes the integral while the output is saturated, or back-calculation, which feeds the difference between the commanded and the achieved actuator signal back into the integrator to unwind it.

Derivative kick, described in Section 19-5, is cured by differentiating the measurement instead of the error. Taken together with a weighting \(b\) on the setpoint in the proportional term, this gives the two-degree-of-freedom controller that almost every modern instrument implements:

The practical control law
\[ u(t)=K_p\left[b\,r(t)-c(t)\right]+K_i\int_0^t\left[r-c\right]d\tau - K_d\,\frac{dc}{dt} \]

Setting \(b=1\) recovers the textbook controller; reducing \(b\) softens the response to a setpoint change without touching the response to a disturbance, because the integral term still sees the full error. Setpoint tracking and disturbance rejection have been separated — the same idea, in miniature, that motivates the whole of modern two-degree-of-freedom design.

Increasing…Rise timeOvershootSettling timeSteady-state errorStability
\(K_p\)decreasesincreasessmall changedecreasesdegrades
\(K_i\)decreasesincreasesincreaseseliminateddegrades
\(K_d\)small changedecreasesdecreasesno changeimproves (if noise-free)
Read the table as a set of trades, not a recipe. Each row is a direction of movement, not a destination, and the entries interact — raising \(K_d\) permits a larger \(K_p\), which then permits a larger \(K_i\). Turning that observation into a systematic procedure, with rules for choosing all three gains from a simple plant experiment, is the business of Chapter 20.
−1/Td PD
PD: one zero
−1/Ti PI
PI: a dipole at the origin
PID
PID: one pole, two zeros
Section 19-9

Worked Examples

1 Offset under proportional control

Problem. A heater is modelled by \(G(s)=\dfrac{2}{10s+1}\) under unity feedback with a proportional controller. Find the steady-state error to a unit step and the closed-loop time constant for \(K_p=4\) and for \(K_p=20\).

Solution. The loop is type 0 with position error constant \(K_pK = 2K_p\), and the closed-loop denominator is \(10s+1+2K_p\):

Working — Kp = 4
\[ e_{ss}=\frac{1}{1+8}=0.111, \qquad \tau_{cl}=\frac{10}{1+8}=1.11\ \text{s} \]
Working — Kp = 20
\[ e_{ss}=\frac{1}{1+40}=0.0244, \qquad \tau_{cl}=\frac{10}{1+40}=0.244\ \text{s} \]

A fivefold increase in gain cuts both the error and the time constant by a factor of about 4.5 — on a single-pole plant, accuracy and speed improve together and stability is never at risk. Add one more plant pole and this happy arrangement ends.

2 What integral action costs

Problem. For \(G(s)=\dfrac{1}{(s+1)(s+2)}\), compare pure proportional control with pure integral control \(G_c=K_i/s\): find the step error and the range of gain for stability in each case.

Solution. Under proportional control the characteristic equation is \(s^2+3s+(2+K_p)=0\). All coefficients are positive for every \(K_p>0\), so a second-order system is stable for all positive gain, but the loop is type 0 with \(K_p^{\text{pos}}=K_p/2\), giving a permanent error \(e_{ss}=1/(1+K_p/2)=2/(2+K_p)\).

Under integral control the loop becomes type 1, so the step error is zero. The characteristic equation, however, gains a degree:

Working — Routh array for the integral loop
\[ s^3+3s^2+2s+K_i=0 \]
\[ \begin{array}{c|cc} s^3 & 1 & 2\\ s^2 & 3 & K_i\\ s^1 & \dfrac{6-K_i}{3} & 0\\ s^0 & K_i & \end{array} \]

Both entries of the first column below the second row must be positive, so stability requires \(0<K_i<6\). Zero offset has been bought with a hard ceiling on gain where previously there was none — the trade of Section 19-4 in numbers. At \(K_i=3\) the array's first column reads \(1,\,3,\,1,\,3\), all positive, so that choice is comfortably inside the range.

3 PD control of a pure inertia

Problem. A spacecraft attitude loop has \(G(s)=1/s^2\). Show that proportional control cannot stabilise it, then design a PD controller for \(\zeta=0.6\) and \(\omega_n=3\) rad/s, and state the resulting overshoot and 2 % settling time.

Solution. With \(G_c=K_p\) the characteristic equation is \(s^2+K_p=0\), whose roots \(\pm j\sqrt{K_p}\) lie on the imaginary axis for every positive \(K_p\): the response is a sustained oscillation of frequency \(\sqrt{K_p}\), never a decaying one. Adding derivative action supplies the missing \(s\) term:

Working
\[ s^2+K_ds+K_p=0 \;\Longrightarrow\; \omega_n=\sqrt{K_p}=3 \;\Rightarrow\; K_p=9 \]
\[ K_d = 2\zeta\omega_n = 2(0.6)(3)=3.6 \]

From Chapter 8, \(M_p=e^{-\pi\zeta/\sqrt{1-\zeta^2}}=e^{-1.885/0.8}=e^{-2.356}=0.095\), an overshoot of 9.5 %, and \(t_s=4/(\zeta\omega_n)=4/1.8=2.22\) s. The controller zero sits at \(-K_p/K_d=-2.5\).

4 PD design with independent knobs

Problem. For \(G(s)=\dfrac{1}{s(s+1)}\), design a PD controller giving \(\zeta=0.7\) and \(\omega_n=4\) rad/s. What is the resulting steady-state error to a unit ramp?

Solution. With \(G_c=K_p+K_ds\) the characteristic equation is \(s(s+1)+K_p+K_ds=0\), that is \(s^2+(1+K_d)s+K_p=0\):

Working
\[ K_p=\omega_n^2=16, \qquad 1+K_d = 2\zeta\omega_n = 2(0.7)(4)=5.6 \;\Longrightarrow\; K_d=4.6 \]

The overshoot at \(\zeta=0.7\) is \(e^{-\pi(0.7)/\sqrt{0.51}}=e^{-3.079}=0.046\), about 4.6 %. For the ramp error, the loop is type 1 and the velocity constant follows from Chapter 9:

Working — ramp error
\[ K_v=\lim_{s\to0}s\cdot\frac{K_p+K_ds}{s(s+1)}=K_p=16 \;\Longrightarrow\; e_{ss}^{\text{ramp}}=\frac{1}{16}=0.0625 \]

The derivative gain does not appear in \(K_v\) — confirmation that PD action changes the transient only.

5 PI design by pole cancellation

Problem. For \(G(s)=\dfrac{5}{(s+1)(s+5)}\), design a PI controller whose zero cancels the plant pole at \(s=-1\), choosing \(K_p\) for \(\zeta=0.7\). State \(T_i\), the step error and the settling time.

Solution. Write the controller as \(G_c=K_p(s+1/T_i)/s\). Cancelling the pole at \(-1\) requires \(1/T_i=1\), so \(T_i=1\) s and \(K_i=K_p\). The open loop simplifies dramatically:

Working — the simplified loop
\[ G_cG=\frac{K_p(s+1)}{s}\cdot\frac{5}{(s+1)(s+5)}=\frac{5K_p}{s(s+5)} \]

The characteristic equation is \(s^2+5s+5K_p=0\), so \(2\zeta\omega_n=5\) fixes the natural frequency before \(K_p\) is chosen:

Working — the gain
\[ \omega_n=\frac{5}{2(0.7)}=3.571\ \text{rad/s}, \qquad 5K_p=\omega_n^2=12.755 \;\Longrightarrow\; K_p=2.551 \]

So \(K_p=2.551\), \(K_i=2.551\), \(T_i=1\) s. The loop is now type 1, so the step error is zero, and since \(\zeta\omega_n=2.5\) exactly, \(t_s=4/2.5=1.6\) s with 4.6 % overshoot. The ramp error is \(1/K_v\) with \(K_v=5K_p/5=2.551\), that is \(0.392\) — finite, as a type-1 loop demands.

6 Converting between PID forms

Problem. A controller is specified in standard form as \(K_p=6\), \(T_i=0.5\) s, \(T_d=0.125\) s. Write it in parallel form, find its zeros, and give the equivalent series-form settings.

Solution. Expand the standard form term by term:

Working — parallel gains
\[ G_c=6\left(1+\frac{1}{0.5s}+0.125s\right)=6+\frac{12}{s}+0.75s \;\Longrightarrow\; K_p=6,\;K_i=12,\;K_d=0.75 \]

Placing this over \(s\) exposes the zeros:

Working — the zeros
\[ G_c=\frac{0.75s^2+6s+12}{s}=\frac{0.75\left(s^2+8s+16\right)}{s}=\frac{0.75(s+4)^2}{s} \]

A double zero at \(s=-4\), sitting exactly on the boundary \(T_i=4T_d\) at which the two zeros coincide. Because they are real, a series-form instrument can reproduce this controller. With \(\alpha=\tfrac12\left(1+\sqrt{1-4T_d/T_i}\right)=\tfrac12(1+0)=0.5\):

Working — series settings
\[ K_p'=\alpha K_p = 3, \qquad T_i'=\alpha T_i = 0.25\ \text{s}, \qquad T_d'=\frac{T_d}{\alpha}=0.25\ \text{s} \]

Check by multiplying out: \(3\left(1+\frac{4}{s}\right)(1+0.25s)=3\left(2+0.25s+\frac{4}{s}\right)=6+0.75s+\frac{12}{s}\), which is the parallel form exactly. Note how different the numbers look — an operator who typed \(K_p=6\) into a series-form instrument would obtain twice the intended proportional gain.

Review

Chapter Summary

Proportional

Fast and simple, but leaves offset \(1/(1+K_pK)\); it cannot change the system type.

Integral

Raises type by one and kills the offset, at the cost of \(-90^{\circ}\) of phase everywhere.

Derivative

Adds \(+90^{\circ}\) and hence damping; never acts alone, always needs filtering.

PD

A gain and a zero at \(-1/T_d\): more damping, more bandwidth, unchanged steady state.

PI

A pole at the origin with a zero below crossover: zero offset, slight loss of speed.

PID

One pole at the origin and two zeros; watch windup, derivative kick and form conversion.

Practice

Practice Problems

Assume unity feedback throughout. Before computing, decide which of the three bins — accuracy, speed, or margin — each problem is really testing; the algebra follows quickly once that is settled.

  1. A plant \(G(s)=\dfrac{4}{2s+1}\) is under proportional control with \(K_p=6\). Find the steady-state error to a unit step and the closed-loop time constant.
  2. For the same plant, find the smallest \(K_p\) that keeps the step offset below 2 %.
  3. For \(G(s)=\dfrac{1}{(s+2)(s+4)}\) with pure integral control \(G_c=K_i/s\), construct the Routh array and find the range of \(K_i\) for stability.
  4. Design a PD controller for \(G(s)=1/s^2\) giving \(\zeta=0.8\) and a 2 % settling time of 1 s. State \(K_p\), \(K_d\) and the controller zero.
  5. A PD controller is \(G_c(s)=5+2s\). Find its zero, and the phase lead it contributes at \(\omega=4\) rad/s.
  6. Convert \(G_c(s)=4+\dfrac{8}{s}+0.4s\) to standard form, giving \(K_p\), \(T_i\) and \(T_d\), and find the two controller zeros.
  7. A PI controller is to cancel the pole at \(s=-3\) in \(G(s)=\dfrac{10}{(s+3)(s+7)}\). Find \(T_i\), then choose \(K_p\) for \(\zeta=0.6\), and state the resulting \(\omega_n\).
  8. Explain integral windup, describe one cure, and explain separately why the derivative term of a real PID must be filtered and what the parameter \(N\) controls.
Tip: when a design problem gives a transient specification, write the closed-loop characteristic equation with the controller gains still symbolic and compare it term by term with \(s^2+2\zeta\omega_ns+\omega_n^2\). For the plants met in this chapter that comparison yields the gains directly, with no locus sketching and no iteration, because a PD or PI controller on a first- or second-order plant produces a second-order closed loop exactly. Reach for the root locus of Chapter 13 or the Nichols chart of Chapter 18 only when the closed loop is of higher order and no such comparison is available — which is where the systematic tuning rules of Chapter 20 begin.