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.

help about SMPS compenstion network.

Not open for further replies.


Advanced Member level 4
Oct 12, 2001
Reaction score
Trophy points
Activity points
high voltage prototype vectorboard

hi,can anybody give me some advice about current mode SMPS compensation?any web site or ebook would be good.wellcome any infomation,thanks!

stabilizing the feedback loop of smps

excellent paper at TI site at this address:


compensation for smps

thank you! i have read the pdf file,and i have something can not understand.maybe this method can work for uc1846,but can not for others,such as UC3843 in flyback smps.
who have more info about this?thanks!

smps stabilize after some seconds

at the moment i am trying to stablize a uc3845 controller with a flyback configuration
at present i have output capacitance of 470uF and i have a RC and C compensation network
right now the power supply can handle loads up to about 6-8 watts andything over that and i beleive the control loop osicaltaes at high voltage destroying the controller

i am positive i need to stabilize my smps loop comepesatyion network. i am looking for anyhelp on tyhis
my design goal is 12 volt output at 3A so 36 Watts
i the power supply regulates beatifully at 12V from 0 to 8 watts. the RC i have right now is 3.6k and 7.3uF and the C i have is 3nF
The loop compensation is hooked up just like most normal flyback ones are from shunt ref to shunt cathode
any help would be greatly appercaited

I just want to add that first i had an output cap of 220uH and a different calculated output comp network but i upped the cap so i would have less ripple. When i had 220uH otuput the supply could handle all loads up to 36W but the voltage sagged to about 9 volts at max load and at no load the output would flux between 10-14 volts. i have no doubt that i have to fix my compensation network somehow so anyhelp would be greatly aaperciated. I also think i might need to up the peak current because i think i might not be able to source enough current to dive the load.
Pelase any help thanks

Added after 2 hours 36 minutes:

I just finshed some more testing. I put the output capacitatnce to 330uF and recalculated the RC and C loop compensation
Now I noticed it can handle a 12W load now but this is where the SMPS goes awry
The output starts at a nice 12 v out and drifts slowly upwards
when it reaches about 13v out it increasinly gets bigger at a quicker pace until it reaches about 14v and then just goes off the charts to 20 30 until the UC3845 IC pops from over voltage. My question is then i assume i must stabalize my open loop compenstation circuit. I must not be calculating values correctly?
Any help would be greatly apperciated.

optimization compensation for smps

First of all, is the flyback operating in continuous current mode or discontinuous current mode?
How certain are you that the problem is really oscillation? Did you see the voltage at pin 1 of the 3845 controller actually oscillate? (Careful when you check that, if this is an off-line P/S).
Is it possible you just hit current limit because of too large a current sense resistor?
What kind of error amplifier are you using? (Perhaps you can post a schematic)
compensation smps

Its operating in Discontinious Mode
I am not certain it is osicallation but i am assuming that the control loop goes outta wack becauase of what i witnessed at higher loads .
Also pin 3 is grounded because the smps is a wide input range system so the frequency varies with input voltage.
at low input voltage roughfly 110 the system operates at about 140 kHz and at the highest input voltage 600 the system operates at about 75kHz

I did not hit a current limit as i have my current sense resistor set at about .47 ohms

ill send you a schematic if you give me email or something so we can correspond
thanks for the speedy reply.

Added after 5 hours 6 minutes:

VVV i am using a zero pole pair compensation.
I am wondering though if the problem is polarized tantulam cap
for the C1 i am just using a cereamic cap
but for the R2C2 part i am using a tantualum cap.
Does the cap pose a problem because its polarzied
Its all we had in the lab at the moment i am trying to track down a ceramic cap with a value of 4.9uF
Thanks VVV i appericate all your help!

practice with ic uc3845

If it is operating in discontinuous mode, you should have no problem stabilizing it, with plenty of phase margin.

I don't understand the statement about pin 3 being grounded. UC3845 is a current mode controller and pin 3 is the current sense input. How are you able to get it to work at all?
I do not know what C2 is, but I am assuming it is in the feedback loop of the error amp. Why do you need a Ta cap there?
Anyway, if you send me the schematic, I will look at it and suggest a thing or two. As for the compensation, there is plenty of literature on the UC384x family. Just go to the TI website and do a search on the subject. A good paper is Lloyd Dixon's "Control loop cookbook". You should find it on the TI website.
I can explain these things, too, if you run into problems. Don't worry, this problem will be solved. Do you have a gain-phase analyzer?

