Ziegler–Nichols method

The Ziegler–Nichols tuning method is a heuristic method of tuning a PID controller. It was developed by John G. Ziegler and Nathaniel B. Nichols. It is performed by setting the I (integral) and D (derivative) gains to zero. The "P" (proportional) gain, $$K_p$$ is then increased (from zero) until it reaches the ultimate gain $$K_u$$, at which the output of the control loop has stable and consistent oscillations. $$K_u$$ and the oscillation period $$T_u$$ are then used to set the P, I, and D gains depending on the type of controller used and behaviour desired:

The ultimate gain $$(K_u)$$ is defined as 1/M, where M = the amplitude ratio, $$K_i = K_p/T_i$$ and $$K_d = K_p T_d$$.

These 3 parameters are used to establish the correction $$u(t)$$ from the error $$e(t)$$ via the equation:


 * $$u(t) = K_p \left( e(t) + \frac{1}{T_i} \int_0^t e(\tau) \, d\tau + T_d \frac{de(t)}{dt} \right) $$

which has the following transfer function relationship between error and controller output:


 * $$u(s) = K_p \left( 1 + \frac{1}{T_is} + T_ds \right)e(s) = K_p \left( \frac{T_dT_is^2 + T_is + 1}{T_is} \right)e(s) $$

Evaluation
The Ziegler–Nichols tuning (represented by the 'Classic PID' equations in the table above) creates a "quarter wave decay". This is an acceptable result for some purposes, but not optimal for all applications.

This tuning rule is meant to give PID loops best disturbance rejection.

It yields an aggressive gain and overshoot – some applications wish to instead minimize or eliminate overshoot, and for these this method is inappropriate. In this case, the equations from the row labelled 'no overshoot' can be used to compute appropriate controller gains.