ペEの日記

ペ  ゆるふわ電子工作系ブログ。

アナログ・RF回路設計、MMIC・導波管デバイス設計経験あり、C言語/C++/Python/Matlab/Octave経験あり、シミュレータADS/HFSS/LTspice/QUCS/ngspice/openEMS経験あり。


記事一覧

ユニクラフト様にプリント基板製造していただきました

今回初めて、国内の基板メーカである株式会社ユニクラフト様にプリント基板を発注してみたので、簡単にレビューしようと思う。

****************************************

株式会社ユニクラフト様のホームページ:
unicraft-jp.com

****************************************

以下の仕様で、価格は15枚で27,955円(税込)であった。発注方法は、まずホームページから簡易見積もりとガーバーデータを送付し、その後正式見積もりがメールで送られてくる。決済完了してからたったの8日で基板が届いた。早すぎる。

項目 内容
サイズ 200 ㎜ × 50 ㎜
厚さ 1.6 ㎜
層数 2層
レジスト 緑色
表面処理 水溶性プリフラックス

下の写真のように、真空パックされた状態で届いた。

開封してみると↓↓↓

めちゃめちゃ綺麗な仕上がりである。レジストは光沢のある緑色で発色が良い。シルク印刷はくっきりしており視認性が高い。細長い形状のため基板が反らないか心配したが、反りはほとんど無かった。

よく見ると、基板の角は半径0.5 ㎜程度のR加工が施されている。送付したガーバーデータでは直角で指定していたが、他基板へのスクラッチ防止および使用者の怪我防止のため丸めているとのこと。むしろありがたい。

2 ㎜幅のスリットも綺麗に出来ている。「ペE」のロゴがダサかっこいい。

焼きリンゴ作ってみた

今回は焼きリンゴを作ってみた。リンゴを薄く切り、バターを引いたフライパンで焼き、焼き色が付いたらグラニュー糖を軽くまぶして、ひっくり返して反対側も焼いた。最後にシナモンパウダーを振りかけて完成。砂糖が多すぎて甘ったるかったので、次作るときは砂糖少なめ、バターももっと少なくて良いかもしれない。それでも、めちゃめちゃ美味だった。

オムライス作ってみた

今回はオムライスを作ってみた。中身はベーコン入りのケチャップご飯である。IHコンロだとフライパンのふちの部分が温まりにくく、包むのが難しい。そこで、フライパンを先に1分程度中火で加熱しておき、ふちの部分に熱が伝わったところでバターを引き、弱火にして卵を投入した。ある程度卵が固まってきたらケチャップご飯を中央に乗せ、少しずつ卵を捲りながらフライパンの端の方へと移動させ、最後はお皿にクルっと勢いでひっくり返した。最後に、ケチャップと中濃ソースとお酒とオリーブオイルを煮詰めて作ったデミグラスソースをかけて完成である。

↓めっちゃ上手くできた!!!美味すぎ。

12 V→1700 Vフライバックコンバータの設計検討(つづき)

はじめに

前回の記事:
12 V→1700 Vフライバックコンバータの設計検討 - ペEの日記

前回の記事では、12 V→1700 Vフライバックコンバータのコア選定から巻数計算、スナバ回路、Ngspiceを用いた動作解析についてまとめた。今回は、出力を安定させるためのフィードバック回路について検討したので記事に残しておく。

回路構成

図1にフィードバック回路の構成を示す。絶縁型DC/DCコンバータでは、TL431+フォトカプラにより出力の誤差電圧を一次側に伝えるオプト方式が主流であるが、今回はアナログデバイセズの絶縁型エラーアンプ(ADuM3190、ADuM4190)を使ってみようと思う。これは非常に優秀なICで、微細なパルストランスにより磁気結合で信号を伝達する技術(iCoupler®)が使われている。秋月電子で¥280~290と安価なのも良い。

以下の3つのブロックで構成する。

位相補償回路ブロック
出力電圧Vout≒1700 VをRH=12 MΩとRL=8.6 kΩで分圧し、基準電圧VREF=1.225 Vと比較することで誤差電圧を生成する。オペアンプの反転増幅回路を用いた位相補償(RFB、CFB)を施した後、絶縁して一次側へと伝達する。

PWM生成回路ブロック
電圧に比例したデューティ比を持つPWM信号を生成する。

フライバックコンバータブロック
PWM信号によりトランスをスイッチングして、電力を二次側へと伝送する。

