PI Controller Tuning for totem pole Pfc

조회 수: 88 (최근 30일)
Barath Narayanan
Barath Narayanan 2022년 9월 30일
댓글: Usman 2023년 7월 30일
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
Barath Narayanan
Barath Narayanan 2022년 9월 30일
Thanks for replying
Usman
Usman 2023년 7월 30일
do you have the example for multiphase buck converter control?

댓글을 달려면 로그인하십시오.

채택된 답변

Sam Chak
Sam Chak 2022년 9월 30일
편집: Sam Chak 2022년 10월 1일
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
Barath Narayanan
Barath Narayanan 2022년 10월 1일
편집: Barath Narayanan 2022년 10월 1일
You see the file you will get better a scope init
Sam Chak
Sam Chak 2022년 10월 1일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Barath Narayanan
Barath Narayanan 2022년 10월 2일
Ok type in the matlab command as ee_ totem_pole_pfc and see the control subsystem
  댓글 수: 3
Barath Narayanan
Barath Narayanan 2023년 5월 23일
Ya tried a pI and pr simulation Instead of pi
Sufi
Sufi 2023년 5월 24일
How did you get the PI values and PR values? What procedure did you follow to get it correctly?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Classical Control Design에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by