このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
マルチループ制御システムの設計
多くのアプリケーションでは、プラント設計または設計要件のため、単一ループ制御システムにはできません。内側のループと外側のループがある設計の場合、制御システム デザイナーを使用すると、両方のループに補償器を設計できます。
一般的なワークフローでは、内側のループを制御システムのその他から分離することにより、内側のループの補償器を最初に調整します。内側のループを十分に調整したら、外側のループを調整し、目的の閉ループ応答を達成します。
システム モデル
この例では、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 のボード エディター] をクリックします。
内側のループの分離
制御システム アーキテクチャの残りから内側のループを分離するには、内側のループの開ループ応答にループ開始点を追加します。[データ ブラウザー] で LoopTransfer_C2
を右クリックし、[選択を開く] を選択します。
外側のループ補償器 [C1] の出力にループ開始点を追加するには、[開ループ伝達関数] ダイアログ ボックスで [ループ開始点の位置をリストに追加] をクリックします。そして、[uC1] を選択します。
[OK] をクリックします。
アプリにより、選択した位置にループ開始点が追加されます。この開始点により、内側のループの開ループ伝達関数に対する外側の制御ループの影響が取り除かれます。
[ボード エディター] 応答プロットが更新され、新しい開ループ伝達関数が反映されます。
内側のループの調整
内側のループの帯域幅を増やすには、補償器 C2 のゲインを増加させます。
[ボード エディター] プロットで、位相余裕が 65 度になるまで振幅応答を上方向にドラッグします。これは、補償器のゲイン 107
に相当します。ゲインをさらに増加させると、位相余裕は 65 度より小さくなります。
また、補償器エディターを使用してゲイン値を調整することもできます。詳細については、補償器のダイナミクスの編集を参照してください。
外側のループの調整
内側のループを調整したので、外側のループを調整して閉ループ整定時間を短縮できます。
制御システム デザイナーの [表示] タブで [左/右] を選択します。[LoopTransfer_C1 の根軌跡エディター] と [IOTransfer_r2y: step] のプロットを同時に表示するようにプロットを調整します。
現在の整定時間を表示するには、ステップ応答プロットを右クリックし、[特性] 、 [整定時間] を選択します。
現在の閉ループ整定時間は、500 秒を超えています。
[根軌跡エディター] で、補償器 C1 のゲインを増加させます。ゲインが増加すると、複素共役極ペアは遅い時定数に向かい、実極は速い時定数に向かいます。600
のゲインで、立ち上がり時間と整定時間のバランスが取れます。
0.8 秒未満の閉ループ整定時間と 65 度の内側のループの位相余裕の設計は、設計要件を満たします。