Main Content

マルチループ制御システムの設計

多くのアプリケーションでは、プラント設計または設計要件のため、単一ループ制御システムにはできません。内側のループと外側のループがある設計の場合、制御システム デザイナーを使用すると、両方のループに補償器を設計できます。

一般的なワークフローでは、内側のループを制御システムのその他から分離することにより、内側のループの補償器を最初に調整します。内側のループを十分に調整したら、外側のループを調整し、目的の閉ループ応答を達成します。

システム モデル

この例では、DC モーターの位置制御システムを開発します。単一ループ角速度コントローラーはボード線図設計で設計します。角度位置コントローラーを設計するには、積分器を含む外側のループを追加します。

SISO の例: DC モーターで説明されているように、状態空間プラント モデルを定義します。

% Define the motor parameters
R = 2.0
L = 0.5
Km = .015
Kb = .015
Kf = 0.2
J = 0.02
% Create the state-space model
A = [-R/L -Kb/L; Km/J -Kf/J]
B = [1/L; 0];
C = [0 1];
D = [0];
sys_dc = ss(A,B,C,D);

設計の目的

設計の目的は、最大帯域幅で内側のループの位相余裕を少なくとも 65 度に保ちながら、閉ループ ステップ応答の整定時間を最短にすることです。

  • 最短の閉ループ ステップ応答整定時間。

  • 内側のループの位相余裕が 65 度以上。

  • 内側のループの最大帯域幅。

システムの制御アーキテクチャへの適合

制御システム デザイナーには選択可能な制御アーキテクチャが 6 つあります。これらのアーキテクチャの詳細については、フィードバック制御アーキテクチャを参照してください。

この例では、内側と外側に制御ループがある構成 4 を使用します。

現在、制御システムの構造は構成 4 と一致していません。しかし、ブロック線図の代数処理を使用すると、以下の追加によってシステム モデルを変更できます。

  • 角変位を取得するために積分器をモーター出力に。

  • 微分器を内側のループのフィードバック パスに。

MATLAB® コマンド ラインで、積分器をモーター プラント モデルに追加します。

plant = sys_dc*tf(1,[1,0]);

フィードバック微分器を含む内側のループの補償器の初期モデルを作成します。

Cdiff = tf('s');

制御アーキテクチャの定義

制御システム デザイナーを開きます。

controlSystemDesigner

制御システム デザイナー[Control System] タブで [アーキテクチャの編集] をクリックします。

[アーキテクチャの編集] ダイアログ ボックスの [制御アーキテクチャの選択] で、4 番目のアーキテクチャをクリックします。

MATLAB ワークスペースからプラント モデルとコントローラー モデルをインポートします。

[ブロック] タブで、次を行います。

  • コントローラー [C2]Cdiff[値] を指定します。

  • プラント [G]plant[値] を指定します。

[OK] をクリックします。

アプリにより制御アーキテクチャが更新され、モーター プラントと内側のループのコントローラーの指定されたモデルがインポートされます。

制御システム デザイナーで、以下のプロットが開きます。

  • LoopTransfer_C1 のボード エディター — 外側のループの開ループ ボード エディター

  • LoopTransfer_C1 の根軌跡エディター — 外側のループの開ループ根軌跡エディター

  • LoopTransfer_C2 のボード エディター — 内側のループの開ループ ボード エディター

  • LoopTransfer_C2 の根軌跡エディター — 内側のループの開ループ根軌跡エディター

  • IOTransfer_r2y: step — 入力 r から出力 y への閉ループ全体のステップ応答

この例では、[LoopTransfer_C1 のボード エディター][LoopTransfer_C2 の根軌跡エディター] のプロットを閉じます。

最初に内側のループを調整するため、内側のループのボード エディターのプロットだけを表示するようにプロットを設定します。プロット タブの端で、矢印をクリックして [すべて並べて表示] を選択し、[単一表示] をクリックします。

内側のループの分離

制御システム アーキテクチャの残りから内側のループを分離するには、内側のループの開ループ応答にループ開始点を追加します。データ ブラウザーで LoopTransfer_C2 を右クリックし、[選択を開く] を選択します。

外側のループ補償器 [C1] の出力にループ開始点を追加するには、[開ループ伝達関数] ダイアログ ボックスで [ループ開始点の位置をリストに追加] をクリックします。そして、[uC1] を選択します。

[OK] をクリックします。

アプリにより、選択した位置にループ開始点が追加されます。この開始点により、内側のループの開ループ伝達関数に対する外側の制御ループの影響が取り除かれます。

[ボード エディター] 応答プロットが更新され、新しい開ループ伝達関数が反映されます。

内側のループの調整

内側のループの帯域幅を増やすには、補償器 C2 のゲインを増加させます。

[ボード エディター] プロットで、位相余裕が 65 度になるまで振幅応答を上方向にドラッグします。これは、補償器のゲイン 107 に相当します。ゲインをさらに増加させると、位相余裕は 65 度より小さくなります。

また、補償器エディターを使用してゲイン値を調整することもできます。詳細については、補償器のダイナミクスの編集を参照してください。

外側のループの調整

内側のループを調整したので、外側のループを調整して閉ループ整定時間を短縮できます。

制御システム デザイナーで、[すべて並べて表示] タブから [左/右] を選択します。[LoopTransfer_C1 の根軌跡エディター][IOTransfer_r2y: step] のプロットを同時に表示するようにプロットを調整します。

現在の整定時間を表示するには、ステップ応答プロットを右クリックし、[特性][整定時間] を選択します。

現在の閉ループ整定時間は、500 秒を超えています。

[根軌跡エディター] で、補償器 C1 のゲインを増加させます。ゲインが増加すると、複素共役極ペアは遅い時定数に向かい、実極は速い時定数に向かいます。600 のゲインで、立ち上がり時間と整定時間のバランスが取れます。

0.8 秒未満の閉ループ整定時間と 65 度の内側のループの位相余裕の設計は、設計要件を満たします。

参考

関連するトピック