Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Buck SMPS w/ unwanted oscillation

Status
Not open for further replies.

Darkcobra

Member level 3
Joined
Nov 20, 2010
Messages
55
Helped
13
Reputation
28
Reaction score
14
Trophy points
1,288
Activity points
1,883
I have a SMPS I've been designing in SPICE, which has been a great exercise for me to learn more about SMPS and electronics in general. I'd like to build it soon, but there's one problem I haven't been able to solve.

The output stage consists of a P-MOSFET switch, Schottky flywheel diode, inductor, filter capacitor, and load resistor. It's quite standard so I haven't posted a schematic; but I can clean it up and post it if necessary.

Here is the problem, as best as I'm able to determine. When the output voltage overshoots (typically caused by a changing load), the switch may remain off long enough for the current through the inductor to fall to zero. Current then begins flowing backwards from the filter capacitor through the inductor, and into the combined capacitance of the MOSFET and flywheel diode. Once that capacitance is charged, current again flows forward, and the cycle repeats. The end result is that I have an unwanted ~500khz sinewave oscillation that swings slightly past both supply rails.

How do I correct this?

Here's what I've already tried:

1) Adding series resistances to the filter capacitor and inductor to better simulate real-world conditions. But it takes values much larger than you'd find in a real-world SMPS to have even a little damping effect on this oscillation.

2) A wide variety of Schottky and fast recovery diodes. This only changes the frequency of the oscillation.

3) 10, 100, and 1000 ohm gate resistors. No effect whatsoever.
 

This sounds like your loop compensation is wrong for the
load step and LC of the filter.
 

This sounds like your loop compensation is wrong for the
load step and LC of the filter.

Is it necessary that the loop compensation be tuned so that the inductor current *never* falls to zero, or is there some other way of correcting this?

I'm trying to come up with a design that will accept input from 12-28V, and provide adjustable output from 2.5V to Vin minus the dropout. Loads may draw from a few mA to 1A, and have varying capacitances. It should also be tolerant to brief short-circuits, and clamp possible inductive kickbacks from the load. I don't need high efficiency, tight regulation across large load steps, or very low ripple.

Given those criteria, I admit I'm not sure how to tune the loop to insure inductor current never falls to zero; if that's even possible.

My current tuning was done mostly through trial and error while testing on a variety of simulated loads. With the inclusion of a resettable soft-start, minimum load resistor, and overvoltage clamp, it's working quite well. The only problem is that oscillation.
 

I have a SMPS I've been designing in SPICE, which has been a great exercise for me to learn more about SMPS and electronics in general. I'd like to build it soon, but there's one problem I haven't been able to solve.

The output stage consists of a P-MOSFET switch, Schottky flywheel diode, inductor, filter capacitor, and load resistor. It's quite standard so I haven't posted a schematic; but I can clean it up and post it if necessary.

Here is the problem, as best as I'm able to determine. When the output voltage overshoots (typically caused by a changing load), the switch may remain off long enough for the current through the inductor to fall to zero. Current then begins flowing backwards from the filter capacitor through the inductor, and into the combined capacitance of the MOSFET and flywheel diode. Once that capacitance is charged, current again flows forward, and the cycle repeats. The end result is that I have an unwanted ~500khz sinewave oscillation that swings slightly past both supply rails.

How do I correct this?

Here's what I've already tried:

1) Adding series resistances to the filter capacitor and inductor to better simulate real-world conditions. But it takes values much larger than you'd find in a real-world SMPS to have even a little damping effect on this oscillation.

2) A wide variety of Schottky and fast recovery diodes. This only changes the frequency of the oscillation.

3) 10, 100, and 1000 ohm gate resistors. No effect whatsoever.

You've got it in 1 by mentioning the capacitances of your Mosfet and Diode.

With a voltage overshoot on the output, as you suggest, the loop will turn off your Mosfet until that overshoot is recovered. That involves your output inductor resetting through the diode and then the load drawing current for enough time to bring the output voltage back down so the loop can begin regulating again.

Once the inductor has reset then its input node, with the Diode and Mosfet off is effectively 'open circuit'. Ideally if your Diode had zero reverse recovery time, and Schottky's are low but not zero then you would not see a problem. Since the recovery time is finite the inductor will reset to zero and then get set by an amount of current based on its value, the output voltage and the reverse recovery time of the diode before the diode finally switches off.

At that point you have energy stored in the inductor and, with the Mosfet and Diode off, 'nowhere' for it to go. As you are suggesting that energy will transfer from the inductor to the parasitic capacitances of the connected devices and then go back again. Effectively you have an LC resonant tank, or circuit.

Since you are using Spice and know the value of your output inductor and the 'ringing frequency' you can work out what the equivalent parasitic capacitance is. It will vary if you are using 'real' models for your Mosfet and Diode according to the voltage levels.

Ignoring that then,

Fring = 1/2.pi.sqrt[Lout.Cstray]

Since you know Fring and Lout you can re-arrange that to find out what Cstray under the particular operating conditions you are looking at will be.

In order to make the oscillation 'go away' you have to damp or snub it. That will require you to place a series RC network across either the Mosfet or Diode. I would pick the Diode.

The values you would require for the components in that RC network would be C three times the size of your calculated Cstray and R the same impedance as your output inductor at Fring..

R = 2.pi.Fring.Lout

Whether you would need to do this in 'real life' would really depend on EMC, Electromagnetic Compatibility, requirements. I don't think it will 'hurt' your converter in itself but it is or maybe something to consider in terms of EMC.

Hope that made sense.

Genome
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top