Main Content

半導体の熱効果のシミュレーション

熱モデリングは、熱端子の使用によるシステムの冷却要件の推定に役立つデータを提供します。Simscape™ Electrical™ の Semiconductors & Converters ライブラリの一部のブロックには、熱発生をシミュレートすることによってデバイスの温度を特定できる熱バリアントがあります。たとえば、3 端子半導体デバイスをモデル化する IGBT (Ideal, Switching) ブロックには、スイッチング イベントと伝導損失によって発生する熱をシミュレートできる熱バリアントがあります。

パラメーター値の選択の詳細については、数値パフォーマンスの改善を参照してください。ブロック ダイアログ ボックスの [熱端子] タブと [温度依存性] タブ間の関係の説明は、温度に依存した電気的動作を参照してください。

熱端子の使用

Semiconductors & Converters ライブラリのブロックなど、特定の Simscape Electrical ブロックには既定では非表示のオプションの熱端子が含まれています。発生する熱とデバイスの温度をシミュレートするには、次を行って熱端子を表示します。

  1. 熱端子を表示するブロックをダブルクリックします。

  2. [モデリング オプション] パラメーターを [熱端子を表示] に設定します。

熱端子が表示されると、そのブロックの [ブロック パラメーター] ウィンドウに、[熱端子] という新たなタブが表示されます。表示されるパラメーターは、[熱回路網] パラメーターに設定する値によって異なります。

オプションの熱端子をもつすべてのブロックには、ブロック線図を整理するための、オプションの内部熱モデルが含まれています。

接合部およびケースの熱パラメーターの指定

以下の図は、半導体デバイスの「接合部およびケースの熱パラメーターの指定」モデルの等価モデルを示しています。

端子 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] とデバイス ケース間の熱抵抗です。既定値は [.08, .5] K/W です。

  • 熱質量のパラメーター化 — 熱質量を熱時定数に基づいてパラメーター化するか ([熱時定数による])、熱質量の値を直接指定するか ([熱質量による]) を選択します。詳細については、熱質量のパラメーター化を参照してください。既定値は [熱時定数による] です。

  • 接合部およびケースの熱時定数、[t_J t_C] — 2 つの熱時定数値の行ベクトル [t_J t_C]。最初の値 t_J は、接合部の時定数です。2 番目の値 t_C は、ケースの時定数です。このパラメーターを有効にするには、[熱質量のパラメーター化][熱時定数による] に設定します。既定値は [.001, .2] 秒です。

  • 接合部およびケースの熱質量、[M_J M_C] — 2 つの熱質量値の行ベクトル [M_J M_C]。最初の値 M_J は、接合部の熱質量です。2 番目の値 M_C は、ケースの熱質量です。このパラメーターを有効にするには、[熱質量のパラメーター化][熱質量による] に設定します。既定値は [.01, .5] J/K です。

  • 接合部およびケースの初期温度、[T_J T_C] — 2 つの温度値の行ベクトル [T_J T_C]。最初の値 T_J は、接合部の初期温度です。2 番目の値 T_C は、ケースの初期温度です。既定値は [ 25 25 ]℃ です。

以下のルールが適用されます。

  • ケースの熱質量はゼロより大きくなければならない。

  • 接合部の熱質量は、接合部とケース間の抵抗もゼロに設定されている場合にのみゼロに設定できる。

  • ケースと接合部の熱質量の両方が定義されている一方で、接合部とケース間の抵抗はゼロである場合、接合部とケースに割り当てられる初期温度は等しくなければならない。

Cauer モデル

次の図は、半導体デバイスの内部 Cauer 熱モデルと同等のモデルを示しています。

