# 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, ${\displaystyle K_{p}}$ is then increased (from zero) until it reaches the ultimate gain ${\displaystyle K_{u}}$, at which the output of the control loop has stable and consistent oscillations. ${\displaystyle K_{u}}$ and the oscillation period ${\displaystyle T_{u}}$ are then used to set the P, I, and D gains depending on the type of controller used and behaviour desired:

Ziegler–Nichols method[1]
Control Type ${\displaystyle K_{p}}$ ${\displaystyle T_{i}}$ ${\displaystyle T_{d}}$ ${\displaystyle K_{i}}$ ${\displaystyle K_{d}}$
P ${\displaystyle 0.5K_{u}}$
PI ${\displaystyle 0.45K_{u}}$ ${\displaystyle 0.8{\overline {3}}T_{u}}$ ${\displaystyle 0.54K_{u}/T_{u}}$
PD ${\displaystyle 0.8K_{u}}$ ${\displaystyle 0.125T_{u}}$ ${\displaystyle 0.10K_{u}T_{u}}$
classic PID[2] ${\displaystyle 0.6K_{u}}$ ${\displaystyle 0.5T_{u}}$ ${\displaystyle 0.125T_{u}}$ ${\displaystyle 1.2K_{u}/T_{u}}$ ${\displaystyle 0.075K_{u}T_{u}}$
Pessen Integral Rule[2] ${\displaystyle 0.7K_{u}}$ ${\displaystyle 0.4T_{u}}$ ${\displaystyle 0.15T_{u}}$ ${\displaystyle 1.75K_{u}/T_{u}}$ ${\displaystyle 0.105K_{u}T_{u}}$
some overshoot[2] ${\displaystyle 0.3{\overline {3}}K_{u}}$ ${\displaystyle 0.50T_{u}}$ ${\displaystyle 0.3{\overline {3}}T_{u}}$ ${\displaystyle 0.6{\overline {6}}K_{u}/T_{u}}$ ${\displaystyle 0.1{\overline {1}}K_{u}T_{u}}$
no overshoot[2] ${\displaystyle 0.20K_{u}}$ ${\displaystyle 0.50T_{u}}$ ${\displaystyle 0.3{\overline {3}}T_{u}}$ ${\displaystyle 0.40K_{u}/T_{u}}$ ${\displaystyle 0.06{\overline {6}}K_{u}T_{u}}$

The ultimate gain ${\displaystyle (K_{u})}$ is defined as 1/M, where M = the amplitude ratio, ${\displaystyle K_{i}=K_{p}/T_{i}}$ and ${\displaystyle K_{d}=K_{p}T_{d}}$.

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

${\displaystyle 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:

${\displaystyle u(s)=K_{p}\left(1+{\frac {1}{T_{i}s}}+T_{d}s\right)e(s)=K_{p}\left({\frac {T_{d}T_{i}s^{2}+T_{i}s+1}{T_{i}s}}\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.[2]

It yields an aggressive gain and overshoot[2] – 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.

## References

1. ^ Ziegler, J.G & Nichols, N. B. (1942). "Optimum settings for automatic controllers" (PDF). Transactions of the ASME. 64: 759–768. Archived from the original (PDF) on 2017-09-18. {{cite journal}}: Cite journal requires |journal= (help)
2. Ziegler–Nichols Tuning Rules for PID, Microstar Laboratories
• Bequette, B. Wayne. Process Control: Modeling, Design, and Simulation. Prentice Hall PTR, 2010. [1]
• Co, Tomas; Michigan Technological University (February 13, 2004). "Ziegler–Nichols Closed Loop Tuning". Retrieved 2007-06-24.