図1:フィードバックループの回路構成

伝達関数を求める

フライバックコンバータブロック

フィードバックループを設計する上で、まずはフライバックコンバータの伝達関数を知る必要がある。Würth Elektronikのアプリケーションノート(ANP113 | Feedback loop compensation of a current-mode flyback converter with optocoupler)によると、電流不連続モード(DCM)で動作するフライバックコンバータは1次遅れ系で近似でき、第1ポールωp1は次式で与えられる。

 \displaystyle
\omega_{\mathrm{p1}}=\frac{2}{R_{\mathrm{out}}\cdot C_{\mathrm{out}}}

今回の設計に当てはめると、Cout=0.01 μF、Rout=410.6 kΩ(=1700 V/4.14 mA)なので、第1ポール周波数はωp1=77.5 Hzとなる。時定数はτ=2.05 ms。以上の理論値が合っているか確かめるため、SPICEシミュレーションでステップ応答を見てみた。

図2に、デューティ比をステップ状に変化させたときの出力電圧波形を示す。実線はシミュレーション結果、点線は理論値(τ=2.05 ms)の応答を表している。立ち上がりの傾きはよく一致しており、上の理論式の妥当性が確かめられた。シミュレーションの方が収束が遅いが、整流ダイオードの直列抵抗の影響だろうか。。。(?)

図2:出力電圧のステップ応答波形

フライバックコンバータの伝達関数を決めるファクターとして、もうひとつ、DCゲインがある。これはフライバックコンバータの出力電圧の式から簡単に導くことができる(参照:フライバックコンバータについて理解したい。その1:動作原理 - ペEの日記)。ただし、本設計では後段に倍電圧整流回路を入れて電圧を2倍にしているため、×2していることに注意。

 \displaystyle
G_{\mathrm{0}}=V_{\mathrm{out}}/D=\sqrt{\frac{\eta R_{\mathrm{out}}}{2L_{\mathrm{p}} f_{\mathrm{s}}}}\times 2V_{\mathrm{in}}

以上より、デューティD(s)を入力、出力電圧Vout(s)を出力とするフライバックコンバータブロックの伝達関数は次のように求まる。

 \displaystyle
H_{\mathrm{Pow.}}(s)=G_{\mathrm{0}}\cdot \frac{1}{1+\frac{s}{\omega_{\mathrm{p1}}}}

位相補償回路ブロック

フィードバック制御において定常偏差が残らないためには積分器が必須だが、フライバックコンバータが一次遅れ系であり、そこに積分器を足すと二次遅れ系となり、位相が180°回ってしまう。そこで、ゼロ(零点)を追加し位相余裕を持たせることで、制御ループの安定性を維持するのが位相補償回路の役割である。

図3:(左)位相補償回路と(右)テブナンの定理による等価回路

図3の左に、RFB+CFBオペアンプで構成される位相補償回路を示す。これはラグリードフィルタとも呼ばれ、ωz1=1/(RFB×CFB)にゼロが追加される。

 \displaystyle
\omega_{\mathrm{z1}}=\frac{1}{R_{\mathrm{FB}}\cdot C_{\mathrm{FB}}}

分圧抵抗RH、RLはテブナンの定理から、図3の右に示す等価回路に置き換えることができ、単純な反転増幅回路の形とみなせる。したがって、この回路の伝達関数は、次のように求めることができる。

 \displaystyle
H_{\mathrm{Comp.}}(s)
=\frac{R_{\mathrm{FB}}+1/sC_{\mathrm{FB}}}{R_{\mathrm{H}}/\!/R_{\mathrm{L}}}\frac{R_{\mathrm{L}}}{R_{\mathrm{H}}+R_{\mathrm{L}}}
=\frac{R_{\mathrm{FB}}(s+\omega_{\mathrm{z1}})}{R_{\mathrm{H}}\cdot s}

PWM生成回路ブロック

PWM生成回路は、ランプ波発振器とコンパレータ、エッジトリガ型SRフリップフロップにより構成する。図4にタイミングチャートを示す。クロックの立ち上がりと同時に出力がHigh、ランプ波形が上昇を開始し、ランプ波形が入力電圧を超えた瞬間に出力がLowへと切り替わる。

図4:PWM生成回路のタイミングチャート

このブロックの伝達関数は、電圧とデューティ比の比例定数K(単位はV⁻¹)と等しい。たとえば、Vco=0〜2.0 Vに対してD=0〜0.5の場合、K=0.25 V⁻¹。

 \displaystyle
