MOSFETスイッチング損失計算機

導通・スイッチング・ゲート駆動の3損失を分離しTjを推定

MOSFETの導通損失・スイッチング損失・ゲート駆動損失を分離表示し、Rth(j-a)からジャンクション温度を推定する。データシート値とVds/Id/fswを入れるだけ。

シナリオプリセット

動作条件

デバイスパラメータ(データシート)

熱条件

損失と温度

導通損失 Pcond

0.250 W

スイッチング損失 Psw

0.210 W

ゲート駆動損失 Pgate

0.015 W

合計損失 Ptotal

0.475 W

ジャンクション温度 Tj48.8 °CTa=25°C + Rth×Ptotal
余裕あり
本ツールはハードスイッチング線形近似による概算。Id欄にはオン時の実効電流(rms)を入力する前提。Coss損失・逆回復損失・温度係数によるRds(on)増加は含まれない。実設計ではデータシートと実機温度測定で検証のこと。
不具合・ご要望はお気軽に@MahiroMemoまで

PR

📘 電源設計・パワエレの実務書

基板の上で指が跳ねた夏

試作したDC-DCコンバータの電源を入れて数十秒、何気なくMOSFETに指を近づけたら反射で手を引っ込めた。TO-220のタブは100℃近く、指紋が熱で乾くような温度。オシロで波形は綺麗に出ているのに、なぜこの素子だけここまで熱くなるのか分からなかった。データシートをめくって Rds(on) だけを眺めて「導通損失は小さいはず」と思い込んだのが敗因だ。実際には立上がり・立下がりでの交差損失と、高めのスイッチング周波数、そしてゲート駆動の積み上げが合算して数ワット分の熱を生んでいた。

MOSFETの損失は「一個の数字」では決まらない。導通・スイッチング・ゲート駆動の三成分がそれぞれ別の物理で積み上がり、最終的に熱抵抗を通ってジャンクション温度へ跳ね返ってくる。このツールは、その3成分を入力からワンショットで分離表示し、Tjまで一気に確認するために作った。Excelの式セルを毎回コピペしていた手間を省き、データシートを開きながら指で追える粒度で動くようにしてある。

なぜ作ったのか

電源設計の現場では、TIやInfineonのアプリノートに載っている損失式をその都度Excelに写し込んで計算するやり方がまだ一般的だ。筆者も例外ではなく、プロジェクトごとに loss_calc_v3_final_really.xlsx みたいなファイルが増殖していた。セルを壊して結果が狂った経験、単位を mΩ のまま掛けて桁を間違えた経験、tr と tf の単位を ns と s で取り違えて損失が0.00000…と表示された経験。思い当たる読者もいるはず。

そこで、式を固定して単位変換を内部で吸収し、入力欄には「データシートに載っているままの単位(mΩ, ns, nC, kHz)」を打てるようにした。結果は導通/スイッチング/ゲート駆動に分離表示。合計とTjまで一気に出て、125℃・150℃の閾値で色が変わる。既存のMOSFET損失計算ツールはシミュレータ系(LTspiceなど)か、単成分しか出さない簡易系に二極化していて、中間の「分離表示+即時」に乾いた需要があったのも動機だ。

さらに大きかったのは、試作で焼いた素子を解剖して「どの損失が支配的だったか」を後から当てるのが難しいこと。分離表示があれば事前に「この設計は Psw が7割を占めるから tr を短縮する方が効く」といった判断ができる。経験の浅いメンバーに渡しても、3成分の比率から設計の勘所を掴んでもらいやすい。自分のためのツールがチームの教材にもなった形だ。

MOSFET損失の3成分 とは

MOSFETがスイッチング電源で発生する損失は、ざっくり次の3つに分解できる。どれかが飛び抜けて支配的になることが多いため、まずは個別に把握するのが鉄則だ。

導通損失 Pcond の正体

MOSFETがON状態のとき、ドレイン-ソース間には Rds(on) という小さな抵抗が残る。ここに電流 Id が流れると抵抗損が出る。式はオームの法則そのものだ。

Pcond = Id^2 × Rds(on) × D
// Id: ドレイン電流の実効値 [A]
// Rds(on): オン抵抗 [Ω]
// D: デューティ比 (0-1)

