半導体の熱効果のシミュレーション
熱モデリングは、熱端子の使用によるシステムの冷却要件の推定に役立つデータを提供します。Simscape™ Electrical™ の Semiconductors & Converters ライブラリの一部のブロックには、熱発生をシミュレートすることによってデバイスの温度を特定できる熱バリアントがあります。たとえば、3 端子半導体デバイスをモデル化する IGBT (Ideal, Switching) ブロックには、スイッチング イベントと伝導損失によって発生する熱をシミュレートできる熱バリアントがあります。
パラメーター値の選択の詳細については、数値パフォーマンスの改善を参照してください。ブロック ダイアログ ボックスの [熱端子] 設定と [温度依存性] 設定間の関係の説明については、温度に依存した電気的動作を参照してください。
熱端子の使用
Semiconductors & Converters ライブラリのブロックなど、特定の Simscape Electrical ブロックには既定では非表示のオプションの熱端子が含まれています。発生する熱とデバイスの温度をシミュレートするには、次を行って熱端子を表示します。
熱端子を表示するブロックをダブルクリックします。
[モデリング オプション] パラメーターを
[熱端子を表示]
に設定します。
熱端子が表示されると、そのブロックの [ブロック パラメーター] ウィンドウに、[熱端子] という新たな設定が表示されます。表示されるパラメーターは、[熱回路網] パラメーターに設定する値によって異なります。
オプションの熱端子をもつすべてのブロックには、ブロック線図を整理するための、オプションの内部熱モデルが含まれています。
接合部およびケースの熱パラメーターの指定
以下の図は、半導体デバイスの「接合部およびケースの熱パラメーターの指定」
モデルの等価モデルを示しています。
端子 H は、ブロックの熱端子 [H] に対応します。2 つの Thermal Mass ブロックは、デバイス ケースの熱質量と半導体接合部の熱質量をそれぞれ表します。Heat Flow Rate Source ブロック (ブロック線図では power_dissipated) は、デバイスから電気的に生じた熱と等しい値の熱をモデルに入力します。
2 つの Conductive Heat Transfer ブロックは熱抵抗をモデル化します。抵抗 R_JC (コンダクタンス 1/R_JC) は、接合部とケース間の熱抵抗を表します。この抵抗のため、通常の条件下では、接合部がケースより高温になります。抵抗 R_CA は、端子 [H] とデバイス ケース間の熱抵抗を表します。デバイスにヒート シンクがない場合は、端子 [H] を、周囲の条件に合わせて温度を設定した Temperature Source ブロックに接続する必要があります。デバイスに外部ヒート シンクがある場合は、ヒート シンクをデバイスの外部でモデル化し、ヒート シンクの熱質量を端子 [H] に直接接続しなければなりません。
接合部とケースの熱パラメーターを介して、ブロックの内部熱ネットワークのシミュレートすることを選択した場合は、以下のパラメーターが有効になります。
Junction case and case-ambient (or case-heatsink) thermal resistances, [R_JC R_CA] — 2 つの Conductive Heat Transfer ブロックによって表される、2 つの熱抵抗値の行ベクトル [R_JC R_CA]。最初の値 R_JC は、接合部とケース間の熱抵抗です。2 番目の値 R_CA は、端子 [H] とデバイス ケース間の熱抵抗です。
熱質量のパラメーター化 — 熱質量を熱時定数に基づいてパラメーター化するか (
[熱時定数による]
)、熱質量の値を直接指定するか ([熱質量による]
) を選択します。詳細については、熱質量のパラメーター化を参照してください。既定値は[熱時定数による]
です。接合部およびケースの熱時定数、[t_J t_C] — 2 つの熱時定数値の行ベクトル [t_J t_C]。最初の値 t_J は、接合部の時定数です。2 番目の値 t_C は、ケースの時定数です。このパラメーターを有効にするには、[熱質量のパラメーター化] を
[熱時定数による]
に設定します。接合部およびケースの熱質量、[M_J M_C] — 2 つの熱質量値の行ベクトル [M_J M_C]。最初の値 M_J は、接合部の熱質量です。2 番目の値 M_C は、ケースの熱質量です。このパラメーターを有効にするには、[熱質量のパラメーター化] を
[熱質量による]
に設定します。接合部およびケースの初期温度、[T_J T_C] — 2 つの温度値の行ベクトル [T_J T_C]。最初の値 T_J は、接合部の初期温度です。2 番目の値 T_C は、ケースの初期温度です。
以下のルールが適用されます。
ケースの熱質量はゼロより大きくなければならない。
接合部の熱質量は、接合部とケース間の抵抗もゼロに設定されている場合にのみゼロに設定できる。
ケースと接合部の熱質量の両方が定義されている一方で、接合部とケース間の抵抗はゼロである場合、接合部とケースに割り当てられる初期温度は等しくなければならない。
Cauer モデル
次の図は、半導体デバイスの内部 Cauer 熱モデルと同等のモデルを示しています。
Cauer モデルを介したブロックの内部熱ネットワークのシミュレートを選択する場合は、以下のパラメーターが有効になります。
熱抵抗、[R1 R2 ... Rn] — 熱ネットワークで使用されている Cauer 要素によって表される、n 個の熱抵抗値の行ベクトル。これらの値はすべて、ゼロより大きくなければなりません。
熱質量のパラメーター化 — 熱質量を熱時定数に基づいてパラメーター化するか (
[熱時定数による]
)、熱質量の値を直接指定するか ([熱質量による]
) を選択します。詳細については、熱質量のパラメーター化を参照してください。既定値は[熱時定数による]
です。熱時定数、[t1 t2 ... tn] — n 個の熱時定数値からなる行ベクトル。ここで n は、熱ネットワークで使用されている Cauer 要素の数です。このベクトルの長さは [熱抵抗、[R1 R2 ... Rn]] の長さと一致しなければなりません。これらの値はすべて、ゼロより大きくなければなりません。このパラメーター化では、熱質量が
Mi = ti/Ri
として計算されます。ここでMi
、ti
、Ri
は、i 番目の Cauer 要素の熱質量、熱時、熱抵抗です。このパラメーターを有効にするには、[熱質量のパラメーター化] を[熱時定数による]
に設定します。熱質量、[M1 M2 ... Mn] — n 個の熱質量値の行ベクトル。ここで n は、熱ネットワークで使用されている Cauer 要素の数です。これらの値はすべて、ゼロより大きくなければなりません。このパラメーターを有効にするには、[熱質量のパラメーター化] を
[熱質量による]
に設定します。熱質量の初期温度、[T1 T2 … Tn] — 温度値の行ベクトル。これは、モデル内の各熱容量の温度低下に対応します。
Foster 係数でパラメーター化された Cauer モデル
半導体デバイスのデータシートでは通常、Foster 係数を使用して熱モデルを指定します。ただし、ヒートシンク、放射、対流などの要素の熱コンポーネントを追加で使用して拡張できるため、Cauer 熱モデルはより有用です。
半導体デバイスの内部熱ネットワークを Foster 係数でモデル化する場合は、ブロックの [熱回路網] パラメーターを [Foster 係数でパラメーター化された Cauer モデル]
に設定します。
メモ
熱ネットワークは Cauer 熱ネットワークとして実装されますが、同じパラメーターを使用して、Foster モデル実装と完全に同一の動作をします。
Cauer 実装を使用した同等の熱モデルを次の図に示します。ここでは、それぞれの Cauer Thermal Model ブロックで [Foster 係数データを使用した Cauer モデルのパラメーター化] パラメーターが選択されています。
このオプションにより、熱モデルを Foster 係数を使用してパラメーター化しながらヒートシンクや他の拡張要素を熱ネットワークに接続できます。
Foster 係数を使用してパラメーター化した Cauer モデルを介したブロックの内部熱ネットワークのシミュレートを選択する場合は、以下のパラメーターが有効になります。
熱抵抗、[R1 R2 ... Rn] — 熱ネットワークで使用されている Cauer 要素によって表される、n 個の熱抵抗値の行。これらの値はすべて、ゼロより大きくなければなりません。
熱質量のパラメーター化 — 熱質量を熱時定数に基づいてパラメーター化するか (
[熱時定数による]
)、熱質量の値を直接指定するか ([熱質量による]
) を選択します。詳細については、熱質量のパラメーター化を参照してください。既定値は[熱時定数による]
です。熱時定数、[t1 t2 ... tn] — n 個の熱時定数値からなる行ベクトル。ここで n は、熱ネットワークで使用されている Cauer 要素の数です。このベクトルの長さは [熱抵抗、[R1 R2 ... Rn]] の長さと一致しなければなりません。これらの値はすべて、ゼロより大きくなければなりません。このパラメーター化では、熱質量が
Mi = ti/Ri
として計算されます。ここでMi
、ti
、Ri
は、i 番目の Foster 要素の熱質量、熱時、熱抵抗です。このパラメーターを有効にするには、[熱質量のパラメーター化] を[熱時定数による]
に設定します。熱質量、[M1 M2 ... Mn] — n 個の熱質量値の行ベクトル。ここで n は、熱ネットワークで使用されている Cauer 要素の数です。これらの値はすべて、ゼロより大きくなければなりません。このパラメーターを有効にするには、[熱質量のパラメーター化] を
[熱質量による]
に設定します。ノードの初期温度、[T1 T2 … Tn] — 接合部から始まる各ノードの温度の絶対値からなる行ベクトル。
外部モデル
半導体ブロックの熱ネットワークをブロックの外部でモデル化する場合は、[熱回路網] パラメーターを [エクスターナル]
に設定します。次の図は、半導体デバイスの内部熱モデルと同等のモデルを示しています。
端子 [H] は、ブロックの熱端子 [H] に対応します。Heat Flow Rate Source ブロック (ブロック線図では power_dissipated) は、ブロック内の総消費電力を表します。消費電力は、熱流量として H ノードに出力されます。Foster 熱モデルと同様に、熱がどこかに流れるように、熱ソースまたは追加の熱コンポーネントを H ノードに接続する必要があります。
ブロックの内部熱ネットワークを外部でシミュレートすることを選択した場合は、[接合部の熱質量] パラメーターが有効になります。
熱質量のパラメーター化
熱質量を推定する必要がある場合は、次の 2 つのパラメーター化オプションがあります。
熱時定数による
— 熱時定数によって熱質量をパラメーター化します。これは既定値です。熱質量による
— 熱質量の値を直接指定します。
[Cauer モデル (接合部およびケース)]
の場合、熱時定数 t_J および t_C は次のように定義されます。
t_J = M_J · R_JC
t_C = M_C · R_CA
ここで、M_J と M_C はそれぞれ接合部とケースの熱質量、R_JC は接合部とケース間の熱抵抗、R_CA は端子 [H] とデバイス ケース間の熱抵抗です。
[Foster モデル]
の場合、熱時定数 ti は、i 番目の Foster 要素に対して次のように定義されます。
ti = Mi· Ri,
ここで、Mi と Ri はそれぞれ、i 番目の Foster 要素の熱質量と熱抵抗です。
実験的測定によって、ケースの時定数を決定できます。接合部の時定数についてデータを使用できない場合は、定数を省いて接合部とケース間の抵抗をゼロに設定するか、接合部の時定数を標準値 (ケースの時定数の 10 分の 1) に設定できます。あるいは、デバイスの寸法と材料の比熱の平均を基に、熱質量を推定することもできます。
温度に依存した電気的動作
オプションの熱端子をもつブロックには、2 つのシミュレーション オプションがあります。
発生した熱、デバイスの温度、および電気方程式への温度の影響をシミュレートする。
発生した熱とデバイスの温度はシミュレートし、電気方程式への温度の影響は含めない。シミュレートする温度範囲に関して電気方程式への温度の影響が小さい場合、またはシミュレーションの主な目的が、発生する熱を取得してシステムレベルの設計を支援することである場合は、このオプションを使用します。
熱端子と、[ブロック パラメーター] ウィンドウの [熱端子] 設定を使って、発生する熱とデバイス温度をシミュレートできます。[温度依存性] 設定をもつブロックの場合は、接合部温度が電気特性に及ぼす影響のシミュレートが可能です。[温度依存性] 設定では、半導体接合部の温度による電気方程式への影響をモデル化できます。したがって、次のようになります。
温度の影響をすべてシミュレートするには、ブロックの熱端子を表示し、ブロックに [温度依存性] 設定がある場合は、[パラメーター化] パラメーターを、提示されているオプションのいずれか (
[2 番目の測定温度における I-V データ点を使用]
など) に設定します。発生する熱とデバイスの温度のみをシミュレートするには、ブロックの熱端子を表示し、[温度依存性] 設定で、[パラメーター化] を
[なし - パラメーターの測定温度でシミュレート]
に設定します。
数値パフォーマンスの改善
熱質量と抵抗については、現実的な値を設定してください。そうしないと、接合部が極端な温度になって有効な結果の範囲から外れる可能性があり、それがシミュレーションの際に数値的問題として現れる場合があります。数値的問題の原因が非現実的な値による熱の設定であるかどうかをテストするには、電気方程式の温度依存性をオフにします。[ブロック パラメーター] ウィンドウを開き、[温度依存性] 設定で、[パラメーター化] を [なし - パラメーターの測定温度でシミュレート]
に設定します。
一般的に、熱時定数は電気時定数よりはるかに遅いため、モデルの熱的側面が (たとえばハードウェアインザループ シミュレーションにおいて) シミュレーション可能な最大固定タイム ステップを左右することはあまりありません。しかし、詳細を削除する必要がある場合 (たとえば、シミュレーションの高速化のため)、接合部の熱質量の時定数はケースの熱質量の時定数よりも、通常は 1 桁高速になります。接合部の熱質量の影響を取り除くには、接合部の熱質量、および接合部とケースの間の熱抵抗をゼロに設定します。
整流器の熱損失のモデル化
単一の整流器ダイオードの熱伝達のモデル化
熱伝達を半導体の熱特性の関数としてモデル化し、測定するには、Foster 係数でパラメーター化された Cauer ベースの熱ネットワークと温度センサーを、熱端子をもつブロックに接続します。
モデルを開きます。MATLAB® コマンド プロンプトに以下を入力します。
ee_rectifier_diodes
モデルには、6 つの Diode ブロックをもつ三相整流器が含まれています。
ブロックをダブルクリックして [モデリング オプション] パラメーターを
[熱端子を表示]
に設定することにより、Diode1 ブロックの熱モデリング オプションを選択します。Diode1 ブロックを開きます。
[熱端子] 設定で、[熱回路網] を
[エクスターナル]
に設定します。[初期ターゲット] 設定で、[接合部の温度] を選択し、[優先度] を
[High]
に、[値] を300
[K]
に設定します。
ダイオードと環境の間の熱流量を表す Simscape Electrical ブロックを追加します。Simulink® ライブラリ ブラウザーを開き、[Simscape] 、 [Electrical] 、 [Passive] 、 [Thermal] をクリックして、Cauer Thermal Model ブロックをモデルに追加します。
Cauer Thermal Model ブロックを開いて次のパラメーターを変更します。
[パラメーター] 設定で、次を行います。
[Foster 係数データを使用した Cauer モデルのパラメーター化] パラメーターを選択。
[熱抵抗データ (Foster)] を
[ 0.00311 0.008493 0.00252 0.00288 ]
[K/W]
に設定。[熱時定数データ (Foster)] を
[ 0.0068 0.0642 0.3209 2.0212 ]
[s]
に設定。
[初期ターゲット] 設定で、次を行います。
[熱質量の温度のベクトル] を選択。
[優先度] を
[High]
に設定。
理想的な温源を使用して周囲温度を定数として表現する、以下のブロックを追加します。
Simulink ライブラリ ブラウザーから [Simscape]、[Foundation Library]、[Thermal]、[Thermal Sources] ライブラリを開き、Controlled Temperature Source ブロックを追加します。
[Simscape]、[Foundation Library]、[Thermal]、[Thermal Elements] ライブラリから Thermal Reference ブロックを追加します。
[Simscape]、[Foundation Library]、[Physical Signals]、[Sources] ライブラリから PS Constant ブロックを追加します。[定数] パラメーターに値
300
を指定し、単位には[K]
を選択します。
以下のブロックを追加して、Diode1 の温度を測定して表示します。
Simulink ライブラリ ブラウザーから [Simscape]、[Foundation Library]、[Thermal]、[Thermal Sensors] ライブラリを開き、Temperature Sensor ブロックを追加します。
[Simscape]、[Utilities] ライブラリから、PS-Simulink Converter ブロックを追加します。[出力信号単位] パラメーターに対して
[K]
を選択します。[Simulink]、[Sinks] ライブラリから、Scope ブロックを追加します。
次の図のようにブロックを配置して接続します。
ブロック間のラインをダブルクリックして「
Temp (K)
]と入力することにより、PS-Simulink Converter ブロックから Scope ブロックへの信号にラベルを付けます。モデルのシミュレーションを実行します。
温度データを確認するために Scope ブロックを開きます。
Diode1 の温度は、初期値 300 K からシミュレーション終了時の整定点 300.6 ~ 300.9 K に向かって上昇する際、0.3 K の温度範囲で変動します。
すべての整流器ダイオードの熱伝達のモデル化
整流器内のすべての半導体によって発生した全熱量を確認するには、データ ログと Simscape 結果エクスプローラーを使用します。
すべての整流器ダイオードの熱端子を有効にするには、ブロックをダブルクリックして [モデリング オプション] パラメーターを
[熱端子を表示]
に設定することにより、Diode2、Diode3、Diode4、Diode5、Diode6 の各ブロックの熱モデリング オプションを選択します。Diode2、Diode3、Diode4、Diode5、Diode6 の各ブロックを開きます。
[熱端子] 設定で、[熱回路網] を
[エクスターナル]
に設定します。[初期ターゲット] 設定で、[接合部の温度] を選択し、[優先度] を
[High]
に、[値] を300
[K]
に設定します。
Cauer 熱モデルのサブシステムを作成することにより、各ダイオードの熱伝達を測定するブロックを追加します。
次のブロック グループのコピーを作成します。
Cauer Thermal Model
Controlled Temperature Source
PS Constant
Thermal Reference
コピーしたブロックを次の図のように配置して接続します。
コピーしたブロックからサブシステムを作成し、名前を Cauer_D2 に変更します。詳細については、サブシステムの作成を参照してください。
Cauer_D2 サブシステムを開きます。Conn1 ブロックを開き、[Port location on the parent subsystem] パラメーターに対して
[右]
を選択します。Cauer_D2 サブシステムのコピーを 4 つ作成します。残りの Diode ブロックのそれぞれに 1 つのサブシステムを付加し、サブシステムの名前を、Diode3 ~ Diode6 のブロック名と一致するように Cauer_D3 ~ Cauer_D6 に変更します。
モデルのシミュレーションを実行します。
Simscape 結果エクスプローラーを使用して結果を表示します。
モデル ウィンドウで、[Three-Phase Rectifier] の下にあるテキスト内の [Explore simulation results] をクリックします。
[Diode1] の温度データを表示するために、Simscape 結果エクスプローラー ウィンドウで、[Diode1]、[H] ノードを展開し、[T] をクリックします。
DC 電圧を別のプロットに表示するために、[Sensing Vdc]、[Voltage Sensor] ノードを展開し、Ctrl キーを押しながら [V] をクリックします。
すべてのダイオードの温度データを表示するために、[Diode2]、[H] ノードを展開し、Ctrl キーを押しながら [T] をクリックします。Diode3 ~ Diode6 で同じ処理を繰り返します。
単一のプロットに温度データを重ね合わせるために、Simscape 結果エクスプローラー ウィンドウで、ツリーノード ウィンドウの上にあるオプション ボタン
をクリックします。[オプション] ダイアログ ボックスで、[信号のプロット] に対し
[オーバーレイ]
を選択します。変更を確定するには、[OK] をクリックします。温度データが明確に見えるように、凡例をクリックして下にドラッグします。
各ダイオードの温度プロファイルは、Diode1 の温度プロファイルから連続的に遅延します。各ダイオードでは、温度も Diode1 の温度プロファイルに従って同じ値で上昇し、落ち着きます。このデータが示しているのは、整流器の温度がダイオードと同じ温度プロファイルに従って上昇し落ち着くものの、個々のダイオード温度の挙動にラグがあるため、変動は少なくなるということです。
参考
Cauer Thermal Model | Foster Thermal Model | Diode | ee_getCauerFromFoster