H_{\mathrm{Gen.}}(s)=K

オープンループゲイン

以上で各ブロックの伝達関数が分かったので、系全体のオープンループゲインを求めることができる。

 \displaystyle
H(s)=H_{\mathrm{Pow.}}(s)\times H_{\mathrm{Comp.}}(s)\times H_{\mathrm{Gen.}}(s)

図5にRFB=47 kΩ、CFB=1 μF、K=0.25とした場合のボード線図を示す。1700 V/4 mA負荷時、フライバックコンバータの第一ポールはfp=77.5 Hzに存在し、それより手前のfz=3.4 Hzにゼロを置くことで、ループ帯域615 Hz、位相余裕97°が得られ、安定な制御ループを期待できる。

図5:1700 V/4 mA負荷時のボード線図(RFB=47 kΩ、CFB=1 μF、K=0.25 V⁻¹)

図6に無負荷時のボード線図を示す。無負荷時、フライバックコンバータの第一ポールはfp=2.6 Hzまで下がり、ループの安定性が最悪ケースとなるが、この場合でもループ帯域114 Hz、位相余裕90°が得られており、十分に安定性を維持することができる。

図6:無負荷時のボード線図(RFB=47 kΩ、CFB=1 μF、K=0.25 V⁻¹)

Octaveスクリプト

今回の計算に用いたOctaveスクリプトを載せておく。

close all
clear
clc

f = logspace(-1, 5, 301);
s = 1j*(2*pi*f);

%------------------------------------------------------------------------------
% Transfer Function of Power Stage
%------------------------------------------------------------------------------
Vi      = 12;               % Input voltage, V
Lp      = 12.4e-6;          % Primary inductance, H
fs      = 100e3;            % Switching frequency, Hz
eta     = 0.7;              % Power efficiency
Co      = 0.01e-6;          % Output capacitance, F
Ro      = 4.106e5;          % Load resistance, Ohm (Loaded)
% Ro      = 1.2086e7;         % Load resistance, Ohm (Unloaded)

omega_p = 2/(Ro*Co);        % 1st pole frequency
G0      = 2*Vi*sqrt(eta*Ro/(2*Lp*fs)); % DC gain
H1      = G0./(1+s/omega_p);

%------------------------------------------------------------------------------
% Transfer Function of Compensator
%------------------------------------------------------------------------------
Rh      = 12e6;             % Upper divider resistor, Ohm (3Meg x4)
Rl      = 8.6e3;            % Lower divider resistor, Ohm (4.7k+3.9k)
Rfb     = 47e3;             % Feedback resistor, Ohm
Cfb     = 1e-6;             % Feedback capacitor, F

omega_z = 1/(Rfb*Cfb);      % Zero frequency
H2      = (Rfb/Rh)*(s+omega_z)./s;

%------------------------------------------------------------------------------
% Transfer Function of Duty Cycle Generator
%------------------------------------------------------------------------------
H3      = 0.5/2.0;          % duty/V

%------------------------------------------------------------------------------
% Open-Loop Gain
%------------------------------------------------------------------------------
H       = H1.*H2.*H3;

printf('fp = %E Hz\n', omega_p/(2*pi));
printf('fz = %E Hz\n', omega_z/(2*pi));

% Plot
figure('Position', [100 100 500 300]);

subplot(2, 1, 1);
semilogx(f, 20*log10(abs(H)));
grid on;
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
xticklabels({'0.1','1','10','100','1k','10k','100k'});

subplot(2, 1, 2);
semilogx(f, arg(H)/pi*180);
grid on;
xlabel('Frequency (Hz)');
ylabel('Phase (\deg)');
ylim([-180 0]);
yticks([-180:45:0]);
xticklabels({'0.1','1','10','100','1k','10k','100k'});

12 V→1700 Vフライバックコンバータの設計検討

はじめに

前の記事でフライバックコンバータの動作原理について理解を深めた。今回は実際に12 V → 1700 V, 4 mA(6.8 W)の昇圧コンバータを設計してみる。ヘリウムネオン(He-Ne)レーザー用電源を自作することが当面の目標である。

■ 関連記事:
フライバックコンバータについて理解したい(その1) - ペEの日記
フライバックコンバータについて理解したい。その2:RCDスナバ回路 - ペEの日記

