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.

TMS320F28069: Problem with Boost PFC control loops

Part Number: TMS320F28069
Other Parts Discussed in Thread: CONTROLSUITE, TIDM-1007

We are trying to design Boost PFC (1kW) 100Khz switching frequency using TMS320f28069 for VARIABLE Loading conditions(100W - 1kW) Output Voltage 380 Volts.
The documents that we have referred are SPRA902A and SPRUI55.
I also modeled the entire circuit in Matlab for all loops (Input Voltage squared inverse, Current Loop and Voltage Loop).

For Input Voltage and C-Inverse Calculation we have followed SPRA902A as it says!!
Only difference is that we are using a digital low pass filter to get Average of Input Voltage and we are scaling it to operate from 265Vrms to 85Vrms.


Here i have attached the Matlab script for controller  design.

s = tf('s');

l = 260e-6;
c = 660e-6;
vout = 380;

vin = 230;
ro = 144.4; % Full Load

vmax = 265*1.4142;
vmin = 85*1.4142;
voutmax = 600.2;
Imax = 16.6;

%% Current Transfer Function
ctf = vout/(s*l);
opts = pidtuneOptions('PhaseMargin',60,'DesignFocus','balanced');
ccomp = pidtune((ctf/Imax),'PI',(2*3.1416*10000),opts);
ccompz = c2d(ccomp,1/50000,'tustin');


%% TI Voout to Control transfer function
vti = (vmin*Imax*ro)/((2+(s*c*ro))*vout);   % Corrected from SPRA902A % removed the typo of 2
opts = pidtuneOptions('PhaseMargin',60,'DesignFocus','balanced');
vcomp = pidtune(vti/voutmax,'PI',(2*3.1416*10),opts);
vcompz = c2d(vcomp,1/10000,'tustin');

We are facing following issues:
1. When running at 85 Volts and Full Load (144.4 Ohms/ 1000W) the Inductor Current shape and value is proper but at Lighter Loads(1444Ohms / 100W) it gets distorted.
2. When Operating at 230 Volts for Both Full Load and Lighter Load the current shape is deformed but value appears to be approximately correct.
3. Also there is Issue with the value of Zf to be considered from SPRA902A. (For Constant Power Load or Impedance Load)???

Are we missing out something in Controller Design??
Are we missing something in Input Voltage Scaling??

Our previous conversation link is e2e.ti.com/.../8179788

  • Hi Upendra,

    I am looking into it and will get back to you within this week.

    Regards,

    Chen

  • Hi Upendra,

    Could you please explain your last question? what is the issue there?

    Regards,

    Chen

  • Please see my responses below.

    1. From 1kW power to 100W power the PFC input current will get some distortion. This is expected. This is because the inductor current goes into DCM from CCM and so the average current control gets more inaccurate. That's why you may have to do oversampling of inductor current. This is done in newer PFC designs from TI. Check out TI ILPFC ref design using F28035/F28027 controller in controlSUITE. Or check the latest TIDM-1007 (PFC with a different topology). Also, the power stage dynamics (Bode plot) changes as output power drops from 1kW to 100W. The gain is reduced and current loop bandwidth drops. This will cause distortion. So you will have to use different current controller at light load. Check ILPFC design for this. Also check the voltage loop bandwidth. It should not be more than 10~15Hz (low bandwidth). Otherwise the current reference command gets distorted and so input current gets distorted. Check your input current reference command waveform. It should be a rectified sine-wave under all conditions.

    2. At high line (230V) this behavior is expected. So follow the same as in (1) above.

    3. We are not aware of any issue with Zf. Only issue was that there was a typo in voltage loop power stage gain equation in SPRA902. We discussed that before (you already provided the link for that discussion).

    Shamim