蛇口に繋いだホースを思い浮かべてほしい。ホースが細い(Rdsが大きい)と、流量(Id)を通すために余計な圧力が必要で、ホース自体が熱くなる。D はそのホースが開いている時間の割合。Rds(on) は温度で増える性質があり、Tjが上がると損失も増え、さらにTjが上がる正帰還に注意が要る(本ツールでは定数扱い)。詳細は Wikipedia: MOSFET も参照。

スイッチング損失 Psw と三角形近似

ON⇔OFFの切り替え瞬間、Vds と Id が同時に非ゼロの区間が必ず存在する。電圧と電流が交差する台形波を積分したものがスイッチング損失だ。実際の波形は寄生容量やゲート抵抗で曲線になるが、設計段階では「三角形近似」で十分実用になる。

Psw = 0.5 × Vds × Id × (tr + tf) × fsw
// tr, tf: 立上/立下時間 [s]
// fsw: スイッチング周波数 [Hz]

1回の切り替えで 0.5 × Vds × Id × (tr+tf) ジュールを消費し、それが秒間 fsw 回起きると考えればよい。高周波化するほどリニアに増えるため、500kHz超の設計では Psw が全体を支配することが多い。

ゲート駆動損失 Pgate

MOSFETのゲートは小さなコンデンサに見える。そこに Vgs の電圧を印加するために Qg [C] の電荷を送り込み、OFFのときに捨てる。この充放電エネルギーがゲート駆動損失で、ドライバIC側で消費される。

Pgate = Qg × Vgs × fsw

MOSFET本体の発熱ではないが、電源効率には直結するため必ず計上する。Si2302のような小信号FETなら無視できるが、IRFP260のような大型FETだと無視できない大きさになる。

損失計算を誤るとどうなるか

3成分のどれか一つを見落とすと、たいてい試作で痛い目を見る。電源設計の世界で「もう一度やりたくない失敗」として語られるのは、以下のパターンだ。

熱暴走による焼損。Rds(on)だけで見積もって放熱器を小型化した結果、Psw の寄与で Tj が実測150℃を超え、パッケージが黒焦げになる。Tj が高いと Rds(on) がさらに増え、損失がさらに増えるポジティブフィードバックに入る。JEITA資料によれば、MOSFET故障の約3割は熱ストレスに起因するとされている。

効率仕様の未達。車載DC-DCでは効率92%以上が要求ラインになることが多いが、Pgateを見落とすと0.5〜1%簡単に削られる。後工程で放熱器を増やしても効率は戻らないため、設計初期に式に入れておくしかない。

EMI/EMC規格の落とし穴。tr/tfを短くするとPswは減るが、dV/dt と di/dt が増えて放射ノイズが悪化する。損失とノイズはトレードオフ関係。計算ツールで Psw を「下げたい」と思ったら、まず fsw を見直すのが安全な第一手だ。

法令・規格との衝突。産業用途では IEC 60950-1 や IEC 62368-1 がタッチテンパラチャを規定しており、筐体表面温度が規制される。MOSFET単体のTjだけでなく、基板ヒートスプレッドまで含めた熱設計が必要で、その出発点が正確な損失見積もりだ。

同じ60V/10A条件でも、fsw=50kHz と fsw=500kHz では Psw が10倍違う。この感覚値を入力→結果で即確認できると、仕様検討の初期段階で地雷を踏まなくなる。

活躍する場面

車載DC-DC設計。48V→12V、12V→5Vのバックコンバータで MOSFET を選定するとき、候補のデータシート値をそのまま打ち込んで Tj を比較できる。小型化したい領域ほど熱マージンが薄いため、Tj が125℃を超えるかどうかが一次スクリーニングになる。

三相インバータ・モータ制御。6石のIGBT/MOSFETが同時に発熱する構成では、1石あたりの損失を正確に積み上げる必要がある。本ツールで1石ぶんを出して6倍すれば、ヒートシンク計算の入力として直結できる。

Hブリッジ・フルブリッジDC-DC。車載充電器やインバータ溶接機で使う4石ブリッジ。スイッチング周波数が数百kHz帯に入ると Psw が支配的になり、ここで三角形近似の値を基準値として押さえておくと、寄生インダクタンスでさらに増える分の余裕設計ができる。

