Other Parts Discussed in Thread: UCC28C42,
How to understand the slop compensation circuit , I know the peak current mode control but I can't understand how to generate the triangle wave use BJT
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
The BJT is only a buffer between the RAMP (CT, RT) and the CS. The BJT only requires a few uA of current so it has almost no effect on frequency shift from loading the CT, RT. The BJT used this way is also called an emitter follower so that the RAMP that appears on the base is "followed" at the emitter and then divided down to the correct level to produce the desired slope compensation.
One way to learn the function of power supply control circuits is to experiment with simulation. I have attached an open loop model of UCC28C42 which uses a BJT to produce a RAMP on CS. To run the simulation you will need to download a free copy of TI TINA simulation software.UCC28C42_VMC_Open Loop.TSC
Regards,
Steve M
Here are a few good reference discussing the need for slope compensation in peak CMC.
Of course it's easy to adjust the required value in the lab by separating the injected slope comp and varying the resistor until the desired amount is measured the reconnect the slope comp so it is mixed in with the CS signal.
Steve
Thanks , I will watch
1.in the first file the boost converter example the slop compensation is use triangle waveform but in real circuit I need use the emitter follower to generate the triangle, but how do I know the RT/CT peak value in the datasheet ii just tell me the peak to peak value,if I do the slop compensation I don't need to know the peak value?
2.In the simplis I can easily to generate the triangle waveform but if I want to use like UC3842's method how do I do. Can you give me exanple about this
I run the simulation you give me
but the oscillation frequency is not like 1.72/(RT*CT) in this simulation the frequency should be like 86kHz but in the simulation the frequency is 71.89k
and the Rramp in the simulation is 5k this mean I need to try and error?
in the Simplis I can decide the value of the slop compensation like 0.36V , but if I use UC3842 How do I generate the 0.36V ? make the RT/CT waveform peak value is 1.06V and use BJT the 1.06-0.7=0.36
the method I said is correct? and in the UC3842 datasheet all I know is the peak to peak value how do I do this part I am confused
Hi
Yes, the measured frequency from the sim is ~72 kHz but from The UCC28C42 data sheet, figure 1:
The red lines drawn on the graph represent the error between the simulated value and the "ideal" value (Rt=20 k, CT=1 nF, F~80 kHz). There is ~10 kHz error between sim and calculated values. I removed the BJT from the sim to see what effect it might have on loading the RAMP signal and there was no change in frequency. The measured frequency remained exactly the same at 72 kHz but in a real circuit this can't happen - we expect some frequency shift due to minimal clock loading (base current vs removal of base current) associated with RT, CT. The sim model is close but not perfect.
Slope compensation is based on mixing/adding an amount of artificial slope to the CS signal. Slope is based on m=dy/dx but it seems you are only thinking about the peak value (dy) while ignoring the frequency component (time, dt). As you mentioned, the peak value will be reduced by ~0.7 V due to Vbe of the BJT. A single resistor from the BJT emitter to CS will add slope comp RAMP mixed with the CS signal at the CS filter capacitor. You adjust the slope comp by adjusting the peak by setting the emitter resistor and applying the superposition theorem at CS to achieve the desired amount. Think of slope comp as peak/time or peak*freq. The application note U-97 gives a clear explanation (below). Fig 2 shows the slope comp (-m) inverted (subtracted from the error voltage) but we can imagine it with +m when we add it to the CS:
Regards,
Steve M
The oscillator's frequency question I think I understand. thanks
and I still have some question about slop compensation :
as you you mention I just think about the peak value I forget the the frequency component (time, dt) the slope compensation is based on the oscillation frequency, based on my design the switching frequency I used is 100k Hz and the artificial ramp slope ma =3.6*10^5, and current sense resistor Rsense=0.1
so the artificial ramp slope peak value is (1/100k)*0.1*3.6*10^5 = 0.36, the frequency and Rsense is fixed so the variable is ma, in the real circuit the Rramp resistor is determine the ma value? if this is true how do I choose the Rramp value to match the 3.6*10^5.
in the Tina simulation file no matter how I change the Rramp value the slop didn't change, so I don't know how to decide Rramp value,
based on the above situation if I have the frequency and Rsense how do I choose the Rramp value to that ma is queal 3.6*10^5
Don't look at the TINA file for slope compensation. That sim file demonstrates open loop configuration using the UCC28c42 in VMC and I was using it as an example to answer your original question about how to buffer the RAMP with a BJT. You would need to build a new TINA sim for CMC and slope comp.
Your total available amount of slope compensation is: 3.6V/10us=.36V/us
Now calculate the inductor slope (up slope if adding to the CS or down slope if subtracting from the error voltage). When you get the inductor slope value, divide by 2 and this is the amount of slope comp needed to guarantee stability. This is explained in detail in the papers I referred to previously.
Steve M
Steve M
Your total available amount of slope compensation is: 3.6V/10us=.36V/us that is what I want
but the RT/CT oscillation peak to peak value is 1.7V and if the frequency is 100k Hz I still can get the 0.36V/us because the maxium is 1.7V/10us right?
and How do I do I can get the 0.36V/us this part I still can't slove
30 mV/us is what your RAMP has available to contribute toward slope compensation. From the magnetizing inductance, you need to calculate the voltage slope appearing across the current sense resistor. The slope on the CS resistor will determine how much slope compensation is required and you know from the RAMP (RT, CT) appearing at the BJT emitter, what you can contribute. Below is an example I worked out for you. Your values may be different depending on your topology, VIN, VOUT, DMAX, component choices, etc but I hope you can follow the method. Please read the papers I referred to you, build a CMC circuit in TINA and don't worry about being exact because you can make necessary adjustments on the bench. Current sensing, magnetizing inductance (transformer design), current sense filtering, duty cycle and slope compensation - do you see how they all work together? Good luck with your design.
Regards,
Steve M
thank you for your help I will search the paper you give me again you give me a three paper the paper you mention is this one?
https://www.ti.com/lit/an/slua110/slua110.pdf?ts=1602122377212&ref_url=https%253A%252F%252Fwww.google.com%252F and thanks you give a example for me I think this for several day
after I read the paper if I have question can I still post question on that?
Let's close this thread for now because I think we have addressed everything related to slope compensation. If you have additional questions you can open a new discussion thread. Thanks you.
Regards,
Steve M
On additional comment: Using the upslope of the inductor current is only valid when the duty cycle is only slightly greater than 50% (lets say ~60% max). To cover slope comp and stability for all duty cycle cases >>50%, the inductor downslope should be used in the previous calculation/method.
Steve M