多相スイッチング電源である相だけ停止させる方法
研究でマルチフェーズ方式のDC-DCコンバータについてやってるので,変わったテクニックの備忘録.
マルチフェーズ方式では,負荷の状況に応じて,相数を切り替えることで低負荷でも高効率で駆動することができる.切り替える方法は,スイッチング素子をゲートロックすることが一番手っ取り早い.
ただし,同期整流の場合は注意すべきポイントがある(非同期の場合は問題にならない).
今回は,TI社が供給するマイコンC2000シリーズTMS320F28377SのPWM機能でゲートロックさせる方法を紹介する.
マルチフェーズ方式のDC-DCコンバータは,こんな回路構成になっている.相数をNとすると,1相目に対してn相目は,\( 360/N\cdot n\)度だけずらしてスイッチングすることで,出力キャパシタに流れる電流を小さくすることができ,回路の小型化につながる.
さて,ある相を停止させる場合,ゲート信号をどうしたら良いのだろうか.非同期整流であれば,単純にDuty比をゼロにするだけで停止させることができる.では,同期整流の場合はどうだろうか.
降圧型DC-DCコンバータは下図のような構成になっている.
この回路で,Q1のゲートをDuty比の操作によりOFF状態.すると,Q2のゲート信号はQ1のそれを反転させたものになるので,当然ベタONになる.
非同期の場合問題にならないのは,Q2がダイオードなので,GND側から電流が流れることはあっても,GND側に流れることはないからである.
今,Q1-Q2の接続点電圧は,Q2の導通によりGNDに落ちている.このとき当然もう片方の相は駆動しているので,出力電圧は発生している.
すると,インダクタには逆方向の電流が流れ,Q2に流れる.
結果,停止させたはずの相は想定されていない形で駆動を続ける.
同期整流の場合,その相を停止させたければQ1,Q2両方ともベタOFFにすることで解決する.
ハード的に解決したければ,AND回路を追加して,停止信号とゲート信号を入力にすればよい.ただし,この手法は回路の追加が必要なので面倒である.できれば,マイコン内部で解決したいところである.
そこで,ePWM内のTrip-Zoneと呼ばれるサブモジュールを使う.これは通常,過電流など回路保護のために用意されている.1cycle以内に遮断してくれるため大変便利である.
具体的な設定は,ePWMをセッティングする際に,次のようにレジスタを操作すると良い:
EPwm8Regs.TZCTL.bit.TZA = 2;
EPwm8Regs.TZCTL.bit.TZB = 2;
これは,Tripが発生したときに,ゲート信号をどう処置するかを設定している.リファレンスによれば,この場合,High側もLow側もOFFとして処置される.初期設定はこれでよし.
次に,相数を切り替える場合であるが,次のように記述することで達成する:
EPwm8Regs.TZFRC.bit.OST = 1;
OSTというのは,One-Shot Tripの略で,Tripの種類としてCBCと対比させられる.CBC(Cycle-by-Cycle)は周期内のTripであるのに対し,OSTは解除指令が送られるまでTripが持続する.
一方,Tripを解除するには次のように設定する:
EPwm8Regs.TZCLR.bit.OST = 1;
実際に,高負荷から低負荷になった場合に相数を切り替える実験を行った.波形は下図のようになっており,CH1は出力電圧,CH2,CH3はリアクトル電流波形(2A/div)である.
キレイに片相が停止できていることが分かる.
参考文献
TI社,TMS320F2837xS Delfino Microcontrollers Technical Reference Manual,2014,2019/11/17閲覧