試作品のデバッグ。実機で熱くなっている原因が導通なのかスイッチングなのか、指で触った温度だけでは分からない。入力値を変えて感度解析すると「tr を半分にすれば Tj が20℃下がる」といった具体的な対策が見えてくる。

基本の使い方

  1. 動作条件を入力:Vds・Id(実効値)・デューティ比・fsw の4点。ここはトポロジと仕様から決まる値だ
  2. データシート値を入力:Rds(on) [mΩ] / tr [ns] / tf [ns] / Qg [nC] / Vgs [V]。データシートの「Electrical Characteristics」欄をそのまま打てばよい
  3. 熱条件を入力して判定確認:Rth(j-a) [°C/W] と Ta [°C] を入れると、Pcond/Psw/Pgate が分離表示され、合計と Tj が算出される。Tj のStatusCardの色で余裕度が一目で分かる

結果は「結果をコピー」ボタンでテキスト化でき、設計レビューのSlackやIssueにそのまま貼れる。

具体的な使用例

ケース1: 汎用Buck下段(12V系) 入力: Vds=24V, Id=5A, D=50%, Rds=20mΩ, tr=20ns, tf=15ns, Qg=15nC, Vgs=10V, fsw=100kHz, Rth=50°C/W, Ta=25°C 結果: Pcond=0.250W / Psw=0.210W / Pgate=0.015W / Ptotal=0.475W / Tj=48.8°C 解釈: 3成分がほぼ拮抗。Tjは50℃以下で余裕たっぷり。100kHz帯の小電流設計ではこのくらいのバランスが典型的だ。

ケース2: 大電流Buck(48V→低電圧) 入力: Vds=48V, Id=10A, D=50%, Rds=10mΩ, tr=tf=30ns, Qg=50nC, Vgs=12V, fsw=50kHz, Rth=30°C/W, Ta=40°C 結果: Pcond=0.500W / Psw=0.720W / Pgate=0.030W / Ptotal=1.250W / Tj=77.5°C 解釈: 電流が大きいのに Psw が支配的になっている。fsw=50kHz と控えめなのに Vds=48V × Id=10A の交差損失が効いてくる典型例。tr/tf を短縮できればさらに余裕が生まれる。

ケース3: 高周波GaN相当(500kHz) 入力: Vds=48V, Id=5A, D=50%, Rds=5mΩ, tr=tf=5ns, Qg=8nC, Vgs=6V, fsw=500kHz, Rth=40°C/W, Ta=25°C 結果: Pcond=0.063W / Psw=0.600W / Pgate=0.024W / Ptotal=0.687W / Tj=52.5°C 解釈: 高周波でも tr/tf が極端に短いおかげで Psw は0.6Wに留まる。GaNの強みが数字で見える例。Pcondは抵抗が小さいため誤差レベルに近い。

ケース4: 高電圧低電流(AC-DC入力段) 入力: Vds=400V, Id=1A, D=40%, Rds=300mΩ, tr=tf=40ns, Qg=30nC, Vgs=12V, fsw=100kHz, Rth=40°C/W, Ta=30°C 結果: Pcond=0.120W / Psw=1.600W / Pgate=0.036W / Ptotal=1.756W / Tj=100.2°C 解釈: 400V × 1A の交差損失が圧倒的。Pcondの13倍が Psw に吸われる。AC-DC一次側の超高圧設計では、tr/tf短縮とfsw低下の両面で攻める必要があることが分かる。

ケース5: 低電圧超大電流(POL電源) 入力: Vds=5V, Id=30A, D=50%, Rds=2mΩ, tr=tf=10ns, Qg=20nC, Vgs=5V, fsw=300kHz, Rth=25°C/W, Ta=40°C 結果: Pcond=0.900W / Psw=0.450W / Pgate=0.030W / Ptotal=1.380W / Tj=74.5°C 解釈: CPUコア電源のようなPOL(Point of Load)パターン。低Vdsで Psw が抑えられ、Id^2 に比例する Pcond が支配的に。Rds(on)=2mΩのような超低抵抗品が必須で、それを選定したうえでTjは74℃と許容範囲。

