PI-D および I-PD コントローラーの指定
PI-D および I-PD コントローラーは、制御信号の基準信号の変化の影響を緩和するために使用されます。これらのコントローラーは、2DOF PID コントローラーの変形です。
並列形式の 2DOF PID コントローラーの一般的な式は次のとおりです。
ここで、r は参照入力で y は測定出力です。u はコントローラーの出力で、"制御信号" とも呼ばれています。P は比例ゲイン、I は積分ゲイン、D は微分ゲインを指定します。N は、微分フィルター係数を指定します。b と c は、それぞれ比例要素と微分要素の設定点の重みを指定します。1DOF PID コントローラーでは、b と c は 1 です。
r が滑らかでない場合または不連続の場合、微分要素および比例要素が u の大きなスパイクまたはオフセットの原因となり、実行不可能になる場合があります。たとえばステップ入力で、微分要素により u に大きなスパイクが発生する場合があります。モーターのアクチュエータでは、そのようなアグレッシブな制御信号があるとモーターが破損することがあります。
u への r の影響を緩和するには、b または c、あるいはその両方を 0 に設定します。次のいずれかの設定点の重みベースの形式を使用します。
PI-D (b = 1 および c = 0) — 微分要素は r の変化を u に直接伝播しません (比例要素は直接伝播します)。ただし、微分要素は大きな影響があり、抑制されます。"出力コントローラーの微分" と呼ばれることもあります。
このコントローラーの形式の一般的な式は、次のとおりです。
I-PD (b = 0 および c = 0) — 比例要素および微分要素は、r の変化を u に直接伝播しません。
このコントローラーの形式の一般的な式は、次のとおりです。
目的の外乱の抑制および設定値追従を実現できるように、PI-D または I-PD コントローラーの P、I、D および N 係数を調整できます。
Simulink での PI-D および I-PD コントローラーのシミュレート
PID Controller (2DOF) または Discrete PID Controller (2DOF) ブロックを使用して PI-D または I-PD コントローラーを指定するには、ブロックを開き、[コントローラー] パラメーターを PID
に設定します。
PI-D コントローラーで、[設定点の重み (b)] パラメーターを
1
に設定し、[設定点の重み (c)] パラメーターを0
に設定します。I-PD コントローラーで、[設定点の重み (b)] パラメーターを 0 に設定し、[設定点の重み (c)] パラメーターを
0
に設定します。
pid2dof_setpoint_based_controllers
モデルを開きます。これにより、1DOF PID、PI-D および I-PD コントローラーのパフォーマンスが比較されます。モデルは同じ P、I、および D パラメーターを 3 つすべてのコントローラーで使用します。
mdl = "pid2dof_setpoint_based_controllers";
open_system(mdl)
モデルのシミュレーションを実行します。
sim("pid2dof_setpoint_based_controllers")
すべてのコントローラーが外乱を同じぐらい適切に抑制しています。1DOF PID コントローラーは、設定値が 0 から 1 に変化すると、大きなスパイクが発生します。PI-D 形式では、跳ね上がりが小さくなります。これに対して、I-PD 形式は参照の変化に大きく反応しません。
PI-D および I-PD コントローラーの自動調整
PID 調整器を使用すると、b と c の固定値を保った状態で PI-D コントローラーと I-PD コントローラーを自動調整できます。以下の処理を行います。
モデルでブロックを開きます。ブロック ダイアログ ボックスの [コントローラー] メニューで
[PID]
を選択します。[調整] をクリックします。[PID 調整器] が開きます。
[PID 調整器] の [タイプ] メニューで
[PI-DF]
または[I-PDF]
を選択します。PID 調整器は、PI-D では b = 1 および c = 0 に、I-PD では b = 0 および c = 0 に固定して、コントローラー ゲインを返します。
これで、PID 調整器での設計の解析での説明に従いシステム応答を解析できるようになりました。
参考
PID Controller (2DOF) | Discrete PID Controller (2DOF)