Cauer モデルを介したブロックの内部熱ネットワークのシミュレートを選択する場合は、以下のパラメーターが表示されます。

  • 熱抵抗、[R1 R2 ... Rn] — 熱ネットワークで使用されている Cauer 要素によって表される、n 個の熱抵抗値の行ベクトル。これらの値はすべて、ゼロより大きくなければなりません。既定値は [.08, .1, .5] K/W です。

  • 熱質量のパラメーター化 — 熱質量を熱時定数に基づいてパラメーター化するか ([熱時定数による])、熱質量の値を直接指定するか ([熱質量による]) を選択します。詳細については、熱質量のパラメーター化を参照してください。既定値は [熱時定数による] です。

  • 熱時定数、[t1 t2 ... tn] — n 個の熱時定数値からなる行ベクトル。ここで n は、熱ネットワークで使用されている Cauer 要素の数です。このベクトルの長さは [熱抵抗、[R1 R2 ... Rn]] の長さと一致しなければなりません。これらの値はすべて、ゼロより大きくなければなりません。このパラメーター化では、熱質量が Mi = ti/Ri として計算されます。ここで MitiRi は、i 番目の Cauer 要素の熱質量、熱時、熱抵抗です。このパラメーターを有効にするには、[熱質量のパラメーター化][熱時定数による] に設定します。既定値は [.001, .1, .2] 秒です。

  • 熱質量、[M1 M2 ... Mn] — n 個の熱質量値の行ベクトル。ここで n は、熱ネットワークで使用されている Cauer 要素の数です。これらの値はすべて、ゼロより大きくなければなりません。このパラメーターを有効にするには、[熱質量のパラメーター化][熱質量による] に設定します。既定値は [.01, .1, .5] J/K です。

  • 熱質量の初期温度、[T1 T2 … Tn] — 温度値の行ベクトル。これは、モデル内の各熱容量の温度低下に対応します。既定値は [ 25 25 25 ]℃ です。

Foster モデル

次の図は、半導体デバイスの内部 Foster 熱モデルと同等のモデルを示しています。

端子 [H] は、ブロックの熱端子 [H] に対応します。Heat Flow Rate Source ブロック (ブロック線図では power_dissipated) は、デバイスから電気的に生じた熱と等しい値の熱をモデルに入力します。このオプションは Foster Thermal Model ブロックを使用して熱ネットワークをモデル化するため、熱ソースと [H] 端子を直接または追加の熱コンポーネントを介して接続し、電力潮流のパスを明確に定義する必要があります。これは、Cauer 熱モデルでは不要です。熱基準へのパスが熱質量によって既に提供されているからです。

Foster モデルを介したブロックの内部熱ネットワークのシミュレートを選択した場合は、以下のパラメーターが表示されます。

  • 熱抵抗、[R1 R2 ... Rn] — 熱ネットワークで使用されている Foster 要素によって表される、n 個の熱抵抗値の行。これらの値はすべて、ゼロより大きくなければなりません。既定値は [.08, .14, .22, .16] K/W です。

  • 熱質量のパラメーター化 — 熱質量を熱時定数に基づいてパラメーター化するか ([熱時定数による])、熱質量の値を直接指定するか ([熱質量による]) を選択します。詳細については、熱質量のパラメーター化を参照してください。既定値は [熱時定数による] です。

  • 熱時定数、[t1 t2 ... tn] — n 個の熱時定数値の行ベクトル。ここで n は、熱ネットワークで使用されている Foster 要素の数です。このベクトルの長さは [熱抵抗、[R1 R2 ... Rn]] の長さと一致しなければなりません。これらの値はすべて、ゼロより大きくなければなりません。このパラメーター化では、熱質量が Mi = ti/Ri として計算されます。ここで MitiRi は、i 番目の Foster 要素の熱質量、熱時、熱抵抗です。このパラメーターを有効にするには、[熱質量のパラメーター化][熱時定数による] に設定します。既定値は [7e-05, .0007, .01, .08] 秒です。

  • 熱質量、[M1 M2 ... Mn] — n 個の熱質量値の行ベクトル。ここで n は、熱ネットワークで使用されている Foster 要素の数です。これらの値はすべて、ゼロより大きくなければなりません。このパラメーターを有効にするには、[熱質量のパラメーター化][熱質量による] に設定します。既定値は [.001, .005, .05, .5] J/K です。

  • 定常状態から開始 — モデルを定常状態に初期化するかどうかを選択します。既定値は [オン] です。

  • ノードの初期温度、[T1 T2 … Tn] — 接合部から始まる各ノードの温度の絶対値からなる行ベクトル。既定値は [ 25 25 25 25]℃ です。

