PI Controller Tuning for totem pole Pfc

97 visualizaciones (últimos 30 días)
Barath Narayanan
Barath Narayanan el 30 de Sept. de 2022
Comentada: Usman el 30 de Jul. de 2023
Hi all,
I am working on simulating a Totem-Pole Bridgeless PFC on Simulink. I have developed the control system and need to tune the PI values for the PI controller.
Since the video is for a Boost PFC, the control system is a little different when compared to a Totem-Pole PFC.
I tried the tuning with help of sisotool by find the transfer function using small signal analysis ,and found the kp and ki but the desired response is not coming.The transfer function is shown below as a code
% the controller transfer function
clc;
clear all;
s=tf('s');
Vin=230;
V0=400;
d=0.1868;
L=2.0634e-4;
C1=0.0042;
R=48.48;
fs=65000;
Ts=1/fs;
%Gid=(Vin*(2+R*C1*s))/(R*(1-d^3)*((C1*L*s^2)/((1-d)^2)+((L*s)/R*((1-d)^2))+1));
Gid=V0/(1+s*L*R);
Gvd=(Vin*R)/(2*V0*(s*R*C1 +1));
I have attached my simulation file ,Please Help me guys
%the parameters which I used
clc
clear all;
Vin=input("Enter the value ")
fline=50;
Vinpeak=sqrt(2)*Vin;
V0=400;
V0_min=380;
Po=3300;
n=0.95;
t_holdup=10e-3;
Iin=Po/(n*Vin);
fsw=65000;
D=(1-(Vinpeak/V0));
deliin=Iin*0.30;
delvo=0.025*V0;
L=(Vinpeak*D)/(fsw*deliin);
Cpower=Po/(2*pi*fline*delvo*V0);
Choldup=(2*Po*t_holdup)/(V0^2-V0_min^2);
cap=max(Cpower,Choldup);
Ts = 1/(100*fsw); % Sampling time for the plant [sec]
Tsc = 1/(50*fsw); % Sampling time for the controller [sec]
Iinpeak = 2*(Po/(n*0.01))/Vinpeak;
  6 comentarios
Barath Narayanan
Barath Narayanan el 30 de Sept. de 2022
Thanks for replying
Usman
Usman el 30 de Jul. de 2023
do you have the example for multiphase buck converter control?

Iniciar sesión para comentar.

Respuesta aceptada

Sam Chak
Sam Chak el 30 de Sept. de 2022
Editada: Sam Chak el 1 de Oct. de 2022
I forgot to ask the PI values you obtained from sisotool. Please check if the performance requirements are satisfied for your Totem-Pole Bridgeless PFC:
s = tf('s');
Vin = 230;
V0 = 400;
d = 0.1868;
L = 2.0634e-4;
C1 = 0.0042;
R = 48.48;
fs = 65000;
fline = 50;
Ts = 1/fs;
Gid = V0/(1 + s*L*R)
Gid = 400 ---------- 0.01 s + 1 Continuous-time transfer function.
Gic = pidtune(Gid, 'PI', 0.1*fs)
Gic = 1 Kp + Ki * --- s with Kp = 0.14, Ki = 542 Continuous-time PI controller in parallel form.
Gcli = minreal(feedback(Gic*Gid, 1))
Gcli = 5579 s + 2.169e07 ----------------------- s^2 + 5679 s + 2.169e07 Continuous-time transfer function.
margin(Gic*Gid) % Requirements: Pm = 45°–60°, ωc = 10% of fs
step(Gcli)
Gvd = (Vin*R)/(2*V0*(s*R*C1 + 1))
Gvd = 1.115e04 ------------- 162.9 s + 800 Continuous-time transfer function.
kpv = 0.1*1.46087; % 10% of the previous designed kp value
kiv = 0.1*7.17463; % 10% of the previous designed ki value
Gvc = pid(kpv, kiv)
Gvc = 1 Kp + Ki * --- s with Kp = 0.146, Ki = 0.717 Continuous-time PI controller in parallel form.
Gclv = minreal(feedback(Gvc*Gvd, 1))
Gclv = 10 s + 49.11 --------------------- s^2 + 14.91 s + 49.11 Continuous-time transfer function.
margin(Gvc*Gvd) % Requirements: Pm = 90°, ωc = 10% of 2*fline
step(Gclv)
  16 comentarios
Barath Narayanan
Barath Narayanan el 1 de Oct. de 2022
Editada: Barath Narayanan el 1 de Oct. de 2022
You see the file you will get better a scope init
Sam Chak
Sam Chak el 1 de Oct. de 2022
After opening the Simulink model, I don't see the transfer function , anything that is mathematically equivalent to it. Correct me if I'm wrong.
The output of the PI(z) block goes straight into one of the 2 input ports of the Product block.
What do the block components have to do the transfer function ?
If all the blocks make up to have the equivalent mathematical transfer function , and you place the PI(s) block in the correct position as shown above, then you should the converging step response.
However, I noticed there are other nonlinear blocks, so I don't think they are part of the transfer function . Perhaps, you would like to check with your research friends / group members / project manager, who are involved in the Bridgeless PFC project.

Iniciar sesión para comentar.

Más respuestas (1)

Barath Narayanan
Barath Narayanan el 2 de Oct. de 2022
Ok type in the matlab command as ee_ totem_pole_pfc and see the control subsystem
  3 comentarios
Barath Narayanan
Barath Narayanan el 23 de Mayo de 2023
Ya tried a pI and pr simulation Instead of pi
Sufi
Sufi el 24 de Mayo de 2023
How did you get the PI values and PR values? What procedure did you follow to get it correctly?

Iniciar sesión para comentar.

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by