■ 補足:
友人から頂いたヘリウムネオンレーザーは1320 V, 4 mAで駆動し、始動時は約8 kVを必要とする。レーザー管に高電圧をかけると放電し、まずヘリウム原子が励起状態となる。次に、ヘリウム原子がネオン原子と衝突することでネオン原子が励起状態になる。上位準位の寿命時間が長いことから反転分布(励起したネオン原子がウヨウヨいる状態)が形成され、誘導放出によりレーザー発振が引き起こされる。

なぜ1700 Vかというと、発振状態のレーザー管は負性抵抗を持っており、そのまま電圧をかけると不安定動作になってしまう。そこで、バラスト抵抗(80~100 kΩ程度)を直列に入れることで負性抵抗を打ち消す必要がある。さらに、始動時の8 kVを生成するための電圧マルチプライヤ(コッククロフトウォルトン回路)の電圧降下分を考慮すると、1700 V, 4 mA(6.8 W)出力が要求値となる。

なお、8 kV生成回路、フィードバック回路等は今回のシミュレーションに含めていない。まずはフライバックコンバータ部の実現性を確認し、詳細設計は次回以降行う予定とする。

基本設計

図1に設計した昇圧コンバータの回路図を示す。トランスの二次電圧は850 Vであり、後段の倍電圧整流回路により850×2=1700 Vまで昇圧する構成とした。倍電圧整流回路には前回の記事でモデル化した高耐圧ダイオードESJA57-04を使用する。

フライバックコンバータは電流不連続モード(DCM)で動作させる。

図1:12 V→1700 V昇圧コンバータのテスト回路

トランスコア・ボビンの選定
コアはEPCOS(TDK)製のB66361G0100X187を選定してみた。Digikey(マルツ)で入手可能である。専用ボビンB66362B1014T001は巻き枠が20.9 mmあるので、Φ0.1 mmポリウレタン銅線×150ターンを一層巻きできる(はず)。多層巻きすると層間容量が付き共振の原因となるため、できるだけ一層で巻きたい。

B66361コアのパラメータ一覧を表1に示す。コア材はN27とN87があり(どちらもMn-Znフェライト)、N27は100 kHz以下の低周波用途、100 kHz~500 kHzの高周波用途に適している。今回はスイッチング周波数をfs=100 kHz(仮)としたいのでN87を選択した。

表1:B66361G**00X187のパラメータ一覧

項目 補足
平均磁路長 le 78.6 mm ギャップなしの場合
磁路断面積 Ae 97.1 mm² -
透磁率 μr 1670 -

B66361G0100X187は単体でギャップ長lg=0.1 mmあり、2つ貼り合わせることでlg=0.2 mmとなる。このとき、見かけ上の平均磁路長はle'=78.6 mm-0.2 mm+1670×0.2 mm=412.4 mmとなる。

1サイクルに蓄えられるエネルギーEmax

 \displaystyle
E_{\mathrm{max}}=\frac{1}{2}\mu H_{\mathrm{max}}^2\times A_{\mathrm{e}}l_{\mathrm{e}}=\frac{B_{\mathrm{max}}^2}{2\mu}\times A_{\mathrm{e}}l_{\mathrm{e}}

で求められる。したがって、最大磁束密度をBmax=200 mTとした場合、Emax=0.382 mJとなる。スイッチング周波数fs=100 kHz、電力効率η=70%と仮定すると、伝達できる最大電力はPmax=η×fs×Emax=26.7 Wとなる。今回の要求値は6.8 Wなので十分に余裕がある。

トランス一次巻数の決定
出力電力Pout=6.8 W、効率η=0.7、スイッチング周波数fs=100 kHzとしたとき、1サイクルで必要なエネルギーはE=Pout/(η×fs)=0.0971 mJとなる。一方、スイッチオン時に蓄えられるエネルギーは次式で求められる。

 \displaystyle
E=\frac{1}{2}L_{\mathrm{p}}I_{\mathrm{p,max}}^2=\frac{V_{\mathrm{in}}^2T_{\mathrm{on}}^2}{2L_{\mathrm{p}}}

最大デューディ比Dmax=0.5とするとき、Ton<5 μs(=Dmax/fs)以内でE=0.0971 mJに達する必要がある。したがって、一次インダクタンスLpは次式を満たす必要がある。

 \displaystyle
L_{\mathrm{p}}\lt\frac{V_{\mathrm{in}}^2}{2E}\frac{D_{\mathrm{max}}^2}{f_{\mathrm{s}}^2}\simeq 18.5\mathrm{\,[\mu H]}

