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