Simulink Control Design

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

単ループのフィードバック/プレフィルターの補償器設計

この例では、複数の補償器 (フィードバックとプレフィルター) を調整して単一ループを制御する方法を説明します。

モデルを開く

エンジン スピード制御モデルを開き、少し時間をとってモデルを調べます。

open_system('scdspeedctrl');

設計の概要

この例では、フィードバック補償器とプレフィルター補償器をもつ単一ループ制御システムの設計プロセスを紹介します。設計の目標は、次のとおりです。

  • Simulink ステップ ブロック scdspeedctrl/Speed Reference からの参照信号を追跡する。設計要件は、整定時間が 5 秒未満であることと、ステップ基準入力に対する定常偏差がゼロであることです。

  • サブシステム scdspeedctrl/External Disturbance で指定された、測定されていない出力外乱を抑圧する。設計要件は、ピーク偏差を 190 RPM まで減らすことと、ステップ外乱入力に対する定常偏差がゼロであることです。

この例では、PID 補償器 scdspeedctrl/PID Controller を設計することで、フィードバック ループを安定化させ、出力外乱の抑制を達成します。プレフィルター scdspeedctrl/Reference Filter は、設定値追従の変更に対するフィードバック システムの応答を調整するのに使用されます。

SISO 設計作業の作成

この例では、Simulink 補償器設計作業を使用して SISO 設計作業を作成し、このフィードバック システムの補償器を調整します。SISO 設計作業を作成するには、次の 2 つの方法があります。

  • モデルの左下隅のサブシステムをダブルクリックして、事前に構成されている Simulink Control Design の作業を起動する。

  • 以下の手順に従って、SISO 設計作業を作成する。

新規設計の開始

手順 1 モデル scdspeedctrl.mdl の新しい Simulink 補償器設計作業を開始します。開始するには、Simulink モデルから [ツール]、[制御設計]、[補償器設計] を選択します。

手順 2 調整する以下のブロックを選択します。

  • scdspeedctrl/Reference Filter

  • scdspeedctrl/PID Controller

手順 3 以下の閉ループ信号を選択します。

  • 入力: scdspeedctrl/Speed Reference 出力端子 1

  • 入力 scdspeedctrl/External Disturbance/Step Disturbance 出力端子 1

  • 出力 scdspeedctrl/Speed Output 出力端子 1

手順 4 [操作点] パネルで [既定の操作点] を選択します。

手順 5 [ブロックの調整...] ボタンをクリックして、設計のコンフィギュレーション ウィザードを起動します。

scdspeedctrl/ PID Controller の出力端子 1 で開ループを調整するには、プロット 1 に対して閉ループ 1 を選択し、プロット タイプとして開ループ ボード線図を選択します。

Speed Reference とエンジン スピード出力との間の閉ループを調整するには、[調整する新規の開/閉ループの選択...] ボタンをクリックします。[調整のための新規ループの選択] ダイアログで、次のように選択します。

  • ループ タイプの選択: 閉ループ (既定値)

  • 閉ループの入力: scdspeedctrl/Speed Reference

  • 閉ループの出力: scdspeedctrl/Speed Output

  • 調整する初期ブロック: scdspeedctrl/Reference Filter

すべての項目を設定したダイアログは、次のようになります。

ウィザードで、プロット 2 に対して閉ループ 1 を選択し、プロット タイプとして閉ループ ボード線図を選択します。最初の手順を完了したウィザードは、次のようになります。

ウィザードの手順 2 で、プロット 1 とプロット 2 に対するステップ応答を選択します。次に、[プロットの内容] テーブルで、以下のようにします。

  • Closed Loop from scdspeedctrl/External Disturbance/Step Disturbance to scdspeedctrl/Speed Output に対してプロット 1 を選択する。

  • Closed Loop from /Speed Reference に対してプロット 2 を選択する。

ウィザードが完了すると、SISO 設計作業ノードが作成されます。この作業ノードを使用して、設計を完成させます。

設計の完了

SISO 設計作業には、制御システムを調整する 4 つの方法が含まれています。

  • [補償器エディター] パネルを使用して、各補償器のパラメーターを手動で調整する。「補償器エディターでの Simulink ブロックの調整」の例を参照してください。

  • [グラフィカルな調整] パネルで設計プロットを設定し、根軌跡、開/閉ループ ボード線図、およびニコルス線図を使用して補償器の極、零点、およびゲインを設計する。

  • [自動調整] パネルの [最適化ベースの調整] オプションを使用して (Simulink Design Optimization が必要)、時間領域と周波数領域の両方の設計要件に基づき補償器を調整する。「Engine Speed Controller Tuning」の例を参照してください。

  • [自動調整] パネルの [PID 調整][IMC 調整] および [LQG 合成] の各オプションを使用して、閉ループ時定数などの調整パラメーターを基に補償器の初期パラメーターを計算する。

完了した設計

以下のコントローラー パラメーターを使用して、設計要件を満たすことができます。

  • scdspeedctrl/PID Controller には、次のパラメーターがあります。

         P = 0.0012191
         I = 0.0030038
  • scdspeedctrl/Reference Filter:

         Numerator = 10;
         Denominator = [1 10];

閉ループ システムの応答は以下のとおりです。

Simulink への設計の書き込み

次に、[Simulink ブロック パラメーターの更新] ボタンをクリックすると、この設計を非線形モデルに対してテストできます。これにより、パラメーターが Simulink モデルに書き込まれます。

bdclose('scdspeedctrl')