MOSFET with diode. conduction loss overestimated when current is negative and MOSFET turned ON

Hello,

I have defined a thermal model for the MOSFET with integrated antiparallel Diode. The conduction loss profile looks similar to the second curve in page 138 of the Plecs manual with Von(t) defined for when ion(t) is greater than and less than zero.

The issue I have in my simulation model is that the current through the device is always negative (plecs convention). So the way I understand this, Plecs assumes that all current is flowing through the diode even though the MOSFET portion of the switch is turned on for a substantial portion of this time interval. The estimated conduction loss is higher than what it is supposed to be since the loss is attributed entirely to the diode. The switch portion of the MOSFETs can conduct negative current so this feels like an obvious bug in Plecs. The conduction loss estimate for each device should look at gate input and the thermal model to calculate conduction loss especially for MOSFETs.

Is there a workaround for this issue?

Thanks,

Plecs version 4.3.2 (64 bit), Plecs standalone, Windows 10 Pro 1709

Hello,

This is a great question. If you use separate MOSFET and diode components, the current sharing (and therefore the losses) during reverse conduction of the overall device is determined by the path impedances of the MOSFET and body diode. If you have chosen not to provide on-resistance values for either device, the current will be shared equally between the diode and MOSFET.

You should consider the typical timing of the switching events. Can it be assumed that the diode conducts for only a small time during the interval before the FET is gated on? Are you expecting a specific current sharing behavior if the FET is reverse-biased? Or do you want PLECS to only consider the Rds(on) characteristic in this situation?

If you want the MOSFET to carry the entire current when it is gated on during third quadrant conduction, you can actually use the combined MOSFET and Diode component. I have attached a working example of this approach, which requires a little bit of explanation. The single thermal description uses Custom Tables that are called in the Conduction Loss tab’s formula and are chosen based on whether the MOSFET gate signal is zero or nonzero. To easily view the example device thermal description, with this model open, go to the Window>Thermal Library Browser menu option and look for “MOSFET3rdQ_body_diode”.

You should also look under the mask of the MOSFET converter and see that it looks as it normally does, but in fact, each device is reimplemented as it’s own masked subsystem. Looking further under the mask of one device you will see that a gate signal tag has been added, which is used in the conduction loss equations. You will see that at each subsystem level’s mask we are passing the gate signal by reference to the next higher level. Please let me know if you have questions, but I believe this implementation can be easily replicated and modified to include your own part’s loss data.

Regards,

Kris

mosfet_body_diode_3rd_quadrant_losses.zip (11 KB)

Hello Kris,

Thank you for the detailed answer.

I can’t specify on-state resistance separately for the standard MOSFET and Diode for the MOSFET with Diode component. I think Plecs applies the same Rdson to both diode and MOSFET. When current is negative Diode conducts, when current is positive MOSFET conducts - I don’t think current is being shared equally. the help files are unclear about this mechanism.

For real world MOSFET devices, Rdson is usually much lower than the on-state voltage drop of the body diode. So it is a fair assumption that all of the negative current shifts to the MOSFET when the MOSFET turns on. That should be the default behavior -initally current through device is negative, conduction through body diode if MOSFET off, then MOSFET turns on, current shifts entirely to MOSFET. Essentially zero voltage turn on is the correct electrical behavior for device turn on with negative current. But since the Plecs probe cannot separate MOSFET and Diode current, the net device current looks ok and there is no effect on electrical behavior even when Plecs implementation is wrong.

I looked at the model that you posted and that is a good workaround to account for conduction loss for negative current. Thank you for posting this solution. As I understand, you are passing the gate signal to the thermal model and using a custom formula along with custom lookup table to estimate conduction loss instead of using the standard look up table. This should be a feature for a future version of Plecs - separate device modeling for MOSFET and body diode, plus conduction loss automatically include gate signal.

I have a question about turn-on loss and turn-off loss in your thermal model. I think you need to define switching energy for negative current since as we see, the MOSFET can turn on/ turn off when current is negative. Otherwise this throws up an error in Plecs.

Second question, if I have a diode with reverse recovery, is there way to account for that in the thermal loss model?

Best regards,

Perry

Hi Perry,

You are correct about the combined component- the current is either positive through the MOSFET, or positive (in the opposite direction) through the diode. And the on-resistance is the same, whether the current is flowing in either direction. To specify unique Rds_on values you should use separate MOSFET and diode components, but I believe you understood this based on your comments above. And thank you for the feedback regarding the combined component and using the gate signal automatically in loss calculation.

Users need to be careful with the polarity/axis definition of losses when using an anti-parallel diode. See the table below that is provided in our user manual and defines proper conventions for whether separate components are used, or a combined switch and diode is used:

If you are getting an error message about negative switching losses, you need to make sure that the losses are not extrapolating into negative voltage/current regions during simulation. You can ensure this by clamping/saturating the limits to OJ for OV and OA by adding another value of 0J in the negative regions (e.g., add a -1A column and -1V row and enter OJ for all cells). Let me know if this solves your issue with the error.

Regarding reverse recovery losses, if you have an estimate of the contribution of these losses, you can include them as Turn-Off losses for the (separate) diode.

Let me know if this all helps.

Regards,

Kris

Hello Kris,

This is a followup question on adding thermal description by reference with custom tables. I updated my original *.xml device thermal description file by defining custom tables for BodyDiode, MOSFET conduction loss. I changed the computation method for conduction loss as Formula and defined von(i,T,gate). Then I added the single subsystem consisting of one MOSFET and Diode switch in my model.

I have defined the thermal description as By reference, added custom variables for the gate signal. How do I link the *.xml file with the MOSFET and Diode thermal description? What do I enter in the Thermal description field? If I enter the name of the xml file without the xml file extention, I get this error:
Error evaluating parameter ‘Thermal description’ in component FETD1: `XXXX’ undefined. Both the xml file and the plecs file are in the same folder. The same folder is added to thermal description search path.

The basic model is attached below.

Thanks,

Perry

Hello,

In this case, you do not need to use a reference variable for the thermal description. This is normally used if you want to define the thermal description at a higher level in the subsystem hierarchy or via initialization commands. In your model, PLECS is looking for what to assign to the variable “MSC025SMA120S”. You can unselect “By reference” and directly use “From library…”, and if your folders are setup as you said, you should see “MSC025SMA120S” as a library option in the list.

Regards,

Kris