制御システム調整器を使用したリニア電動アクチュエータの制御
この例では、"制御システム調整器" アプリを使用して飽和制限のあるリニア電動アクチュエータで電流ループと速度ループを調整する方法を説明します。
リニア電動アクチュエータ モデル
リニア電動アクチュエータの Simulink® モデルを開きます。
open_system('rct_linact')
電気系コンポーネントと機械系コンポーネントは Simulink® および Simscape™ Electrical™ を使用してモデル化されています。制御システムは、DC モーターの駆動電流と角速度を制御する 2 つのカスケード フィードバック ループで構成されています。
図 1: 電流コントローラーと速度コントローラー。
内側のループ (電流) コントローラーは比例ゲインですが、外側のループ (速度) コントローラーには比例および積分動作があります。両方のコントローラーの出力は +/- 5 に制限されます。
設計仕様
オーバーシュートを最小限に抑えた状態で、2000 rpm 速度要求に約 0.1 秒で応じるためには、比例ゲインおよび積分ゲインを調整する必要があります。モデルの初期ゲイン設定は P=50 および PI(s)=0.2+0.1/s で、対応する応答は図 2 に示されています。この応答は非常に低速で、負荷外乱に対して影響を受けすぎています。
図 2: 調整されていない応答。
制御システムの調整
"制御システム調整器" を使用して、両方のフィードバック ループを一緒に調整できます。最初に、[アプリ] タブから "制御システム調整器" を開きます。
図 3: 制御システム調整器を開く。
これで、"制御システム調整器" が開きます。
図 4: 制御システム調整器。
t=0.5 でモデルを線形化し、t=0 での一部の導関数の不連続性を回避します。[Linearize At...]
で操作点を設定できます。
図 5: 線形化のための操作点の設定。
線形化スナップショット時間を t=0.5 で設定します。
図 6: 線形化スナップショット時間の設定。
制御システムの調整ブロックを設定するために、[Tuning]
タブから [Select Blocks]
を開きます。
図 7: 制御システム調整器の [調整] タブ。
これは、[Add Blocks]
が可能な調整ブロックのエディターです。
図 8: 調整ブロックのエディター。
左側のツリーを使用して、調整ブロック Current PID
と Speed PID
を設定します。
図 9: 調整ブロック Current PID
の選択。
図 10: 調整ブロック Speed PID
の選択。
選択した調整ブロック Current PID
および Speed PID
が、調整ブロックのエディターに表示されます。
図 11: 選択された調整ブロックで更新されたエディター。
これらのブロックは、"制御システム調整器" の左側にあるデータ ブラウザーの Tuned Blocks
セクションにも表示されます。
図 12: 制御システム調整器で更新された調整ブロック。
次に、DC モーターが 0.1 秒で 2000 rpm の速度要求に従うという追従目標を指定します。[New Goal]
でさまざまなタイプの目標を確認し、[Reference Tracking]
を選択します。
図 13: 制御システム調整器で選択できる目標。
追従目標に TR
という名前を付け、基準入力 rct_linact/Speed Demand(rpm)/1
から設定値追従出力 rct_linact/Hall Effect Sensor/1[rpm]
への追従目標を応答時間 0.1 秒で指定します。
図 14: 制御システム調整器の [設定値追従] ダイアログ。
指定した追従目標のプロットが "制御システム調整器" に表示され、左側にあるデータ ブラウザーの Tuning Goals
セクションが更新されます。
図 15: 制御システム調整器の追従調整目標。
次に、"制御システム調整器" で Tune
をクリックして比例ゲインおよび積分ゲインを調整できます。追従目標のプロットが更新されます。
図 16: 制御システム調整器で調整ブロックによって更新された追従目標プロット。
調整ブロックは調整後のゲイン値で更新されます。この設計を検証するには、[Control System]
タブの [New Plot]
から、速度要求から速度への閉ループ応答をプロットします。
図 17: 制御システム調整器の新規プロット。
速度要求からステップ プロット ダイアログで指定した速度への閉ループ応答を指定します。
図 18: 制御システム調整器のステップ プロット ダイアログ。
"制御システム調整器" での応答のステップ プロットを確認します。
図 19: 制御システム調整器のステップ プロット。
応答は線形の領域で良好に見えるため、最初に [Store]
をクリックして現在の設計を保存し、[Update Blocks]
をクリックして調整したゲイン値を Simulink にプッシュし、さらに非線形モデルで設計を検証します。
図 20: 制御システム調整器に保存された調整ブロックの値。
非線形シミュレーションの結果が図 21 に表示されています。非線形の動作は線形近似よりも大幅に悪くなり、誤差は内側のループの飽和までたどることができます (図 22 を参照)。
図 21: 調整コントローラーの非線形シミュレーション。
図 22: 電流コントローラーの出力 (+/- 5 に制限される)。
飽和の回避
ここまでは、外側 (速度) ループの目的の応答時間のみを指定しました。これにより、systune
は内側のループと外側のループ間で制御操作を自由に割り当てることができます。内側のループの飽和は、比例ゲインが高すぎることおよび再分配が必要であることを示します。可能な修復方法の 1 つは、スピード コマンドから P コントローラーおよび PI コントローラーの出力へのゲインを明示的に制限することです。速度指令が 2000 rpm で飽和制限が +/- 5 の場合、平均のゲインは 5/2000 = 0.0025 を超えません。標準的にするには、速度指令からコントローラー出力へのゲインを 0.001 より小さい値で維持します。これを行うには、2 つのゲイン要件を追加し、3 つのすべての要件に対応するようコントローラーのゲインを再調整します。
速度要求から制御信号へのゲインを制限し、[調整] タブで 2 つの新規目標を指定して飽和を回避します。制御信号は以前に定義されていないため、Simulink モデルから制御信号を選択する必要があります。
図 23: 速度要求から速度 PID の制御信号への [ゲイン目標] ダイアログ。
図 24: 速度要求から現在の PID の制御信号への [ゲイン目標] ダイアログ。
新規ゲイン目標は、"制御システム調整器" の [調整目標] セクションに表示されます。
図 25: 制御システム調整器に追加される 2 つのゲイン目標。
これらの追加の要件を使用して再調整します。ツールの右下にある [調整レポート] には、最悪のゲイン 1.39 が表示されています。これは、要件はほぼ満たされているが完全ではないことを示しています (すべての要件は、最終的なゲインが 1 未満の場合に満たされます)。
図 26: 再調整後の [調整レポート]。
次に、[Control System]
タブの [Compare]
をクリックして線形領域の 2 つの設計を比較します。
図 27: 2 つの設計の比較。
2 番目の設計はアグレッシブさが低くなりますが、応答時間の要件は満たしています。
図 28: 2 つの設計のステップ応答。
最後に、[Update Blocks]
で新規の調整済みゲイン値を Simulink モデルにプッシュし、2000 rpm の速度要求と 500 N の負荷外乱への応答をシミュレートします。シミュレーション結果を図 29 に示し、電流コントローラーの出力を図 30 に示します。
図 29: ゲイン制約による調整の非線形応答。
図 30: 電流コントローラーの出力。
非線形応答は満たされて、電流ループは飽和しなくなります。追加のゲイン制約によって systune
は内側のループと外側のループ間で制御操作を再分散し、飽和を回避します。