RFrftools.io

PID コントローラーの調整 (チーグラー・ニコルズ)

Ziegler-Nichols オープンループ (反応曲線) 法を使用して、プロセスゲイン、デッドタイム、および時定数から PID コントローラーのゲインを計算します。

Loading calculator...

公式

Kp = 1.2τ/(K·L), Ti = 2L, Td = 0.5L

参考: Ziegler & Nichols, 1942

KProcess gain
LDead time (s)
τTime constant (s)

仕組み

PID (比例-積分-微分) コントローラーは、設定点と測定されたプロセス値の間の誤差に基づいて出力を調整します。比例項 (K_p) を使うと、現在の誤差に比例して即座に補正できます。積分項 (K_i) は、過去の誤差を累積することで定常誤差を排除します。微分項 (K_d) は誤差の変化率に反応して振動を抑えます。Ziegler-Nichols の開ループ調整では、プロセス反応曲線を使用します。プロセスステップ応答を測定して最大ゲイン (K_u) と最大周期 (T_u) を求め、次に表形式の調整規則を適用します。

計算例

チーグラー・ニコルス閉ループ法を使用して DC モーター速度ループの PID コントローラーを調整します。
ステップ 1 — 極限ゲイン (K_u) を求める:
I 項と D 項 (K_i = 0、K_d = 0) を無効にします。
出力が一定の振幅で振動するまで K_p をゼロから増やします。
測定した K_u = 12.0
ステップ 2 — 最終期間 (T_u) の測定:
持続振動の周期を測定します: T_u = 0.80 秒
ステップ 3 — チーグラー・ニコルズ PID 調整規則の適用:
K_p = 0.60 × K_u = 0.60 × 12.0 = 7.2
t_i = 0.50 × T_u = 0.50 × 0.80 = 0.40 秒
t_d = 0.125 × t_u = 0.125 × 0.80 = 0.10 秒
ステップ 4 — 標準形式への変換:
k_i = K_p/t_i = 7.2/0.40 = 18.0
k_d = k_P × t_d = 7.2 × 0.10 = 0.72
ステップ 5 — 微調整: ZN の初期値では 25% のオーバーシュートが発生することがよくあります。このアプリケーションでは、K_p を 5.0 に、K_i を 12.0 に減らして 5% 未満のオーバーシュートを実現します。
結果: 開始時のパラメーターは K_p = 7.2、K_i = 18.0、K_d = 0.72 です。オーバーシュートとセトリング時間の要件を満たすために微調整を行うと、K_p が 20 ~ 40% 減少することが予想されます。

実践的なヒント

  • 応答が安定して定常誤差が許容できる状態になるまで P のみのコントローラーから始めて、I を加算してオフセットを除去し、最後に D を追加して追加の減衰が必要な場合にのみ加算します。
  • ノイズ増幅を防止するために、微分フィルタリング (D 項のローパスフィルタ、カットオフをコントローラー帯域幅の 5 ~ 10 倍にする) を実装 — ノイズの多いエンコーダ信号の生微分によってジッターと発熱が発生する
  • DC モーターの位置制御では、フィードフォワード速度項を備えた PD コントローラーは、調整の手間が少なく、積分器のワインドアップの問題もなく、完全な PID よりも優れた性能を発揮することがよくあります。

よくある間違い

  • Ziegler-Nicholsのゲインを微調整せずにプロダクションコードに直接適用 — ZNルールは出発点であり、ほとんどの場合、調整が必要であり、通常 25% のオーバーシュートが発生します。
  • 無負荷時にベンチ上でPIDを調整し、負荷をかけたシステムに配備 — プロセスゲインは負荷とともに大幅に変化するため、再調整またはゲインスケジューリングが必要
  • 積分器のアンチワインドアップを忘れる — 出力が飽和すると (たとえば、最大デューティサイクルのモーター)、積分器に限界のない誤差が蓄積され、設定値が下がると大きなオーバーシュートが発生します

よくある質問

位置形式 PID は、積分履歴の蓄積から絶対出力値を計算します。速度形式 (インクリメンタル) PID は、各サイクルにおける出力の変化を計算します。これにより、本質的に積分器のワインドアップを回避し、手動制御と自動制御を切り替える際にバンプルなしの伝達が得られます。ほとんどの組み込みモーターコントローラーは速度形式 PID を実装しています。
プロセスにかなりの測定ノイズがある場合 (微分によってノイズが増幅される)、制御プラントにすでに固有の減衰が発生している場合 (D が不要になる)、またはシステム応答が遅くて微分作用が実質的に何のメリットもない場合は、PI 制御を使用してください。ほとんどのモーター電流ループと温度ループは PI のみを使用します。
アンチワインドアップは、出力が物理的に供給できる値を超えて積分項が蓄積されるのを防ぎます (たとえば、最大デューティサイクルのモータードライバー)。これがないと、飽和状態が長時間続くと積分器が非常に大きくなり、出力が不飽和になると大きなオーバーシュートが発生します。一般的な実装としては、積分器のクランプ、逆計算、出力が飽和すると累積を停止する条件付き積分などがあります。

Shop Components

Affiliate links — we may earn a commission at no cost to you.

Stepper Motors (NEMA 17)

NEMA 17 bipolar stepper motors for precision motion

Motor Driver ICs

Integrated stepper and DC motor driver ICs

DC Motors (12 V)

12 V brushed DC motors for general-purpose drive applications

Related Calculators