電圧モード昇圧コンバーター用フィードバック アンプの設計
この例では、ループ整形設計と固定構造調整の手法を使用して、昇圧コンバーターの出力電圧を制御するために電源コントローラーのコンポーネントを調整する方法を説明します。このワークフローは、昇圧コンバーター モデルと III 型コントローラーを使用して示されます。
この例を実行するには、Mixed Signal Blockset® のライセンスが必要です。
パワー トレイン
この例では [1] で定義されている昇圧コンバーターとフィードバック アンプ回路を使用します。
電源システムは、電圧源、昇圧パワー トレイン、負荷、フィードバック アンプ、およびパルス幅変調器で構成されています。昇圧コンバーターは、入力電圧 を出力電圧 に変換します。負荷 にかかる出力電圧が測定され、 は負荷を通る電流です。この変換は、パルス幅変調器の出力でのパルス デューティ比 によって制御され、パルス幅変調器はフィードバック アンプにより制御されます。フィードバック アンプは出力電圧を検知し、電源電圧、負荷電流、および負荷抵抗の変化に応じて、出力電圧を基準電圧 の固定倍にしようと試みます。
昇圧コンバーター モデル
[2] で観察されたデューティ比と出力電圧の値を使用して指定された操作点で、定義されたコンポーネント値をもつ昇圧コンバーターの伝達関数モデルを作成します。ここでは、補助関数 getBoostConverterPlant
(この例のフォルダーで利用可能) を使用してこのモデルを設定します。詳細については、周波数応答データを使用した昇圧コンバーター モデルのコントローラーの設計 (Simulink Control Design)を参照してください。
boostConverterPlant = getBoostConverterPlant(); boostConverterPlant.InputName = {'d'}; boostConverterPlant.OutputName = {'Vo'};
III 型補償器をもつ調整可能な制御アーキテクチャ
次に、以下のアーキテクチャ図に示すように、III 型補償器をフィードバック アンプとして、また単純なゲイン ブロックを変調器ゲインとして使用して、昇圧コンバーターの閉ループ システムを設定します。
その目的は、基準電圧と出力電圧間の誤差を増幅する III 型補償器の抵抗 (R1
、R2
、R3
) および静電容量 (C1
、C2
、C3
) の値を調整することです。III 型補償器は、高低両方の周波数応答を改善する一方で、中間周波数範囲において位相を進める可能性があります。
III 型補償器用の調整可能な線形システムの作成
III 型補償器の構造は、ネットリスト ファイル TypeIII_simple.sp
で定義されています。補助関数 getControlModel
を実行します。これは Linear Circuit Wizard ブロックを使用してファイルを解析し、調整可能な線形モデルを抽出します。補助関数 configureTunableBlock
を使用して補償器を構成し、調整可能なゲインを直列で使用して、最終的な controlBlock
を取得します。
modelName = 'TypeIIICompensator'; load_system(modelName); lcwBlock = [modelName,'/Linear Circuit Wizard']; loadConfiguration(lcwBlock,'TypeIII_simpleCfg.mat'); % You can now open the mask of the Linear Circuit Wizard % and examine or adjust the circuit configuration. % Construct the symbolic model. msblks.Circuit.packageCircuitAnalysis(lcwBlock,'Linear analysis'); compensator = getControlModel(lcwBlock,TypeIII_simpleCfgSymbolicModel); compensator = configureTunableBlock(compensator); K = realp('K',-1); K.Minimum = -1.2; K.Maximum = 0; controlBlock = K*compensator; controlBlock.InputName = {'e'}; controlBlock.OutputName = {'d'};
調整可能なブロックと固定ブロックの接続による閉ループ システムの作成
eSum = sumblk('e = Vref - VoMeasured'); dSum = sumblk('VoMeasured = dVo + Vo'); closedLoopSystem = connect(controlBlock,boostConverterPlant,eSum,dSum,{'Vref','dVo'},'VoMeasured',{'e','d'});
ループ整形設計
まず、開ループ昇圧コンバーター プラントの安定余裕と周波数応答を表示します。
figure; margin(boostConverterPlant);
設計要件
以下の設計要件を使用して、安定したターゲットのループ整形を定義します。
低周波数でのゲインを増加します。これにより、基準電圧の追跡と出力電圧の外乱の抑制の過渡特性が改善され、さらに定常偏差が低減されます。
中間の周波数で位相を加えて帯域幅を増やし (応答時間を削減)、正のゲインと位相余裕によって安定性を実現します。
出力電圧に生じる高調波、およびノイズを含む測定値により発生する制御信号の振動を減衰させることで、高周波数におけるゲインを減らして、閉ループ システムをロバストにします。
補助関数 getTuningGoals
を使用して以下の調整目標オブジェクトを作成します。これらは、システム調整時の制約とオブジェクティブを定義する上で役立ちます。
marginsGoal
- 5 dB のゲイン余裕制約と 30 度の位相余裕制約をもつTuningGoal.Margins
。これらの制約は安定性を適用し、またviewGoal
を使用して、ループが不安定になるまでに、さまざまな周波数でどの程度の不確かさを許容できるかを可視化する上でも役立ちます。minLoopGainGoal
- 積分動作のゲイン プロファイルと 1 KHz の帯域幅をもつTuningGoal.MinLoopGain
。この制約は、低周波数範囲 (10 Hz ~ 200 Hz) で適用されます。maxLoopGainGoal
- 2 重積分器のゲイン プロファイルと -40 dB/decade のロールオフをもつTuningGoal.MaxLoopGain
。高周波数範囲 (1.5 KHz ~ 15 KHz) で適用されます。
[marginsGoal, minLoopGainGoal, maxLoopGainGoal] = getTuningGoals();
システムの調整
ここで、systune
を使用してシステムを調整します。すなわち、開ループ応答により目的の設計要件が満たされるように、調整可能なパラメーター (C1
、C2
、C3
、R1
、R2
、R3
、および K
) の値を計算します。
まず systuneOptions
オブジェクトを作成し、高帯域幅のループ整形の調整に合わせて、最小減衰率と最大スペクトル半径の値を調整します。また、終了の相対許容誤差の基準を下げます。
opts = systuneOptions; opts.MinDecay = 1e-15; opts.MaxRadius = 1e15; opts.SoftTol = 1e-10;
systune
を使用して、余裕目標をオブジェクティブ (柔軟な目標) として適用し、最小と最大のループ ゲイン目標を制約 (厳密な目標) として適用することで、システムを調整します。調整によって、厳密な目標を満たし柔軟な目標を最適化する、収束した結果が返されます。柔軟な目標と厳密な目標の最良の達成値は、いずれも 1 未満です。
tunedClosedLoopSystem = systune(closedLoopSystem,marginsGoal,[minLoopGainGoal,maxLoopGainGoal],opts);
Final: Soft = 0.838, Hard = 0.99984, Iterations = 1113
結果の解析
調整後のシステムの結果と目的の仕様との比較表示
調整後のシステムを調整目標と比較するプロットを作成し、目的の仕様がどの程度満たされているかを示します。各プロットの影付きの領域は、調整目標が満たされていない範囲を表しています。プロットは、追従誤差と安定余裕の制約が満たされており、また特定の周波数範囲における最小と最大のループ ゲインのオブジェクティブが最適化されていることを示しています。
viewGoal(marginsGoal,tunedClosedLoopSystem);
viewGoal(minLoopGainGoal,tunedClosedLoopSystem);
viewGoal(maxLoopGainGoal,tunedClosedLoopSystem);
調整後のループ整形および安定余裕の表示
調整後の開ループ システムの余裕プロットは、達成されたゲインおよび位相余裕とともに、帯域幅とロバスト性を示しています。
tunedLoopShape = getLoopTransfer(tunedClosedLoopSystem,'d',-1); figure; margin(boostConverterPlant); hold on; margin(tunedLoopShape); grid on; legend('show','Location','best');
閉ループ システムのステップ応答の表示
基準電圧の追跡と出力電圧の外乱の追跡に関するステップ応答プロットは、応答が定常偏差なしに十分短い整定時間で落ち着くことを示しています。
figure; step(getIOTransfer(tunedClosedLoopSystem,'Vref','VoMeasured')); title('Step Tracking of Reference Voltage'); grid on;
figure; step(getIOTransfer(tunedClosedLoopSystem,'dVo','VoMeasured')); title('Step Rejection of Output Voltage Disturbance'); grid on;
調整後のコンポーネント値
コントローラー入力 e
からデューティ比 d
への伝達関数を取得し、調整後のコンポーネント値を表示します。
tunedCompensator = getIOTransfer(tunedClosedLoopSystem,'e','d','d'); showTunable(tunedCompensator);
C1 = 5.63e-08 ----------------------------------- C2 = 2.56e-09 ----------------------------------- C3 = 1e-11 ----------------------------------- K = -1.2 ----------------------------------- R1 = 2.37e+05 ----------------------------------- R2 = 1.12e+04 ----------------------------------- R3 = 1e+04
シミュレーション結果
調整後のコントローラーでのシミュレーション結果
open_system("VoltageControlledBoostConverter.slx");
LTI System ブロックを使用して III 型補償器を実装し、モデルをシミュレートして性能を調べます。モデルでは次の外乱を使用します。
t = 0.04 秒での回線の外乱により、入力電圧
Vin
が 5 V から 10 V に上昇。t = 0.065 秒での負荷外乱により、負荷抵抗
RLoad
が 3 Ωから 6 Ωに上昇。
結果は、調整後のフィードバック アンプが回線と負荷の外乱を良好に抑制することを示しています。
参考文献
[1] Lee, S. W."Practical Feedback Loop Analysis for Voltage-Mode Boost Converter."Application Report No. SLVA633. Texas Instruments, January 2014. https://www.ti.com/lit/an/slva633/slva633.pdf.
[2] Ahmadi, Reza, and Mehdi Ferdowsi, "Modeling Closed-Loop Input and Output Impedances of DC-DC Power Converters Operating inside DC Distribution Systems."2014 IEEE Applied Power Electronics Conference and Exposition - APEC 2014.IEEE, March 2014. https://ieeexplore.ieee.org/document/6803449.