The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
https://designers-guide.org/forum/YaBB.pl?num=1374341507

Message started by kanmaedex on Jul 20th, 2013, 10:31am

Title: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by kanmaedex on Jul 20th, 2013, 10:31am

Hi everyone I am trying to measure the loop gain of my Boost Converter (Vin = 15V, Vout = 30V, up to 10A load) using the free version of the SIMetrix software, SIMetrix/SIMPLIS Intro 7.00. I am measuring the overall loop gain (outer voltage loop, including the current loop) in order to check the phase and gain plots for stability purposes. The controller used is the UC3843 controller also available in SIMetrix.

The problem is I can't believe that I am doing the measurement right since the resulting plots are exactly the same regardless of whether I shut down the IC, change the compensation values drastically. The magnitude gain is very low ~ -50dB below at 1Hz up to 100kHz which is weird. It is weird since the resulting plots of output voltage curves are totally good and ok from no load up to 10A.

I used AC analysis. Attached here are images of the schematic, the options I chose in the Simulator->Choose Analysis window, and the plot which remains the same regardless of compensator values. The plots change when I change the load, but the magnitude gain is still very low.

I am concerned with whether or not I am doing the loop gain measurement correctly, or if this is a technical limitation of the software, or if this is a problem with the UC3843 model.

Some explanations to the schematic: input voltage is V1 (displayed as 15V in schematic), load is I1 (displayed as 8A in the schematic), C4,R15,C5 are the compensators Type II compensator, Q2 and R10 comprise the slope compensator, I used 3 parallel NMOSFETS IRF32105 each having Rg = 10 ohms and Rgs = 30kohms. V3 is the perturbation, and the probe used is the Bode Plot Probe.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by Frank Wiedmann on Jul 20th, 2013, 3:46pm

You are indeed not doing the measurement right. See the section "Analysis of Linearized Circuit" of my web page https://sites.google.com/site/frankwiedmann/loopgain.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by kanmaedex on Jul 21st, 2013, 3:06am

Hey thanks for the reply! I read your site and from there I think I understand primarily the problem with my measurement. I guess it's really the different linear models that may boost converter has per switching state that makes the AC analysis invalid since the linear model is not 'time-continuous'.

I found the Simplis website and it shows how the loop gain/phase could be plotted using the SIMPLIS engine. I tried it and the response showed realistic results (attached here).

I just have a few more questions left:
1.) It did show realistic results up to half the switching frequency but greater than that the results showed unrealistic results like zigzag and some noisy curves. I was wondering if you have any explanation for it? It seemed like this also happens when you use a real network analyzer to measure power supply feedback stability based with my experience and I don't know why this is.
2.) I've read in a book, Pulse-Width Modulated Converters by Marian Kazimierczuk that the space averaged-state modelling works accurately only up to half the switching frequency but didn't really explain why this is so mathematically. Would you know of it? By the way, my switching frequency is at 100kHz.
3.) I've also found in your website explanations about opening the loop. In my experience with network analyzers I see that they use transformers, in injecting the noise/disturbance at the appropriate point in the feedback loop so that there will be DC isolation. Is this similar to it? I did not consider this (inductor and capacitor placement) in injecting my disturbance but in the SIMPLIS website demo for presenting the getting of loop gain he did not put inductors and capacitors so I'm not sure what really must and must not be done.

Thank you very much! I am also sorry for posting tons of questions but I am really eager to learn this. Thanks.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by Frank Wiedmann on Jul 21st, 2013, 4:13pm

Thank you for making me aware of this capability of SIMPLIS. I will probably update my web page accordingly.

Regarding your questions 1 and 2: I am not really an expert in switched-mode power supplies but I assume that this is due to aliasing. For an explanation of aliasing in samplers, see pages 15 to 17 of https://ccnet.stanford.edu/cgi-bin/course.cgi?cc=ee315b&action=handout_download&handout_id=ID131637959122829.

Regarding your question 3: The transformer creates a floating voltage source just like the one that is used in simulation. With this method, you measure/simulate voltage loop gain. See http://www.omicron-lab.com/fileadmin/assets/customer_examples/Bode_Info_LoopGain_V1_0.pdf for the conditions under which this is a good approximation for the loop gain.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by Frank Wiedmann on Jul 24th, 2013, 12:57am

As it happens, there is a discussion about SIMPLIS in the LTspice Yahoo Group right now at http://tech.groups.yahoo.com/group/LTspice/message/68551. The author, analogspiceman, is a very experienced SMPS designer. You might be able to get a better response to your questions 1 and 2 from him because he describes the effect in his message and seems to know more about it. You might want to contact him by email as discussions about topics not related to LTspice are frowned upon in that group.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by kanmaedex on Jul 24th, 2013, 3:28am

