王元章,吴春华,周笛青,付 立,李智华
(上海大学自动化系上海市电站自动化技术重点实验室,上海 200072)
近几年来,具有环保和清洁能源特性的光伏发电得到了快速发展。为降低光伏发电系统的建设成本,目前采取的主要措施有:提高光伏电池的转换效率、实施最大功率点跟踪技术以及采用高效的功率变换器等。另外,在光伏发电运行过程中有效检测出光伏阵列的故障,也可以进一步提高光伏发电系统的运行效率及降低发电成本[1]。
目前,光伏系统故障诊断方法有在线诊断和离线诊断两大类。比较有代表性的在线诊断法有红外 图像检测法[2-3]和多传感器法[4]等。红外图像检测法利用光伏模块在正常和故障两种状态时具有明显 温差的特点,通过红外摄像仪拍摄光伏模块的红外图像并加以分析,就可以判断出光伏模块的故障类型和故障位置。多传感器法的原理是为一个或数个光伏模块安装电压和电流传感器,分析采集到的电压和电流数据就可以判断光伏阵列的故障类型和故障位置。对于大规模的光伏发电系统而言,采用这两种方法需要安装数量不小的红外摄像仪和传感器,这会增加光伏发电系统的发电成本。同时由于光伏阵列通常安装在环境恶劣的地方,对红外摄像仪和传感器的正常工作也会有一定的影响,这在某种程度上也会增加光伏阵列故障诊断的复杂性和影响故障诊断的精确性。
离线诊断法有对地电容测量法[5-7](Earth Capacitance Measurement,EMC)和时域反射分析法[8](Time Domain Reflectometry,TDR)等。对地电容测量法通过测量串联光伏模块的对地电容值就可以判断出断路的位置。时域反射分析法通过向串联光伏电路注入一个脉冲,观察和分析返回的信号形状和延迟时间来判断故障类型和位置。这两种方法都需要离线和现场操作,难以普及和推广;而且因为要对波形进行分析,对于测量设备的精度要求会很高;同时这两种方法只适用于串联光伏模块,并不适用于串并联模块形成的光伏阵列。
本文建立了一种基于BP 神经网络的光伏阵列故障诊断模型。相比于前面提及的几种故障诊断方法,所采用的方法不需要额外的设备支持和复杂的计算模型就可以判断出光伏阵列的故障类型,可以自动实时通知维护人员相关的故障信息。根据得到的信息,维护人员就可以有针对性地对阵列中的光伏模块进行简单的电压和电流测量,判断出有故障的光伏模块。如果需要判断更具体的故障位置,可以使用文献[2-7]中使用的方法。但是对于无法更换其中电池单元的光伏模块而言,再进一步的检测实际上没有太大的意义。
基于BP 神经网络的光伏故障诊断模型的输入变量选择是十分重要的,合适的输入变量可以使故障诊断模型蕴含最丰富的信息,提高故障诊断的正确率。
图1 不同光照强度和环境温度下的输出特性曲线Fig.1 Output curve under different isolation and temperature
分析图1(a)可以发现:光照强度下降时,短路电流(Isc)随之下降;分析图1(c)可以得到:当环 境温度上升时,开路电压(Uoc)随之下降。因此,短路电流和开路电压中蕴含了光照强度和环境温度的信息,可以将Isc和Uoc作为故障诊断模型的其中两个输入变量。
当光伏阵列发生故障时,除了输出功率下降外,不同的故障类型对于阵列输出有不同的影响,图2是在相同光照强度和环境温度条件下,光伏阵列在不同故障状态时的U-I曲线。
图2 不同故障状态下的U-I曲线Fig.2 U-Icurves under different faults
如图2所示,在同一测试条件(1 000 W/m2,25oC)下,光伏阵列在正常状态和短路状态时U-I曲线变化与图1(c)的U-I曲线变化相类似:短路电流基本不变而开路电压下降;光伏阵列在正常状态和开路状态时U-I曲线变化与图1(a)的U-I曲线变化相类似:开路电压基本不变而短路电流下降。分析图1 和图2的波形可以发现:针对光伏阵列U-I曲线发生的变化,不能确定是由于故障还是光照强度或温度的变化而引起的。同时也表明仅仅通过分析U-I曲线变化对光伏阵列进行故障诊断的方法是不可行的。
从图2 还可以得到如下信息:短路故障时,开路电压会有明显的下降;开路故障时,短路电流会有明显的下降;当其中一个模块老化现象特别严重即异常老化时,其最大功率点电压(Umpp)和电流(Impp)值较正常情况下的输出值会有明显的下降;当有局部阴影现象发生时,其Umpp值与短路时的Umpp值几乎相同,但是其Uoc值明显大于短路时的Uoc值。 通过分析,在不同的故障状态下,都有一个或数个光伏阵列输出变量发生显著的变化。所以,选择光伏阵列故障诊断模型的输入变量分别为Umpp、Impp、Isc和Uoc。
BP 神经网络是目前在故障诊断领域应用的最广泛和成功的人工神经网络之一[9]。神经网络可以处理一般算法无法处理的非线性问题。由于光伏阵列故障诊断问题本质上是非线性的,所以本文采用BP 神经网络来设计光伏阵列的故障诊断模型。
所建立的故障诊断模型结构如图3所示,共有3 层,分别为输入层、隐含层和输出层。
图3 BP 神经网络模型Fig.3 Model of BP neural network
2.2.1 输入层
通过对光伏阵列在不同状态下输出的分析,确定了故障诊断模型的输入变量为Umpp、Impp、Isc和Uoc,如表1 所列。
表1 故障诊断模型输入变量Table 1 Input variables of fault diagnostic model
2.2.2 输出层
光伏阵列的故障类型有很多,本文所设计的故障诊断模型可以辨别四种故障状态,分别为短路、 开路、异常老化、局部阴影等。所以故障诊断模型的输出层设计如表2所示。
表2 故障诊断模型输出层定义Table 2 Output of fault diagnostic model
2.2.3 隐含层
在BP 神经网络中,隐含层节点数的确定是一个非常重要和复杂的问题。目前,没有一种标准的方法来确定隐含层的节点数。如果选取过少,会使神经网络的性能很差或无法进行训练,不能产生足够的连接权组合数来满足神经网络对样本的学习;选取过多,虽然可以使神经网络的系统误差变小,但同时会使网络训练时间增加,容易陷入局部极小点而达不到最优点。对于如何确定隐含层的节点数,有几个参考公式[10]:
2)12lognn=,其中,n1为隐含层单元数,n为输入单元数。
本文所设计的BP 神经网络模型有4 个输入节点和4 个输出节点,经过多次试验,隐含层节点为10 个时,网络的性能最好。
2.2.4 输入数据的归一化
阵列最大功率点输出电压(Umpp)、阵列最大功率点输出电流(Impp)、阵列短路电流(Isc)和阵列开路电压(Uoc)四个参数单位不同,数量级相差也比较大,将原始的数据直接输入神经网络进行训练会使得网络的性能和收敛性变差,同时由于本文设计的故障诊断模型使用S函数,其输出被限定在(-1,1)或(0,1)之间[11]。所以必须在对神经网络进行训练之前,对输入数据进行预处理,即进行归一化。由于输出层的输出本身在(0,1)之间,不需要进行归一化,所以,只要对输入数据进行归一化就可以了,其公式如下[11]
其中:In为原始输入数据;Imax、Imin分别为原始输入数据中的最大值和最小值;Pn为归一化后的输入数据。值得注意的是,在利用神经网络进行训练和测试时对于数据的归一化应该使用相同的最大值和最小值。
BP 神经网络的训练过程直接关系到光伏阵列故障诊断模型的诊断精度。传统的BP 神经网络具有许多的不足,如收敛速度慢;网络不收敛;易陷入局部最小值等[12]。目前,针对梯度下降法的缺点,已经有很多学者提出了相关的改进算法,如附加动量法、弹性BP 算法、自适应学习速率算法等[12]。通过比较几种学习算法的性能优劣,决定采用L-M算法来改善传统BP 网络的不足,提高网络的收敛速度,以及增加网络训练的精度。L-M 优化方法的的权值调整率为[12]
其中:J为误差对权值微分的雅可比矩阵;e为误差向量;μ为一标量。
所建立的光伏阵列故障诊断模型在Matlab 软件中实现[13]。整个故障诊断模型的结构如图4所示。包括一块由六个光伏模块串并联构成的的3×2 光伏阵列、采集U-I曲线的模块和神经网络模块。警报模块用于通知维护人员相关的故障信息以便及时采取措施确定故障的位置。
图4 故障诊断模型Fig.4 Fault diagnosis model
利用在Matlab/Simulink 中建立的光伏阵列模型,采集在光照强度为(200 W/m2、1 000 W/m2)和模块温度为(25oC,45oC)范围内的Uoc、Isc、Umpp和Impp值,作为训练BP 神经网络的数据样本。在Matlab 中编写神经网络程序建立所需的神经网络模型。共采集得到680 组数据,将其中的600 组数据作为训练样本,另外80 组数据作为测试样本。
假定BP 神经网络结构不变,输入相同的训练样本,最大训练次数为20 000 次,最小误差设定为10-3。分别使用标准BP 算法、附加动量法、弹性BP 算法和L-M 算法进行训练。训练结果误差曲线如图5所示。
分析图5 可以发现,L-M 算法的效果最好,网络收敛速度最快,网络训练66 次后误差达到E-4 数量级。由此可得L-M 算法比其他算法在训练时间、迭代次数和训练误差等方面都有比较出色的性能。
用基于L-M 算法的BP 神经网络对80 组光伏阵列故障数据进行诊断,正确率为97.32%。选取5 组典型的故障数据进行诊断分析,其相应的数据如表3所示。
图5 网络误差曲线Fig.5 Error curve of network
用L-M 算法得到的诊断结果如表4所示。分析表4 中的数据,神经网络的输出与预定义的不同故障类型下神经网络的输出值相一致。说明将BP神经网络应用于光伏阵列故障诊断是可行的。
表3 光伏阵列故障测试样本Table 3 Fault test samples of PV array
表4 L-M 算法的诊断结果Table 4 Diagnosis result of L-M algorithm
通过分析可知,光伏阵列开路时的短路电流和最大功率点电流明显区别于其他故障状态和正常情况时的电流值,同样的,光伏阵列短路时的开路电压和最大功率点电压也明显区别于其他故障状态和正常情况时的电压值。开路和短路故障具有的这种特性,使得这两种故障可以很好地被神经网络训练和分类。而局部阴影和异常老化故障由于其复杂性和易变性,在一些情况下,不能很好地被神经网络所识别。这也是导致神经网络误判的主要原因。
3.3.1 异常老化分析
光伏模块会随着时间的流逝而老化,使输出功率在一定程度上降低。本文所研究的老化故障指的是异常老化,比如模块部分受到水汽侵蚀等,造成阵列中的模块不匹配,输出功率严重下降。通过分析可知,老化故障时对阵列输出影响最大的是Umpp,其他三个输出参数与正常情况下的输出参数的差异并不大。
模拟光伏模块老化可以增加串联电阻Rs或减小并联电阻Rsh[14]。在实验中,选择的方法是增加串联电阻Rs。正常情况下,所选光伏阵列的串联电阻为0.086 4 Ω,并联电阻为72 Ω。为了选择合适的串联电阻值模拟异常老化故障,在光照强度为800 W/m2下,比较不同串联电阻值下的光伏阵列最大功率点电压Umpp,如图6所示。
图6 不同串联阻值下的UmppFig.6 Umppunder different serial resistors
从图6 中可以发现,随着串联阻值的增加,最大功率点电压下降,为了有利于神经网络进行故障分类,选择串联电阻值为8 Ω 来模拟老化故障,此时,其最大功率点电压值与正常情况下的最大功率点电压值的差异比较大。
分析仿真结果可以发现,当光照强度下降时,特别是在低光照强度下,异常老化时的Umpp值与正常情况下的Umpp值几乎相同,如图7所示。因此,在低照度情况下,故障诊断模型会发生误判现象,诊断模型会认为光伏阵列运行正常。但是只要光伏阵列中存在异常老化情况,在光照强度较高的时候,故障诊断模型就会发出警报。不影响故障的报告,但会延迟一段时间。
图7 照度变化时的Umpp值Fig.7 Umppunder different illumination
3.3.2 局部阴影故障分析
使模块产生局部阴影的因素很多,比如天上的云、旁边的树木或飞来的纸屑等。这使得局部阴影故障的分析会变得十分复杂,为了简化阴影的仿真,实验中只采集了一个模块被阴影遮挡及遮挡系数为0.5 情况下的阵列输出数据。
经过仿真测试,发现遮挡系数为0.4~0.7 的阴影可以被神经网络正确诊断出,其它遮挡系数的阴影不能被神经网络识别。分析其原因,认为主要由于神经网络的训练样本不够,可以采取的方法是采集多个遮挡系数下的阵列输出参数作为神经网络的训练数据,完善神经网络。
为了进一步验证基于L-M 算法的BP 神经网络在光伏阵列故障诊断应用中的有效性,进行了初步的实验证明。选取参数相同的六块光伏模块构成3×2 的光伏阵列为研究对象。
为了验证所建立的故障诊断模型在不同环境条件下的有效性。实验选取在晴天和阴天分别进行。采集在不同光照强度和环境温度下的阵列输出参数的值。经过反复的测量操作,最终得到300 组数据,将其中的200 组数据作为训练样本,剩余的100 组数据作为测试样本。最后得到的正确率为95%。同样选取5 组典型的故障数据,如表5所示。
表5 光伏阵列故障测试样本Table 5 Fault test samples of PV array
用基于L-M 算法的BP 神经网络得到的诊断结果如表6所示。
表6 L-M 算法的诊断结果Table 6 Diagnosis result of L-M algorithm
从实验的结果可以看出,L-M 算法对5 组光伏阵列的诊断结果均为正确,证明基于L-M 算法的BP神经网络能很好地辨别出光伏阵列的故障类型。
本文建立了一种基于L-M算法的BP神经网络光伏阵列故障诊断模型,可以实现对开路、短路、异常老化及局部阴影等四种故障进行检测。仿真和初步实验结果表明此方法能有效判断出光伏阵列的故障类型,并具有很高的准确性。所提出的方法不需要额外的设备支持,同时可以在线实时测试。维护人员在得到故障警报后,可以实施具体的措施,有针对性地测量各个模块的电压和电流,快速的找到故障的模块。但由于光伏阵列受环境因素影响很大,导致故障信息的不确定性和复杂性,所提出的故障诊断方法还有待于进一步研究和完善。
[1]胡义华,陈昊,徐瑞东.基于电压扫描的光伏阵列故障诊断策略[J].中国电机工程学报,2010,30(S1):185-191.
HU Yi-hua,CHEN Hao,XU Rui-dong.A type of PV array fault diagnosis strategy based on voltage scan[J].Proceedings of the CSEE,2010,30(S1):185-191.
[2]王培珍,郑诗程.基于红外图像的太阳能光伏阵列故障分析[J].太阳能学报,2010,31(2):197-201.
WANG Pei-zhen,ZHENG Shi-cheng.Fault analysis of photovoltaic array based on infrared image[J].Acta Energiae Solaris Sinica,2010,31(2):197-201.
[3]NIAN Bei,FU Zhi-zhong.Automatic detection of defects in solar modules:Image processing in detecting[C]// International Conference on Wireless Communications Networking and Mobile Computing,2010:1-4.
[4]ZHU Yong-qiang,WANG Wen-shan.Fault diagnosis method and simulation analysis for photovoltaic array[C]// International Conference on Electrical and Control Engineering,2011:1569-1573.
[5]Takumi,Junji,Kenji,et al.Experimental studies of failure detection methods in PV module strings[C]// IEEE 4th World Conference on Photovoltaic Energy Conversion,2006:2227-2230.
[6]Takumi,Junji,Masayoshi.Fault detection by signal response in PV module strings[C]// IEEE Photovoltaic Specialists on Industrial Electronics,2008:1-5.
[7]Schirone L,Califano F P.Fault finding in a 1 MW photovoltaic plant by reflectometry[C]// IEEE Photovoltaic Energy Conversion,1994,1(1):846-849.
[8]Takumi Takashima,Junji Yamaguchi,Masayoshi Ishida.Disconnection detection using earth capacitance measurement in photovoltaic module string[J].Progress in Photovoltaics,2008,16(8):669-677.
[9]熊树,俞阿龙.基于BP 网络远程无线电力变压器故障诊断系统[J].电力系统保护与控制,2010,38(23):207-211.
XIONG Shu,YU A-long.Power transformer long distance wireless fault diagnosis system[J].PowerSystem Protection and Control,2010,38(23):207-211.
[10]沈花玉,王兆霞,高成耀,等.BP 神经网络隐含层单元数的确定[J].天津理工大学学报,2008,24(5):13-15.
SHEN Hua-yu,WANG Zhao-xia,GAO Cheng-yao,et al.Determining the number of BP neural network hidden layer units[J].Journal of zTianjin University of Technology,2008,24(5):13-15.
[11]陈昌松,段善旭,殷进军.基于神经网络的光伏阵列发电预测模型的设计[J].电工技术学报,2009,24(9):153-158.
CHEN Chang-song,DUAN Shan-xu,YIN Jin-jun.Design of photovoltaic array power forecasting model based on neural network[J].Transactions of China Electrotechnical Society,2009,24(9):153-158.
[12]项文强,张华,王姮,等.基于L-M 算法的BP 网络在变压器故障诊断中的应用[J].电力系统保护与控制,2011,39(8):100-103.
XIANG Wen-qiang,ZHANG Hua,WANG Heng,et al.Application of BP neural network with L-M algorithm in power transformer fault diagnosis[J].Power System Protection and Control,2011,39(8):100-103.
[13]王晓雷,王卫星,路进升,等.光伏阵列特性仿真及其在光伏并网逆变器测试系统中的应用[J].电力系统保护与控制,2011,39(10):70-73.
WANG Xiao-lei,WANG Wei-xing,LU Jin-sheng,et al.Modeling of PV array characteristic and application in testing system of PV grid-connected inverter[J].Power System Protection and Control,2011,39(10):70-73.
[14]Meyer E L,van Dyk E E.Assessing the reliability and degradation of photovoltaic module performance parameters[J].IEEE Trans on Reliability,2004,53(1):83-93.