【電源回路】電流モード制御フルブリッジコンバータの動作モデルを作った

みなさま、お疲れ様です。

少し前にフルブリッジコンバータの動作原理を解説して、シミュレーションで動作確認して、電圧モード制御のフルブリッジコンバータ動作モデルを作りました。さらに伝達関数がどうなるかを考えました。

そのときの記事は以下です↓。良かったら読んでみて下さい。

今回は電流モード制御フルブリッジコンバータの動作モデルをPspice for TIで作りました。

動作条件は以下の通りです。

項目
入力電圧400[V]
出力電圧12[V]
スイッチング周波数10[kHz]
制御モード電流モード制御
負荷電流40A(≒500W)

では、やってみます。

スポンサーリンク

回路全体

電流モード制御フルブリッジコンバータ

だいぶごちゃごちゃしてますね。試行錯誤したから汚いです。

ちなみに動作波形は以下のようになります。

シミュレーション波形
VGATE1:M1,M4のゲート電圧
VGATE2:M2,M3のゲート電圧
VSW:スイッチング電圧(出力コイルの左端電圧)
IL:出力コイル電流
Vout:出力電圧

ちゃんと狙いの出力電圧12Vに収束しています。スイッチング波形の乱れもなし。

問題なしです。

とりあえず動いてくれて一安心です。以下では何を考えて、どこをどう設定したのかを解説したいと思います。

周辺定数の設定

巻き線比Nや出力コイルのインダクタ値Lや出力コンデンサ容量値Cを設定していきます。

巻き線比は2次側の電圧を30Vくらいになるようにします。(てきとー)

$$\small{N=\frac{30}{400}=0.075}$$

リップル電流はいくつにしましょうかね。大体30%でしょうかね。プラントが1次系にできりゃいいんでね。

$$\small{ΔIL=40A*0.3=12A}$$

でかいっすね。まぁヨシとします。このリップル電流になるようにLを設定します。

$$\small{
ΔIL=\frac{ΔVL}{L}*ton\\
L=\frac{N*Vin-Vout}{ΔIL}*Duty*f_{pwm}\\
L=\frac{N*Vin-Vout}{ΔIL}*\frac{Vout}{N*Vin}*\frac{1}{f_{pwm}}\\
L=\frac{30-12}{12}*\frac{12}{30}*\frac{1}{10k}=60uH
}$$

L=60uHですね。切り良くL=100uHとしましょうか。(計算はなんだったんだ。)

コンデンサはどうしましょうかね。正攻法で行くと目標のリップル電圧から計算するのが正しいでしょうが、めんどいですね。

C=800uFにします。

r_L=10mΩ、r_C=10mΩとします。(電解コンデンサをめっちゃ並列してるって設定です。)

項目
巻き線比0.075
L100uH
C800uF
r_L10mΩ
r_C10mΩ

これで制御設計してみます。

制御設計

基本的な設計思想は過去記事で書いた非絶縁型降圧スイッチングレギュレータの設計方法と同様です。

出力電圧と出力コイル電流をフィードバックすることにより、プラント伝達関数を1次遅れ系にします。

以下では伝達関数を使用して周波数特性を確認してきます。伝達関数は過去記事で書いたものを使用します。

まずはDuty-Voの伝達関数Gdvの周波数特性

Gdvの伝達関数
Gdvの周波数特性

次にDuty-ILの伝達関数Gdiの周波数特性

Gdiの伝達関数
Gdiの周波数特性

Gdvと同じ周波数で180deg回っている。

Gdiをフィードバックすることにより、プラント伝達関数は1次遅れ系となります。

コイル電流をフィードバック。帰還率=0.2にした。
近似的に30Hzにポールがある1次遅れ系に見なせる。

ここにコントローラーを入れます。この30Hzポールに位相補償のゼロ点をブチ当てて、キャンセルします。そんでごちゃごちゃしている高域はポールを入れてバキッと落とします。

コントローラー挿入
あとはDCゲインと1/sを入れたら自由に特性を決められる。

積分要素1/s入れて、いい感じのゼロクロス周波数になるようにDCゲインを調整したら設計終了です。

e^-stはむだ時間要素

はい、位相余裕度が45deg以上確保できたところで制御設計終了です。

先ほどの全体回路図の以下の箇所で実現してます。

制御器部分
コイル電流フィードバック部分
コイル電流のフィードバック先

SLOPE補償

電流モード制御ではDuty>50%でサブハーモニック発振という現象が生じるのでその対策でSLOPE補償をコイル電流のフィードバック電圧に足してあげる必要があります。

SLOPE補償の傾きはOFF時の電流傾きの1/2より大きくしておくが条件です。コイル電流は以下の計算で得られます。

$$\small{
ΔIL=\frac{1}{2}\frac{NVin-Vo}{L}T_{PWM}*Duty
=\frac{1}{2}\frac{0.075*400-12}{100u}100u*\frac{12}{0.075*400}
=\frac{1}{2}7.2A=3.6A
}$$

フルブリッジコンバータなので割る2です。OFF時間は以下の計算で得られます。

$$\small{
T_{OFF}=T_{PWM}*(1-Duty)
=100u*\left(1-\frac{Vo}{N*Vin}\right)
=100u*\left(1-\frac{12}{0.075*400}\right)
=60usec
}$$

フルブリッジコンバータなのでこれも割る2で30usecです。なのでOFF時の電流傾きは3.6A/30usecです。

電圧変換係数は0.2なので0.72V/30usecです。なのでSLOPE補償の傾きは>0.36V/30usecにしたらOKです。

0.4V/30usecとしましょうかね。0.013V/1usecですね。

回路では以下のように実現しています。

SLOPE補償回路

コンデンサに定電流を流して線形に上がっていく電圧波形を作っています。0.013V/1usecになる様に電流とコンデンサ容量値を設定します。

PWM波形生成部

あとはまぁ、って感じでPWM波形に変換する回路を作ります。

PWM波形生成部

RS-FFに100us周期ごとにV12とV11でset信号が来るようにして、OPAMPでリセット信号を作って、PWM信号を作っています。

そんでシミュレーションを回すと最初の波形が得られます。

スイッチング波形の乱れもDutyの乱れもないので、安定制御出来ているでしょう。ってことはやっぱりプラント伝達関数の考え方も間違ってないでしょう。ということで今日はこれで以上です。

誰かの参考になれば幸いです。最後までお読みいただきありがとうございました!!!