AL値はAL=0.494 μH/N²(=μ×Ae/le)なので、Np=5の場合→Lp=0.494×5²=12.4 μH、Np=6の場合→Lp=0.494×5²=17.8 μHとなる。6回巻きだとちょっと余裕が少ない気がするので今回は5回巻きとしてみた。

Np=5回巻のとき、一次電流の最大値はlp,max=3.97 A(=√(2×E/Lp))、オン時間はTon=4.08 μs(=Lp×lp,max/Vin)と求まる。

トランス二次巻数の決定
上で述べたように、専用ボビンB66362B1014T001にΦ0.1 mmポリウレタン銅線×150ターンを一層巻きできる。150回巻とした場合→Ls=0.494×150²=11.1 mHとなり、完全に消磁するのにかかる時間Tdemag

 \displaystyle
T_{\mathrm{demag}}=\frac{N_{\mathrm{s}}}{{N_\mathrm{p}}}\frac{V_{\mathrm{in}}T_{\mathrm{on}}}{V_{\mathrm{out}}+V_{\mathrm{D}}}\simeq 1.70\mathrm{\,[\mu s]}

となる。Tdemag<Toffを十分に満たしているため、電流不連続モード(DCM)の動作が見込める。

MOSFETの選定
NchパワーMOSFET TK10P50W(500 V, 9.7 A)を選んでみた。DPAKパッケージで小型化できそうというのと、耐圧も高く、オン抵抗も327 mΩと比較的小さい。プリント基板設計時はパッド面積を大きくし、サーマルビアを沢山打つことで放熱を改善した方が良さそう。

RCDスナバ回路
RCDスナバ回路の役割は、一次側の漏れインダクタンスに溜まったエネルギーが行き場を失い、サージ電圧が発生してMOSFETが破壊されるのを防止することである。

今回使用するMOSFETの耐圧は500 Vなので、クランプ電圧Vclamp<250 Vを目標に設計を進める。最悪ケースを想定してトランスの結合度k=0.9となった場合、一次側の漏れインダクタンスはLlk=(1-k)×Lp=1.24 μH、反射電圧はVOR=28.8 V(=Np/Ns×(Vout+VD))となる。したがって、必要なキャパシタンスは

 \displaystyle
C_{\mathrm{snub}}\gt\frac{L_{\mathrm{lk}}I_{\mathrm{p,max}}}{V_{\mathrm{clamp}}^2-V_{\mathrm{OR}}^2}\simeq 79.4\mathrm{\,[pF]}

となる。今回はCsnub=100 pFとしてみた。

抵抗は1サイクル以内にキャパシタで吸収したエネルギーを放電する必要があるので、次式を満たす必要がある。

 \displaystyle
R_{\mathrm{snub}}\lt\frac{1}{f_\mathrm{s}C_{\mathrm{snub}}\ln\left(\frac{V_{\mathrm{clamp}}}{V_{\mathrm{OR}}}\right)}\simeq 46.3\mathrm{\,[k\Omega]}

今回は、Rsnub=33 kΩとした。

RCスナバ回路
RCスナバ回路をMOSFETのドレイン―ソース間に入れることにした。RCDスナバはドレイン電圧をクランプするのに対し、RCスナバは高周波成分のリンギングを抑える目的で入れる。ここの設計値は、シミュレーション結果を見ながら良さそうな値を選ぶことにした。今回はCsnub2=100 pF、Rsnub2=330 Ωとしてみた。

入力コンデンサ
瞬時的な電流の引き込みに対応するため、低ESRのコンデンサを使用する。OS CON, 25SEPF330M(25 V, 330 μF)が良さそうである。また、入力側にLseries=22 μHとRseries=1 Ωを入れることでリプルノイズを外部に漏れにくくする。

倍電圧整流回路
電圧を2倍(850 V→1700 V)に昇圧する。1700 V、4 mA出力時、Dout1には8 mAの実効電流が流れることになる。ESJA57-04の定格が5 mAのため、2個並列にして電流を分散させることにする。

シミュレーション

以下、Ngspiceによるシミュレーション結果とスクリプトを記載する。

結果

図2に出力電圧の波形を示す。10 msほどで目標電圧に達することが分かる。デューティ比D=0.388のとき、ちょうど出力電圧1700 Vが得られる。

