Boost converter duty cycle in DCM

In summary, the conversation discusses how to find the duty cycle for a boost converter operating in DCM, with input and output voltages fixed. The traditional duty cycle equation is given as D=sqrt(-2LVo/(Vi^2RT)), with the negative sign being questioned. The energy balance method is suggested as a possible solution, with the result being D = (Vo/Vi)⋅√(2⋅L/(T⋅R)). The conversation also touches on the effects of DCM on load independence and the use of simulations to analyze the converter's performance. Finally, a summary of the calculations for finding the duty cycle using the energy balance method is provided.
  • #1
Ntip
53
5
TL;DR Summary
I am trying to find the duty cycle of a boost converter in DCM
Hi, This is not a homework problem, I am trying to analyze how various parameters affect a boost converter operating in DCM most of the time. The input and output voltage is fixed so I will eventually like to sweep parameters for D, L, T, Vi, and R. R is less important though. Here I am using traditional parameter definitions.
D=duty cycle while the switch is on
L=inductance
T=period
Vi=input voltage
Vo=output votlage
R=load resistance

I am trying to find the duty cycle for a boost converter operating in DCM. I've solved for D, where D is the duty cycle while the switch is on. I end up with D=sqrt(-2LVo/(Vi^2RT)), but that doesn't make sense to me because of the negative. I've reworked it multiple times and I keep getting the same result.
 
Engineering news on Phys.org
  • #2
By definition, when you are in discontinuous mode, there is no well defined duty cycle. Are you running any simulations?
 
  • #3
I would solve this using the energy balance (like the way we do flyback converters). Assuming the time constants are are large compared to the switching speed, the inductor is charged up with slope +Vi/L with duration DT. This gives you the peak current in L and thus the energy input per cycle; Epk = (1/2)⋅L⋅(D⋅T⋅Vi/L)2. In DCM all of this energy is transferred to the load which is T⋅Vo2/Ro.

I just sketched this out from memory, I haven't actually figured it out, so there could be a mistake here. Ask if it's confusing or erroneous and I'll look at it more carefully
 
  • #4
berkeman said:
By definition, when you are in discontinuous mode, there is no well defined duty cycle. Are you running any simulations?

I am running simulations but I would ideally like to put an equation behind what I'm seeing. I have other topologies in mind which would require me to modify the traditional boost converter equation, but understanding the boost converter is a good starting point I think. I remember that in CCM there are assumptions that allow you to develop the equations so they're load independent but in DCM that's no longer true and it is then also a function of the load.
 
  • #5
There is an equation. As I described. The result is D = (Vo/Vi)⋅√(2⋅L/(T⋅R)). The result in you're OP can't be correct the dimensions aren't right (plus the sign error, which I don't understand).
 
  • #6
Ntip said:
I am running simulations but I would ideally like to put an equation behind what I'm seeing. I have other topologies in mind which would require me to modify the traditional boost converter equation, but understanding the boost converter is a good starting point I think. I remember that in CCM there are assumptions that allow you to develop the equations so they're load independent but in DCM that's no longer true and it is then also a function of the load.
Several of the buck converters that I've designed into products over the years ran in DCM at light loads. There was no issue with it, other than an increase in ripple voltage (still withing spec), and a slightly slower transient load response. If you can simulate such conditions and the converter still meets spec, are there still issues?
 
  • #7
DaveE said:
I would solve this using the energy balance (like the way we do flyback converters). Assuming the time constants are are large compared to the switching speed, the inductor is charged up with slope +Vi/L with duration DT. This gives you the peak current in L and thus the energy input per cycle; Epk = (1/2)⋅L⋅(D⋅T⋅Vi/L)2. In DCM all of this energy is transferred to the load which is T⋅Vo2/Ro.

I just sketched this out from memory, I haven't actually figured it out, so there could be a mistake here. Ask if it's confusing or erroneous and I'll look at it more carefully

I think this is pretty much the approach that I took. Am I missing something fundamentally?
##V_{o}=<v_{o}>##
##I_{in}=<i_{in}>##
##P_{in}=V_o^2/R##

