設定点トラッキング向けの 2 自由度の PID 制御
この例では、設定点の重みによる 2 自由度 PID 制御を使用して電気モーターの速度を調整する方法を示します。このモデルはPID Controller (2DOF)ブロックを使用します。モデルは 60 から 30 rpm の間の設定点値を変更します。PID コントローラーで使用する単位を rad/s に変換するために、このモデルでは、Signal Conversionブロックを使用します。
この電気モーターは、電機子制御の DC モーターです。電圧入力によって、モーターの軸速度が制御されます。モーターの負荷トルクは (0 ~ 0.1 Nm) です。
2 自由度の PID 制御
PID Controller ブロックに比べ、PID Controller (2DOF) ブロックには別の自由度があります。この自由度により、ユーザーは、比例動作チャネルと微分動作チャネルを通過するときの設定点に重みを付けることができます。
比例動作の誤差信号は、以下によって与えられます。
.
微分動作の信号によって認識される信号は、以下によって与えられます。
,
また、積分動作の信号は、以下によって与えられます。
.
一般に、設定点の重み "c" は 0 に設定されます。この値により、設定点が変化した場合に望ましくない過渡状態 ("微分キック" と呼ばれる効果) が生じるのを防止できます。設定点 b は、コントローラーのオーバーシュート性能に影響します。通常は、b の値が小さいとオーバーシュートが下がります。ただし、b の値が小さいと、設定点の変化に対する応答が遅くなることもあります。適正な設定点値の選択の詳細については、[1] を参照してください。
と の時点では、2 自由度の PID コントローラーの動作は、従来の PID コントローラーと同一になります。
b = 1 および c = 1 の場合のシミュレーション
と の時点では、2 自由度の PID コントローラーの動作は、従来の PID コントローラーと同一になります。
スコープで示されているように、制御信号のスパイクが、設定点の変化に対するアグレッシブで比例的な微分応答によって生じます。重み b と c を変更して、この応答のアグレッシブさを低くすることができます。
b = 0 および c = 0 の場合のシミュレーション
この場合、2 自由度の PID コントローラーは I-PD として知られています。I-PD では、I 動作のみが標準誤差信号に作用し、PD 動作のみが測定出力に作用します。
シミュレーション結果からわかるように、設定点の急激な変化による制御信号の大きな過渡状態がありません。
"b" と "c" を選択する方法の詳細については、[1] を参照してください。
Simulink® Control Design™ がある場合は、PID 調整器を使用して、PID Controller (2DOF) ブロックのすべてのゲイン (P、I、D、N、"b"、"c") を自動的に調整できます。
参照
[1] Åström, Karl J., and Tore Hägglund. Advanced PID Control. Research Triangle Park, NC: International Society of Automation, 2006.