Simulink


最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

設定点トラッキング向けの 2 自由度の PID 制御

モデルの説明

この例では、設定点の重みによる 2 自由度 PID 制御を使用して電気モーターの速度を調整する方法を示します。以下に示すように、Simulink® の PID Controller (2DOF) ブロックを使用します。

図 1: DC モーターの 2 自由度の PID 制御を含む Simulink モデル

このモデルを開くには、MATLAB® 端末に「sldemo_pid2dof」と入力します。

この電気モーターは、電機子制御の DC モーターです。電圧入力によって、モーターの軸速度が制御されます。このモーターのブロック線図を図 2 に示しています。モーターの負荷トルクは、 $Td$ (0 ~ 5 Nm) です。

図 2: モーターのブロック線図

2 自由度の PID 制御

PID Controller ブロックに比べ、PID Controller (2DOF) ブロックには別の自由度があります。この自由度により、ユーザーは、比例動作チャンネルと微分動作チャンネルを通過するときの設定点に重みを付けることができます。詳細は、PID Controller (2DOF) ヘルプ ページを参照するか、MATLAB 端末に「doc('PID Controller 2DOF')」と入力します。このモデルに現れる PID Controller (2DOF) の概要図を以下に示します。

図 3: PID Controller (2DOF) のマスク内表示

図 3 に示したように、比例動作によって認識される誤差信号は、以下によって与えられます。

$$b*r-y$$

微分動作によって認識される信号は以下のとおりです。

$$c*r-y$$

積分動作によって認識される信号は以下のとおりです。

$$r-y$$

一般に、設定点の重み c として 0 が選択されます。これにより、設定点の変化時に望ましくない過渡状態 ("微分キック" と呼ばれる効果) が生じるのを防止できます。設定点 b は、コントローラーのオーバーシュート性能に影響します。通常は、b の値が小さいとオーバーシュートが下がります。ただし、b の値が小さいと、設定点の変化に対する応答が遅くなることもあります。適正な設定点の選択の詳細は、参照 [1] を参照してください。

$b=1$ $c=1$ の時点では、2 自由度の PID コントローラーの動作は、標準的な PID コントローラーと同じになります。

b = 1 および c = 1 の場合のシミュレーション

$b=1$ $c=1$ の時点では、2 自由度の PID コントローラーの動作は、標準的な PID コントローラーと同じになります。このモデルの設定点信号、制御信号、および閉ループ応答を図 4 に示しています。

Warning: Could not evaluate MaskDisplay commands of block 'sldemo_pid2dof/DC
Motor': Undefined function or variable 'sldemo_motorIcon'. 

図 4: 設定点と測定出力、制御信号の比較

図 4 には、制御信号のスパイクがはっきりと示されています。このスパイクは、設定点の変化に対するアグレッシブで比例的な微分応答によって生じます。重み bc を変更すると、以下に示すように、この応答のアグレッシブさが低くなくなります。

b = 0 および c = 0 の場合のシミュレーション

この場合、2 自由度の PID コントローラーは I-PD として知られています。I-PD では、I 動作のみが標準誤差信号に作用し、PD 動作のみが測定出力に作用します。

Warning: Could not evaluate MaskDisplay commands of block 'sldemo_pid2dof/DC
Motor': Undefined function or variable 'sldemo_motorIcon'. 

図 5: 設定点と測定出力、制御信号の比較

シミュレーション結果からはっきりわかるように、設定点の急激な変化による制御信号の大きな過渡状態がありません。

bc を選択する方法の詳細は、参照 [1] を参照してください。

まとめ

Simulink の PID Controller (2DOF) ブロックは、2 自由度の PID 制御をサポートしています。このブロックは、複雑な設定点プロファイルを追従したり、制御信号の過渡状態に対する急激な設定点変化の影響を緩和するのに使用できます。Simulink® Control Design™ の PID 調整器を使用すると、PID Controller (2DOF) ブロックの P、I、D の各ゲインを自動的に調整できます。

参照

  1. K. Åström, T. Hägglund, Advanced PID Control, ISA, Research Triangle Park, NC, August 2005.