这里,我先对AFD主动反孤岛进行算法仿真。

0.相关理论知识;

首先,这个电力系统,按照之前你所给出的要求,我们做如下的设置,即:

230V/50Hz,单相(single phase or 1 phase)

    然后,仿真的具体要求为:

负载:小型电网 single phase 1kW grid-connected PV systems 

根据 IEEE 1547 standard 对反孤岛的要求

·Voltage: 240V ± 10%, 

·frequency:50Hz ± 1%

·Quality Factor, Qf:  Qf < 2.5 (Qf = 0 , 0.02,0.04, … , 2.4)

·Required Islanding detection time: tdetect<0.2s  and isolated to the load

·THD: <5%

关于AFD的相关理论,见具体的参考文献。

1.Simulink模型;

    下面首先建立一个单相光伏发电系统(single phase PV system),然后结合AFD的基本算法进行仿真。

注意:

之前你提供的那个AFD的S-function,我仔细看了,觉得你写的应该是的对的(然后补充了相应的代码注释,在最后给你的改进方案中,我也会对AFD的算法进行改进,改为自适应的AFD,在这里,先为传统的AFD),但是simulink模型里面没有内容,所以我基于你的这个S-funtion建立一个仿真模型。

    对S函数和simulink做了修改之后,最后得到的结构如下所示:

AFD主动反孤岛_数据

2.仿真波形的数据保存;

    Simulink最后的输出波形,其显示的时候没法进行label的修改,不太方便,这里我们将simulink仿真的结果保存到workspace中,然后有MATLAB调用,显示波形,保存的结果如下所示:

AFD主动反孤岛_参考文献_02

3. MATLAB调用数据进行波形的完整显示;

    运行文件夹中的run_figure.m就能见simulink仿真的结果进行显示,具体的仿真结果如下所示:

AFD主动反孤岛_参考文献_03

AFD主动反孤岛_参考文献_04

AFD主动反孤岛_数据_05

因为采用电压和频率边界检测,即UVP,OVP,UFP,OFP这个算法的时候,其对于边界具有一定的模糊性,我们举个例子,比如IEEE1547规定的49hz和51hz的范围之内,当发生孤岛的时候,其频率可能也是在51hz,但是这个是理论上的值,在实际中,我们会取一个极小值作为判别依据。

比如实际频率为F,F-51的绝对值或者F-49的绝对值小于0.05。或者别的一个值,我们就认为检测到了,然后就给出断开指令。

对于电压的情况,实际也是这么处理的。

所以修改之后,最后的结构图如下所示:

AFD主动反孤岛_AFD主动反孤岛_06

2.仿真波形的数据保存;

    同taskA,具体看workspace中的数据。

3. MATLAB调用数据进行波形的完整显示;

AFD主动反孤岛_数据_07

AFD主动反孤岛_AFD主动反孤岛_08

AFD主动反孤岛_数据_09

AFD主动反孤岛_参考文献_10