smps ringing lower duty cycle

Ok i will send tommorrow when i am back at work. Its a 100-600VAC input flyback with outputs 12v at 3 amps
today i cut the cap on the AUX winding and it seemed to remove most of the loading problems but now the controller goes wacking around 220 VAC input voltage
I noticed that the Aux winding would get about 22V and then after that stuff would go arwy so thats why i cut the 100uF cap outta the Aux winding.
It helped but now i think i need to fix the loop compensation correctly
Anyways ill send schematic tommorrow and maybe you can give me some insights.
I was also thinking of puttrin glike a clamp zener on the aux winding after the diode to clamp at lets say 16v incase the aux gets to high
if you have AOL IM or want to exchange emails that would be greatly apperciated
I do not think we have a gain phase analyzer but i will ask around tommorrow for one. Is this a tool to connect to an oscilloscope?

very wide input smps

VVV i just wanted to note that the way i am testin load is by using high wattage power resistors
I am using like 40 watt 4 ohm resistor for heavy load of 3 amps and like 10 watt 24 ohm resistor for 6 watt load and so on.
I am curoius if i should be clamping the auxliary winding to a certain voltage because when you increase load on the secondary it regulates to 12v output but the auxilary winding bumps up in voltage.
Any help would be greatly apperciated

Added after 1 hours 34 minutes:

i think i have finally stablized the SMPS over the whole load range from .1 A to 3A (1.2 to 36W) respectivly. This was with an input of 100 to 130 VAC. The problem now i am encountering is the higher the input i have the lesser the load i can drive. Example i had input of 180VAC (250DC rail) and at about lets says 12 W on the output it sagged to about 1 Volt!!!! big problem. I am thinking it is either mosfet cannot soure sink enough current during a given cycle or i need to set I sense resistor smaller so the controller sinks more current. I am still waiting for your email or somewhere where i can post you my schematic. Ill be in and out of the lab today so i look forward to your reply VVV. Once again thanks for your time and help!

Added after 4 hours 55 minutes:

VVV ok after more testing today i am pretty sure that i have resolved the loop compensation problem. Next problem is load problem with higher input votlages
At 100vac input the SMPS can handles all loads up to the spec of 36W.
now bump up to about 240vac the smps can handle loads up to about 12 W then the votlage starts to sag. Now i did testing andi think i need to lower the current sense resistor so i can soruce more current during each cycle.
Let me know what you think about my design. I was looking at other flyback designs and noticed some have a clamping diode on aux winding and i was wondering if that was a good idea. As i mention before the aux winding voltage goes up when the load goes up on the secondary. THe secondary votlage stays around 12v.
if i clamped around 15 on the aux that would help mantain a consant voltage for biasing
Any thoughts would be apperciated!

smps compensation network

If the transformer is properly designed, the voltages should track one another fairly well (about 6-8%) over a large portion of the output load. So the fact that your auxiliary voltage changes so much could indicate a transformer problem, too. Normally, no clamping of the voltage is required on the auxiliary output (I suppose you are thinking about a Zener).

I am not sure I understand the question about the diode on the secondary winding in other supplies. If you have a flyback, no other diode is necessary, other than the normal rectifier.

I am certain you have already done so several times, but please check again your circuit, there may be some problem that only becomes obvious on close inspection.
Do you have a real PCB for this supply, or are you trying to breadboard it? Noise is always a problem in SMPS, if breadboarded improperly.

I will wait for your schematic/ layout.

fixing smps mosfet ringing

VVV i sent you a schematic earlier today to your yahoo account. At the moment the smps is built via solder breadboard. I am in the process of having a board layed out. If you did not recieve the schematic please let me know but i am positive i attached it to an email i sent you. The transformer was designed via Cramer Coils and has a turns ratio of 1:.115 and primary inductance of 175uH. I have another transformer that is in the process of being put on a board for prototypeing by one of our techs. Please let me know if you did not receive the schematic. I send it as an PDF.

wide input ranges smps design

if both aux winding and seconardy winding are suposed to track what does the controller do when more load is put on the output to assure that its at 12 volts?
Let more current into the primary right? So this would mean at higher voltages i am just not sinking enough current to be able to supply the secondary.
I sent pdf file yesterday to your email so hopefully you will have a chance to comment on it today. Thanks for you help!