ケース6: 放熱貧弱で危険域(警告ケース) 入力: Vds=60V, Id=8A, D=60%, Rds=25mΩ, tr=tf=40ns, Qg=40nC, Vgs=10V, fsw=200kHz, Rth=80°C/W, Ta=50°C 結果: Pcond=0.960W / Psw=3.840W / Pgate=0.080W / Ptotal=4.880W / Tj=440.4°C 解釈: Tj が桁外れ。ヒートシンクなしのTO-220(Rth≈62)に近い条件で fsw=200kHz を回そうとするとこうなる、という警告用の例。実機なら瞬時に焼損する。放熱器追加で Rth を 5°C/W まで下げると Tj=74.4°C まで落ちる。

ケース7: Pgate警告パターン(過剰駆動) 入力: Vds=12V, Id=2A, D=30%, Rds=15mΩ, tr=tf=10ns, Qg=80nC, Vgs=15V, fsw=400kHz, Rth=60°C/W, Ta=25°C 結果: Pcond=0.018W / Psw=0.096W / Pgate=0.480W / Ptotal=0.594W / Tj=60.6°C 解釈: Pgate が Psw を上回る珍しいケース。大きすぎるQgのFETを高周波で駆動すると、本体よりドライバICが熱くなる。本ツールではこの場合 Pgate>Psw の警告を出す。ゲート抵抗調整か、小型FETへの置き換えが定石。

三角形近似 vs Coss損失考慮 — 仕組みとアルゴリズム

候補手法の比較

MOSFETのスイッチング損失を見積もる手法は、精度順に3つの段階がある。

手法A: 三角形近似(本ツールの採用手法)。tr/tf 区間で Vds と Id が直線的に交差するとみなす最もシンプルなモデル。アプリノート初級編で必ず出てくる式で、TI SLUA618 や Infineon AN 2017-40 でも「一次評価用」として推奨されている。計算コスト ゼロ、入力もデータシート値のみ。

手法B: Coss損失考慮。ハードスイッチング時、Cossに蓄えられた電荷 0.5 × Coss × Vds^2 × fsw が毎周期捨てられる。これを加算すると高電圧設計で数%精度が上がる。ただしCossは電圧依存性が強く、データシートから等価値を読むのに熟練が要る。

手法C: 数値シミュレーション(LTspice等)。寄生容量・寄生インダクタンス・ゲートドライバ出力インピーダンスを含めた完全モデル。最も精度は高いが、SPICEモデル入手と動作条件の作り込みで数時間かかる。

本ツールは手法Aを採用した。理由は「設計初期の比較検討で必要なのは相対値の比較」であり、絶対値10%の誤差より入力→結果のレスポンスが重要だからだ。Coss損失と逆回復損失は postponedFeatures として次バージョンで追加予定。

実装詳細と計算フロー

入力は全て文字列stateで受け取り、parseFloat後に単位変換テーブルを通す。

const Rds_ohm = parseFloat(rdsStr) * 1e-3;  // mΩ → Ω
const tr_s = parseFloat(trStr) * 1e-9;      // ns → s
const tf_s = parseFloat(tfStr) * 1e-9;      // ns → s
const Qg_C = parseFloat(qgStr) * 1e-9;      // nC → C
const fsw_Hz = parseFloat(fswStr) * 1e3;    // kHz → Hz
const D = parseFloat(dutyStr) * 0.01;       // % → ratio

const Pcond = Id * Id * Rds_ohm * D;
const Psw = 0.5 * Vds * Id * (tr_s + tf_s) * fsw_Hz;
const Pgate = Qg_C * Vgs * fsw_Hz;
const Ptotal = Pcond + Psw + Pgate;
const Tj = Ta + Rth * Ptotal;

すべて useMemo 配下で一度に算出し、results配列をResultCellグリッドに流し込む構造。入力一箇所を変えるだけで全5項目が同時更新される。

計算例(ケース1を手計算で追う)

Vds=24V, Id=5A, D=50%, Rds=20mΩ=0.02Ω, tr=20ns, tf=15ns, Qg=15nC, Vgs=10V, fsw=100kHz=1e5Hz として、

Pcond = 5^2 × 0.02 × 0.5 = 25 × 0.02 × 0.5 = 0.25 W
Psw   = 0.5 × 24 × 5 × (20+15)×1e-9 × 1e5
      = 0.5 × 24 × 5 × 35e-9 × 1e5
      = 60 × 3.5e-3
      = 0.21 W
