How to Develop DC-DC Converter Control in Simulink, Part 2: Converter Modeling and Efficiency Considerations
From the series: How to Develop DC-DC Converter Control in Simulink
Learn how to model a DC-DC converter in Simscape™ and use simulation results to generate efficiency maps for the diode and the power switch. See an example using a SEPIC modeled in Simscape Electrical™ with components such as a voltage source, resistor, inductor, and capacitor. In the first phase of design exploration, engineers are interested in efficiency and conversion losses to better understand the system architecture and other requirements, such as the type of sensors needed or the sizing of the cooling system.
For this reason, engineers use and parameterize high fidelity MOSFET and diode model blocks by following the manufacturer datasheet. Learn how Simscape Electrical provides power electronics engineers extended functionalities, such as plotting device characteristics directly within the block menus.
Use additional MATLAB® functions included in Simscape Electrical to retrieve the efficiency of the converter in various operating points. Use Parallel Computing Toolbox™ to reduce the computational time spent creating the efficiency map by distributing independent simulations on multiple cores. Use the resulting map as part of a sensor estimator in the software itself, so that the final converter design saves on cost and implementation of superfluous sensors.
Our first task is going to be to model the converter and calculate the most efficient operating region. The converter is split up in three parts with the power supply, the converter itself, and the load. We can see here how this has been represented in Simulink using three different subsystem and some connection between them.
But before jumping into the model, let me quickly go over some way that we can represent physical system with our solution. A lot of you may be familiar in using Simulink equation to write them and solve the ODEs directly using the block diagram in Simulink. Some of you may already know Simscape which is our platform for physical network and connecting components together. And the system level equation is generated automatically by combining together all these different components in one go.
Lastly, if you have measurement of your system, you can always import them and derive a data-driven model usually called black box model. And the nice thing about having all these three possibilities and more is that you can combine them. You are not forced to stay in one kind of solution mode. You can have part of your model as an identified model, some of it as a physical network, and some of it as equation in Simulink.
Let's take a look at our SEPC model. As we saw on the slide, we have a view of our system. The converter should work with a frequency of 100 kilohertz, so medium height. The LEDs, on the other end, are going to work at 20 kilohertz. The power supplies 12 volt. The operating region of the LEDs, by specification of Texas Instrument. are between 17, more or less, and 2.5 volt.
So if I open up my SEPC converter. I'm going to notice that I have four different systems. Three of them gray out. I'm using what is called variant sub system. Here I have my controlled converter, which is a perfectly ideal converter, which is just represented with some kind of time constant. And always keep the voltage at the right level at the output.
So this can be incredibly useful for system level simulation because it's very fast. On the other end, I have other variant of my implementation. I have a steady state converter. I have an average SEPC. And I have my SEPC circuit, which I am going to focus right now.
If I look inside, I see that I have all the typical components, such as inductances and capacitors. And I've linked, actually, the datasheet which is present online, directly to my model. So it's easier for me to find, again, the right documentation.
Just a quick excuses on the differences between inductances is the foundation library. If I open up, I see I have only two parameters, more or less, and the source code so that I can go and see which kind of equation are implemented under the hood. So please allow me to start from this component, change it if I want, and have my own version of the inductance. I always define any kind of equation using the Simscape language.
On the other hand, I'm using the datasheets provided by Simscape Electrical, the dedicated toolbox for electrical and power system. In this case, you can see I have tolerance, I could even apply a random
tolerance for my system if I want to perform some kind of Monte Carlo analysis based on the tolerance by changing.
I can set operating limits in my inductance. I can set fault. So I can break down my inductances when I want, how I want. And all of this allow me to increase the level of fidelity of my simulation and do more. But as you can see, this time you don't have access to the source code.
Let's go back to my SEPC subsystem and look at this small rectangular here. These are test harnesses. Let's open up one of them. In this test harness, I'm doing a step between 0% and 61% of my circuit. And I'm measuring the output, comparing with some measurement that I've taken on my oscilloscope.
So I'm simulating for 700 millisecond the switch linear system. So I'm simulating all the switches at 100 kilohertz. And you can see that the simulation time is quite fast. This is happening because I'm using ODN, which is a software can be forced to act a certain point. In combination with a special PVM block that you can retrieve as well in using your models from these files that you're going to get access to after the seminar. The entire project would be available to you.
So in this case, in this PVM, we are generating our carrier wave and we are simulating at a certain frequency this kind of impulse in order to force time step to take the appropriate step at the right point of my carrier wave. If we look, then, at the simulation result with the time step present, for instance the diode current, we can see that we are actually-- they can time step up only when needed by the simulation and no more.
So we're really simulating the entire 100 kilohertz switches. We are doing that in a very efficient way. We are only switching when it's necessary. There is one time in the middle which is the point of my support of my carrier wave. And the current is modeled as a switched linear system.
This is great. It allowed me to simulate quite fast. And I can then compare how my model is compared to the reality. We can see that I have captured most of the element quite accurately, rising time, the settling time voltage, and then the slowing down time when I shut off my PVM.
Very well. But this is not going to be my modeling of choice. Because I want to investigate efficiency. In order to investigate efficiency, I will need to work with actual physical devices, optical MOSFET physical devices model If I go in it, except this time I'm using the Simscape Electrical PVM because it's connected to our actual n channel MOSFET.
This can be parameterized by a parameter that you can find in datasheet. And with the right click, you could access multiple options. You can either change the block choice or if you don't want the threshold base model, or you want to add a thermal part to it, you could do it by accessing and right clicking on this menu. Or you could use it to generate basic characteristics.
This case is going to do under the hood automatically instrument these MOSFET with this parameter and generate automatically a typical plot that we can find on a data sheet here for my MOSFET. If I open up the actual data sheet and scroll down to search for the plot, I can then just graphically compare it and see if it matches yes or now.
We can see that we are doing quite a good job here is the 8 voltage line which is settling down around a bit more than 10 ampere after around 2 or 3 voltages. We can see here that we have very similar behavior by our MOSFET. You could actually use certain tool from the File Exchange to import directly this kind of plot into Simulink. And then use them to better parameterize your model as well.
Let's go back to our model and look at a second test harness. First I need to close the one I used to simulate and compare it to my measurement. And afterwards, I would like to open up the one called
Efficiency Test. In this case, I am simulating a closed loop model. I want my model to reach a certain voltage. That's why I have a very simple PID block here.
And I changed the value of the resistor to get a specific current going in so that I can create a grid of specific voltage from 12 to 30 volt and a specific rate of current from 0 to 2 ampere. And in creating, I create more or less hundreds of operating points that I would like to test. And I instrument my model to stop the simulation if I reach the appropriate voltage.
Afterwards, when I simulate it and I can simulate in parallel using the parallel computing toolbox to gain even more time, I could use functions such as Get Efficiency to define which components are going to be to load and feed them the simulation result. So I can get the efficiency of my converter at any operating point based on the load.
I can do the same for the power dissipated. And I actually prepared this as a script and saved my result. If I run this, I will load already my result showing you the kind of map that you can actually create. Here we have my converter operating region, the one defined by Texas Instrument that we can see that it actually working around very high efficiency, with the point up to 92% maybe 93%. And we can see how the converter behaves in the rest of the operating region.
So these are the kind of things that you can instrument your model using functions such as Get Efficiency to analyze your circuit and see where and how you should operate your converter. If you are not happy, you can change your parameters such as inductance capacitor. You let it run again, hopefully in parallel, because it will speed up a lot this kind of investigation, and recreate automatically these kind of maps.
Let's go back to our presentation. What we saw now is a Simscape as a platform to model a physical system. In particular, we saw Simscape Electrical in action, which is the toolbox in addition to Simscape to model electrical circuit and power system. Simscape offers Simscape language in order for you to start from the basic blocks and make your own block so that to capture exactly the kind of behavior you want to represent.
Very brief excuses on what's new in Simscape Electrical. We have two blocks now and more are coming, such as the stepper motor and the battery which have been pre-parameterized using value from the industry. We can see the batteries. You can put the battery in your system and automatically pick up some of the cell available on the market pre-parameterized at different temperature levels. So this is going to really speed up the development of your electrified system if you're looking into batteries.
We have added even more possibility to generate fault, not only at the component level but you can do fault during dynamic load, do delta connected, y connected, and so on. So we are really investing a lot to be able to break your model, make it foldable whenever you want and however you want.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
- América Latina (Español)
- Canada (English)
- United States (English)
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- United Kingdom (English)
- Australia (English)
- India (English)
- New Zealand (English)
- 日本Japanese (日本語)
- 한국Korean (한국어)