Hi all,
Im trying to teach myself SMPS design. All theory, SPICE and ideal components at the moment and things are going quite well.
Using
International Rectifier's AN-1162, I have mostly working SPICE simulations of various buck and buck-derived converters with both type II and type IIIA compensation, but so far I've used an ideal opamp with GBWP=1GHz.
Here's the problem, In my small-signal analysis of a forward converter, I can lower the GBWP as far as 5-10MHz with type IIIA compensation and have >60 degrees phase margin at crossover on the local opamp error amplifier loop and the full (error amplifier + power stage) loops; yet on the switching simulation, If I lower the GBWP to 100MHz, there is 4.7kHz ringing at the point where the output voltage reaches the target and the error amp kicks in with the regulation, and if I lower it below 50MHz, there is 4.7kHz oscillation from this point on. I think this means it's the error amplifier's local loop that's unstable, but the phase at 4.7kHz is about 250 degrees (it's in the frequency range between the compensator's zero 1+2 near the power stage's LC double pole and the compensator's pole 2 and 3 near the power stage's C|ESR zero) and the phase doesn't change much when the GBWP is adjusted, so I don't see why it oscillates at this frequency or why increasing the GBWP stops it.
One thing I wasn't sure about is that in the small signal linear model, I've treated the transformer as an ideal turns ratio, essentially only modeling a buck converter with its input voltage as the secondary voltage of the transformer. Is this where I'm going wrong?
Can anyone tell me what's likely to be the problem? I may post a screenshot of SPICE later if it will help, but I'm not at my own PC at the moment.
Cheers,
Matt
EDIT: Just for some more background info:
Switching frequency 100kHz, Crossover frequency 10kHz,
Power stage LC double pole frequency around 300Hz,
Power stage ESR zero frequency around 30kHz (IIRC)