##I_{in}=<i_{L}>##
since we know the inductor current starts at 0 A and ends up at 0 A, We can simply find the area of the triangle using
##I_{in}=<i_{L}>= \frac {1} {2} bh##

if we let D = the traditional duty cycle and ##D_A## = the percent of the period where the inductor is discharging,

##I_{in}=\frac {\frac{1} {2} (D+D_A)Ti_{pk}} {T}##

##i_{pk}=\frac{V_iDT}{L}##

finding ##D_A##
##-i_{pk}=\frac {-V_{in}-V_oD_AT} {L}##

##D_A=\frac {-Li_{pk}} {(V_{in}-V_o)T}##

##=\frac {-L(\frac {V_{in}DT}{L})}{(V_{in}-V_o)T}##

##D_A=\frac {-V_{in}D} {(-V_{in}-V_o)}##

substitute

##I_{L}=\frac {1} {2} (D -\frac {V_inD}{V_in-V_o})##

##=\frac {V_iD^2T} {2L}(1 -\frac {V_in}{V_in-V_o})##

find common denominator and simplify

##=\frac {V_iD^2T}{2L}(\frac {-V_o}{V_in-V_o})##

substitute into power balance
##\frac {V_in^2D^2T} {2L} (\frac {-V_o} {V_in-Vo})=\frac {V_o^2} {R}##

Simplify and solve for D
##D^2= \frac {-2LV_o} {V_i^2RT}##
## D=\sqrt(\frac {-2LV_o} {V_i^2RT})##
 
  • #8
berkeman said:
Several of the buck converters that I've designed into products over the years ran in DCM at light loads. There was no issue with it, other than an increase in ripple voltage (still withing spec), and a slightly slower transient load response. If you can simulate such conditions and the converter still meets spec, are there still issues?

I think it's easier with a buck converter because you don't have to worry about blowing up components. With a boost converter, the gain is a lot higher which is my concert. For instance, simulating a 100 V input with a 50% duty cycle would be 200 V output in CCM. In DCM, it reaches steady state at about 825 V so figuring out how to control this with the duty cycle would be ideal.
 
  • #9
Ntip said:
I think it's easier with a buck converter because you don't have to worry about blowing up components. With a boost converter, the gain is a lot higher which is my concert. For instance, simulating a 100 V input with a 50% duty cycle would be 200 V output in CCM. In DCM, it reaches steady state at about 825 V so figuring out how to control this with the duty cycle would be ideal.
Can you post a Spice simulation of that scenario please? I'd like to simulate it a bit more to help my understanding. Thanks.
 
  • #10
Ntip said:
I think it's easier with a buck converter because you don't have to worry about blowing up components. With a boost converter, the gain is a lot higher which is my concert. For instance, simulating a 100 V input with a 50% duty cycle would be 200 V output in CCM. In DCM, it reaches steady state at about 825 V so figuring out how to control this with the duty cycle would be ideal.
Yes, you have to be careful with boost and flyback (boost-buck) converters to avoid no-load operation. In practice, what usually happens is that the magnetics saturate as their current grows. You keep putting energy in but it can't get out. However, that is the light load regime, which is usually easily avoided with either a pre-load or feedback control that responds to excess voltage by reducing the duty cycle.

Once you've applied the easy fixes, the residual problem is what @berkeman said, the response is slow and messes up your dynamic response. It's actually even worse that that since you end up with a RHP zero, which is a real PIA for stability.

The result is that you tend to see converters that either operate in CCM, with low current ripple, or DCM as circuits that deliver packets of energy. Designers usually avoid crossing the CCM-DCM boundary, unless they are comfortable with an overcompensated (slow) response.
 
  • Like
Likes berkeman
  • #11
Ntip said:
finding ##D_A##
##-i_{pk}=\frac {-V_{in}-V_oD_AT} {L}##

##D_A=\frac {-Li_{pk}} {(V_{in}-V_o)T}##

##=\frac {-L(\frac {V_{in}DT}{L})}{(V_{in}-V_o)T}##

