Pushes in proportion to the current error. Responds fast but leaves a steady-state offset and, pushed too hard, oscillates. term = Kp·e(t).
Accumulates past error and keeps acting until it is zero: this removes the offset, but too much makes the loop slow and overshoot-prone. term = Ki·∫e dt.
Responds to how fast the error is changing, braking as you approach. Damps overshoot, at the cost of amplifying noise. term = Kd·de/dt.
No single best tuning: speed, overshoot and robustness pull against each other. Classic methods give starting points; the real plant decides.
Ziegler–Nichols, Cohen–Coon and lambda read the same three numbers off a process (gain, time constant, dead time) and differ only in how close to the stability edge they will sit. The whole question is set by θ/τ, how much of the response is delay. ZN targets quarter-amplitude decay, deliberately oscillatory; Cohen–Coon was built for loops where dead time is a large fraction of the time constant; lambda replaces the fixed opinion with a dial.
Dead time creates a gain ceiling. A lag reduces gain gradually and only ever approaches 90° of phase; a delay adds phase without limit, so at some frequency the correction arrives exactly out of step and the loop drives itself. Remove it and every standard formula divides by zero, because there is no phase limit to respect. When transport delay exceeds the process time constant, plain PID will disappoint: reach for feedforward, a Smith predictor, or fixing the delay.
Tuning by hand: raise proportional gain until the loop just oscillates, then halve it. The heart of Ziegler–Nichols: the oscillation point measures the process, and half that gain buys stability margin.
Slow rolling oscillation is too much integral; fast jitter is too much derivative amplifying noise. Each term fails with its own signature, and learning to read them turns tuning from guesswork into diagnosis.
Proportional output is the error times a gain, so to hold any output you need some error. Too much integral keeps pushing after you have arrived, so the output sails past before the integral unwinds.
Proportional output is the error times a gain. To hold any output you need some error, so it settles wherever the remaining error produces just enough push. Integral action removes this.
It makes the loop sluggish and prone to overshoot and oscillation — the accumulated term keeps pushing even after you've arrived, so the output sails past before the integral unwinds.
Derivative anticipates: it reacts to how fast the error is changing and applies the brakes early, damping overshoot. The downside is sensitivity to noise, so it's often used sparingly.
No — it's a trade-off between speed, overshoot, and robustness. The "best" gains depend on the real plant and what you care about. This sim is for intuition, not a substitute for tuning the real system.
Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.