Author Topic: Some theoretical questions about boost circuits  (Read 2791 times)

0 Members and 1 Guest are viewing this topic.

Offline nathanpcTopic starter

  • Supporter
  • ****
  • Posts: 138
  • Country: br
    • Innove Workshop
Some theoretical questions about boost circuits
« on: March 27, 2016, 11:55:57 pm »
Lately I've been interested in the theory behind boost circuits and I wanted o know more about them and how they work. I don't know much, that's why I'm asking in the first place, so please correct me if I'm wrong. So, as far as I know the main idea is to pass some current through a inductor and let it store that current, then open the circuit and let the stored current flow to a capacitor via a diode.

How am I able to calculate the current that is passing through the inductor? I've done a simple simulation to get a base of the values I should be expecting and when I tried using the RL formula with R being the Rds(on) of the MOSFET in the simulation I got
.

How is the voltage output calculated with the current stored in the inductor?

Sorry if I'm asking dumb questions or if it I got this all wrong, I just want to learn. Thanks in advance!
 

Offline step_s

  • Regular Contributor
  • *
  • Posts: 138
  • Country: dk
Re: Some theoretical questions about boost circuits
« Reply #1 on: March 28, 2016, 12:43:57 am »
The point in the circuit is to let the inductor limit the current while it ramps up a magnetic field. When the power turns off, the magnetic field in the inductor will collapse, the current will flow through the inductor and the input and the inductor become connected in series, adding up the voltage.
I know that isn't the whole story, but I do know that a lot of people explain these things on easy to understand youtube videos.

If you are looking at the voltage output, you will have to calculate it from all of the different factors.
That becomes a little more complicated. . .
http://www.daycounter.com/LabBook/BoostConverter/Boost-Converter-Equations.phtml
 

Offline nathanpcTopic starter

  • Supporter
  • ****
  • Posts: 138
  • Country: br
    • Innove Workshop
Re: Some theoretical questions about boost circuits
« Reply #2 on: March 28, 2016, 01:52:45 am »
Thanks very much for all the information and explaining everything quite well and sharing some resources for me to read more. I'll work on all the things you guys thought me tomorrow and come back if I have any questions.

Thanks very much for the help! It's immensely appreciated!
 

Offline nathanpcTopic starter

  • Supporter
  • ****
  • Posts: 138
  • Country: br
    • Innove Workshop
Re: Some theoretical questions about boost circuits
« Reply #3 on: March 29, 2016, 12:10:00 am »
When you close your switch in a boost converter the current will ramp up in the inductor at a rate of

di/dt (on)= Vin/L ---> (Amps/sec)

From there you can determine the peak current, which can tell you the energy in the inductance.

W=(1/2)*(L *(Ipk2))---> Joules

Sorry AcHmed99, but how do I determine the peak current? I tried multiplying di/dt by the rise time in my simulation, but again I got vastly different results.
 

Offline basinstreetdesign

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: ca
Re: Some theoretical questions about boost circuits
« Reply #4 on: March 29, 2016, 05:12:13 am »
The peak current in the inductor is calculated from the switch ON-time, Ton, and the input voltage, Vin, as:
Ipk = Ton x Vin / L.  This assumes that the inductor does not go into saturation (the magnetic core can hold no more magnetic flux) before the on time expires.  If it does (and it can very quickly) then the inductance of that inductor drops very low and there is nothing but the tiny resistance of the wire in it to limit the current.  That's usually when the smoke starts happening.  The ON time is usually measured as a few micro-seconds.

Once the switch opens then the magnetic field in the inductor collapses and drives the current through the catch diode into the load-side capacitor.  This is the OFF-time.

Everything said by AcHmed99 still holds true.

The RL time constant doesn't come into it at all.  Ideally the Rds(on) of the transistor switch should be zero.  The current rises as a linear ramp due to the constant voltage (input voltage) across the inductor when the switch closes to ground and the constant-value inductance.  But the switch must not be closed longer than necessary to get the inductor charged with enough magnetic flux to support the output until the next cycle.

If all you know is the input voltage, Vin, output voltage, Vout, and the frequency of operation, f, then first calculate the duty cycle (ratio of ON-time to total ON + OFF time):
D = 1 - (Vin/Vout)

This assumes that the boost circuit is 100% efficient (usually 85% - 90% is achievable).

Then the Ipk through the inductor is:

Ipk = (D / f) * (Vin / L )
Tim
« Last Edit: March 29, 2016, 05:37:52 am by basinstreetdesign »
STAND BACK!  I'm going to try SCIENCE!
 

Offline nathanpcTopic starter

  • Supporter
  • ****
  • Posts: 138
  • Country: br
    • Innove Workshop
