When simulating thermal behavior with a MOSFET, the temperature rise is negative.
10 次查看(过去 30 天)
显示 更早的评论
Hi, I'm working on simulating a system where the main architecture involves using FOC and MTPA algorithms to drive an INVERTER controlling the speed of a PMSM. The aim is to measure the temperature rise in the INVERTER using this architecture.
However, after simulating and measuring the temperature rise, I found that the temperature in the INVERTER is negative (-5*10^5 °C).
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1621028/image.jpeg)
When I replaced the same INVERTER architecture with another example for testing (ee_pmsm_drive), the measured temperature was positive, and the temperature rise value was more reasonable.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1621033/image.jpeg)
I haven't been able to find any relevant information or solutions to the problem of measuring a negative temperature rise in the MOSFET or related issues on the website. Could anyone help?
0 个评论
采纳的回答
Joel Van Sickel
2024-2-20
The problem with the thermal is due to the time step being too large for your simulation. You are using a time step of 1e-6. At a time step of 1e-8, i do see the temperature rising. This is due to the fact that the transistor models require very small time steps (often 1e-9) to model turn on and turn off dynamics appropriately. The other model works because it is using a variable step solver which also addresses this problem, while providing a faster simulation than a fixed step 1e-9. Unfortunately, your model doesn't converge with variable time step. I haven't been able to track down the reasons, but it would be good to model the control loop after the example. I'd replace the memory blocks with unit delays or zero order holds (or leave as memory but give it a fixed time step). One way to model a discrete controller is have all inputs go through a zero order hold, and all outputs go through a unit delay. This can cause problems with simscape variable solver IF the controller update rate is much faster than the system dynamics, but for power electronics, the system dynamics are almost always faster than the controller update rate, so this isn't something you would have to worry about. Sorry I couldn't be more specific in how to get it working with a variable rate solver. Also, for most control applications, simulating this level of detail is unecessary. You can also use piecewise linear (ideal) switches to model the controller behavior and put the switching losses into a tabulate table and potentially get more accurate thermal results than using the n-channel mosfet.
6 个评论
Joel Van Sickel
2024-3-28
you have to manually make the time step smaller until the simulation results stop changing, or get the model to work with a variable time step.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Switches and Breakers 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!