Education · PID Basics
PID is three knobs that, together, push a process variable (PV — the thing you're measuring) toward a setpoint (SP — the value you want it to hold). This is a common sense walk through what each one does on a typical HVAC loop, plus three small sims you can play with one knob at a time. By the end, the full PID Tuning Helper should make a lot more sense.
What P, I, and D Actually Do
P — Proportional · how hard it pushes
Output is proportional to the current error: twice as far off, twice as much push. More gain means a stronger, faster response — but push too hard and the loop overshoots and hunts. In the field this is often dialed in as proportional band: PB = 100 ÷ gain, so a 20% PB swings the output across 20% of the input range.
Worked example. A chilled-water valve, SP = 55 °F, PV = 60 °F, span = 20 °F. Error is 5 °F → 25% of span. With a gain of 4, the proportional output is 4 × 25% = 100% — valve commanded fully open. As the supply cools and PV drops, the output backs off proportionally. The catch: P on its own always leaves a small permanent offset (droop) — it needs some error to produce any output, so the loop settles a hair short of setpoint.
I — Integral / Reset · how persistent it is
Keeps nudging the output in the same direction for as long as any error remains, so it erases the offset that P leaves behind. Usually set in repeats per minute (or its inverse, integral time in minutes per repeat). Too fast and you get slow rolling oscillation and overshoot; too slow and it takes forever to close the last bit of the gap. On most slow HVAC loops, integral is the term doing the real work.
Worked example. A space-temp loop sits 1 °F under setpoint with P alone — the classic droop. Add 0.2 repeats/min (Ti = 5 min) and the integral term accumulates that 1 °F of error over the next few minutes, slowly cranking the output up until PV reaches SP and error = 0. Now bump it to 2 repeats/min: the integral wakes up too fast, the loop overshoots, and you get a slow oscillation around setpoint instead of a clean approach. That's the trade-off.
D — Derivative / Rate · how fast it's changing
Reacts to how quickly the PV is moving and applies the brakes early, trimming overshoot on processes with a lot of lag. Set in minutes. Almost always small or zero in HVAC: it amplifies sensor noise, so on a twitchy input it does more harm than good. If you do use it, derivative-on-measurement (not on error) avoids a sudden kick when someone changes the setpoint.
When it earns its keep. A big hot-water reheat coil with several minutes of lag: P + I will keep pushing while heat is still on its way through the coil, and you overshoot. A small Td — on the order of 1⁄4 to 1⁄8 of Ti as a starting point — lets the loop "see" PV racing toward SP and start backing off early. On a fast, clean loop (duct pressure, VFD speed), don't bother — most HVAC loops are PI, not full PID.
See Each Term in Action
Three small simulators, in order — each adds one term to the one before. One knob is live; the Fast / Medium / Slow chips set how quickly the loop reacts. Move anything and the plot redraws right away. (Want all three knobs at once? Jump to the full PID Tuning Helper.)
P only Sim 1
Proportional control alone always settles a little short of setpoint — the steady-state offset (droop) that integral exists to fix. Raise the gain and the offset shrinks; back it off and the gap grows. It never reaches zero — that's the point: P needs some error to produce any output, so the loop settles a hair short no matter how hard you push. These three loops stay well-damped as you push, so what you see is the gap tightening, not the loop ringing — the overshoot-and-hunt that too much P brings on needs a loop with real dead time (the full PID Tuning Helper has one).
P alone can't close this — that gap is exactly what integral is for.
P + I Sim 2
Add integral to the same loop and the droop disappears — PV climbs all the way to setpoint. But push the reset too fast and you'll see what every tech has seen on a real loop: a slow rolling oscillation around the line you were trying to hit. Watch both readouts as you move the slider.
Offset goes to zero — but the overshoot is the new problem to watch.
P + I + D Sim 3
This loop starts with an over-aggressive P + I — it's overshooting and ringing. Dial in a little derivative: the brakes go on as PV races toward setpoint, and the overshoot collapses. There's a sweet spot, though — keep cranking D and the loop just turns sluggish (and on a real, noisy sensor it would start jittering). That's why most HVAC loops stay at PI.
A little D crushes the overshoot at almost no cost; overdo it and the loop just turns sluggish. The rate slider's range scales with the loop — a useful Td grows right along with τ, so derivative has room to act on a slow process too. The reason slow HVAC loops mostly run PI is a different one: D works off the rate of change of the measurement, and on a slow, noisy sensor that's mostly amplified noise.
In a building-automation controller, the PID you've just been tuning lives as a single block on a wiresheet — a setpoint and a measurement wired in on the left, the 0–100 % command leaving on the right. The rest of the sequence is the supporting blocks that feed and gate it. Function-Block Basics covers how those sheets are read and why the whole industry builds sequences this way.
← Back to Education