Added after 2 hours 6 minutes:

i just want to make sure also i am calculating Adc correctly
Adc = ((Vin-Vout)^2 * Nsec)/(Vin * Ve * Npri)

i know what every variable is in that equation except for Ve
They don't have a explanation on what Ve is but i was assuming it was forward voltage drop on diode on the secondary. Please correct me if i am wrong. Also how does the schematics look?

need for compensation in smps

Hi roofingboom,

I did receive the schematic and here are the first comments:

1. Normally, the oscillator is built to work from the chip's reference output. Therefore, you should connect R46 to pin 8 of the chip. This will ensure clean oscillation and stable frequency.
2. The optocoupler output is normally connected to pin 1 of the chip, like you did, but the load should be a resistor to Vref again. So please change R34 to 2.7k (a common value) and connect it directly from pin 1 to pin 8. Remove VR2. Remeber, the input to the PWM modulator is supposed to be clean, that is why we power it from Vref, otherwise the ripple that exists on the aux supply will just be fed into the PWM, causing what looks like oscillation.
3. The error amp seems definitely improperly compensated. I will send you what I think is the right compensation.
4. It's good to see you have a filter on the current sense input.
5. You do not need CR10. CR6 will do the job of isolating the startup resistors from the aux winding, ensuring proper startup.
6. The output capacitor is definitely too small. Can you send me the calculations/ considerations/ type of that cap?
7. What is the real input voltage range for this supply? Normally it should be no larger than 85~265VAC. (Even that is not so easy to deal with).
8. C23 seems a little small. Usual values are 47 ~100uF, but if you think the P/S starts up reliably, keep it.

SMPSs are not too easy to breadboard. It is possible for your P/S to exhibit problems because of the breadboard. I cannot comment on that, unless I have a layout.

Perhaps you can send me the complete specs, so I can give more clear suggestions/ calculations.

frequency 140kz switching

Ok first of all the specs are as follows
Very wide input range smps with 12 volt out at 3 amps
input can be anywhere from 110 vac to 600vac
The reason vref is not hooked up is because as the input voltage rises i am adjusting the operating frequency of the controller. At about 600 vac i want the controller to run at about 75khz and at 110 vac i want controller to run at 140kHz.
i am working for an app note
that app note has what i am trying to accomplish but not 5 volt out and i want 3 amps at 12 volts abvously.

Added after 4 minutes:

i did some testing before i read your reply and i am noticing that the aux winding is not tracking with the secodary at all
the higher the input voltage the higher voltage my uc3845 controller is see which is messing up everything since most of the controll is design at about 12 volts.
Read that app note and you should be able to see what i am trying to accomplish.
Its not a breadboard but like a solder board with point to point soldering and a really good ground plane. My techs did a good job without makeing a full protoype boiard. My layout is current being made by the cad techs so when i get one i will certainly share it with you. After you read that app note from on semi please tell me what you think cause a lot of my design is based off of that design. Its not a typical flyback app. It has to vary frequency so that at high input voltages the mosfet can source enought current.
Thanks again for you comments!

Added after 3 hours 22 minutes:

alright well my first breadboarded SMPS went haywire and is outta commision right now. I am waiting for the tech to finish a better board. He should be done tommorrow. Mean while tell me what you think about me varying frequency as the input voltage increases.
Goal Specs are
100-600VAC input
12V 3A output
Thats it
Thanks for your help!

uc3845 oscillator frequency calculation

here are some questions i have. Its seems that UF diodes are faster than schoktty but i thought it was the other way around. Secondly why do they have a 300V 3A shoktty on the secondary line when max voltage it could see would be about 20 volts.
Any thoughts on my wide input range SMPS ? thanks for you thoughts and time.

Added after 18 minutes:

ok i answered my question about why have a high voltage on the rectifier diodes so dont answer that. My next question is should i just scratch the idea of trying to have a variable frequency system and just work with a lower switching frequency lets say 70khz for the whole input range. at duty cycle of .1 and input of 850DC from 600VAC line the output is 12 volts and the peroid is 14.3uS. The on time would then be 1.43uS whhich should be enough time to source amount of current needed!
At the low input voltage i should have an duty cycle of .48 and that would give me an ontime of roughfly 7uS.
Let me know if i should stick with that app note that i linked to or just make a fixed frequency design with a lower operating frequency so that i am able to sink the courrent needed at high input voltage ranges due to the delay in current mosfets not being fast enough

