PI Controller Tuning for totem pole Pfc
조회 수: 88 (최근 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.
I was referring this video to tune the controllers: https://www.mathworks.com/videos/active-power-factor-correction-1546869199547.html
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
채택된 답변
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)
Gic = pidtune(Gid, 'PI', 0.1*fs)
Gcli = minreal(feedback(Gic*Gid, 1))
margin(Gic*Gid) % Requirements: Pm = 45°–60°, ωc = 10% of fs
step(Gcli)
Gvd = (Vin*R)/(2*V0*(s*R*C1 + 1))
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)
Gclv = minreal(feedback(Gvc*Gvd, 1))
margin(Gvc*Gvd) % Requirements: Pm = 90°, ωc = 10% of 2*fline
step(Gclv)
댓글 수: 16
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
2022년 10월 2일
댓글 수: 3
Sufi
2023년 5월 24일
How did you get the PI values and PR values? What procedure did you follow to get it correctly?
참고 항목
카테고리
Help Center 및 File Exchange에서 Classical Control Design에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!