一、两电平IGBT整流器

       电压源换流器(Voltage source converter,VSC)连接交流主网和直流电网,起到交直流网络连接、功率输送和电能变换的作用。采用电压控制手段可维持直流电压的稳定;或采用功率控制手段保证系统功率输出达到预期。

1.1 基础模型

       VSC的拓扑模型如图1所示:

图 1 VSC拓扑模型

       VSC的三相电压平衡方程如式(1)所示:

式中,igx和ugx分别表示主网三相电流与电压(x=a,b,c);ucx表示换流器VSC 交流输出电压; Rg表示交流主网等效电阻;Lg表示交流主网等效电感。

      三相abc坐标系下的VSC电压平衡方程难以实现电流的解耦控制,常用Park变换,将其转变为d-q坐标系,在d-q坐标系下,三相逆变器平衡方程如式(2)所示:

式中,ωs为交流系统频率;ugy、igy和ucy分别表示主网电压、主网电流和VSC交流电压的y轴分量(y=d, q)。

      式(2)可转换为式(3),之所以转化成这种形式是为了方便后续控制搭建计算ucd和ucq:

1.2 控制模块

      当采取PI调节器时,ucd、ucq的控制如式(4)所示:

式中,KpKi为比例调节系数和积分调节系数;idref、iqref为d轴电流和q轴电流参考值。

      VSC控制采用双环解耦控制,实现目标值的快速跟踪。内环采用电流控制,使igd、igq能够快速跟踪参考值。其控制框图如图2所示。

图 2 内环电流控制框图

        外环控制包括Udc-Q控制和P-Q控制等,需根据系统所需的控制目标选择哪一种外环控制。外环通过目标偏差的PI控制输出为idref和iqref,为内环提供参考。 

        直流综合电力系统至少需要一端VSC采用Udc-Q控制,以维持系统直流电压稳定,外环Udc-Q控制框图如图3所示,Udc和Udcref分别表示直流电压及其参考值,Qg和Qref分别表示VSC输出无功功率及其参考值。

图 3 外环Udc-Q控制框图

        一端VSC采用Udc-Q控制后,其他端口可采用P-Q控制,可实现按系统需求控制各端输出功率,外环P-Q控制框图如图2-10所示,PPref分别表示VSC输出有功功率及其参考值。 

图 4 外环P-Q控制框图

        整体控制框图如图5和图6所示。 

图 5 Udc-Q整体控制框图
图 6 P-Q整体控制框图

1.3 Simulink仿真模型

https://download.csdn.net/download/TUCHACHINA/89633336icon-default.png?t=N7T8https://download.csdn.net/download/TUCHACHINA/89633336

1.3.1 电气模块

        最最基础的整流器系统模型如图7所示:

图 7 整流器系统
1.3.2 控制模块
1)SPWM

        按照控制框图搭就完事了,无功功率环可以直接省略(毕竟控无功功率为零其实也是控无功电流为零)。直接把参考电压输给Simulink自带的SPWM模块。

图 8 电压电流双闭环控制
2)SVPWM的m代码形式

        SVPWM利用Simulink自带模块实现的方式B站上能搜到,这里就不赘述了(而且看视频肯定比看图片好)。其实代码形式本质上跟模块形式是一样的,但运行速度更快。(顺便之前的参数也可以从代码里找到)

图 9 SVPWM的m代码形式
function PWM  = fcn(vdc_bus,Vag,Vbg,Vcg,Iag,Ibg,Icg,time)
persistent vdc_integral
persistent id_integral
persistent iq_integral
persistent w
persistent f_integral

Ts=2e-6;
f_ref=2*pi*50;
vdc_ref=1000;
iq_ref=0;
L=1.2e-3;
if isempty(w)
    w=0;
end
if isempty(f_integral)
    f_integral=0;
end
if isempty(vdc_integral)
    vdc_integral=0;
end
if isempty(id_integral)
    id_integral=0;
end
if isempty(iq_integral)
    iq_integral=0;
end

%V-abc-dq
vd=2/3*(sin(w)*Vag+sin(w-pi/3*2)*Vbg+sin(w+pi/3*2)*Vcg);
vq=2/3*(cos(w)*Vag+cos(w-pi/3*2)*Vbg+cos(w+pi/3*2)*Vcg);

%PLL
Kp_f=10;
Ki_f=3141.6;
f_integral = f_integral + vq;
f= Kp_f*vq+Ki_f*f_integral*Ts+f_ref;
w = w+f*Ts;
if w>=2*pi
    w=w-2*pi;
end

%I-abc-dq
id=2/3*(sin(w)*Iag+sin(w-pi/3*2)*Ibg+sin(w+pi/3*2)*Icg);
iq=2/3*(cos(w)*Iag+cos(w-pi/3*2)*Ibg+cos(w+pi/3*2)*Icg);

%DC
vdc_error=vdc_ref-vdc_bus;
Kp_v=0.83;
Ki_v=47;
vdc_integral = vdc_integral + vdc_error;
id_ref = Kp_v*vdc_error+Ki_v*vdc_integral*Ts;

%d-axis
id_error=id_ref-id;
Kp_id=4;
Ki_id=100;
id_integral = id_integral + id_error;
vd_ref = Kp_id*id_error+Ki_id*id_integral*Ts;

Vd=vd-vd_ref+iq*f*L;

%q-axis
iq_error=iq_ref-iq;
Kp_iq=4;
Ki_iq=100;
iq_integral = iq_integral + iq_error;
vq_ref = Kp_iq*iq_error+Ki_iq*iq_integral*Ts;
Vq=vq-vq_ref-id*f*L;

%0-axis
V0=0;

%dq-abc
Va=cos(w)*Vq+sin(w)*Vd+V0;
Vb=cos(w-pi/3*2)*Vq+sin(w-pi/3*2)*Vd+V0;
Vc=cos(w+pi/3*2)*Vq+sin(w+pi/3*2)*Vd+V0;

%normalize
Vam=Va/vdc_ref*sqrt(3);
Vbm=Vb/vdc_ref*sqrt(3);
Vcm=Vc/vdc_ref*sqrt(3);

%V-abc-alphabeta
Valpha=2/3*(Vam-Vbm/2-Vcm/2);
Vbeta=2/3*(Vbm*sqrt(3)/2-Vcm*sqrt(3)/2);

%choose sector
if Vbeta>=0
    A=0;
else 
    A=4;
end

if (Vbeta-sqrt(3)*Valpha)>=0
    B=0;
else 
    B=2;
end

if (Vbeta+sqrt(3)*Valpha)>=0
    C=0;
else 
    C=1;
end

F=A+B+C;
switch F
    case 0
        n=2;
    case 1
        n=3;
    case 2
        n=1;
    case 5
        n=4;
    case 6
        n=6;
    case 7
        n=5;
    otherwise
        n=0;
end

%time calculation
switch n
    case 1
        T1=sqrt(3)/2*Valpha-1/2*Vbeta;
        T2=Vbeta;
    case 2
        T1=sqrt(3)/2*Valpha+1/2*Vbeta;
        T2=-sqrt(3)/2*Valpha+1/2*Vbeta;
    case 3
        T1=Vbeta;
        T2=-sqrt(3)/2*Valpha-1/2*Vbeta;
    case 4
        T1=-sqrt(3)/2*Valpha+1/2*Vbeta;
        T2=-Vbeta;
    case 5
        T1=-sqrt(3)/2*Valpha-1/2*Vbeta;
        T2=sqrt(3)/2*Valpha-1/2*Vbeta;
    otherwise
        T1=-Vbeta;
        T2=sqrt(3)/2*Valpha+1/2*Vbeta;
end
T0=1-T1-T2;
% modulation waves generation
Vt11=T0/2;
Vt12=T1+T0/2;
Vt13=T2+T1+T0/2;
Vt21=T2+T0/2;
Vt22=T0/2;
Vt23=T2+T1+T0/2;
switch n
    case 1
        Vta=Vt11;
        Vtb=Vt12;
        Vtc=Vt13;
    case 2
        Vta=Vt21;
        Vtb=Vt22;
        Vtc=Vt23;
    case 3
        Vta=Vt13;
        Vtb=Vt11;
        Vtc=Vt12;
    case 4
        Vta=Vt23;
        Vtb=Vt21;
        Vtc=Vt22;
    case 5
        Vta=Vt12;
        Vtb=Vt13;
        Vtc=Vt11;
    otherwise
        Vta=Vt22;
        Vtb=Vt23;
        Vtc=Vt21;
end
Tm=1/10000;
t=rem(time,Tm)/Tm;
if t>(Vta/2)&&t<(1-Vta/2)
    S1=1;
    S2=0;
else
    S1=0;
    S2=1;
end
if t>(Vtb/2)&&t<(1-Vtb/2)
    S3=1;
    S4=0;
else
    S3=0;
    S4=1;
end
if t>(Vtc/2)&&t<(1-Vtc/2)
    S5=1;
    S6=0;
else
    S5=0;
    S6=1;
end
PWM=[S1 S2 S3 S4 S5 S6];
end

1.4 仿真结果

图 10 交流侧三相电流​

图 11 直流电压

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值