Hunting is easy to spot once you know the signature: a valve or damper that never settles, constantly stepping up and down, often crossing setpoint every cycle. On a one-minute trend it looks like a saw blade. On a fifteen-minute trend, as covered elsewhere on this site, it can look like nothing at all.
It matters for three reasons. It wears out actuators mechanically. It destabilises everything downstream — a hunting chilled water valve pushes the disturbance back into the plant. And it usually means the loop is delivering worse control than a much simpler approach would.
What the three terms actually do
You do not need the mathematics to tune a loop in a building. You need to know what each term responds to and what it looks like when it's wrong.
Proportional — responds to how far off you are
Output is proportional to the current error. Bigger error, bigger response. Proportional alone is fast but never quite reaches setpoint — it settles at a small permanent offset, because as error shrinks so does the correction.
Look for: too high: fast, aggressive oscillation that doesn't decay — the classic hunt. Too low: sluggish, never gets there
Integral — responds to how long you've been off
Accumulates error over time and keeps pushing until the offset is gone. Integral is what eliminates the permanent error proportional leaves behind. It is also the term most likely to cause slow, rolling instability when set too aggressively.
Look for: too fast: slow oscillation that builds over minutes, often overshooting past setpoint each time. Too slow: takes forever to eliminate offset
Derivative — responds to how fast things are changing
Anticipates by reacting to rate of change. In theory it damps overshoot. In practice, on building HVAC loops with noisy sensor signals, derivative frequently amplifies noise into output movement and makes things worse.
Look for: most building loops run with derivative at zero, and that is usually the right choice unless you have a specific reason otherwise
Reading the trend to know which term to touch
| What the trend shows | Most likely cause | First adjustment |
|---|---|---|
| Fast oscillation, roughly constant amplitude | Proportional too aggressive | Reduce proportional gain |
| Slow rolling oscillation, overshoots each side | Integral too fast | Slow the integral (longer reset time) |
| Output jitters with every sensor sample | Derivative active on a noisy signal | Set derivative to zero |
| Reaches setpoint, sits with small permanent offset | Proportional only, no integral | Add or speed up integral slightly |
| Very slow to respond at all | Gain too low overall | Increase proportional modestly |
| Output pinned at 0% or 100% for long periods | Integral wind-up, or the loop can't reach setpoint | Check whether the demand is physically achievable first |
Integral wind-up, and why it bites after a shutdown
If a loop cannot reach setpoint — because the equipment is off, a valve is isolated, or the load exceeds capacity — integral keeps accumulating error the whole time. When the constraint clears, that accumulated demand dumps into the output all at once and the loop slams to a rail before recovering.
The classic symptom is a unit that behaves badly for the first several minutes after every start, then settles down. If your controller offers anti-windup or output clamping, this is what it's for.
When the answer isn't tuning at all
Consider a deadband instead
Not everything needs continuous modulation. A deadband — a zone around setpoint where the output simply holds — stops a loop chasing noise it was never going to eliminate. This is particularly appropriate on slow-moving processes like space temperature, where the mechanical system cannot meaningfully respond faster than the deadband anyway.
Check the mechanical side
- Actuator stroke and linkage. Slop in a linkage produces backlash the loop tries to tune out and can't.
- Valve authority. A valve with poor authority over the circuit produces a non-linear response that behaves differently at each end of its range.
- Sensor placement. A discharge sensor mounted too close to a coil sees stratified air and reports noise the loop faithfully chases.
A sane tuning approach for building loops
- Change one thing at a time, and let the loop settle for several time constants before judging.
- Start conservative. A slightly sluggish loop that is stable beats a fast loop that oscillates, in almost every building application.
- Write the original values down before you change them. Obvious, universally skipped, and the difference between a five-minute rollback and an afternoon.
- Tune under representative load. A loop tuned on a mild day at part load may behave completely differently at design conditions.
Most building HVAC processes are slow, and slow processes reward patience over cleverness. If a loop holds setpoint without oscillating and recovers sensibly from a disturbance, it is tuned well enough. There is no prize for tighter control on a space temperature loop.
Go deeper
The method behind this, chapter by chapter
Every sensor, drive and control loop in the building — how it works, how to prove it with a meter, and how it fails. BAS Field Fundamentals is the method this article uses, with 20 field cases and a browser diagnostic simulator to practice on.
Get BAS Field FundamentalsFound a wrong number or a broken link? Tell me and I’ll fix it.