Modeling Switching Power as Input to Thermal Networks in PLECS for MOSFET Junction Temperature calculation

Hello all,

In PLECS, conduction losses are typically modeled as the instantaneous product of the drain-source voltage and the drain current, Von⋅Ids​. My question is: how can the switching energy be represented as instantaneous switching power, such that it can be combined with the conduction losses and used as the power input to a Cauer or Foster thermal network in order to determine the junction temperature of a MOSFET?

Hello, in PLECS the semiconductor losses (both conduction and switching losses) are specified as lookup tables. For switching losses, PLECS uses the blocking voltage right before a turn-on event and the conducting current right after the turn-on event and then injects an Energy impulse into the thermal network. I would recommend these videos to help you understand how the thermal modeling is done in PLECS:

These should get you up and running with the thermal modeling concept in PLECS.

Here is the whole list of tutorial videos that might be of interest: Videos | Plexim

Hello,

How are the energy pulses injected into thermal network to provide the instantaneous temperature of the junction of the device while the input to the thermal network shall be power (watts) as shown in the following figure ?

How the device model transform this energy to be instantaneous switching power ?

Great question. In the thermal domain the power losses are injected into the thermal network as a “current source”. For the conduction losses it’s just directly injected into the thermal network. For the switching losses see below:

“In PLECS, the switching energy pulses are modeled as a diractype pulses, having zero width and an infinite height. Therefore, either the thermal capacitance of the heat sink must be defined or a thermal chain with capacitance must be used to prevent the switching energy pulses from creating an infinite temperature across the thermal resistance.“

You might find the tutorials helpful: Tutorials | Plexim

Hello, thanks for your support. I gave a trial to construct a thermal definition for a MOSFET in plecs and I implemented the same thermal network externally in the same project. I used the device conduction losses + switching energy* switching frequency as input to the external thermal network but it didn’t give the same junction temperature performance as the device but once I removed the switching energy from the device thermal data, the temperature performance becomes the same for both cases. So I ask about how the switching energy provided in the device thermal data helps to contribute in the temperature performance of the device?

Hard to understand what is going on - could you share your model and thermal description file?

Hello, please consider the following model which include the description of the question:

C3M0040120K.xml (7.9 KB)

Switching_Loss_Question.plecs (25.6 KB)

The following section describes the question in details:

Consider the following model “Switching_Loss_Question”:

1- C3M0040120K thermal description is used from wolf speed PLECS library.

2- The thermal chain described in the model [as shown in the following figure] is duplucated externally [as shown in the above figure].

The comparison between the junction temperature from the device probe and the external thermal model is as follows:

Note:

1- Both junction temperature curves from the external and internal thermal circuit are identical.

2- the use of the sum of the switching power [watt] and the switching energy [J] impulses is invalid which causes the junction temperature estimated from the external thermal network fail.

Removing the switching energy [Eon, Eoff] from the thermal description as follows:

The comparison between the junction temperature from the device probe and the external thermal model is as follows:

Both junction temperature curves from the external and internal thermal circuit are identical.

Question:

How is the switching energy existed in the device thermal description used as power input to the device internal thermal network to evaluate the junction temperature?

Hello, so in the background PLECS is injecting the impulses slightly differently than what you’ve done but one solution to validate the thermal chain is to use the average losses and inject those into your electrical model of the thermal chain. You won’t see the “thermal ripple” but on average the junction temperature should align. Here is an update to your model with the average losses:

The red line is the junction temperature from the PLECS thermal domain and the green is the junction temperature calculated from the thermal equivalent chain you built in the electrical domain.

Switching_Loss_Question.plecs (21.3 KB)

Let me know average loss model is sufficient for what you are trying to do.

Hello, thanks for your reply. I need to define properly how the switching losses affect the instantaneous performance of the device junction temperature.

Hi Ezzeldin,

If you need to get your equivalent circuit to have the temperature swings that you see from the PLECS thermal domain then you would need to model the diractype pulse injections into your electrical network which is handled by the PLECS thermal domain in the background and isn’t a simple task to replicate.

In the electrical equivalent model, the conduction losses is a current into a capacitor and for the switching losses its an impulse of energy which would be equivalent to an impulse of charge being dumped into the capacitor (and thus an instantaneous change in capacitor voltage).

You could mimic that behavior by making your impulse averaging time smaller and smaller but it will impact your simulation speed.

  • with a 1/10kHz averaging time the simulation takes ~1.27s to run
  • with a 1/10MHz average time the simulation takes ~12.7s to run but you’ll see a closer correlation to what the PLECS thermal domain results

Here is your model with the averaging added for you to experiment with. I added a simulation script to calculate how long the simulation takes to finish (see the menu option: Simulation > Simulation Script) Hope this helps!

Switching_Loss_Question.plecs (22.5 KB)