Thanks! :D I learned a lot from this.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 24th, 2013, 7:30am

kanmaedex,

I just read Frank's private email message and then registered here and I haven't run your simulation, but I can guess what is going on.

The boost topology can suffer from a right half plane zero and it appears that is the case for your design.  The cure is to make the inductor smaller and the output capacitor bigger.  Since it is just a simulation, I would make the inductor 33uH and triple the cap to 6m in series with 6m.  Of course, the current sense resistor may have to be adjusted to avoid peak current limiting (or not - didn't check) and the added voltage ramp might need to be increased (but just leave it alone for starters).  

Next, your compensation network is probably not the best.  The match to the output capacitor ESR zero is wrong (lower the 4n7 capacitor's value to 2n2 or 1n5) and the parallel integrating cap is way too large (make it 10uF at most - 1uF or smaller would be better for the final design).

The "noisy folding" you see in the loop gain is just the expected characteristic of a SMPS, which, of course, is a sampled data system.  Even with no RHP zero and perfect compensation, the best your loop phase can do is hit zero at just half the switching frequency.  You can look at current mode control as a kind of zero order hold which leads to this characteristic (think of it either as non recoverable phase loss from delay or as aliasing of the perturbation frequency onto itself at fsw/2).  The SIMPLIS data looks a little ragged because you don't have enough points.  Tell SIMPLIS to take 10x or 100x as many points to get a clearer output plot.

When you do this, at the high frequencies you should see the phase change rapidly with vertical jumps as it wraps 360 degrees again and again.  I don't know if you can tell SIMPLIS to display the phase without the wraps - it actually is just diving precipitously nearly straight down beyond the switching frequency (because the increasing harmonics of fsw appear closer and closer on a log plot).

Hope this helps.  Please report back what you find.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 26th, 2013, 7:07am

From staring at your second loop-gain plot over the last day or so while waiting for you to post an update, several observations and questions have come to mind.

First off, from the location in frequency of the first "tooth in the comb," it is apparent that the switching frequency is about 20 percent over the stated 100kHz target.  This agrees with the oscillator component selection chart on the UC3843 data sheet, which suggest that a charging resistor of about 4k7 (rather than 3k9) would yield the desired 100kHz operation frequency.

This boost convertor is operating at very near 50 percent duty cycle, yet there is not even a hint of a bump in the gain plot at the traditional point of current mode instability (half the switching frequency).  Doing a hand calculation, it looks to me like the slope of the compensation ramp is very roughly about twice the natural down-slope of the boost inductor, which is a good choice to suppress the current mode instability, but I would think that there still should be a slightly visible glitch at fsw/2 in the loop-gain curve.

With a 15V input, a 30V/8A maximum output load, and the given values for the boost inductor and and output capacitor, a right half plane zero should be evident in the loop-gain curve, but it is hard to clearly see its location because of all the other frequency effects going on.  Plotting I(D2)/I(L1) should make the location of the RHP zero clearly stand out and show how much phase margin it actually is eating.  Adjusting down the L/C ratio of the power stage components should push this RHP zero out to higher frequencies, but maybe it's not so bad as is and you can live with a slightly reduced loop bandwidth and slower step response, rather than change the power stage components.

This is a very simple circuit and should be easy to simulate in LTspice, both in the time domain and with an averaged model (including current mode control effects) for looking at loop response.  I don't know how to use SIMPLIS, but it's probably not hard to learn and might be very interesting to compare against the results produced by LTspice.

Maybe I should give it a go and post some curves here (time permitting, of course).

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 27th, 2013, 5:29am

Here is the boost circuit drawn using LTC's "equivalent" replacement part to the UC3843 (it performs nominally the same, except it has leading edge noise blanking).  Note that I have "optimized" the compensation circuit and tweaked the oscillator to run at 100kHz.  The simulation is set up to operate with 15V in and 30V out at 8A, then again at 0.8A output.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 27th, 2013, 5:40am

Now here is the output for the basic boost transient simulation (LTspice).  Note that with the light load, that the integration capacitor in the compensation circuit "winds up" during start up, causing a small amount of overshoot such that the output completely turns off until the load bleeds it back down.  The run time for this stepped simulation was a little over a minute.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 27th, 2013, 6:18am

Next, here is the ac loop-gain simulation schematic shown for the same boost circuit.  LTspice does not have the ability to run a frequency response analysis directly from the transient schematic like SIMPLIS, so for switched mode circuits, it is necessary to set up an averaged model.  This is a straightforward process once the theory is understood (but this is probably beyond the capability of most LTspice users).  

One need only generate the basic duty-cycle averaged equivalent for the switched voltage and current, generate the equivalent PWM gain factor, generate the second order low pass "delay" network to approximate the sampling effects of a SMPS (this captures the subharmonic oscillation effect of current mode control) and then LTspice will do the rest of the "heavy lifting" in sorting out the complex frequency response.  LTspice faithfully captures how all the poles and zeros move around with changing line and load conditions, including the mysterious, ethereal right half plane zero that exists only because of the switching action.

Note that because this is a boost circuit (which is just a buck circuit run backwards), the duty cycle generated by the control has to be "backwards" as well, i.e., it is (1-d) rather than just (d) directly.  PWM gain depends on the sum of both the natural ramp of the sloping inductor current and the so-called "stabilizing artificial ramp."

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 27th, 2013, 6:31am

Now, here is the Bode plot output from the ac equivalent circuit in LTspice.  Shown are actually three very similar runs that differ only in the amount of compensating ramp added to the PWM node.  One has just enough added ramp to be right a the point of subharmonic oscillation, one has ramp with slope equal to the inductor down slope, and the most damped response is with twice that slope in the added ramp.  Also shown is the RHP zero picked out from the ratio of currents on either side of the boost power stage (it location moves with changes in line or load, but this simulation was always run at full load and nominal line).  Note how the magnitude response of the RHP zero curves up like a normal LHP zero, but the phase breaks in the opposite direction to a LHP zero.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 27th, 2013, 7:06am

I downloaded the node-limited free trial version of SIMPLIS and was able to use it to simulate the same circuit.  Learning its human interface has been a challenge, but I am extremely impressed with its powerful ability to be able to simulate the ac response (loopgain) of a SMPS circuit directly from the transient model.  One does not have to know anything about how to generate averaged models and the like.  This is actually easy to do in LTspice once the technique and underlying theory is understood, but with SIMPLIS, the exact same schematic can be used for both transient and small signal analyses, so there is zero chance of making a mistake while generating an assumed "equivalent" ac translation.

Once I get a little better a manipulating the output and generating a clean schematic (and graphics file - haven't even begun to try that), I will post the results from SIMPLIS, but they seem to be in close agreement with LTspice.

Schematic capture, editing and manipulation in SIMPLIS is very different than in LTspice (editing is more like the standard Microsoft interface with regard to the detailed order of the editing actions) and SMIPLIS doesn't seem to have redefinable hotkeys, but I'd say that it is probably equally as good as schematic capture in LTspice.  Plotting results and manipulating the graphical output is another story, however.  There, I'd give LTspice the clear edge as it has powerful waveform math that is easy to use and edit after-the-fact (SIMPLIS seems to require deleting and replotting waveforms to "edit" them).

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 27th, 2013, 9:23pm

Okay, now I know my way around SIMPLIS well enough to generate a decent looking schematic.  This should be the same at the LTspice version.  No doubt there are slight differences in the details of the control IC model (for example the oscillator resistor required to run at 100kHz is slightly a different value).

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Jul 27th, 2013, 9:45pm

Now here is a visual demonstration of why the time domain frequency analyzer loopgain response from SIMPLIS is better than any averaged approximation.  I have overlaid the SIMPLIS output (solid heavy red and green) onto the LTspice output (thin solid and dashed green).  The LTspice averaged model attempts to be realistic up to half the switching frequency (any mismatch beyond that is unimportant to compensation design).

The two curves are essentially the same at low frequencies (the small difference at very low frequency is probably due to mismatch in PWM IC models), but at near half the switching frequency the phase really does not match well.  This is due to the second order LCR approximation to the Zero Order Hold like response of the real PWM model - it is impossible to get a perfect match.  Making approximate averaged models is a tricky business and it is much safer just to get the response from the switched model.

All is not lost with the averaged model however, as in spite of the slight mismatch, it still can be used to predict the onset of subharmonic oscillations quite well.  But considering accuracy, ease of use and inherent immunity to modeling errors, SIMPLIS is a clear winner here.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by kanmaedex on Aug 4th, 2013, 4:39am

Hey analogspiceman thanks for the reply! I now have better grasp of how loop analysis should be done when using simulators. Sorry for the late reply, I've been busy the previous week. You seem to know a lot about this stuff. I improved my dc-dc converter last week by 'trial-and-error' method in the simulator and now my inductor is 15uH, my capacitor is at 2mF. I read your comment and you seem to know that this was a way to reduce the bad effects of the RHPZ (decrease L, increase C) awesome.
I just have some questions to ask:
1.) I found out in a website http://powerelectronics.com/power-management/understanding-right-half-plane-zero about the RHPZ in boost converters. Is it possible to solve completely. Such that in the time-domain, the onset of the voltage dip for step increase of load current could not be seen anymore? or is it just only the reduction of that dip, and the settling - time that could be improved?
2.) Would you know of some literature that could be studied for compensating current-mode controlled converters like the boost converter?
Thanks!

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Aug 5th, 2013, 3:40am

If the inductor is small enough so that its current never goes continuous, even at the heaviest load, then the RHP zero simply disappears.  This is because then any change in inductor current called for can be achieved in one cycle.

When the inductor is relatively large so that its current is heavily continuous, then the RHP zero arises because in order to increase the output, duty cycle must be increased to build up inductor current, but this also immediately results in a smaller portion of the slowly building inductor current being directed to the output (so output current falls at first) with the increasing portion being dumped to ground in order to apply positive net voltage across the inductor.

A system with one or more RHP zeros is known as a non-minimum phase system (anything with pure delay falls into this category) and cannot be compensated via global feedback for loop gain bandwidth much past the frequency of the lowest RHP zero.

The article you linked includes a derivation of the expression for the frequency of the RHP zero: fz = Ro/Lb*(1-D)^2.  This only holds if the inductor current is continuous where simple duty cycle averaged voltages drive its current.  If the inductor current goes discontinuous, then a third system state is introduced, which alters the system's two-state dynamics, completely eliminating the RHP zero.

If a RHP zero exists under certain line/load conditions, this may not be a limit to system dynamics.  It is only necessary that the RHP zero not be allowed to fall low below somewhere slightly above the switching frequency so that its phase effects don't come into play before the normal PWM limits to loop gain bandwidth.

Rather than work with equations, you can use the simulator to see how the RHP zero moves and various system parameters are stepped (e.g. inductor value, input voltage, output load, etc.).  This zero is easy to see by plotting the ratio of current out of the boost diode divided by current through the boost inductor.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by kanmaedex on Aug 5th, 2013, 8:59am

Thanks analogspiceman for the response I have another question regarding the RHPZ of the boost converter. I'm trying to study its implications.

Based on the link I previously posted I learned that it is physically manifested by that dip in output voltage upon step load increase. With the current specs of the boost converter I presented, that 'dip' doesn't seem to be much significant. I tried making a new boost converter, Input (11V to 19V), output is at 90V. I tried doing a 0A to 6A step-load and that downward dip during the occurrence of the step doesn't even reach 1V. Is that 'dip' caused by the RHPZ really that harmful in the industry? or is it more of the unstable oscillation that could propagate to your load that is the bad side effect of the RHPZ? Roughly how large could those voltage dips go due to a bad RHPZ?

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Aug 6th, 2013, 8:09am

A RHP zero in the transfer function is problematic because it is not possible to cancel it out with the compensation network.  The RHP zero in a boost converter can be dangerous because it moves around and, if not accounted for, can cause the converter to go unstable under heavy load where there is increased likelihood of failure.

Its mere existence is not the problem, but dealing inadequately with its possible effects might be.  Obtaining low output impedance beyond the general vicinity of the RHP zero cannot be done actively via feedback - it must be done passively via a large output capacitance (or some other means such as post regulation).  A large output capacitor can lower the size of load steps, but not the time to recovery.  Also, a larger output capacitor will subject the output to a larger energy dump if an overload collapses the output.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by kanmaedex on Aug 7th, 2013, 10:16pm

Thanks. I see. So that's why increasing the output capacitor seems to improve the regulation (stable output). It has something to do with reducing the output impedance. A voltage source should have small output impedance but it's hard to get it past the RHPZ. Is there any physical reason to this?

Just like how the double pole of an LC filter is physically explained to be that frequency at which the impedance of the inductor and that of the capacitor equals, is there a physical explanation to what the RHPZ is in nature?

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by analogspiceman on Aug 26th, 2013, 11:13pm

In a boost converter, if the current is discontinuous, a small increase in input on-time has the effect of increasing output on-time.  However, if the current is continuous, a small increase in input on-time directly subtracts from output on-time and can actually make the next lump of charge delivered to the output decrease even though the duty cycle is increasing (which must ultimately and eventually after a certain delay, result in more output current).  It is this momentary "backwards" action (i.e., delay in response) that is a sure sign of a looming RHP zero.

Do you know what the pole and zero pattern is that approximates an ideal delay?  If not, since it is a basic EE course item, just look it up on the net.  The bottom line is that RHP zeros always are associated with nonrecoverable delay.  When coupled properly with symmetrically corresponding LHP poles, their effect on magnitude is exactly cancelled (resulting in a perfectly flat magnitude response, but with crashing phase - that is, an ideal delay).

Hope this helps.

Title: Re: Getting Loop Gain of Boost Converter with UC3843 controller using SIMetrix softw
Post by smpsguy on Apr 24th, 2014, 2:24pm

analogspiceman,

May I request for a copy of your  Boost_LTspice_ac.asc and Boost_Simplis.sxsch files. I have tried to replicate your Boost_LTspice_ac file but with no success, the simulator kept complaining about the current source value.

thank,
Jesse

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.