図2:出力電圧の波形(1700 V)

図3に入力電流の波形を示す。定常時12 V, 0.73 Aなので、電力効率はη=6.8 W/(12 V×0.73 A)=0.77ということになる。良さげ。

図3:入力電流の波形(12 V)

図4にトランスの一次電流Ipと二次電流Isの波形を示す。一次電流の最大値Ip,max=3.5 Aに達している。電流不連続モード(DCM)の波形になっていることが確認できる。(波形がガタガタしているのは何故なのだろうか...)

図4:一次電流Ipと二次電流Isの波形

図5にB-Hカーブの軌跡を示す。Bmax~180 mTに留まっており、磁気飽和していないことが確認できる。設計値と比べBmaxが大きいが、これは目標電圧に到達する前の過渡応答において、電流連続モード(CCM)に近い挙動となるためだと推測する。

図5:B-Hカーブ

図6にRCDスナバ回路のキャパシタにかかる電圧波形を示す。シミュレーションではトランスの結合係数k=0.95としているため、設計値(k=0.9)よりも低いクランプ電圧となっている。

図6:RCDスナバにかかる電圧波形

図7に出力ダイオードDout1, Dout2(ESJA57-04)の電流波形を示す。Dout1は2個並列にしたため、電流が半分になって実効値5 mAに収まる。ピーク電流は60 mA程度なので定格電流0.5 Apeakに収まる。

図7:Dout1, Dout2の電流波形

スクリプト

下にNgspiceのスクリプトを載せる。トランスモデルは、以前作成した磁気飽和モデル(磁気飽和するトランスをモデル化してみた - ペEの日記)を使用している。

File: flyback_v2.spice

flyback_v2.spice

.param D=0.388 TR=1ns TF=1ns PER=10us

*******************************************************************************
* 12V to 750V Step-Up Flyback Converter Test Circuit
V_in            n01 0           dc 12
V_control       n06 0           pulse(0 12 1us {TR} {TF} {D*PER} {PER})
XL_series       n01 n02         L_MODEL ind=22u res=60m cap=20p
XR_series       n01 n02         R_MODEL res=1
XC_decoup       n02 0           C_MODEL cap=330u res=14m
XT_xfmr         n02 n03 n08 0   T_MODEL
XM_nmos         n03 n05 0       TK10P50W_G0_00
XR_nmos_g       n05 n06         R_MODEL res=100
XD_snub         n03 n04         ES1J
XC_snub         n04 n02         C_MODEL cap=100p res=10m
XR_snub         n04 n02         R_MODEL res=33k
XC_snub2        n03 n07         C_MODEL cap=100p res=10m
XR_snub2        n07 0           R_MODEL res=330
XD_out1a        0   n09         ESJA57_04
XD_out1b        0   n09         ESJA57_04
XD_out2         n09 n10         ESJA57_04
XC_out1         n09 n08         C_MODEL cap=0.01u res=10m
XC_out2         n10 0           C_MODEL cap=0.01u res=10m
XR_load         n10 0           R_MODEL res={1700V/4mA}

*******************************************************************************
* Resistor model with current probe
.subckt R_MODEL 1 2 res=0
R0              1   3           {res}       $ Main resistance
Viprobe         3   2           dc 0        $ Current probe (0V source)
.ends

*******************************************************************************
* Capacitor model with ESR, ESL
.subckt C_MODEL 1 2 cap=1 ind=0 res=0 tand=0 fnom=50
C0              1   3           {cap}       $ Main capacitance
Lser            3   4           {ind}       $ Series inductance
Rser            4   5           {res}       $ Series resistance
Viprobe         5   2           dc 0        $ Current probe (0V source)
.ends

*******************************************************************************
* Inductor model with winding resistance and self capacitance
.subckt L_MODEL 1 2 ind=1 res=0 cap=0
L0              1   3           {ind}       $ Main inductance
Cpar            1   3           {cap}       $ Parallel capacitance
Rser            3   4           {res}       $ Series resistance
Viprobe         4   2           dc 0        $ Current probe (0V source)
.ends