Pgate = 15e-9 × 10 × 1e5 = 0.015 W
Ptotal = 0.25 + 0.21 + 0.015 = 0.475 W
Tj = 25 + 50 × 0.475 = 48.75 °C

三角形近似の典型的な流れ。Psw の計算で ns×Hz をそのまま掛けて無次元化する感覚が掴めれば、データシートとの照合が早くなる。

他ツールとの違い

世の中のMOSFET損失計算ツールは大きく2種類に分かれる。半導体メーカー公式のパラメトリックサーチ連動型(TIのWEBENCHやInfineonのMOSFET Loss Calculator)と、Excelテンプレート型だ。前者は自社製品に縛られ、手元に転がっている他社のFETを評価するには不向き。後者はセル参照が錯綜していて、どの数式がどの損失に対応しているのか追いにくい。

このツールが狙うのは、その中間の「型番非依存・3成分分離表示」という領域。データシートからRds(on)・Qg・tr・tfの4値さえ拾えば、どんなメーカーのFETでも同じ土俵で比較できる。しかも導通・スイッチング・ゲート駆動の3損失が独立してW単位で並ぶので、「今このFETは何で熱くなっているのか」が一目で分かる。

もう一つの差別化ポイントが熱設計ツールとの接続。Ptotalの数値をそのまま /heatsink-calc に入れればヒートシンクの目標熱抵抗が出せるし、電源トポロジ全体の部品選定は /smps-component-calc で行える。リニア系のデバイスとの発熱比較をしたいなら /ldo-thermal-calc と見比べてスイッチング方式の優位性を数値で示せる。単体ツールでなく「電源設計ワークベンチの一部」として使えるのが強みだ。

MOSFETの歴史と損失計算の変遷

MOSFET(Metal-Oxide-Semiconductor FET)の商用化は1960年代後半。バイポーラトランジスタが主流だった時代に、ゲート絶縁構造で「電流でなく電圧で駆動できる」という革命を持ち込んだのがきっかけだ。初期のMOSFETはオン抵抗が数十Ωもあり、大電力用途には使えなかった。現在のようにmΩクラスのRds(on)が当たり前になったのは、1970年代後半にパワーMOSFETの垂直構造(VMOS、続いてDMOS)が発明されてからだ。ちなみに「パワーMOSFETの父」と呼ばれるのはSiliconix社のAlex Lidowで、現在はEPC社でGaN FETを世に送り出している人物。パワエレの世界は案外狭い。

損失計算の手法にも歴史がある。1980年代までは「Rds(on)とデューティで導通損失を出し、スイッチング損失はfsw比例で適当に見積もる」という粗い計算が主流だった。三角形近似の0.5×Vds×Id×(tr+tf)×fswという式がアプリノートに載り始めたのは1990年代。さらに2000年代に入ってCoss損失(出力容量による損失)や逆回復損失が無視できなくなり、ソフトスイッチング(LLC・位相シフトフルブリッジ)の普及と共に詳細モデル化が進んだ。現代のGaN/SiCデバイスは駆動周波数がMHz帯に達し、Coss損失が支配的になるケースも多い。

興味深いのは、どれだけモデルが複雑化しても「導通+スイッチング+ゲート駆動」という3成分分解は生き残っていること。これはエンジニアが発熱原因を直感的に切り分けるための言語として機能している。最新のWBG(ワイドバンドギャップ)半導体でも、TIやInfineonのアプリノートはまずこの3成分から説明を始める。参考: Wikipedia: Power MOSFET

Tips: データシートの読み方

  • Rds(on)は条件付きで読む: データシート1ページ目の代表値は「Tj=25℃、Vgs=10V」など理想条件のもの。実機は100℃超で動くのでRds(on)は1.5〜2倍に膨らむ。グラフの「Rds(on) vs Tj」を必ず確認し、動作温度帯の値を入力しよう。
  • Qgはグラフ優先: データシート表のQg代表値はVgs=10V時の値。実際のドライブ電圧が異なる場合、「Gate Charge vs Vgs」曲線から該当Vgsでの値を読む。6V駆動ならQgが半分になることも珍しくない。
  • tr/tfは参考値と割り切る: 立上・立下時間はゲート抵抗とドライバの駆動能力で大きく変わる。データシート値は特定のRg条件下の測定値なので、自分の回路のRgに合わせて実測するか、Qgd(Miller電荷)から逆算するのが正確。
  • Rth(j-a)は過信しない: JEDEC標準PCB条件(1oz銅、1inch²パターン)での値。実装面積が小さいと平気で2〜3倍に悪化する。放熱面積を確保できない基板ではRth(j-c)+放熱器経路で見積もる方が安全。
  • 「Absolute Maximum」と「Recommended」の区別: Id=50Aと書かれていても、それは瞬間最大。連続動作での許容電流はTj=150℃に到達する電流で決まり、実際は数A程度ということも多い。SOA(Safe Operating Area)グラフを必ず見る習慣をつけたい。

