Continue to Site

Welcome to

Welcome to our site! 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.

Push-pull converter control loop for voltage mode

Not open for further replies.


Junior Member level 1
Aug 25, 2009
Reaction score
Trophy points
Activity points
push pull converter

Hi all,
some time ago I bought a 12V to 220V true sine wave inverter, rated at 3500W. When it arrived, I hooked it up, did the basic checks, including load tests at up to 2000W. It created a lot of EMI, but otherwise all seemed fine, with an efficiency of 87% at 2000W, which is pretty good for an inverter with such a low input voltage. I left it running, at essentially no load (less than 10W), and before two hours were over, the unit self-destructed. Several blown electrolytic caps, all MOSFETs blown, along with their gate resistors, and a few other parts blown too.
Sending the unit back to the manufacturer, half around the world, wasn't very practical. Shipping both ways would have cost more than the value of the unit! Instead, the factory sent me the required spare parts. I installed them, did some checks, the unit worked again, but I discovered so many design flaws, that I embarked on a major process of improving this inverter, before feeling confident using it.
I have now ironed out most of the obvious flaws, including the one that caused the voltage run-away that blew the caps, but one big problem remains, and on this I would like advice from someone fluent in control loop principles. This inverter uses a 12V to 340V DC-DC converter, configured as a push-pull circuit, using six converter blocks with 4 MOSFETs and a transformer each, with the secondaries in series. There is no current sensing whatsoever in this converter! And the error amplifier is a plain simple integrator. It has a crossover frequency of about 1kHz, while the converter's LC filter resonates roughly at 300Hz, and the swicthing frequency is 40kHz clock, 20kHz on the transformers.
As is to be expected, this circuit is totally unstable, due to the sudden 0 to 180 degree phase transition of the LC filter, along with the constant 90 degree phase shift of the integrator . While there is no load, it idles in hiccup mode, with bursts of pulses exceeding 200A of input current, followed by long times having no pulses at all. When loaded more heavily, the current bursts get into the kiloampere range, and the frequency at which the system self-oscillates goes up.
I cannot cure the instability by simply reducing the gain, because this application needs to have enough gain at 100Hz to follow the pulsed load presented by the sine wave chopper that follows the DC-DC converter.
I made a simulation of the whole loop, and came up with component values for a type 2 error amplifier (one pole and one zero), which according to the simulation should provide good phase and gain margins, and thus be stable, along with having enough response speed. The problem is that this error amplifier would have rather high gain at 20kHz. While the total loop gain at 20kHz would be way below unity, due to the LC filter, a high gain of the error amplifier at 20kHz means that any little pickup of the transformer signal would get to the PWM strongly amplified, making the drive pulses for one side of the transformers much longer than those for the other side, which would result in flux stepping and consequent saturation of the cores, blowing the whole thing up again!
Anything I try to do to reduce the error amplifier gain at 20kHz, results in phase shifts that would make the system unstable.

Can anybody suggest what to do, short of trashing the whole thing and building a new DC-DC converter from scratch, using current-mode control? Is it possible at all to achieve enough performance in a push-pull converter for an inverter, using voltage mode control? If yes, how is it done? I'm at the end of my wits with this!

push pull converters


how did u get 87% efficiency with KiloAmp pulses happening?

i wouldn't have thougt voltage mode was worth thinking about...unless its got current limiting...but u say no current sensing anywhere?

in some countries, no engineer help any other at all, the poor guy who designed that probz now sacked and slogging away 16 hours a day to earn a few pennys to feed himself.

how did you simulate...using block diagrams or just by simulating the compenents themselves....if so. it would have taken ages to simulate

push-pull converter

>how did u get 87% efficiency with KiloAmp pulses happening?

Probably only because these MOSFETs have such extremely low RdsON, and there are so many in parallel! Total RdsOn of the paralleled FETs is below 0.7 milliohms on each side of the push pull! And the connections are made with heavy copper bars. No problems there, at least.

