周波数応答データを使用した昇圧コンバーター モデルのコントローラーの設計
この例では、Simscape™ Electrical™ コンポーネントを使用して、Simulink® でモデル化されたパワー エレクトロニクス システム用に PID コントローラーを設計する方法を説明します。
通常の場合、パワー エレクトロニクス システムはパルス幅変調 (PWM) 発生器などの高周波数のスイッチング コンポーネントを使用するため、線形化することができません。しかし、大半の Simulink® Control Design™ の PID 調整ツールは、線形化されたプラント モデルに基づいて PID ゲインを設計します。線形化できないパワー エレクトロニクス モデルに対し、そのようなモデルを取得するには、以下を行うことができます。
この例に示すように、特定の周波数範囲にわたるプラントの周波数応答を推定する。
System Identification Toolbox™ ソフトウェアを使用してプラントの線形モデルのパラメーターを推定する。例については、シミュレートされた I/O データを使用したパワー エレクトロニクス モデルのコントローラーの設計を参照してください。
昇圧コンバーター モデル
ここではパワー エレクトロニクス システムの例として昇圧コンバーター モデルを使用します。昇圧コンバーター回路は、電圧源のチョッピングまたはスイッチング制御によって、ある DC 電圧を別の (通常はより高い) DC 電圧に変換します。
mdl = 'scdboostconverter';
open_system(mdl)
このモデルではパルス幅変調 (PWM) 信号で駆動する MOSFET をスイッチ動作に使用します。出力電圧 は参照値 に調整する必要があります。デジタル PID コントローラーが、電圧誤差信号に基づき PWM デューティ比 を調整します。この例では、PWM デューティ比から負荷電圧 への周波数応答を推定します。
Simscape Electrical ソフトウェアには、多くのパワー エレクトロニクス システム用の事前定義されたブロックが含まれています。このモデルには、昇圧コンバーター モデルの 2 つのバージョンをもつバリアント サブシステムが含まれます。
電力コンポーネントを使用して作成された昇圧コンバーターの回路。回路コンポーネントのパラメーターは [1] に基づきます。
昇圧コンバーター回路と同じパラメーターをもつように設定された昇圧コンバーター ブロック。このブロックの詳細については、Boost Converter (Simscape Electrical)を参照してください。
モデルの操作点の検出
昇圧コンバーターのコントローラーを設計するには、まず、コンバーターが動作する定常状態の操作点を特定しなければなりません。操作点の検出の詳細については、Simscape モデルの定常状態の操作点の検出を参照してください。この例では、シミュレーションのスナップショットから推定された操作点を使用します。
操作点を検出するには、モデル線形化器を使用します。モデル線形化器を開くには、Simulink モデル ウィンドウの [アプリ] タブで [モデル線形化器] をクリックします。
モデル線形化器の [線形解析] タブで、[操作点] ドロップダウン リストから [シミュレーションのスナップショットを撮る] を選択します。
[線形化するスナップショット時間を入力] ダイアログ ボックスで、[シミュレーションのスナップショット時間] フィールドに 0.045
と入力します。これは閉ループ システムが定常状態に達するのに十分な時間です。
[スナップショットを撮る] をクリックします。
ソフトウェアはモデルをシミュレートして、指定されたスナップショット時間でのモデルの入力値と状態値を含む操作点を作成します。この操作点 op_snapshot1
が [線形解析ワークスペース] に追加されます。
計算した操作点でモデルを初期化するには、op_snapshot1
をダブルクリックします。
[編集] ダイアログ ボックスで [モデルの初期化] をクリックします。
[モデルの初期化] ダイアログ ボックスで [MATLAB ワークスペース] を選択して [OK] をクリックします。ソフトウェアは MATLAB® ワークスペースに操作点をエクスポートし、その操作点の入力と状態でモデルを初期化します。
周波数応答データの収集
周波数応答データを収集する前に、最初に周波数応答を求めるモデルの部分を指定しなければなりません。次の例では、モデルには PID Controller ブロックの出力と入力に、開ループの入力と出力の線形解析ポイントが含まれています。
周波数応答データを収集するには、入力信号も指定しなければなりません。この例では固定ステップの sinestream 信号を使用します。sinestream の入力信号の定義の詳細については、sinestream 入力信号を参照してください。
[推定] タブの [入力信号] ドロップダウン リストで [固定サンプル時間 Sinestream] をクリックします。
[固定サンプル時間の指定] ダイアログ ボックスで、[サンプル時間] を 5e-6
秒に指定します。Sinestream 入力信号のサンプル時間は入力の線形解析ポイントのサンプル時間と一致しなければなりません。
[OK] をクリックします。
[固定サンプル時間をもつ sinestream の入力を作成] ダイアログ ボックスで、sinestream 信号のパラメーターを構成します。
推定の周波数単位を指定します。[周波数単位] ドロップダウン リストで Hz
を選択します。
この例では、周波数応答の推定において周波数ごとに 1 つのシミュレーションを使用するか、すべての周波数で 1 つのシミュレーションを使用することができます。[シミュレーション順] ドロップダウン リストで、既定のオプション [すべての周波数に 1 回のシミュレーション] を選択します。Parallel Computing Toolbox™ ソフトウェアがある場合、[各シミュレーションにつき 1 つの周波数] を選択して推定用に並列プールを有効にすることで、周波数応答の推定を高速化できます。並列プールを有効にするには、[推定] タブで [追加オプション] をクリックしてから、ダイアログ ボックスで [推定中に並列プールを使用] を選択します。
プラント応答を推定する周波数を指定するには、+
アイコンをクリックします。
[周波数の追加] ダイアログ ボックスで、15
個の対数的に等間隔な周波数を 50 Hz
~ 5 kHz
の範囲で指定します。
[OK] をクリックします。
システムが確実に正しく励起されるようにするため、すべての周波数での振幅を設定します。入力の振幅が大きすぎる場合、昇圧コンバーターは不連続の電流モードで動作します。入力の振幅が小さすぎる場合、sinestream がパワー エレクトロニクス回路のリップルと区別できなくなります。どちらの状況でも、周波数応答の推定結果は不正確になります。
振幅を設定するには、最初にプロット領域内のすべての周波数を選択します。その後、[振幅] フィールドに 0.01
と入力します。
他のすべての sinestream 設定は既定値のままにします。
sinestream 信号を作成するには、[OK] をクリックします。
モデルには、周波数応答の推定に干渉するステップ関数としてモデル化される、時変の回線および負荷の外乱があります。シミュレーションの処理中にこれらの外乱を一定に保つには、[追加オプション] をクリックします。次に、[周波数応答の推定のオプション] ダイアログ ボックスで、[時変ソース] タブの [時変ソース ブロックを自動的に検出して追加] をクリックします。
周波数応答を推定してプロットするには、[推定] タブで [ボード線図] をクリックします。
周波数応答が推定され、[ボード線図 1] に結果が表示されます。周波数応答は離散点を使ってプロットされ、ピーク応答が 1200 ~ 1600 rad/s の間であることがわかります。
PID コントローラーを調整するには、周波数応答を MATLAB ワークスペースにエクスポートしなければなりません。[データ ブラウザー] で estsys1
を [線形解析ワークスペース] から [MATLAB ワークスペース] にドラッグします。
コントローラーの構造の指定
PID 調整器を使用して PID Controller ブロックを調整する前に、まず、コントローラーの構造を指定しなければなりません。そのためには PID Controller ブロックをダブルクリックします。その後、次のコントローラー パラメーターを指定します。
コントローラー
形式
時間領域
離散時間設定
コントローラーの初期条件、出力の飽和レベル、アンチワインドアップ構成などの、その他の設定
この例では、現在のコントローラー構成、つまり、アンチワインドアップを使用しない離散時間の並列形式 PID コントローラーを使用します。
PID 調整器を使用して、次のコントローラー ブロックのパラメーターを調整できます。
モデルが Simscape Electrical のDiscrete PI Controller (Simscape Electrical)ブロックまたはDiscrete PI Controller with Integral Anti-Windup (Simscape Electrical)ブロックを使用する場合、調整の前にこのブロックを PID Controller ブロックに置き換えなければなりません。
コントローラーの調整
PID 調整器を開くには、[調整] をクリックします。最初に開くときに、PID 調整器はモデルを線形化しようとします。PWM コンポーネントがあるため、モデルは解析的にゼロに線形化します。
この例では、推定された周波数応答データをプラント モデルとして使用してコントローラーを調整します。周波数応答データをインポートするには、[PID 調整器] タブで [Plant] をクリックしてから、[新規プラントの作成] で [インポート] をクリックします。
[プラント モデルの取得] ダイアログ ボックスで [LTI システムのインポート] を選択し、表で estsys1
を選択します。
[インポート] をクリックします。
推定された周波数応答を使用しているため、PID 調整器はステップ応答をプロットできません。周波数応答を表示するには、[プロットの追加] をクリックし、[ボード線図] の下で Open-loop
をクリックします。
[ステップ プロット] ドキュメントを閉じます。
ボード線図にはブロックの応答 (破線) と調整された応答 (実線) が表示されます。ブロックの応答は、PID Controller ブロックの現在の PID ゲインの開ループ応答です。調整された応答は、PID 調整器の調整された PID ゲインを使用した開ループ応答です。
帯域幅と位相余裕に対してコントローラーを調整するには、コントローラーを周波数領域で設計します。[領域] ドロップダウン リストで Frequency
を選択します。
この例では、[帯域幅] と [位相余裕] を、[1] で指定される設計基準に基づいてそれぞれ 9425 rad/s (1.5 kHz) と 60 度に設定します。
PID 調整器はこれらの設計仕様を満たすコントローラー パラメーターを選択します。
ゲイン余裕と位相余裕を含めて、調整されたコントローラー パラメーターと性能のメトリクスを表示するには、[パラメーターの表示] をクリックします。調整結果では、ゲイン余裕が無限大、位相余裕が約 9425 rad/s で 65 度になります。
PID Controller ブロックをこれらの調整ゲインで更新するには、[ブロックの更新] をクリックします。
コントローラーの検証
回線および負荷の外乱を含むシミュレーションを使用して、調整されたコントローラーの性能を調べることができます。コントローラーの動的な性能を調べるため、Simulink モデルは次の外乱を使用します。
t = 0.075 秒で回線の外乱により入力電圧 が 5 V から 10 V に上昇。
t = 0.1 秒で負荷外乱により負荷抵抗 が 3 オームから 6 オームに上昇。
モデルのシミュレーションを実行します。
コントローラーは、回線と負荷の外乱を適切に抑制します。
参考文献
[1] Lee, S. W."Practical Feedback Loop Analysis for Voltage-Mode Boost Converter."Application Report No. SLVA633. Texas Instruments.January 2014. www.ti.com/lit/an/slva633/slva633.pdf