よくある質問

Coss損失や逆回復損失を入れなくて大丈夫?

ハードスイッチングの同期整流Buckやフライバックでは、Coss損失(出力容量の蓄積エネルギー損失 0.5×Coss×Vds²×fsw)と逆回復損失(Qrr×Vds×fsw)が合計損失の20〜40%を占めることがある。特に周波数が500kHzを超える設計や、Vdsが高い(100V以上)場合は要注意。本ツールは線形近似の概算値として使い、最終段階ではLTspiceやPLECSでシミュレーションするか、データシートの「Power Loss Calculator」を併用してほしい。

Rds(on)の温度依存をどう考慮する?

おおよそTj=100℃でRds(on)は25℃値の1.4〜1.6倍、Tj=125℃で1.6〜1.8倍になる(プロセスによる)。設計初期段階では入力するRds(on)の値をあらかじめ1.5倍に水増ししておき、Tjが安定する動作点で再計算する反復法がおすすめ。ツール側で自動反復していないのは、FETによって温度係数が異なるため統一した係数を置けないからだ。

Pgateがスイッチング損失より大きくなったけど異常?

低負荷・高周波・大型FETの組み合わせで発生しやすい現象。Idが小さいとPswは小さくなる一方、Qgは動作点によらず一定のためPgateは下がらない。過剰駆動を疑いたいときは、より小型のFETへの変更、並列FETの数を減らす、ゲートドライバの駆動電流を適正化する、といった対策を検討する。ツール上でもPgate>Pswのときに警告を出している。

N-chとP-chで計算式は変わる?

式自体は同じ。Id²×Rds(on)×Dも0.5×Vds×Id×(tr+tf)×fswもキャリア極性に依存しない。ただしP-chは同サイズでもRds(on)が2〜3倍高いため、同じ入力で計算すると損失が大きく出る。ハイサイドスイッチの単純構成ではP-chが便利だが、損失を下げるならブートストラップ回路でN-chをハイサイド駆動する方が圧倒的に有利になる。

同期整流の下段FETはどう計算する?

下段FETは基本的にZVS(ゼロ電圧スイッチング)に近い動作になるため、Pswはほぼゼロと置いてよい。一方で導通デューティが(1-D)になる点に注意。たとえばD=40%のBuckなら下段の導通デューティは60%。ツールにはD欄に60と入れ、Vds欄にはボディダイオード通電期間を考慮した実効電圧(通常は0.5〜1V程度)を入れて別計算するのがコツ。上段と下段は別セッションで計算して合算するとよい。

まとめ

MOSFETの発熱はオン抵抗だけでは説明できない。導通・スイッチング・ゲート駆動の3成分がそれぞれ独立した物理メカニズムで効いており、動作点によって主役が入れ替わる。このツールを使えば、データシート値を転記するだけでその内訳が見える。「どこを削れば冷えるのか」が数字で分かるようになれば、電源設計は一段階前に進む。

熱設計まで一貫して進めたいときは /heatsink-calc でヒートシンク選定を、電源トポロジ全体の部品計算は /smps-component-calc を、リニアレギュレータとの発熱比較は /ldo-thermal-calc を併用してほしい。

不具合報告や計算式の改善要望はお問い合わせまで気軽に送ってくれると嬉しい。

M

Mahiro

Mahiro Appの開発者。試作基板で焼いたIRFZ44Nが引き出しに3個眠っている筆者が、二度と同じ失敗をしないために作った3成分分離ツール。

運営者情報を見る

© 2026 MOSFETスイッチング損失計算機