I expect that the efficiency should end up slightly above 90%, once the circuit is stable. And I really hope so, because 13% loss, if it holds true at the 3500W level, means over 500W of dissipation in the inverter, and I can hardly believe this thing would survive that amount of heat for longer than a few minutes! It does have a large fan, but only very small holes on the other end for air to get in... And the heatsink fins are on the OUTSIDE, while the fan sucks air through the INSIDE! Very clever...

> i wouldn't have thougt voltage mode was worth thinking about...unless its got current limiting...

Same for me. But the engineer there in Taiwan thought it was fine, and here I'm stuck with this contraption!

> but u say no current sensing anywhere?

That's right, no current sensing anywhere in the DC-DC converter. There IS a current sensor at the 220V 50Hz output of the sine wave chopper section, which might be used to protect the inverter against shorts and overloads, but of course this is not usable in any way to avoid short-term overcurrent in the FETs, nor to aid in loop stability of the DC-DC converter, nor in avoiding flux stepping!

I added a basic transformer-type current sensor, in the secondaries of the DC-DC converter transformers. I wired this up to shut down the converter when the current exceeds a safe value. So far this has avoided burning out more FETs, but I need to cure the loop instability. As it is now, any significant load will make the loop unstable, making the DC-DC converter running in bursts, until these bursts reach the limit of my added current sensor, and shut down the beast. This is happening at about 200W load at this time! At that low load, the secondary current already bursts up to 15A! Which means that the input current at 12V is going up to over 600A for those short bursts.

> in some countries, no engineer help any other at all,

That's very unfortunate. But I have found that those who really know, usually also help! The ones who don't help are mostly those who know very little, and want to keep that to themselves, fearful of creating competitors for themselves!

> the poor guy who designed that probz now sacked and slogging away 16 hours a day to earn a few pennys to feed himself.

Who knows... maybe he is still designing poor equipment, and making a decent living on it! Or maybe he is learning to do better... I hope so.

> how did you simulate...using block diagrams or just by simulating the compenents themselves....if so. it would have taken ages to simulate

I simulated the real components for the LC filter, load, voltage divider, all of the error amplifier, but instead of simulating the PWM, drivers, FETs, transformers, and rectifiers, I used a simple gain block, representing the gain these circuits have when the filter inductor is operating in continuous mode, and the 12V input is at nominal level. I'm aware that this is imprecise when the 12V vary, and specially when the inductor gets into discontinuous mode at low load, and it's also neglecting the delay through this part of the circuit, but it's good enough for the moment, for frequencies up to 1kHz or so. Anyway the instability is happening only when the circuit operates in continuous mode, and the oscillation is at quite low frequencies. The proof that the simulation is good enough is that the oscillation in the real circuit happens pretty much at the frequency predicted by the simulation.
I included estimated values for ESR and inductor loss in the simulation.

The simulation software I use is 22-year-old Microcap 2! I also tried to simulate this in the evaluation version of Microcap 9, but wasn't able to get any meaningful result! I need to learn that software first. When I was desperate, I tried to simulate a simple battery, and the software told me zero volts, all the time! I'm obviously doing something wrong in version 9. But in the old version, I have ample experience, and know when to trust the results, and when not!

Do you think it makes sense to use my added current sensor (which is rather crude, and located on the secondary side of the transformers) to turn this circuit into a sort-of current mode one? I don't think I could do real pulse-by-pulse current limiting with it, because of delays, and certainly I can't detect magnetizing current with it, but maybe I could gain those additional 90 degrees of phase advance I need in the loop to obtain stability, without having to add high frequency gain to the error amplifier! What do you think?

push-pull converter


I am also working on a project that needs conversion from 15Vdc to 230Vac. But the should be achieved by a single stage.

From your project one thing that I did not get is different stages you are using. May I know whether you are having one dc-dc stage then an inverter.

It is possible to get this done in one stage but serous problem to handle is core saturation because of flux imbalance. Do you have any idea how to handle this issue, if using a single stage. Do not bother asking a question for your question.

Not open for further replies.

Part and Inventory Search

Welcome to