##D_A=\frac {-V_{in}D} {(-V_{in}-V_o)}##
Sign errors in this section. Ipk = (Vi-Vo)⋅DA⋅T/L & DA = Vi⋅D/(Vi-Vo) is the correct version.

The inductor down slope is (Vi-Vo)/L. This is a negative number since Vi<Vo.

Now: I've already had 1 1/2 beers tonight. So, don't expect me to do algebra for you. Look at it again and and complain if you think I'm wrong.
 
  • #12
berkeman said:
Can you post a Spice simulation of that scenario please? I'd like to simulate it a bit more to help my understanding. Thanks.
Here you go. I've only simulated out to 100 ms but it can obviously be changed. I think steady state for the no load condition is ~5 s-ish. You can still see that by 100 ms it has reached ~330 V instead compared to 200 V in CCM.

**edit**
nevermind, it will not let me upload LTspice *.asc files. Here is a screenshot. I used L=30 mH, C=5 uF, Rload= 50 Ohm for CCM and 1 MOhm for DCM. Ton=5 us, T=10 us. Vs=100 V. I used the generic nmos with 8000 in parallel (m=8000).
 

Attachments

  • boostExample.PNG
    boostExample.PNG
    13.6 KB · Views: 173
  • #13
OK, IMO, this is not the sort of generic problem that is not helped by simulation. You won't really understand it without getting the basic operation plus algebraic manipulations right. You are definitely on the right track, I can tell you understand the basic, essential information here. You just need to be more careful with your algebra. Draw some pictures, like a graph of inductor current, to help you keep your signs straight. You are closer to the answer (and, BTW, the right approach) than you may realize.
 
  • #14
Ntip said:
nevermind, it will not let me upload LTspice *.asc files.
The LTspice.asc and LTspice.plt files are ascii files. If you change their names by attaching the extension .txt they can be attached to the post by drag and drop as ...
LTspice.asc.txt and LTspice.plt.txt

Look in LTspice dropdown menu Tools. "Copy bitmap to clipboard"; is clearer than screen shot. Attach the picture as a .jpg or .png to reduce size and maintain readability.
 
  • #15
****Ignore this and I'll reply again below for ease of reading. I edited the comment and for some reason all of the latex formatting went away. I'll poste again below with formatting.***

DaveE said:
Sign errors in this section. Ipk = (Vi-Vo)⋅DA⋅T/L & DA = Vi⋅D/(Vi-Vo) is the correct version.

The inductor down slope is (Vi-Vo)/L. This is a negative number since Vi<Vo.

Now: I've already had 1 1/2 beers tonight. So, don't expect me to do algebra for you. Look at it again and and complain if you think I'm wrong.
Thanks, I will work through it again but I think the negative sign is correct. I drew the graph out for the inductor current but just didn't upload it. It does help a lot.

Here's where I get ##-i_{pk}## in that step.

##V= \frac {L\Delta i}{\Delta t}##

rearranging
##\Delta i = \frac {V\Delta t}{L}##

for ##DT<t<D_A##

##V=V_{in}-V_o##
##\Delta t = D_AT##

finding ##\Delta i##
##i_o=i_{pk}##
##i_f=0##

##\Delta i=(i_f-i_o)##

##=0-i_{pk}##

##\Delta i=-i_{pk}##

substituting into ##V= \frac {L\Delta i}{\Delta t}## and solving for ##D_A##

##(V_{in}-V_o)= \frac {L(-i_{pk})}{D_AT}##

##D_A=\frac {-Li_{pk}}{(V_{in}-V_o)T}####D_A=\frac {-V_{in}D} {(V_{in}-V_o)}##

We can substitute ##i_{pk}## , which is positive, giving
##D_A=\frac {-V_{in}D} {(V_{in}-V_o)}##so I think anyway. I know that's a lot of math so I'll go through and check again but I keep getting negative. I hope it's positive because that would make life easy and give me a solution, but just don't see how it is positive.
 
  • #16