Re: Some theoretical questions about boost circuits
« Reply #5 on: March 29, 2016, 12:54:38 pm »
So since I'm testing with 1kHz, my Ton will be 0.5ms:

di/dt = 5 / 100E-6 = 50000
Ipk = di/dt * 0.5E-3 = 25
W = (100E-6 * (Ipk)^2) / 2 = 0.03125
P = W * 1000 = 31.25

Now if I have a 100 ohm resistor I can use the power equation to calculate the current through it sqrt(P / 100) = 0.5590169944 which is very different from what I get in the
. Am I approaching this the wrong way?
 

Offline basinstreetdesign

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: ca
Re: Some theoretical questions about boost circuits
« Reply #6 on: March 29, 2016, 08:44:13 pm »
So far that is theoretically correct.  But dont expect to build it.  The frequency is way too low for real world components to handle well.

Yes, the calculation of 31.25 Watts out is good.  I take it that since you have decided that your duty cycle is 1/2 then the output voltage is 2 x 5V = 10V. Remember D = 1-Vin/Vout.

You should scrap your simulation which uses Rds(on) of the transistor.  All the Rds(on) does is to corrupt the accuracy of the calculations (and in real world, too) and cause lost power as heat.

If you want to build a circuit to see it work then you should use a faster oscillator, at least 40 KHz, a smaller inductor, at most 50 uH and a transistor with the smallest Rds(on) that you can find.  The inductor MUST be chosen with a rated Imax less than or equal to your calculated peak current.  The catch diode and the capacitors must also be selected with great care, too as they will waste a lot of power if they aren't specifically built for this kind of circuit.

I know that this stuff can be very confusing.  In fact, it took me a few days of searching through app notes and data sheets which didn't address my need , talked at cross purposes or well-meaning YouTube videos by people who had sketchy understanding of it themselves.  So I wrote my own how-to to calculate all of the component values for the very boost converter you are struggling with.

I have attached it.  Let me know if you are still confused after reading it.  BTW, I built the converter that this PDF refers to and it works just fine delivering about 20W from a 12V source to a 125V load and wasting about 2W in the process (90% efficiency!).  The controller used is a National Semi LM3478 and is a great relatively easy-to-use chip.
STAND BACK!  I'm going to try SCIENCE!
 

Offline nathanpcTopic starter

  • Supporter
  • ****
  • Posts: 138
  • Country: br
    • Innove Workshop
Re: Some theoretical questions about boost circuits
« Reply #7 on: March 29, 2016, 10:36:08 pm »
Thanks very much for the awesome article, it sure is very well written and detailed, I'll read through it and tell you if I have any additional questions about it.

One thing that I still don't understand is how the value of current from the calculations is one order of magnitude smaller than the value I got from the simulation, even though the simulation has the Rds of the MOSFET? Another thing that I want to know is how I can also include the Rds of the MOSFET in the calculations?

Thanks very much!
 

Offline basinstreetdesign

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: ca
Re: Some theoretical questions about boost circuits
« Reply #8 on: March 30, 2016, 01:31:12 am »
The article talks only about a few of the concerns re: designing this circuit but you are welcome.
As to your questions:
Well, your calculator AND your simulator are both faithfully working with the numbers given them.  Do you know what the Rds(on) of the FET model is?  I assume that the inductor is modeled with zero series resistance so the Rds(on) that the simulator is using must be 5/9.5 = 0.526 Ohms which is nowhere near the 0.0139 used in the calc. The datasheet value is about 0.022 max.
Take a look at the first few usec of the sim.  It will probably look exponential like your calc.

In any case, you should be concentrating on the near-linear rise of the current in the first few usec before the current rise stops due to Rds(on) (9.5A or 300A) or the inductors series resistance.  If the converter is to stay safe the switch must open while the current rise is still linear and definitely before any real-world inductor runs out of inductance due to magnetic flux saturation.  From your simulation this seems to be at about the 200 usec mark.

The Rds(on) figure is almost never used in the calculations of current through the inductor or the transistor since it is not a major factor in determining them.  It is used, however to estimate the power dissipation of the transistor.  Since low power dissipation is good then low Rds(on) is good and that is what drives the transistor selection. Small and cheap is good too.

BTW: do you know what DCM and CCM are as AcHmed99 talks about?  DCM is "Discontinuous Current Mode" and CCM is "Continuous Current Mode" and refers to the current through the inductor.  In the first case, DCM is when the inductor current actually drops to zero after the switch opens each cycle and CCM is when it doesn't get a chance to before the switch closes again in the next cycle.  I find all this easier to understand when dealing with DCM since there isn't any residual current left in the inductor after each cycle.
Cheers
Tim
« Last Edit: March 30, 2016, 03:52:42 am by basinstreetdesign »
STAND BACK!  I'm going to try SCIENCE!
 

