Skip to main content
Speclore

Pid controller tuning methods

Pid controller theory, tuning rules including ziegler-nichols, と practical guidelines.

pidcontrollertuning

Overview

A PID controller continuously calculates an error value and applies a correction based on proportional (P), integral (I), and derivative (D) terms:

u(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dtu(t) = K_p \cdot e(t) + K_i \int_0^t e(\tau)\,d\tau + K_d \frac{de(t)}{dt}

where:

  • e(t)e(t) = error = setpoint − process variable
  • KpK_p = proportional gain
  • KiK_i = integral gain
  • KdK_d = derivative gain

Ziegler-Nichols Tuning (Open Loop)

Based on the process reaction curve with parameters: gain KK, dead time LL, time constant TT:

3
Ziegler-Nichols open-loop tuning rules
Controller
Kp
Ti
Td
PT / (K·L)0
PI0.9·T / (K·L)3.33·L0
PID1.2·T / (K·L)2·L0.5·L

出典: engineeringtoolbox.com

Ziegler-Nichols (Closed Loop / Ultimate Gain)

Using the ultimate gain KuK_u and ultimate period TuT_u:

ControllerKpK_pTiT_iTdT_d
P0.5Ku0.5 K_u
PI0.45Ku0.45 K_uTu/1.2T_u / 1.2
PID0.6Ku0.6 K_uTu/2T_u / 2Tu/8T_u / 8

Effect of Each Term

TermEffect of IncreasingSide Effect
P (proportional)Faster response, reduces steady-state errorMay oscillate
I (integral)Eliminates steady-state errorMay cause overshoot, slow settling
D (derivative)Reduces overshoot, dampens oscillationsSensitive to noise

Practical Tips

  • Start with PI control (set Kd=0K_d = 0) for most processes
  • Add D term only for slow processes with significant dead time
  • Typical anti-windup: limit integrator output range
  • Derivative filter: use Kds/(1+Tfs)K_d \cdot s / (1 + T_f \cdot s) with TfTd/10T_f \approx T_d / 10