Hi Ken,
I took a quick look at your model (the Infineon MOSFET one anyway). I could provide a very long explanation as to how to analyze each approach and why you might be seeing differences in the results, but here I will try and summarize what’s important.
First, from the PLECS model point of view, I saw that you are running a transient simulation for 10 ms. While this is fine for doing your analytical calculations in the init script, this is certainly not enough time to allow the system to fully heat up and reach a steady-state operating condition. This means that at the end of the 0.01s simulation, the losses and temperatures displayed do not reflect any specific operation, and are likely, far lower (relative to your system) than they will be should you run the model for a much longer amount of time. In this case, it is recommended that you use the PLECS Steady-State Analysis tool to determine loss and temps. Note however that in order to do this, you might also want to remove the load step (I realize this is model specific and your really interested in a drive application) and change the fixed resistor to 2.5 ohms to keep the same conditions, and I also recommend that you change the solver type to ‘auto’ since the system is quite simple. If I then run the analysis from your model I see that the simulated losses are higher, and particularly the conduction losses. Further, you are connecting the thermal circuit to ground, which effectively sits at 0 degrees. Since you provided an initial temperature of 25C to the heat sink, I think this is what you intended for as ambient (you can use a Constant Temperature (Grounded) source instead of the ground block). This was also artificially bringing down the loss calculations as it was using a fixed Tj of 0C. We actually very recently updated this specific synchronous buck converter demo model that you used in the latest version of PLECS. I am attaching that model that includes your device specific initialization parameters and the suggestions mentioned above. This includes a few additional probed signals and breakouts that might serve as a better benchmarking tool. Having said that, I do wonder if the actual benchmarking here is a bit of an effort in futility…
For the analytical approach you are using with equations from the vendor app notes, it’s really important to consider that the constants you are feeding the equations must be tuned to the appropriate operation you are using. For example, you entered the default MOSFET Rds_on value of 18mOhms, but this may not be an accurate value based on the operation.
In the model I attached, the simulated conduction losses are smaller in the upper switch than those calculated by your equations. But for example, just by changing the Rdson value in your equations to the nominal value of 14mOhms, the calculated result is much closer to the simulated one.
I would need to more deeply analyze the other 3 loss values (upper switching loss, lower Pc/Psw) and your code, but I see that there are further discrepancies between the simulated and calculated results (do note that in the updated model fsw is now 250kHz). The obvious question for me is are you comparing apples to apples. For example, should there be switching losses in the lower switch in a synchronous buck with dead time? And are you assuming the body diode is conducting in either switch (I believe the switch is either operating in the 1st quadrant or 3rd quadrant with current through the channels in the upper and lower switch, respectively)?
So, while maybe not a satisfying answer, it’s really important to understand the circuit model and your loss model derivation, whether using equations from the vendor (that may need customized inputs based on your operation), or data from the vendor (that may need to also be tailored to your operation). It’s good to seek out the app notes from the vendors on best practices for calculations, etc., but these often are not giving the whole picture (for example neither conduction loss or switching loss calculations have any temperature dependency I assume). On the flip side, the PLECS thermal description models that the vendors provide are very flexible and should provide high fidelity loss estimates for any stimuli/use case. These have been validated by their in-house test measurements and are intended for use with PLECS.
I hope this gives you some ideas to pursue if you still are interested in dialing in the benchmarking, but should you have more specific questions, don’t hesitate to ask.
Best,
Kris
synchronous_buck_converter_latest_MOSFET_Kris.plecs (71.4 KB)
synchronous_buck_converter_latest_GaNHEMT_Kris.plecs (71.4 KB)