内部 Foster 熱モデルの場合は、熱抵抗、熱時定数、熱質量がすべてゼロより大きくなければなりません。

Foster モデルを介したブロックの内部熱ネットワークをシミュレートするには、端子 B に温度を指定する必要があります。これは、左の温度 (接合部、つまり A) から右の温度 (B、通常は周囲温度) へのエンドツーエンドの動作的な伝達関数です。Foster モデルの端に、一定または制御された熱源が必要です。Foster モデルの熱流量は物理的なものではなく、端子 A と端子 B の間に蓄熱がないため、熱伝達の遅延はモデル化できません。

外部モデル

半導体ブロックの熱ネットワークをブロックの外部でモデル化する場合は、[熱回路網] パラメーターを [エクスターナル] に設定します。次の図は、半導体デバイスの内部熱モデルと同等のモデルを示しています。

端子 [H] は、ブロックの熱端子 [H] に対応します。Heat Flow Rate Source ブロック (ブロック線図では power_dissipated) は、ブロック内の総消費電力を表します。消費電力は、熱流量として H ノードに出力されます。Foster 熱モデルと同様に、熱がどこかに流れるように、熱ソースまたは追加の熱コンポーネントを H ノードに接続する必要があります。

ブロックの内部熱ネットワークを外部でシミュレートすることを選択した場合は、以下のパラメーターが表示されます。

  • 接合部の熱質量 — 接合部の熱質量。既定値は 0.01 J/K です。

熱質量のパラメーター化

熱質量を推定する必要がある場合は、次の 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 モデルベースの熱ネットワークと温度センサーを、熱端子をもつブロックに接続します。

  1. モデルを開きます。MATLAB® コマンド プロンプトに以下を入力します。

    ee_rectifier_diodes

    モデルには、6 つの Diode ブロックをもつ三相整流器が含まれています。

  2. ブロックをダブルクリックして [モデリング オプション] パラメーターを [熱端子を表示] に設定することにより、Diode1 ブロックの熱モデリング オプションを選択します。

  3. Diode1 ブロックを開きます。[熱端子] 設定で、[熱回路網][エクスターナル] に設定します。

  4. ダイオードと環境の間の熱流量を表す Simscape Electrical ブロックを追加します。Simulink® ライブラリ ブラウザーを開き、[Simscape][Electrical][Passive][Thermal] をクリックして、Foster Thermal Model ブロックをモデルに追加します。

  5. Foster Thermal Model ブロックを開いて次のパラメーターを変更します。

    1. 熱抵抗データ[ 0.00311 0.008493 0.00252 0.00288 ] [K/W] を指定します。

    2. 熱時定数データ[ 0.0068 0.0642 0.3209 2.0212 ] [s] を指定します。

  6. 理想的な温源を使用して周囲温度を定数として表現する、以下のブロックを追加します。

    1. Simulink ライブラリ ブラウザーから [Simscape][Foundation Library][Thermal][Thermal Sources] ライブラリを開き、Controlled Temperature Source ブロックを追加します。

    2. [Simscape][Foundation Library][Thermal][Thermal Elements] ライブラリから Thermal Reference ブロックを追加します。

    3. [Simscape][Foundation Library][Physical Signals][Sources] ライブラリから PS Constant ブロックを追加します。[定数] パラメーターに値 300 を指定します。

  7. 以下のブロックを追加して、Diode1 の温度を測定して表示します。

    1. Simulink ライブラリ ブラウザーから [Simscape][Foundation Library][Thermal][Thermal Sensors] ライブラリを開き、Temperature Sensor ブロックを追加します。

    2. [Simscape][Utilities] ライブラリから、PS-Simulink Converter ブロックを追加します。[出力信号単位] パラメーターに対して [K] を選択します。

    3. [Simulink][Sinks] ライブラリから、Scope ブロックを追加します。

  8. 次の図のようにブロックを配置して接続します。

  9. ブロック間のラインをダブルクリックして「Temp (K)]と入力することにより、PS-Simulink Converter ブロックから Scope ブロックへの信号にラベルを付けます。

  10. モデルのシミュレーションを実行します。

  11. 温度データを確認するために Scope ブロックを開きます。

    Diode1 の温度は、初期値 300 K からシミュレーション終了時の整定点 300.6 ~ 300.9 K に向かって上昇する際、0.3 K の温度範囲で変動します。

