That's a pretty bizarre compensation network...
Indeed..
http://www.datasheetcatalog.org/datasheet/stmicroelectronics/4298.pdf
It also does not help much when there is no explanation why or the reasoning behind it. Then again it is just a basic data sheet otherwise I've seen this one crop up in real life and it hurt my head as well. So much so that I ripped it out and put something more meaningful in. Still, I suppose, each to their own.
Let's say you have a boost converter operating with continuous inductor current. This might not be the most efficient or correct way of analysis things but it does show some of the salient points. The power stage is,
Operating Duty Cycle, Continuous Inductor Current
During switch on time, TON, the inductor is set through VIN. During switch off time, TOFF, it is reset through [VOUT - VIN]. The change in current through the device during each phase is,
dIset = TON.VIN/L
dIrset = TOFF.[VOUT - VIN]/L
Steady state with continuous inductor current the average does not change so,
dIset = dIrset
and therefore,
TON.VIN/L = TOFF.[VOUT - VIN]/L
Cancel L,
TON.VIN = TOFF.[VOUT - VIN]
Normalise to one second and TON becomes the operating duty cycle, D, with TOFF becoming [1 - D]. Substitute,
D.VIN = [1 - D].[VOUT - VIN]
Multiply out,
D.VIN = VOUT - VIN - D.VOUT + D.VIN
Rearrange a bit,
VOUT - VIN = D.VOUT
And a bit more,
D = [VOUT - VIN]/VOUT
It is the operating duty cycle for a boost converter with continuous inductor current.
Perturb The Duty Cycle
by a small amount, p.
D => [D + p]
[1 - D] => [1 - D - p]
The setting volt-seconds become,
Vset = [D + p].VIN
The setting volt-seconds become,
Vrset = [1 - D - p].[VIN - VOUT]
This results in a change of voltage across the inductor
dVL = [D + p].VIN - [1 - D - p].[VOUT - VIN]
Multiply out
dVL = D.VIN + p.VIN - VOUT + VIN + D.VOUT - D.VIN + p.VOUT -p.VIN
Some bits cancel
dVL = VIN - VOUT + D.VOUT + p.VOUT
We've already worked out the duty cycle D as being,
D = [VOUT - VIN]/VOUT
So substitute,
dVL = VIN - VOUT + [VOUT - VIN].VOUT/VOUT + p.VOUT
dVL = VIN - VOUT + VOUT - VIN + p.VOUT
Things disappear
dVL = p.VOUT
It's all algebra, sort of.
The change in voltage across the inductor results in a change in current though it. Given XL is the 'impedance' of the inductor then,
dIL = dVL/XL
dIL = p.VOUT/XL
dIL = -j.p.VOUT/2pi.f.L
The change in inductor current is 'sampled' at the output during the switch off time so, to begin with, the change in output current is,
dIOUT = [1 - D].dIL
but.... but... but....!!1! The perturbation, p, also acts to 'un-sample' the steady state inductor current delivered to the output so in fact,
dIOUT = [1 - D].dIL - p.IL
dIOUT = -j.p.[1 - D].VOUT/2pi.f.L - p.IL
Substitute for D again..
dIOUT = -j.p.[1 - [VOUT - VIN]/VOUT]].VOUT/2pi.f.L - p.IL
Fiddle about,
dIOUT = -j.p.[VOUT - VOUT + VIN]/2pi.f.L - p.IL
dIOUT = -j.p.VIN/2pi.f.L - p.IL
dIOUT = p.[-j.VIN/2pi.f.L - IL]
Rearrange, for the 'power circuit gain', control to output response, and the change in output current in response to the original perturbation, p, is..
dIOUT/p = -j.VIN/2pi.f.L - IL
This is the 'Right Half Plane Zero' and results from the perturbation 'un-sampling' the steady state inductor current. You ask for more but before you get it you get less.
Setting to unity gain and 'ignoring' -j then it lives at,
1 = VIN/2pi.frhpz.L - IL
IL = VIN/2pi.frhpz.L
frhpz = VIN/2pi.IL.L
In amplitude terms it behaves like a normal zero. Unfortunately instead of the phase going plus 90 degrees as you transition it the phase goes minus 90 degrees. There is no solution and you are forced to close your overall feedback loop at a lower frequency than that associated with it.
Now I may have made a mistake but, in the case of Power Factor Correction, given VIN will fall to zero then frhpz, according to the above, must do the same. If it is right then I might only assume that any loop applied does not have time to go and do unstable sillies before it enters stability again.
That's just me being sad and thinking about consequences.
Anyway. That's the method and that's the power circuit gain for a boost converter. You can also use a similar method to look at what flyback and indeed other circuits might do. It is part of building up blocks within the loop to add together before you apply your error amplifier.
I'll have to think about how 'peak' current mode control fits in with things so for the moment that is, not, a wrap.
Genome.