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 {\displaystyle K_{p}} is then increased (from zero) until it reaches the ultimate gain K u {\displaystyle K_{u}} , at which the output of the control loop has stable and consistent oscillations. K u {\displaystyle K_{u}} and the oscillation period T u {\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 method1Control Type | K p {\displaystyle K_{p}} | T i {\displaystyle T_{i}} | T d {\displaystyle T_{d}} | K i {\displaystyle K_{i}} | K d {\displaystyle K_{d}} |
---|---|---|---|---|---|
P | 0.5 K u {\displaystyle 0.5K_{u}} | – | – | – | – |
PI | 0.45 K u {\displaystyle 0.45K_{u}} | 0.8 3 ¯ T u {\displaystyle 0.8{\overline {3}}T_{u}} | – | 0.54 K u / T u {\displaystyle 0.54K_{u}/T_{u}} | – |
PD | 0.8 K u {\displaystyle 0.8K_{u}} | – | 0.125 T u {\displaystyle 0.125T_{u}} | – | 0.10 K u T u {\displaystyle 0.10K_{u}T_{u}} |
classic PID | 0.6 K u {\displaystyle 0.6K_{u}} | 0.5 T u {\displaystyle 0.5T_{u}} | 0.125 T u {\displaystyle 0.125T_{u}} | 1.2 K u / T u {\displaystyle 1.2K_{u}/T_{u}} | 0.075 K u T u {\displaystyle 0.075K_{u}T_{u}} |
Pessen Integral Rule | 0.7 K u {\displaystyle 0.7K_{u}} | 0.4 T u {\displaystyle 0.4T_{u}} | 0.15 T u {\displaystyle 0.15T_{u}} | 1.75 K u / T u {\displaystyle 1.75K_{u}/T_{u}} | 0.105 K u T u {\displaystyle 0.105K_{u}T_{u}} |
some overshoot | 0.3 3 ¯ K u {\displaystyle 0.3{\overline {3}}K_{u}} | 0.50 T u {\displaystyle 0.50T_{u}} | 0.3 3 ¯ T u {\displaystyle 0.3{\overline {3}}T_{u}} | 0.6 6 ¯ K u / T u {\displaystyle 0.6{\overline {6}}K_{u}/T_{u}} | 0.1 1 ¯ K u T u {\displaystyle 0.1{\overline {1}}K_{u}T_{u}} |
no overshoot | 0.20 K u {\displaystyle 0.20K_{u}} | 0.50 T u {\displaystyle 0.50T_{u}} | 0.3 3 ¯ T u {\displaystyle 0.3{\overline {3}}T_{u}} | 0.40 K u / T u {\displaystyle 0.40K_{u}/T_{u}} | 0.06 6 ¯ K u T u {\displaystyle 0.06{\overline {6}}K_{u}T_{u}} |
The ultimate gain ( K u ) {\displaystyle (K_{u})} is defined as 1/M, where M = the amplitude ratio, K i = K p / T i {\displaystyle K_{i}=K_{p}/T_{i}} and K d = K p T d {\displaystyle K_{d}=K_{p}T_{d}} .
These 3 parameters are used to establish the correction u ( t ) {\displaystyle u(t)} from the error e ( t ) {\displaystyle e(t)} via the equation:
u ( t ) = K p ( e ( t ) + 1 T i ∫ 0 t e ( τ ) d τ + T d d e ( t ) d t ) {\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:
u ( s ) = K p ( 1 + 1 T i s + T d s ) e ( s ) = K p ( T d T i s 2 + T i s + 1 T i s ) e ( s ) {\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.6
It yields an aggressive gain and overshoot7 – 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.
- 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.
External links
References
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. https://web.archive.org/web/20170918055307/http://staff.guilan.ac.ir/staff/users/chaibakhsh/fckeditor_repo/file/documents/Optimum%20Settings%20for%20Automatic%20Controllers%20(Ziegler%20and%20Nichols,%201942).pdf ↩
Ziegler–Nichols Tuning Rules for PID, Microstar Laboratories http://www.mstarlabs.com/control/znrule.html ↩
Ziegler–Nichols Tuning Rules for PID, Microstar Laboratories http://www.mstarlabs.com/control/znrule.html ↩
Ziegler–Nichols Tuning Rules for PID, Microstar Laboratories http://www.mstarlabs.com/control/znrule.html ↩
Ziegler–Nichols Tuning Rules for PID, Microstar Laboratories http://www.mstarlabs.com/control/znrule.html ↩
Ziegler–Nichols Tuning Rules for PID, Microstar Laboratories http://www.mstarlabs.com/control/znrule.html ↩
Ziegler–Nichols Tuning Rules for PID, Microstar Laboratories http://www.mstarlabs.com/control/znrule.html ↩