動作原理
位相シフトフルブリッジの二つのレグはまったく異なる条件でスイッチングします。進みレグは電力伝達区間の終わりにオフし、このとき出力インダクタはまだ一次側に反射しています。その電流は大きくほぼ一定なので、スイッチノード容量を線形かつ速く充放電します。遅れレグは還流区間の終わりにオフします。このとき整流器はすべて導通し、トランスは実質的に短絡されていて、ノードを反転させるエネルギーは漏れインダクタンスと直列(shim)インダクタンス L_r に蓄えられた分だけです。
そのため遅れレグは L_r と C_eq = 2·C_oss + C_tr の共振遷移になります。½·L_r·I_lag² ≥ ½·C_eq·V_in² のときだけノードは反対側のレールに届き、これは Z0 = √(L_r/C_eq) として I_lag ≥ V_in/Z0 と同じです。電流がこれより小さいと電圧は届く前に折り返し、スイッチは残り電圧を抱えたままオンします。
エネルギーが足りるだけでは不十分で、デッドタイムが窓に入る必要があります。ドレインは t1 = asin(V_in/(I_lag·Z0))/ω_r でレールに届きます。その後はボディダイオードが電流を流し、電流は V_in/L_r の傾きで減って t2 でゼロになります。t2 より遅くゲートをオンすると電流はすでに反転し、ノードは戻り始めています。窓は負荷とともに狭まり、エネルギー限界では両端が 1/4 共振周期で一致します。デッドタイムを 1/4 周期 (π/2)·√(L_r·C_eq) にすると、エネルギーが足りるすべての負荷で窓に入ります。
遅れレグ電流は出力インダクタ電流の谷 (I_o − ΔI_Lo/2)/n に励磁ピークを加えて、進みレグ電流はインダクタのピークで計算します。グラフは負荷 4 % から 100 % まで t1、t2、遅れレグのデッドタイム、進みレグの遷移時間を描き、それぞれがどこで成り立たなくなるかを読めるようにしています。
設計手順
- 1ZVS を保つのが最も難しい入力電圧、通常は最高 V_in での動作点を入力します。
- 2エネルギー限界 I_o,min を見ます。ZVS が必要な最も軽い負荷より高ければ、L_r を大きくするか C_eq を小さくします(より小さい・速い MOSFET、ノード容量の削減)。
- 3遅れレグのデッドタイムを結果の 1/4 共振周期付近にし、グラフで点線のデッドタイムが必要な負荷範囲を通して t1 と t2 の間にあるか確認します。
- 4最も軽い対象負荷で、進みレグの遷移時間がそのデッドタイムに収まるか確認します。
- 5最低入力電圧・定格負荷での指令デューティ D_cmd を確認します。100 % に近ければ巻数比か L_r を変える必要があります。
- 6実機で V_ds と一次電流を測って確認します。C_oss の非線形性と浮遊容量で実際の窓は動きます。
計算式
- 実効デューティと出力リプル
- D_eff = n·V_o / V_in, ΔI_Lo = V_o·(1 − D_eff)·T_s/2 / L_o(リプル周波数 2·f_s)
- 励磁電流ピーク
- I_m = V_in·D_eff·(T_s/2) / (2·L_m)
- レグ電流
- I_lead = (I_o + ΔI_Lo/2)/n + I_m, I_lag = (I_o − ΔI_Lo/2)/n + I_m
- 遅れレグのエネルギー条件
- ½·L_r·I_lag² ≥ ½·C_eq·V_in², C_eq = 2·C_oss + C_tr ⇔ I_lag ≥ V_in / Z0, Z0 = √(L_r / C_eq)
- 遅れレグの ZVS 窓
- t1 = asin(V_in / (I_lag·Z0)) / ω_r, t2 = t1 + L_r·I_lag·cos(ω_r·t1) / V_in, ω_r = 1/√(L_r·C_eq); t_quarter = (π/2)·√(L_r·C_eq)
- 進みレグの遷移
- t_lead = C_eq·V_in / I_lead
- 遅れレグ ZVS の最小負荷(エネルギー)
- I_o,min = n·(V_in/Z0 − I_m) + ΔI_Lo/2
- デューティ損失
- ΔD ≈ 4·L_r·I_lag·f_s / V_in(一次電流が L_r を通って +I から −I に反転)、D_cmd = D_eff + ΔD
計算例
既定値は 400 V バスから 48 V、1.5 kW(31.25 A)、巻数比 5:1、100 kHz、L_o = 20 µH、L_m = 1 mH、L_r = 15 µH、スイッチあたり C_oss = 200 pF です。D_eff = 0.6、出力リプル 4.8 A、励磁ピーク 0.6 A なので、定格負荷で遅れレグ電流は 6.37 A、必要な電流は 2.07 A だけです(C_eq = 400 pF、Z0 = 194 Ω)。エネルギーだけなら ZVS は 9.73 A、31 % 負荷まで保たれます。ところが既定の遅れレグのデッドタイム 200 ns では 76 % 負荷以下で ZVS が崩れます。それ以下ではゲートがオンする前にダイオード電流がゼロになるためです(t2 が 200 ns を下回る)。デッドタイムを 1/4 周期の 122 ns にすると、エネルギー限界(31 %)のすぐ上の約 32 % まで ZVS が戻ります。15 µH の代償はデューティ 9.6 % で、コントローラは約 70 % を出す必要があります。L_r を 30 µH に倍にすると ZVS は 21 % 負荷まで広がりますが、デューティ損失も 19 % に倍増します。これらの値は独立した Python 計算と照合し、t1 は L_r–C_eq 遷移の数値積分とも照合しました。
よくある間違い
- 高電圧で小信号の C_oss を使うこと。必要なエネルギーを過小に見積もるので、エネルギー換算値を使ってください。
- トランスの巻線容量、プローブやスナバの容量など、ノードに付いて C_eq を増やすものを忘れること。
- 「安全のため」に遅れレグのデッドタイムを長くすること。t2 を過ぎるとノードが戻り、ZVS が崩れます。
- 低入力時のデューティ損失を確認せずに、ごく軽い負荷の ZVS に合わせて L_r を決めること。
- 励磁電流を無視すること。励磁電流は両レグを助け、L_m を意図的に下げるのも ZVS を広げる方法ですが、循環電流が増えます。
よくある質問
進みレグはなぜほぼ必ず ZVS になるのですか?
進みレグの遷移時は出力インダクタがまだ一次側に反射していて、スイッチノードはおよそ I_o/n の硬い電流源で駆動されます。既定例では 400 pF を 400 V 反転させるのに約 22 ns です。反射電流が小さくなるごく軽い負荷でだけ、通常のデッドタイムより長くかかります。
C_oss にはどの値を入れればよいですか?
エネルギー条件には MOSFET データシートのバス電圧でのエネルギー換算出力容量 C_o(er) を、タイミングには時間換算の C_o(tr) のほうが近い値です。スーパージャンクション MOSFET は C_oss が強く非線形で、両者が数倍違うこともあり、結果もそれだけ変わります。トランスの巻線容量やスイッチノードのスナバ容量は C_tr に加えてください。
デッドタイムは長いほど安全ではないのですか?
ノードがレールに届いた後、ボディダイオードは L_r の電流がゼロになるまでしか導通しません。それより遅くオンすると電流はすでに反転し、ノードは戻り始めていて、スイッチは電圧を抱えてオンします。そのためこの計算機は窓の両端を示し、既定の 200 ns の例はエネルギーが 31 % まで足りるのに 76 % 以下で ZVS を失います。
shim インダクタを付けるべきか、漏れだけで足りるか?
L_r が大きいほど遅れレグの ZVS が崩れる負荷は下がりますが、電流の反転も遅れ、デューティ損失と還流区間の循環電流が増えます。TI SLUA560 の例は定格負荷から 50 % 負荷まで ZVS になるよう shim インダクタを選んでいます。どこで止めるかは、軽負荷効率、定格負荷の導通損失、最低入力電圧でのデューティ余裕の兼ね合いで決まります。
モデルに含まれていないものは?
還流区間の導通損失、整流器の電圧降下、二次側のリンギング、C_oss の非線形性、適応デッドタイム制御、出力インダクタが不連続になったときの詳しい動作は含めていません。DCM 境界以下では遅れレグ電流を励磁電流だけとみなしており、大まかな推定です。
計算結果は工学的な推定値です。データシート、シミュレーション、実測で設計を確認してください。