Baluncore said:
The LTspice.asc and LTspice.plt files are ascii files. If you change their names by attaching the extension .txt they can be attached to the post by drag and drop as ...
LTspice.asc.txt and LTspice.plt.txt

Look in LTspice dropdown menu Tools. "Copy bitmap to clipboard"; is clearer than screen shot. Attach the picture as a .jpg or .png to reduce size and maintain readability.
Ok I see. I've attached it here.
 

Attachments

  • BoostExample.txt
    1.3 KB · Views: 177
  • #17
DaveE said:
Sign errors in this section. Ipk = (Vi-Vo)⋅DA⋅T/L & DA = Vi⋅D/(Vi-Vo) is the correct version.

The inductor down slope is (Vi-Vo)/L. This is a negative number since Vi<Vo.

Now: I've already had 1 1/2 beers tonight. So, don't expect me to do algebra for you. Look at it again and and complain if you think I'm wrong.

Thanks, I will work through it again but I think the negative sign is correct. I drew the graph out for the inductor current but just didn't upload it. It does help a lot.

Here's where I get ##-i_{pk}## in that step.

##V= \frac {L\Delta i}{\Delta t}##

rearranging
##\Delta i = \frac {V\Delta t}{L}##

for ##DT<t<D_A##

##V=V_{in}-V_o##
##\Delta t = D_AT##

finding ##\Delta i##
##i_o=i_{pk}##
##i_f=0##

##\Delta i=(i_f-i_o)##

##=0-i_{pk}##

##\Delta i=-i_{pk}##

substituting into ##V= \frac {L\Delta i}{\Delta t}## and solving for ##D_A##

##(V_{in}-V_o)= \frac {L(-i_{pk})}{D_AT}##

##D_A=\frac {-Li_{pk}}{(V_{in}-V_o)T}####D_A=\frac {-V_{in}D} {(V_{in}-V_o)}##

We can substitute ##i_{pk}## , which is positive, giving
##D_A=\frac {-V_{in}D} {(V_{in}-V_o)}##so I think anyway. I know that's a lot of math so I'll go through and check again but I keep getting negative. I hope it's positive because that would make life easy and give me a solution, but just don't see how it is positive.
 
  • #18
DaveE said:
Sign errors in this section. Ipk = (Vi-Vo)⋅DA⋅T/L & DA = Vi⋅D/(Vi-Vo) is the correct version.

The inductor down slope is (Vi-Vo)/L. This is a negative number since Vi<Vo.

Now: I've already had 1 1/2 beers tonight. So, don't expect me to do algebra for you. Look at it again and and complain if you think I'm wrong.

I think I see what you mean now about the slope being negative which i agree with. I think the signs should work out without just flipping "because we know" the output is larger. By keeping them negative, ##D_A=\frac {-V_{in}D} {(V_{in}-V_o)} works out to be positive since you have a negative divided by a negative.

Are I on track with what you were talking about, or am I still missing something?
 
  • #19
This may (or may not help). In any case R.W. Erickson's stuff is great and online (although not easy to find if you don't know here to look). He uses slightly different nomenclature. But I'm posting it because it's a great reference. Bookmark it. He was a grad student of my prof. R.D. Middlebrook, and he has the best documentation online of those methods. Look around page 20-40, or so.

http://altor1.narod.ru/Books_Docs/Fundamentals_of_Power_Electronics.pdf
 
  • #20
DaveE said:
This may (or may not help). In any case R.W. Erickson's stuff is great and online (although not easy to find if you don't know here to look). He uses slightly different nomenclature. But I'm posting it because it's a great reference. Bookmark it. He was a grad student of my prof. R.D. Middlebrook, and he has the best documentation online of those methods. Look around page 20-40, or so.

http://altor1.narod.ru/Books_Docs/Fundamentals_of_Power_Electronics.pdf
Thanks, this is really good actually really good. I have the book and have found individual chapters, but not all chapters together. I'll take a look and hopefully get this figured out.
 
  • #21
