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

シミュレートされた I/O データを使用した PID コントローラーの設計

この例では、線形化できないプラントに対する PID コントローラーの調整方法を説明します。PID 調整器を使用してモデルのプラントを同定します。その後、同定したプラントを使用して PID コントローラーを調整します。

この例では、Simscape™ Electrical™ ソフトウェアを必要とする降圧コンバーター モデルを使用します。

降圧コンバーター モデル

降圧コンバーターは、DC を DC に変換します。このモデルでは、スイッチング電源を使用して、DC 30 V の電源電圧を、制御された DC 電源電圧に変換します。このコンバーターは、理想的なスイッチではなく MOSFET を使用してモデル化することで、デバイスのオン抵抗が確実に正しく表現されるようにしています。このコンバーターの基準電圧から測定電圧までの応答は、これらの MOSFET スイッチを含んでいます。PID 設計には基準電圧から測定電圧へのシステムの線形モデルが必要です。しかし、スイッチがあるため、自動線形化によってゼロのシステムが得られます。この例では、PID 調整器を使用して、線形化ではなくシミュレーションによってこのシステムの線形モデルを同定します。

降圧コンバーター モデルの作成の詳細については、降圧コンバーター (Simscape Electrical)を参照してください。

open_system('scdbuckconverter')
sim('scdbuckconverter')

このモデルには、0.004 秒で 15 V から 25 V に切り替わる基準電圧と、0.0025 秒から 0.005 秒まで有効な負荷電流が設定されています。既定のゲインで初期化されたこのコントローラーでは、オーバーシュートが発生し、長い整定時間がかかっています。

open_system('scdbuckconverter/Scope 1')
open_system('scdbuckconverter/Scope 2')

モデルのシミュレーションによる I/O データの生成

PID 調整器を開くには、Feedback Controller サブシステムで PID Controller ブロックのダイアログを開き、[調整] をクリックします。PID 調整器に、モデルを線形化できずゼロのシステムが返されたことが表示されます。

PID 調整器では、線形化に失敗した場合、いくつかの代替方法が提供されます。[Plant] ドロップダウン リストで次のいずれかの方法を選択できます。

  • インポート - MATLAB ワークスペースから線形モデルをインポートします。

  • 閉ループの再線形化 - 異なるシミュレーションのスナップショット時間でモデルを線形化します。

  • 新規プラントの同定 - 測定データを使用してプラント モデルを同定します。

この例では、[新規プラントの同定] をクリックして、プラントの同定ツールを開きます。

モデルをシミュレートしてプラント同定のためのデータを収集するツールを開くには、[プラントの同定] タブで [I/O データの取得]、[データのシミュレーション] をクリックします。

[I/O データのシミュレーション] タブで、コントローラーによって認識されるプラントをシミュレートします。一時的に次の処理が実行されます。

  • モデルから PID Controller ブロックを削除する。

  • PID ブロックの出力が使用していた信号を挿入する。

  • PID ブロックへの入力が使用していた結果の信号を測定する。

このデータは、コントローラーによって認識されるプラントの応答を表しています。PID 調整器では、この応答データを使用して線形プラント モデルが推定されます。

入力信号を次のプロパティをもつステップ入力として構成します。

  • サンプル時間 () = 5e-6 - コントローラーのサンプルレート。

  • オフセット () = 0.51 - コンバーターの出力電圧を 15V に近い状態にし、コントローラーを調整する操作点が得られる出力オフセット値。

  • オンセット時間 () = 0.003 - ステップ変化を印加するまでに、コンバーターが 15V の定常状態に到達するために十分な時間を与える遅延。

  • ステップ振幅 () = 0.4 - モデルに適用するコントローラー出力 (プラントの入力) のステップ サイズ。この値がオフセット値 に追加されるため、実際のプラントの入力は 0.51 から 0.91 にステップします。コントローラーの出力 (プラントの入力) は、[0.01 0.95] の範囲に制限されています。

[入力応答の表示][オフセット応答の表示]、および [同定データの表示] を選択します。次に [シミュレーションを実行] をクリックします。[プラントの同定] プロットが更新されます。