Offline Molenaar

  • Regular Contributor
  • *
  • Posts: 73
  • Country: nl
Re: Some theoretical questions about boost circuits
« Reply #9 on: March 30, 2016, 08:59:02 am »
So far that is theoretically correct.  But dont expect to build it.  The frequency is way too low for real world components to handle well.

Yes, the calculation of 31.25 Watts out is good.  I take it that since you have decided that your duty cycle is 1/2 then the output voltage is 2 x 5V = 10V. Remember D = 1-Vin/Vout.

You should scrap your simulation which uses Rds(on) of the transistor.  All the Rds(on) does is to corrupt the accuracy of the calculations (and in real world, too) and cause lost power as heat.

If you want to build a circuit to see it work then you should use a faster oscillator, at least 40 KHz, a smaller inductor, at most 50 uH and a transistor with the smallest Rds(on) that you can find.  The inductor MUST be chosen with a rated Imax less than or equal to your calculated peak current.  The catch diode and the capacitors must also be selected with great care, too as they will waste a lot of power if they aren't specifically built for this kind of circuit.

I know that this stuff can be very confusing.  In fact, it took me a few days of searching through app notes and data sheets which didn't address my need , talked at cross purposes or well-meaning YouTube videos by people who had sketchy understanding of it themselves.  So I wrote my own how-to to calculate all of the component values for the very boost converter you are struggling with.

I have attached it.  Let me know if you are still confused after reading it.  BTW, I built the converter that this PDF refers to and it works just fine delivering about 20W from a 12V source to a 125V load and wasting about 2W in the process (90% efficiency!).  The controller used is a National Semi LM3478 and is a great relatively easy-to-use chip.

Shouldn't this be greater than or equal to? If the maximum allowed current through an inductor is exceeded (maximum by either temperature increase or core saturation), I'd expect bad things to happen to your converter and possibly your load.
 

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21658
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Some theoretical questions about boost circuits
« Reply #10 on: March 30, 2016, 12:23:19 pm »
Start with the basics.

The fundamental inductor equation is:

V = L * dI/dt

Fortunately, we're working with square wave voltages and triangle ramp currents, so we don't need calculus; the 'd's are deltas and we simply evaluate each voltage state.

On state: V = Vin
One side of the inductor goes to Vin, the other side is clamped to ground by the switch.  Current rises linearly with time.  After pulse width dt = Tcyc * D, it's risen by: dI = Vin * Tcyc * D / L

Off state: V = Vin - Vout
One side of the inductor goes to Vin, the other side is connected to Vout by the diode (or a synchronous rectifier transistor, or [1]).  Voltage has reversed, so current falls linearly with time.  After pulse width dt = Tcyc * (1-D), it's changed by: dI = (Vin-Vout) * Tcyc * (1-D) / L

[1] Which we can generalize as a half bridge (one inductor-to-GND switch, one inductor-to-Vout switch).  With a boost diode, we can only have inductor current flowing from Vin to Vout.  With a pair of switches, there's no requirement for the average current to be positive or negative; it can be anything.  It's just a random constant of integration.  Well, what's a boost converter that draws power from its output?  A buck converter, of course!  So everything works out precisely the same if we flip the circuit "left to right".  Buck and boost are the same thing if you have free switches.  You have to stick to one or the other, of course, if you replace one switch with a diode.

This is for a duty cycle D and period Tcyc = 1 / Fclk.

It's in steady state if the total dI's are zero.  That is, we add up the two expressions above, and if we get right back where we started, we've gone one full cycle and changed nothing on average.  This gives:

0 = (Vin * Tcyc * D / L) + ((Vin-Vout) * Tcyc * (1-D) / L)
A lot of gibberish, but  Tcyc and L drop out, and we get:
Vout = Vin / (1-D)
If we take some typical cases:
D = 50%: Vout = Vin/(0.5) = 2Vin -- it doubles, that's handy.
D = 90%: Vout = Vin/(0.1) = 10Vin -- it goes way up, whew...
D = 99%: see where I'm going with this..?
D = 100%: uh, you done fucked up...

So... a very important property of the boost converter (any switcher, really), you don't want to leave it stuck on.  Because that breaks things.

If you follow the textbook plan, where a PWM generator feeds a switch, you will have a bad time, because sooner or later, the PWM generator will generate 100% duty, and output suddenly goes to zero!  And also your switch explodes!

How to solve this?

It seems very suspicious to have an unaccounted variable, just floating around in the system.  Namely, inductor current.  We can control dI/dt, but I itself is just anything.  We probably shouldn't allow that, because very large I makes transistors explode...