*******************************************************************************
* Transformer model
* Core: EPCOS(TDK) - B66361G0100X187
* Material: N87 (Mn-Zn Ferrite)
* Gap: 0.1mm ± 0.02mm
* Ae: 97.1mm^2
* mu_e: 1670
* le: 78.6mm (without gap)
.subckt T_MODEL 1 2 3 4
+ N1=5 N2=150 k=0.95
+ Ae=97.1e-6 mu_r=1670 Ms=3.18e5 le={78.4e-3+1670*0.2e-3}
+ res1=0.1 res2=15
N0              p1  n1  p2  n2  B_node H_node T_CORE
Rser1           1   p1          {res1}
Rser2           3   p2          {res2}
Viprobe1        n1  2           dc 0
Viprobe2        n2  4           dc 0
.model T_CORE transformer (
+ N1={N1} N2={N2} k={k} Ae={Ae} le={le} mu_r={mu_r} Ms={Ms} )
.ends

*******************************************************************************
* TOSHIBA, TK10P50W - N-Channel MOSFET
* https://toshiba.semicon-storage.com/jp/semiconductor/product/mosfets
* /400v-900v-mosfets/detail.TK10P50W.html
.include 'TK10P50W/TK10P50W_G0_00_PSpice_rev1.lib'

*******************************************************************************
* ONSEMI, ES1J - Fast Recovery Diode
* https://www.onsemi.com/products/discrete-power-modules/rectifiers/es1j
.include 'ES1J/ES1J (SPICE MODEL).LIB'
.subckt ES1J 1 2
D0              1   3           ES1J
Viprobe         3   2           dc 0
.ends

*******************************************************************************
* FUJI ELECTRIC, ESJA57-04 - High Voltage Silicon Diode
.subckt ESJA57_04 1 2
D0              1   3           ESJA57_04
Viprobe         3   2           dc 0
.model ESJA57_04 D (
+ is=5.592E-04 n=1.281E+02 rs=2.377E+02
+ bv=6.600E+03 ibv=1.000E-06 nbv=3.380E+02
+ ikf=0.000E+00 ikr=1.800E-11 jtun=0.000E+00
+ ntun=3.000E+03 xtitun=3.000E+00 cjo=2.200E-12
+ fc=5.000E-01 m=2.000E-02 vj=1.000E+00
+ tt=2.400E-07 eg=1.110E+00 xti=3.000E+00
+ tnom=2.700E+01 )
.ends

*******************************************************************************
* Simulation
.control
pre_osdi 'transformer/transformer.osdi'

set color0=white color1=gray color2=red color3=blue color4=green color5=black
set wfont='DejaVu Sans Mono'
set wfont_size=12
set xbrushwidth=1

tran .1us 20ms

* Plot output voltage
plot v(n10)
* Plot input current
plot -i(v_in)
* Plot primary and secondary inductor currents
plot i(v.xt_xfmr.viprobe1) 10*i(v.xt_xfmr.viprobe2) xlimit 19.98m 20m ylimit -1 5
* Plot B-H curve
plot v(xt_xfmr.B_node) vs v(xt_xfmr.H_node) retraceplot
* Plot RCD snubber clamp voltage
plot v(n04,n02) xlimit 19.98m 20m ylimit -20 200
* Plot diode currents
plot i(v.xd_out1a.viprobe) i(v.xd_out2.viprobe) xlimit 19.98m 20m ylimit -0.1 0.1

.endc
.end

高耐圧ダイオードESJA57-04のモデル化

はじめに

高耐圧ダイオードESJA57-04(4 kV, 5 mA)のSPICEパラメータを抽出したので記事に残しておく。ESJA57-04は秋月電子で入手可能である。

高耐圧整流用ダイオード 4kV5mA ESJA57-04: 半導体 秋月電子通商-電子部品・ネット通販

下の記事でESJA57-04を使用したコッククロフトウォルトン回路の作例が紹介されている。下の記事でも書かれているが、1N4007では逆回復時間が長く、スイッチング周波数~数100 kHzのCW回路には適さない。ESJA57-04は逆回復時間50 ns(@25℃, IF=2 mA, IR=4 mA)と短く、接合容量も2 pFと小さいため、CW回路に最適と言える。

コッククロフトウォルトン回路② : 送電鐵塔 (C18AREA)
コッククロフトウォルトン回路改修(高圧放電装置) : 送電鐵塔 (C18AREA)

SPICEモデル

調整後のダイオードモデルを下に載せる。SPICEパラメータの調整方法についてはこちらの記事を参照されたい。