赤い曲線がオフセット応答です。オフセット応答とは、定数入力 に対するプラントの応答です。この応答から、このモデルは定数入力の場合に一部過渡的な特性をもっていることがわかります。具体的には次のとおりです。

  • コンバーターが 15 V の定常状態に到達する [0 0.001] 秒の範囲。この信号は制御誤差の信号であるため、定常状態に到達する過程でゼロにまで減少していく点に留意してください。

  • コンバーターが基準電圧を 15V に維持した状態での電流負荷の印加に反応する [0.0025 0.004] 秒の範囲。

  • 基準電圧の信号が 15 V から 25 V に変化して制御誤差信号が増大する 0.004 秒の点。

  • コンバーターが電流負荷の除去に反応する [0.005 0.006] 秒の範囲。

青い曲線は、初期の過渡状態からの寄与 (0.001 秒未満の時間で有意)、周期的な電流負荷への応答 (時間範囲 0.0025 ~ 0.005 秒)、基準電圧の変化 (0.004 秒)、およびステップ テスト信号への応答 (時間 0.003 秒で印加) を含む、完全なプラント応答を示します。これに対して、赤い曲線は初期の過渡状態、基準電圧ステップ、および周期的な電流負荷のみへの応答です。

緑の曲線が、プラントの同定に使用されるデータです。この曲線は、ステップ テスト信号から生じる応答の変化を示します。これは、負のフィードバック符号を考慮した青い曲線 (入力応答) と赤い曲線 (オフセット応答) の間の相違です。

この測定データを使用してプラント モデルを同定するには、[適用] をクリックします。その後、[閉じる] をクリックしてプラントの同定に戻ります。

プラントの同定

PID 調整器は、モデルのシミュレーションによって生成されたデータを使ってプラント モデルを同定します。同定されたプラントのパラメーターを調整することで、測定入力を提供したときの同定プラントの応答が測定された出力に一致するようにします。

推定モデルは手動で調整できます。プラント曲線と極配置 (X) をクリックしてドラッグすることで、同定したプラント応答を調整し、同定データとできる限り一致させます。

自動同定を使用して同定されたプラントを調整するには、[自動推定] をクリックします。自動調整で得られた応答は、対話型の調整で得られる結果に対して、それほど優位性はありません。同定したプラントと同定データが十分に一致していません。一致させるために、プラントの構造を変えます。

  • [構造] ドロップダウン リストで [不足減衰ペア] を選択します。

  • 2 次の包絡線をクリックしてドラッグすることで、同定データにできる限り一致させるようにします (ほぼ臨界減衰の状態)。

  • [自動推定] をクリックしてプラント モデルを微調整します。

同定されたモデルをコントローラー調整のための現在のプラントに指定するには、[適用] をクリックします。すると PID 調整器は、同定されたプラントについてコントローラーを自動的に調整して設定値追従のステップ プロットを更新します。

コントローラーの調整

PID 調整器では、同定したプラントに対する PID コントローラーが自動的に調整されます。調整後のコントローラー応答はオーバーシュートが約 5% で、整定時間は約 6 秒になります。設定値追従のステップ プロットをクリックして、これを現在の Figure にします。

コントローラーの出力は PWM システムのデューティ比であり、[0.01 0.95] に制限されていなければなりません。コントローラーの出力がこの範囲制限を満たしているかどうかを確認するには、コントローラーの出力のプロットを作成します。[PID 調整器] タブの [プロットの追加] ドロップダウン リストで、[ステップ] の下にある [コントローラーの出力] をクリックします。新しく作成した [コントローラーの出力] プロットを 2 番目のプロット グループに移動します。

[コントローラーの出力] プロットでは、調整後の応答 (実線) に、シミュレーションの開始時に必要とされる大きな制御効果が示されています。約 4 秒の整定時間と 9% のオーバーシュートを達成するため、[応答時間][過渡動作] のスライダーを調節します。この調節によって、最大制御効果が許容範囲まで下がります。

調整されたコントローラーの値で Simulink ブロックを更新するため、[ブロックの更新] をクリックします。

この PID コントローラーの性能を確認するには、Simulink モデルをシミュレートします。

bdclose('scdbuckconverter')