PID制御

6 分で読了
このページの目次

比例動作は現在の偏差に反応し、積分動作は補償量を保持し、微分動作は変化に反応します。応答と安定性を前提に、まず飽和のない連続制御を分析します。

P:現在の偏差から操作する

、、とすると、熱モデルの定常偏差は

目標40 °C、周囲10 °C、基準パラメータ、、では Kです。ゲインを増やすと偏差は減りますが、測定雑音による操作変動や飽和の可能性も増えます。

P制御で必ず偏差が残るわけではありません。積分特性を持つ対象なら、安定な比例閉ループでステップに偏差なく追従できる場合があります。対象、入力、基準操作、安定条件を指定します。

I:補償量を状態として保存する

を積分による操作への寄与として定義します。

の単位は、は無次元です。正の偏差で増え、偏差がゼロになると変化が止まります。値自体が消えるわけではありません。周囲10 °Cで40 °Cを保つにはが必要なので、を保持します。安定性、実現可能性、偏りのない測定、持続的な飽和がないことが必要です。

PIで状態が一つ増え、特性多項式は

ならで、極はです。振動モードは積分状態から生じています。

図を準備しています
PID制御 · 実験

目標40 °C、100 sで周囲20→10 °C、初期積分ゼロ。PIDは測定値微分、Kd=1 s/K、フィルタ5 sです。要求は制限せず、成分図に基準操作0.4は含めません。

目標を40 °Cに保ち、100 sで周囲温度を20から10 °Cへ下げます。P、PI、フィルタ付きPIDと各項の寄与を比較します。要求は制限せず、0–1の物理範囲内かを表示します。実際の飽和は制約の章で扱います。

D:測定値の変化をフィルタ付きで使う

理想的な並列PIDはです。目標のステップを微分すると微分キックが生じるため、測定値を微分する構成がよく使われます。

測定から操作への伝達はで、高周波ゲインは有限です。偏差の微分と測定値の微分は異なり、後者では目標変化自体を微分しません。

s/K、 s、 °C、 °Cならです。温度が上昇しているため加熱を減らします。初回測定でフィルタを初期化するなど、起動時の不自然なスパイクを避けます。Dは観測した傾向を使うもので、未知の未来の外乱を予知しません。

一回の計算を追う

K、、、なら、要求はです。1 sの前進積分ではです。ここでは現在の操作を計算してから状態を更新します。更新後の値を使う実装なら、その順序を一貫させます。

パラメータ形式にも注意します。なら、です。フィルタ形式は別途確認し、離散係数にはサンプリング周期を反映させます。

複数の条件で調整する

最初に帰還の向き、時定数、操作可能範囲を確認します。PまたはPIから始め、Dを追加する理由を明確にします。目標変更、負荷変更、雑音、初期偏差、飽和を試し、出力だけでなく要求、実際の操作、積分状態を記録します。経験的な調整則には対象と試験条件があり、普遍的保証ではありません。

理解を確かめる

偏差がゼロでもPIが基準より多く加熱するのはなぜですか。

考え方

積分が止まってもは残り、新しい熱損失を補う200 Wを供給します。

測定雑音が多いならDを増やすべきですか。

考え方

必ずしもそうではありません。微分は速い測定変化を強調します。実際の動特性と雑音を区別し、フィルタ、帯域、操作コストを比較します。

発展資料

python-controlのクルーズ制御例では制限付きPIを扱います。MathWorksの例は、バック計算と条件付き積分を比較しています。