loop compensation uc3845

OK, I read the appnote and I see what you are trying to accomplish.
Since you started on this road, you may need to continue, since reducing the frequency may mean redesigning the transformer.
I am not at all crazy about the way they change the operating frequency. You can take a look at this appnote:
The frequency foldback is used here for overload protection situations, but you can apply it to your case, by simply changing the transistor to an npn and feeding it with a voltage derived from the input voltage. That way your frequency changes in response to the input voltage. It does not really need to do a continuous frequency sweep, if it switches at some point (say 240VAC), that should also be fine.

Variable frequency is not a bad idea for such a wide input range. The thing is that with a variable frequency it is harder to tell when your circuit is oscillating and when not. So until you fix all that, you may consider making the changes I suggested in the previous post and set the frequency to the lower value and simply test at high line only, until you get it to work. Then you can raise the frequency and test at low line.
When you are done, you can again try the approach of the appnote.

By the way, Ve means the error amplifier output voltage (pin 1).

I would check to make sure the auxiliary winding is connected properly (not reversed). The fact that the auxiliary voltage changes so much with the input voltage kind of makes me think it might be reversed.

feedback loop compensation in smps

Wow a tech made me a proto board and it is a million times better. There is no noise anymore which is really nice. Also i burned out all my uc3845 from on semi so i am using the uc3845 from microsemi ipg so i have to re calculate the RtCt circuit cause it is different per manufactuere.
I will tell you how the new one works on monday when i am at work.
I hope that this new board does the trick
THe layout is done so i can get a layout to you to have a look asap

thanks for all you help
also i am using the calculations for loop comepnsation from the app note. You think that app note is pretty accurate as far as loop compensation goes?

uc3845 discontinious

I wonder if all the problems were actually caused by the ON Semi chips. I have had my share of troubles with this series of chips from ON Semi, while parts from other manufacturers worked just fine on the very same board.

uc3845 schematic

alright still problems no shit huh story of my life! lol
k so ran outta onesemi cause i kept popping them. I had about 5 from microsemi ipg
i put one in the circuit and tested it. it was running way to fast about 330kHz and thats because it has a different timing r c then the onsemi ones did. This morning i modified the R C to run at design 140Khz for low line inpti and i tested it and it ran at about 150kHz. Not a problem but the problem is it outputs about 17 -40 volts depending on what the input voltage is. I noticed something very strange though. As i was mesasureing the primary with the scope i saw just before gate turn on the voltage spiked to rail and back down. So in esscence the on time is larger than the duty cycle the chip thinks its running at because of this spike. Is that spike from the snubber? or is it mosfet related and i should try another one? i was doing calculations and witha .125 ratio transformer i should never see 30 volts on the output. Strange things going on andi am quite frustrated as you can imagine.
Any suggestions.
I did order some TI and Onsemi UC3845 last friday so i should have parts later today or tommorrow to test.

Added after 6 minutes:

oh and a side note let me know if you think those valu8es for loop compensation are valid or not. I used the app note to calculate them for my schematic.
Thanks a ton!

Added after 4 minutes:

I was reading a lot into snubbing and from waht i can determine that is not the cause of this random voltavge spike to rail and back down to 0 before the gate is turned on so right now i am at a loss for words on where that is coming from.

600 vac switch mode power supply circuit

I can't say where the spike is coming from. Maybe you can attach pictures.

With the risk of repeating myself, I will ask you to check again the phase of the transformer windings. Either they are wrong or the thing does not regulate at all.

Please try what I suggested: forget the frequency foldaback, set the oscillator to min frequency and do all the tests at high line, until you get it to work. Change the feedback opto connections, as well, as per my suggestions. Once you've figured out what's wrong, you can restore them. But for now, keep things simple. (This is what I would do).

Use the compensation values that are given in the appnote for now. I will try to review them and post if I think they should be different. But simply judging by the values, the loop should be slow and stable. Again I am repeating myself, but a discontinuous mode flyback is usually pretty tame.

Please send me a drawing (hand sketch) of the breadboard. I suspect there is something strange there.

Not open for further replies.

Part and Inventory Search

Welcome to