すべての整流器ダイオードの熱伝達のモデル化

整流器内のすべての半導体によって発生した全熱量を確認するには、データ ログと Simscape 結果エクスプローラーを使用します。

  1. すべての整流器ダイオードの熱端子を有効にするには、ブロックをダブルクリックして [モデリング オプション] パラメーターを [熱端子を表示] に設定することにより、Diode2、Diode3、Diode4、Diode5、Diode6 の各ブロックの熱モデリング オプションを選択します。

  2. Diode2、Diode3、Diode4、Diode5、Diode6 の各ブロックを開き、[熱端子] 設定で、[熱回路網][エクスターナル] に設定します。

  3. Foster 熱モデルのサブシステムを作成することにより、各ダイオードの熱伝達を測定するブロックを追加します。

    1. 次のブロック グループのコピーを作成します。

      • Foster Thermal Model

      • Controlled Temperature Source

      • PS Constant

      • Thermal Reference

    2. コピーしたブロックを次の図のように配置して接続します。

    3. コピーしたブロックからサブシステムを作成し、名前を Foster_D2 に変更します。詳細については、サブシステムの作成を参照してください。

    4. Foster_D2 サブシステムを開きます。Conn1 ブロックを開き、[Port location on the parent subsystem] パラメーターに対して [右] を選択します。

    5. Foster_D2 サブシステムのコピーを 4 つ作成します。残りの Diode ブロックのそれぞれに 1 つのサブシステムを付加し、サブシステムの名前を、Diode3 ~ Diode6 のブロック名と一致するように Foster_D3 ~ Foster_D6 に変更します。

  4. モデルをシミュレートします。

  5. Simscape 結果エクスプローラーを使用して結果を表示します。

    1. モデル ウィンドウで、[Three-Phase Rectifier] の下にあるテキスト内の [Explore simulation results] をクリックします。

    2. [Diode1] の温度データを表示するために、Simscape 結果エクスプローラー ウィンドウで、[Diode1][H] ノードを展開し、[T] をクリックします。

    3. DC 電圧を別のプロットに表示するために、[Sensing Vdc][Voltage Sensor] ノードを展開し、Ctrl キーを押しながら [V] をクリックします。

    4. すべてのダイオードの温度データを表示するために、[Diode2][H] ノードを展開し、Ctrl キーを押しながら [T] をクリックします。Diode3 ~ Diode6 で同じ処理を繰り返します。

    5. 単一のプロットに温度データを重ね合わせるために、Simscape 結果エクスプローラー ウィンドウで、ツリーノード ペインの上にあるオプション ボタン をクリックします。[オプション] ダイアログ ボックスで、[信号のプロット] に対し [オーバーレイ] を選択します。変更を確定するには、[OK] をクリックします。温度データが明確に見えるように、凡例をクリックして下にドラッグします。

    各ダイオードの温度プロファイルは、Diode1 の温度プロファイルから連続的に遅延します。各ダイオードでは、温度も Diode1 の温度プロファイルに従って同じ値で上昇し、落ち着きます。このデータが示しているのは、整流器の温度がダイオードと同じ温度プロファイルに従って上昇し落ち着くものの、個々のダイオード温度の挙動にラグがあるため、変動は少なくなるということです。