There are two simple solutions to this; one is a little better, but harder to implement.

Peak Current Mode Control
------------------------------
Suppose, instead of driving the switch with a PWM generator, we simply turn it on, then turn it off when the inductor current reaches some peak value.  We need a comparator to detect the current, and a flip-flop to do the latching action.  Voila, we've solved the inductor current problem, because it's controlled, not just in general, but as fast as possible: each and every cycle!  Typical controllers include UC3842.

Downsides to this method are, every time the switch turns off, we're simply *hoping* that the inductor discharges fully -- current isn't being monitored continuously, so how would we know?

If we add another detector and latch, so we wait at least until the inductor has discharged, we get BCM (boundary conduction mode) operation.  This has some advantages of its own, but the main disadvantage is high ripple: you get one big gulp of energy, then you simply wait until you need another.

If you ignore that and simply charge on ahead, resetting the flip-flop at a constant frequency (as the UC3842 does), then sometimes you'll be waiting a long time between pulses (discontinuous current mode, DCM), and sometimes you'll be turning on before the inductor has discharged (continuous, CCM).  CCM is tricky, because a peak current controller is actually a chaotic system (an analog implementation of the Logistic Map -- look it up if you like pretty pictures!).  There are some hints, but you mainly want to avoid CCM operation.

CCM is a good technique for higher power circuits, because you save on inductor losses and output ripple.  Peak current mode control is therefore best suited to smaller circuits, where the high ripple of DCM/BCM isn't such a big deal.  It's also excellent for high efficiency, low power circuits: if you don't mind the ripple, and only need a gulp every so often, then you can save a lot of power by not switching when you don't need to.

TI's Eco-mode series (like TPS54140) are perhaps the most fully realized examples of this method.  They include slope compensation for better behavior at high currents, and frequency reduction for high efficiency at low currents.

Average Current Mode Control
----------------------------------
This is the harder method, usually:

Suppose we do the textbook PWM approach, but instead of closing the loop on voltage, we regulate current.

Obviously, current is only ever going up and down, so we need to do this carefully.  If we change PWM% too slowly, we can get situations where, say, the output becomes shorted and current rises dangerously high.  We can't be too fast, either: a very fast error amplifier would simply be a comparator, and feeding 0 or 1 into a PW modulator simply gives 0 or 1 at the output; it does nothing, it's just a hysteretic controller. (Which itself isn't bad -- but there are some gotchas.)

If we read the inductor current, say with a shunt resistor in series with the output, and filter it slightly, so it's still got some ripple, but it's not the full triangle wave, then we can apply average current mode control.  The filtering accomplishes the averaging, and we no longer have to worry about PWM% lagging behind load changes: the inductor current stays just where we put it, and PWM% varies to accommodate it.

If we needed a constant current buck output, we could simply stop here.  This is great for LEDs, for example!  But most times, we need a constant voltage, and we might need to use topologies other than buck.  Recall the boost converter is strongly nonlinear, with Vout being hyperbolic with D!  Closing the loop on current eliminates that nonlinearity (and nonlinearity is bad for control loops!), but we need to get voltage back.

So we add a second error amplifier: a loop outside the current loop.  In fact, what we're doing is using the current-error-amp, PW modulator, switch and inductor, as a transconductance amplifier: voltage in, current out.  We can simply control this stage, with another error amp, to regulate voltage.

This technique works great, but it requires more hardware.  It's also a bit slower, because of the necessity of filtering the inductor current signal.  For these reasons, you'd typically use this for larger circuits, hundreds of watts perhaps.  The added expense of a current shunt resistor, or a pair of current transformers*, is made up for the cost and efficiency savings on the inductor (can be an otherwise rather lossy powdered iron type) and capacitors (bog standard electrolytics).

(*You can use current transformers to measure DC, as long as the DC is always switching.  In a buck converter, if you use one CT for the switch and one for the diode, and combine their outputs with diodes, you get a DC-accurate output which follows the inductor current precisely.  The downside is, it has to be switching, so you can't go above maybe 90% duty cycle.  So the controller and converter parts might be okay up to 100% duty, but not your current sensor.  Which is kind of scary, and necessitates the same hack the textbook PWM boost circuit needs: hard limiting the maximum PWM%.)

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline basinstreetdesign

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: ca
Re: Some theoretical questions about boost circuits
« Reply #11 on: March 30, 2016, 07:39:50 pm »


Shouldn't this be greater than or equal to? If the maximum allowed current through an inductor is exceeded (maximum by either temperature increase or core saturation), I'd expect bad things to happen to your converter and possibly your load.
[/quote]

Oops, Molenaar, you are absolutely correct, it should be "greater than or equal to"
Tim
STAND BACK!  I'm going to try SCIENCE!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf