搜索
您的当前位置:首页正文

LVRT总结文档110712

来源:六九路网


LVRT建模与测试

1 LVRT建模

LVRT建模主要参考DIGSILENT里面的保护模块进行建模。DIGSILENT中保护模块对DFIG实行保护的规则可以参考下文的描述。

1.1 DIGSILENT中的保护模块

图1—3给出了DIGSILENT的保护模块的代码,表一给出了各个参数。关于DIGSILENT中的函数的运算规则参见附录1.

图 1 DIGSILENT中Crowbar保护

NI And Crowbar=0rIrsetY持续时间0.001秒YNCrowbar1=1Y持续时间0.002秒YCrowbar=1延时TbypassYCrowbar1=0Y延时0.002秒YCrowbar=0 图 2 DIGSILENT中Crowbar保护控制框图

1

图 3 DIGSILENT中风速保护

SpeedmaxSpeed1YN持续时间ttripMaxS1YTripSeed=1Y持续时间ttripMinS2YN延时999秒TripSpeed=0SpeedmaxSpeed2Y持续时间ttripMaxS2YTripSpeed=1Y持续时间ttripMinS1YSpeedminSpeed2SpeedminSpeed1

图 4 DIGSILENT中风速保护控制框图

图 5 DIGSILENT中电压保护

2

umaxVoltage1YN持续时间ttripMaxV1YTripVoltage=1Y持续时间ttripMinV2YN延时999秒TripVolyage=0umaxVoltage2Y持续时间ttripMaxV2YTripVoltage=1Y持续时间ttripMinV1YuminVoltage2uminVoltage1

图 6 DIGSILENT中电压保护控制框图 表一 DIGSILENT中保护模块参数表

Maxirotor Tbybass MaxSpeed1 ttripMaxS1 MaxSpeed2 ttripMaxS2 1.5 0.06 1.5 0 1.4 1 MinSpeed1 ttripMinS1 MinSpeed2 ttripMinS2 MaxVoltage1 ttripMaxV1 0.6 0 0.7 1 1.5 0.1 MaxVoltage2 ttripMaxV2 MinVoltage1 ttripMinV1 MinVoltage2 ttripMinV2 1.2 1 0.2 1 0.4 2 1.2 Pscad下建立的模型

对于电压保护模块和风速保护模块,只需要对当前的电压和风速进行测量后与参考的电压风速以及时间标准进行比较,实现时完全按照上面的规则和参数进行。但是对于Crowbar保护模块以及自己建立的LVRT模块中采用了两个假设,第一个就是检测电压跌落的时刻,建立的模块是按照前后两次电压差是否大于0.3Pu进行判断。如果后面一次计算时刻的电压值比前一次计算时的电压值小0.3Pu就认为发生短路故障电压开始大幅跌落,反之就认为没有发生故障,电压没有大幅跌落。第二个假设就是为了防止Crowbar在切除后由于切除时产生的大电流而再一次进入工作状态,所建立的模块中使Crowbar在切除后的5秒钟处于空闲状态,不对转子电流进行检测。各个模块的程序代码参见附录2。

2 模块测试

2.1 DFIG_SVPWM_lweix测试

在DFIG_SVPWM_lweix上面算例里面加入保护模块后,对Crowbar电阻值为0,1,10欧

3

姆的情况进行仿真得到直流母线电压(Ecap),转子电流(Irdef),机端电压(Vrms),开关信号(S1)的结果如图4,5,6所示。

DFIG : Graphs1.40 1.20 1.00 0.80 0.60 0.40 0.20 0.00 11.0 VrmsyIrdeffy0.01.20 S1y0.03.00 2.50 2.00 1.50 1.00 0.50 0.00 0.00 Ecapy0.50 1.00 1.50 2.00 2.50 3.00 ... ... ... 图 7 Crowbar电阻为0欧姆时低电压穿越图

DFIG : Graphs1.20 1.00 0.80 0.60 0.40 0.20 0.00 8.0 VrmsyIrdeffy0.01.20 S1y0.03.00 2.50 2.00 1.50 1.00 0.50 0.00 0.00 Ecapy0.50 1.00 1.50 2.00 2.50 3.00 ... ... ... 图 8 Crowbar电阻为1欧姆时低电压穿越图

4

DFIG : Graphs1.40 1.20 1.00 0.80 0.60 0.40 0.20 0.00 8.0 VrmsyIrdeffy0.01.20 S1y0.04.50 Ecapy0.0 0.00 0.50 1.00 1.50 2.00 2.50 3.00 ... ... ... 图 9 Crowbar电阻为10欧姆时低电压穿越图

2.2 DFIG_标幺_SVPWM测试

在DFIG_SVPWM_lweix上面算例里面加入保护模块后,对Crowbar电阻值为0,1,10欧姆的情况进行仿真得到直流母线电压(Ecap),转子电流(Irdef),机端电压(Vrms),开关信号(S1)的结果如图7,8,9所示。

DFIG : Graphs1.00 vrmsy0.01.00 S1y0.02.00 Iroterfy0.04.00 Ecapy-0.50 0.00 0.50 1.00 1.50 2.00 2.50 3.00 ... ... ... 图 10 Crowbar电阻为0欧姆时低电压穿越图

5

DFIG : Graphs1.00 vrmsy0.01.00 S1y0.02.00 Iroterfy0.04.00 Ecapy-0.50 0.00 0.50 1.00 1.50 2.00 2.50 3.00 ... ... ... 图 11 Crowbar电阻为1欧姆时低电压穿越图

DFIG : Graphs1.00 vrmsy0.01.00 S1y0.02.00 Iroterfy0.04.00 Ecapy-0.50 0.00 0.50 1.00 1.50 2.00 2.50 3.00 ... ... ... 图 12 Crowbar电阻为10欧姆时低电压穿越图

6

2.3 测试结果分析

在DFIG_SVPWM_lweix中测试的结果与文献[1]上提供的图像趋势一致。在DFIG_标幺_SVPWM上进行测试得到的图像在短路的瞬间不像DFIG_SVPWM_lweix中变化那么迅速,反应减慢,但是在故障切除时的冲击电流和过电压反应强烈,比DFIG_SVPWM_lweix中大。不过DFIG_标幺_SVPWM中的过电压和过电流整体水平比DFIG_SVPWM_lweix小。如果算例模型没有问题,导致这种区别的原因应该是控制参数选取的差异导致的。

3 附录1

3.1 转子电流保护程序

#LOCAL REAL RA,RB,RFLAG,RT1,RC RA= STORL(NSTORL) RB= STORF(NSTORF) RC= STORF(NSTORF+1) RFLAG=RA RT1=TIME

IF($Irotor.GE.$IRref) THEN $Crowbar=1

IF(RFLAG.EQ.1) THEN STORF(NSTORF)= RB ELSE

STORF(NSTORF)=RT1 END IF

STORL(NSTORL)=1 ELSE

STORF(NSTORF)= RB STORL(NSTORL)= RA END IF

IF(($Irotor.LT.$IRref).AND.(RA.EQ.1).AND.((RT1-RB).GE.$Tbypass))THEN $Crowbar=0 STORL(NSTORL)=0 STORF(NSTORF+1)=RT1 END IF

IF(RC>0.AND.RT1-RC<5) THEN $Crowbar=0 END IF

NSTORF=NSTORF+2 NSTORL=NSTORL+1

3.2 电压保护程序

#LOCAL REAL VP(4) #LOCAL REAL VFLAG(4)

7

#LOCAL REAL VTR(4) #LOCAL REAL VT_1

VFLAG(1)= STORL(NSTORL) VP(1)= STORF(NSTORF) VFLAG(2)= STORL(NSTORL+1) VP(2)= STORF(NSTORF+1) VFLAG(3)= STORL(NSTORL+2) VP(3)= STORF(NSTORF+2) VFLAG(4)= STORL(NSTORL+3) VP(4)= STORF(NSTORF+3) VT_1=TIME

IF($Voltage>$Volmax1)THEN IF(VFLAG(1).EQ.0) THEN STORF(NSTORF)=VT_1 ELSE

STORF(NSTORF)=VP(1) END IF

STORL(NSTORL)=1 ELSE

STORL(NSTORL)=0 STORF(NSTORF)=999 END IF

IF((VFLAG(1).EQ.1).AND.(VT_1-VP(1)>$Tmax1))THEN VTR(1)=1 END IF

IF($Voltage>$Volmax2)THEN IF(VFLAG(2).EQ.0) THEN STORF(NSTORF+1)=VT_1 ELSE

STORF(NSTORF+1)=VP(2) END IF

STORL(NSTORL+1)=1 ELSE

STORL(NSTORL+1)=0 STORF(NSTORF+1)=999 END IF

IF((VFLAG(2).EQ.1).AND.(VT_1-VP(2)>$Tmax2))THEN VTR(2)=1 END IF

IF($Voltage<$Volmin1)THEN IF(VFLAG(3).EQ.0) THEN STORF(NSTORF+2)=VT_1 ELSE

STORF(NSTORF+2)=VP(3)

8

END IF

STORL(NSTORL+2)=1 ELSE

STORL(NSTORL+2)=0 STORF(NSTORF+2)=999 END IF

IF((VFLAG(3).EQ.1).AND.(VT_1-VP(3)>$Tmin1))THEN VTR(3)=1 END IF

IF($Voltage<$Volmin2)THEN IF(VFLAG(4).EQ.0) THEN STORF(NSTORF+3)=VT_1 ELSE

STORF(NSTORF+3)=VP(4) END IF

STORL(NSTORL+3)=1 ELSE

STORL(NSTORL+3)=0 STORF(NSTORF+3)=999 END IF

IF((VFLAG(4).EQ.1).AND.(VT_1-VP(4)>$Tmin2))THEN VTR(4)=1 END IF

IF((VTR(1).EQ.1).OR.(VTR(2).EQ.1).OR.(VTR(3).EQ.1).OR.(VTR(4).EQ.1))THEN $Voltrp=1 END IF

NSTORL=NSTORL+4 NSTORF=NSTORF+4

3.3 转速保护程序

#LOCAL REAL SP(4) #LOCAL REAL SFLAG(4) #LOCAL REAL STR(4) #LOCAL REAL ST_1

SFLAG(1)= STORL(NSTORL) SP(1)= STORF(NSTORF) SFLAG(2)= STORL(NSTORL+1) SP(2)= STORF(NSTORF+1) SFLAG(3)= STORL(NSTORL+2) SP(3)= STORF(NSTORF+2) SFLAG(4)= STORL(NSTORL+3) SP(4)= STORF(NSTORF+3) ST_1=TIME

IF($Speed>$Speedmax1)THEN

9

IF(SFLAG(1).EQ.0) THEN STORF(NSTORF)=ST_1 ELSE

STORF(NSTORF)=SP(1) END IF

STORL(NSTORL)=1 ELSE

STORL(NSTORL)=0 STORF(NSTORF)=999 END IF

IF((SFLAG(1).EQ.1).AND.(ST_1-SP(1)>$Tmax1))THEN STR(1)=1 END IF

IF($Speed>$Speedmax2)THEN IF(SFLAG(2).EQ.0) THEN STORF(NSTORF+1)=ST_1 ELSE

STORF(NSTORF+1)=SP(2) END IF

STORL(NSTORL+1)=1 ELSE

STORL(NSTORL+1)=0 STORF(NSTORF+1)=999 END IF

IF((SFLAG(2).EQ.1).AND.(ST_1-SP(2)>$Tmax2))THEN STR(2)=1 END IF

IF($Speed<$Speedmin1)THEN IF(SFLAG(3).EQ.0) THEN STORF(NSTORF+2)=ST_1 ELSE

STORF(NSTORF+2)=SP(3) END IF

STORL(NSTORL+2)=1 ELSE

STORL(NSTORL+2)=0 STORF(NSTORF+2)=999 END IF

IF((SFLAG(3).EQ.1).AND.(ST_1-SP(3)>$Tmin1))THEN STR(3)=1 END IF

IF($Speed<$Speedmin2)THEN IF(SFLAG(4).EQ.0) THEN STORF(NSTORF+3)=ST_1

10

ELSE

STORF(NSTORF+3)=SP(4) END IF

STORL(NSTORL+3)=1 ELSE

STORL(NSTORL+3)=0 STORF(NSTORF+3)=999 END IF

IF((SFLAG(4).EQ.1).AND.(ST_1-SP(4)>$Tmin2))THEN STR(4)=1 END IF

IF((STR(1).EQ.1).OR.(STR(2).EQ.1).OR.(STR(3).EQ.1).OR.(STR(4).EQ.1))THEN $Speedtrp=1 END IF

NSTORL=NSTORL+4 NSTORF=NSTORF+4

3.4 LVRT模块程序

#LOCAL REAL LVP(2) #LOCAL REAL LVFLAG #LOCAL REAL LVT_1,VZBL #LOCAL REAL LVTRP(2) LVFLAG= STORL(NSTORL) LVP(1)= STORF(NSTORF) LVP(2)= STORF(NSTORF+1) LVT_1=TIME

STORF(NSTORF+1)=$Volpu IF(LVP(2)-$Volpu>0.3)THEN IF(LVFLAG.EQ.0) THEN STORF(NSTORF)=LVT_1 ELSE

STORF(NSTORF)=LVP(1) END IF

STORL(NSTORL)=1 ELSE

IF(LVFLAG.EQ.1) THEN STORL(NSTORL)=1 STORF(NSTORF)=LVP(1) ELSE

STORL(NSTORL)=0 STORF(NSTORF)=999 END IF END IF

IF($Volpu>=0.9) THEN

11

STORL(NSTORL)=0 STORF(NSTORF)=999 END IF

VZBL=(0.75/2.375*(LVT_1-LVP(1)-0.625)+0.15) IF(LVT_1-LVP(1)<0.625.AND.LVT_1-LVP(1)>0)THEN IF($Volpu>=0.15)THEN LVTRP(1)=0 ELSE LVTRP(1)=1 END IF

ELSE IF(LVT_1-LVP(1)>=0.625.AND.LVT_1-LVP(1)<3) THEN IF($Volpu-VZBL>0) THEN LVTRP(2)=0 ELSE LVTRP(2)=1 END IF END IF

IF( LVTRP(2).EQ.1.OR. LVTRP(1).EQ.1)THEN $Volbrk=1 END IF

NSTORL=NSTORL+1 NSTORF=NSTORF+2

4 参考文献

[1]苏 平,张靠社 基于主动式IGBT 型Crowbar 的双馈风力发电系统LVRT 仿真研究 电力系统保护与控制 第38 卷 第23 期

[2] 朱晓东,石磊,陈宁,朱凌志,刘皓明 考虑Crowbar 阻值和退出时间的双馈风电机组低电压穿越 电力系统自动化 第34 卷 第18 期 2010 年9 月25 日

12

因篇幅问题不能全部显示,请点此查看更多更全内容

Top