.model ESJA57_04 D (
+ is=5.592E-04 n=1.281E+02 rs=2.377E+02
+ bv=6.600E+03 ibv=1.000E-06 nbv=3.380E+02
+ ikf=0.000E+00 ikr=1.800E-11 jtun=0.000E+00
+ ntun=3.000E+03 xtitun=3.000E+00 cjo=2.200E-12
+ fc=5.000E-01 m=2.000E-02 vj=1.000E+00
+ tt=2.400E-07 eg=1.110E+00 xti=3.000E+00
+ tnom=2.700E+01 )

結果

グラフの赤点はデータシート、白点はSPICEシミュレーションの結果を示している。

➤ 順方向電流電圧特性(IF-VF):

➤ 逆方向電流電圧特性(IR-VR):

➤ 接合容量特性(CT-VR):

➤ 逆回復波形(IF-time):

フライバックコンバータについて理解したい。その2:RCDスナバ回路

はじめに

前回の記事(フライバックコンバータについて理解したい(その1) - ペEの日記)では、フライバックコンバータの基本原理についてまとめた。今回は、スイッチ素子を保護するRCDスナバ回路の役割について考えてみた。

(以下、自分なりに考えた結果なので、もしかしたら参考書やアプリケーションノートと異なるかもしれない。間違っていたらコメントよりご指摘願いたい。)

参考になった記事:
detail-infomation.com

RCDスナバ回路

概要

図1にRCDスナバ回路とスイッチの電圧波形を示す。図中に示したように、実際のトランスには磁気結合していない漏れインダクタンス(Llk)の成分が存在する。

フライバックコンバータは、スイッチオン時にエネルギーを蓄積し、オフ時に放出するという原理で動作するのであったが、漏れインダクタンスにも同様にエネルギーが蓄積してしまう。このエネルギーがスイッチオフの瞬間に行き場を失うと、サージ電圧となってスイッチ素子を破壊してしまうリスクとなる。

そこで、RCDスナバ回路によりエネルギーの逃げ場を作ってあげることで、スイッチ素子を保護する。

図1:RCDスナバ回路(左)とスイッチの電圧波形(右)

動作の詳細

図2にRCDスナバ回路の電流経路を示す。

まず、スイッチオフ直後、図2(a)の経路でキャパシタを充電することで、漏れインダクタンスに溜まったエネルギーが吸収される。次に、図2(b)の経路でキャパシタに溜まった電荷を放電することで、吸収したエネルギーを熱に変える。

図2:RCDスナバ回路の電流経路

以下、数式を用いて詳しく見ていこう。スイッチオン時、漏れインダクタンスに蓄積されるエネルギーElkは次式で表すことができる。

 \displaystyle
E_{\mathrm{lk}}=\frac{1}{2}L_{\mathrm{lk}}I_{\mathrm{p,max}}^2

一方、スナバ回路のCに蓄えられるエネルギーの増加分はΔECは次式となる。ここで、Vclampはクランプ電圧、VORは反射電圧あるいはフライバック電圧とする(図1参照)。反射電圧VORは二次電圧に巻き数比Np/Nsを掛けた値となる。

 \displaystyle
\Delta E_{\mathrm{C}}=\frac{1}{2}CV_{\mathrm{clamp}}^2-\frac{1}{2}CV_{\mathrm{OR}}^2

エネルギーの保存測からElk=ΔEC、すなわち

 \displaystyle
C=\frac{L_{\mathrm{lk}}I_{\mathrm{p,max}}}{V_{\mathrm{clamp}}^2-V_{\mathrm{OR}}^2}

実際の設計時には、スイッチ素子の耐電圧からクランプ電圧Vclampを設定し、上式の値より大きい容量値を選定すればよい。コンデンサの耐電圧に注意。

スナバ回路のRは放電の早さで決める。放電波形vC(t)は次式の指数関数で表せる。

 \displaystyle
v_{\mathrm{C}}(t)=V_{\mathrm{clamp}}\exp\left(-\frac{t}{RC}\right)

スイッチング周期後の電圧をVORにしたいのでvC(Ts)=VOR、すなわち

 \displaystyle
R=\frac{1}{f_\mathrm{s}C\ln\left(\frac{V_{\mathrm{clamp}}}{V_{\mathrm{OR}}}\right)}

実際の設計時には、マージンをとって上式の値より小さい抵抗値を選定すれば良い。ただし、小さすぎると損失になる。耐電力にも注意する。

最後に、スナバ回路に使用するダイオードは、ファストリカバリーダイオードが好ましい。ファストリカバリーダイオードは逆回復時間が数10 nsと短いため、電力損失を抑えることができる。