Wait, time-out. My formula was the one with the sign errors. Specifically, this one DA = ...
The correct one is your version DA = Vi⋅D/(Vo-Vi). This is obvious if you consider that Vo > Vi and D>0, DA>0.

I'll blame the beer, but the truth is I'm probably just lazy, LOL.
 
  • Like
Likes Ntip
  • #22
DaveE said:
Wait, time-out. My formula was the one with the sign errors. Specifically, this one DA = ...
The correct one is your version DA = Vi⋅D/(Vo-Vi). This is obvious if you consider that Vo > Vi and D>0, DA>0.

I'll blame the beer, but the truth is I'm probably just lazy, LOL.

Yes that is correct now. I kept the negative sign there, you factored it out by flipping the order of Vo and Vi. Both ways work. Personally, I like your arrangement better without the negative sign but both are now the same.

lol hey beer will do that. What's the saying...don't drink and derive? It was just off by a minus sign so it was close enough.
 
  • #23
Ntip said:
Summary:: I am trying to find the duty cycle of a boost converter in DCM

I am trying to find the duty cycle for a boost converter operating in DCM. I've solved for D, where D is the duty cycle while the switch is on. I end up with D=sqrt(-2LVo/(Vi^2RT)), but that doesn't make sense to me because of the negative. I've reworked it multiple times and I keep getting the same result

It does not seem easy to derive the duty cycle equation directly. If you don’t mind, there are other simpler methods. You can first derive the voltage transfer function, and then find the duty cycle from it. The clever predecessors have obtained the transfer function of the DCM boost converter, you can refer to Wikipedia:-

https://en.wikipedia.org/wiki/Boost_converter

The duty cycle equation of DCM boost converter seems to be more complicated than expected.
 
  • #24
alan123hk said:
It does not seem easy to derive the duty cycle equation directly. If you don’t mind, there are other simpler methods. You can first derive the voltage transfer function, and then find the duty cycle from it. The clever predecessors have obtained the transfer function of the DCM boost converter, you can refer to Wikipedia:-

https://en.wikipedia.org/wiki/Boost_converter

The duty cycle equation of DCM boost converter seems to be more complicated than expected.
Thanks. I think this follows is the same method presented in Erickson's book. I'm able to derive it now...let's just see how well this works. Fingers crossed.
 

1. What is a boost converter duty cycle in DCM?

A boost converter duty cycle in DCM (Discontinuous Conduction Mode) refers to the ratio of the ON time to the total switching period of the converter. It is a key parameter in determining the output voltage of a boost converter.

2. How is the duty cycle calculated in DCM?

The duty cycle in DCM can be calculated using the formula D = Vout/(Vout + Vin), where D is the duty cycle, Vout is the output voltage, and Vin is the input voltage. This formula assumes ideal conditions and does not take into account losses in the converter.

3. What is the importance of the duty cycle in DCM?

The duty cycle in DCM directly affects the output voltage of the boost converter. By adjusting the duty cycle, the output voltage can be regulated to a desired level. It also affects the efficiency and stability of the converter.

4. How does the duty cycle affect the efficiency of a boost converter in DCM?

The duty cycle has a direct impact on the efficiency of a boost converter in DCM. A higher duty cycle results in a higher output voltage, but also leads to higher switching losses and decreased efficiency. On the other hand, a lower duty cycle can improve efficiency but may not provide enough output voltage.

5. Can the duty cycle in DCM be controlled?

Yes, the duty cycle in DCM can be controlled by adjusting the input voltage, output voltage, and the switching frequency of the converter. It can also be controlled using a feedback loop to regulate the output voltage to a desired level.

Similar threads

Replies
55
Views
3K
  • Electrical Engineering
Replies
17
Views
2K
Replies
4
Views
823
  • Electrical Engineering
Replies
14
Views
804
  • Electrical Engineering
Replies
10
Views
1K
  • Electrical Engineering
Replies
32
Views
2K
  • Electrical Engineering
Replies
9
Views
3K
Replies
23
Views
2K
Replies
7
Views
2K
  • Electrical Engineering
Replies
12
Views
4K
Back
Top