陈 伟,陈克松 ,纪青春,裴婷婷,王忠飞,何 峰
(1.兰州理工大学电气工程与信息工程学院,甘肃 兰州 730050;2.国网甘肃省兰州供电公司,甘肃 兰州 730070)
光伏电站运行环境恶劣。光伏阵列出现故障的情况屡见不鲜,导致光伏电站检修成本提高、生产效益降低。因此,提高光伏阵列故障分类的准确性具有重要意义[1]。
国内外对光伏故障诊断的方法主要有3大类。第一类是基于传感器的数学理论检测方法。这类方法通过对阵列传感器的优化确保故障检测的准确性[2]。文献[3]通过建立阻抗模型,对电压故障鲁棒M估计在线判别模型进行诊断。文献[4]对电压波动的情况进行观测并判断状态,用于发现光伏组件有无故障。国内外研究人员及光伏运维工作者的大量研究和实践表明,虽然提高了光伏阵列故障诊断的准确率,但在面对大规模阵列时仍需要一定数量的传感器。第二类是基于图像处理的方法[5]。这类方法根据不同状态下光伏组件呈现的不同温度特性,通过红外成像拍照,再用计算机视觉等方法进行分类[6]。因图像处理对图像的分辨率要求高,该方法在环境噪声较大以及分辨率较低的情况下,不能完全识别故障。第三类是基于模型的人工智能分类方法。这类方法通过深度学习中的一维神经网络分类模型,使用训练集进行模型训练,对故障特征进行提取,进而提高提取效率和分类准确率[7]。王钧石等[8]提出基于无监督的人工智能算法,通过聚类提取故障类型特征值实现分类和训练数据,并确定故障类型。由于外界条件的干扰造成的不确定性较大,该方法在泛化性能方面还需要优化。王惠中等[9]提出的长短时记忆(long-short term memory,LSTM)网络以及徐先锋等[10]提出的LSTM和卷积神经网络(convolutional neural network,CNN)相结合的故障诊断方法,为故障诊断在时间序列上的分类拓展了新思路。
本文主要对深度神经网络进行研究,并提出了基于一维卷积门控循环网络的光伏阵列故障诊断方法。该方法首先对故障的特征量进行提取;然后使用非线性激活函数对每一层赋予不同权重;最后经过卷积和门控网络的结合,进行故障特征的自动提取。该方法采用了堆叠式结构,将CNN作为前置网络,提取了数据的空间特征,选用门控制循环单元(gated recurrent unit,GRU)进一步挖掘数据在时间维度上的特征,使用自适应批量归一化(adaptive batch normalization,AdaBN)函数实现分类结果的精确输出。试验结果表明,本文方法在分类和抗噪方面效果更好。
当一个光伏串出现开路故障时,光伏阵列输出电流的减少部分等于故障串的电流。在开路情况下,当前电流标的为:
(1)
式中:RIO为当光伏阵列中存在开路故障时电流标的的值;Isc为光伏阵列的开路电流;Im为光伏阵列无故障状态下最大功率点(max power point,MPP)的输出电流;NP为光伏阵列的串的数量。
(2)
式中:α为正常运行时,当前指标与开路故障时的比值。
类似地,当一个光伏串中发生光伏模块短路时,光伏阵列输出电压的降低部分等于短路光伏模块的电压。基于这种情况的电压标的为:
(3)
式中:RVS为当一个光伏串中存在短路光伏模块时的电压标的;NS为光伏阵列组件数量;Voc为光伏阵列的开路电压。
(4)
式中:β为正常运行时当前指标与短路故障时的比值。
当光伏阵列的一部分被遮蔽而另一部分完全暴露在太阳辐照下时,光伏阵列的输出电流急剧减小。在部分遮光期间,输出电流可以计算如下:
(5)
式中:Imp为阵列输出电流;Gp为部分遮光条件下光伏阵列的最大接收辐射;KI为短路电流温度系数;Imm-STC为标准测试条件下光伏组件MPP的电流;TSTC=25 ℃。
大多数退化故障可表现为光伏阵列的退化光伏模块的串联等效电阻累加。而光伏模块的严重退化可导致光伏支架短路故障。电阻只是在一个范围之内。因此,本文只考虑退化故障,也就是光伏阵列串联电阻增加的情况。
在实际应用中,光伏板裂纹处的灰尘堆积会影响光透率,并导致灰尘堆积处出现集热效应。这被称为热斑故障。在热斑故障下,光伏电池自身会变成负载并导致温度继续升高,被称为低电阻热斑效应。此时,光伏板电压表示为:
(6)
式中:a为二极管个数;N为组件个数;T为电池二级管PN结绝对温度;q为单位电荷;VD为二极管导通电压。
CNN的本质是1个多层感知机(multi-layer perceptron,MLP)。其能在计算机科学领域广泛使用的原因之一是它通过局部连接及共享权值的方式,一方面降低了权值数量、优化了网络结构,另一方面降低了过拟合的风险。其中,二维、三维卷积神经网络用于图像和视频处理。一维卷积神经网络(one dimensional convolutional neural network,1D-CNN)在文本分类和时间序列预测方面已取得成功应用。本文研究的故障特征是通过一维信号提取的。因此,本文采用1D-CNN对其进行研究。
在1D-CNN中,前一层一维卷积经过前向传播,到后一层的神经元输入。
(7)
(8)
传统CNN对时序特征并不敏感。如果信号中有伴随时序特征,使用CNN会造成诊断不准确。而循环门控网络能够有效解决这些问题。因此,本文引入了GRU。
门控神经网络是循环神经网络(recurrent neural network,RNN)的一种。和LSTM一样,RNN是为解决长期记忆和反向传播中的梯度问题所提出的。因RNN在处理时间顺序性问题方面效果较好,在处理时间序列时是一种非常有效的深度学习网络。GRU的结构较LSTM网络更加简单,而且效果也很好。GRU模型结构是将重置门和更新门结合。GRU可以调节递归单元的信息流,使每个递归单元自适应地获取不同时间尺度下的特征,以调节递归单元的信息流。
首先,通过上一个传输状态ht-l和当前输入xt获取两个门控状态。其中:决定遗忘程度的重置门如式(9)所示;决定保留和遗忘信息的更新门如式(10)所示。
rt=σ[Wr(ht-l,xt)]
(9)
式中:σ为sigmoid函数,可以将数据变换为0~1范围内的数值,从而得到门控信号;Wr为遗忘门权重参数;rt为重置门。
zt=σ[Wz(ht-l,xt0]
(10)
式中:Wz为更新门的权重参数;zt为更新门。
然后,得到门控信号,使用重置门得到重置后的数据,再与输入xt进行拼接,通过激活函数tanh将数据变为-1~+1的范围内。具体表达式为:
(11)
最后,计算隐含状态ht。在这个阶段,同时进行了遗忘和记忆两个步骤。具体表达式为:
(12)
为了弥补CNN对时间步顺序不敏感的缺陷,本文引入GRU来解决这个问题。而为了提高所提模型方法的域适应能力,本文引入了AdaBN优化分类器。
域适应是故障诊断中一个现实且具有挑战性的问题。当分类器在一个工作环境中收集的样本进行训练时,很难从该工作环境中对样本进行分类。AdaBN在泛化方面可以较为明显地提高网络模型的分类能力。
首先,给定预训练的模型和目标域,通过串联神经元作用于目标域所有数据。
Xj=[xj(1),xj(2),...,xj(m),...,xj(n)]
(13)
然后,计算目标域的均值和标准差:
(14)
(15)
最后,计算批量归一化输出:
(16)
式中:j为神经元;m为目标域测试数据;γj和βj为要学习的参数。
本文所提出的方法可识别故障的时间特性,在GRU之前使用1D-CNN作为预处理步骤来处理长时间序列,可将故障在时间顺序上进行分类。CNN通过卷积层获取原始序列数据的特征。把CNN特征作为GRU的输入,按照时间序列处理其特征,并引入AdaBN,确定诊断模型。在训练模型时,先用训练数据集进行训练;达到预设效果后,使用测试集进行测试;通过准确率方面的对比,可得到用于光伏阵列领域的适应性故障诊断模型。
此模型可用在多分类问题中:在使用分类层时,用Softmax作为激活函数;在选择模型的损失函数时,用分类交叉熵损失函数。因交叉熵通过比较模型训练结果概率分布与真实分布之间的不同,将实际输出(概率)与期望输出(概率)作差。差值越小,则概率分布就越接近真实情况。
(17)
式中:c为交叉熵;y为期望的输出;a为神经元实际输出,a=σ(z),z=∑Wj×xj+b。
在训练神经网络过程中,通过梯度下降法更新W和b,因此需要计算损失函数对W和b的导数。
(18)
(19)
权重的更新会受到σ(z)-y这一项结果的影响。误差的大小与更新频率负相关。
本文运用电力仿真软件(power simulation,PSIM)与Simulink软件联合仿真光伏阵列电路,在PSIM中建立了故障电路,并在Simulink中建立了控制电路。在Simulink中,将温度参数设置为25 ℃、辐照度设置为1 000 W/m2。仿真时,由Simulink给定参数以及收集PSIM中电路的开路、短路,光伏组件的阴影、退化及低电阻热斑的故障情况下的数据,并保存为数据集。
根据辐照度600 W/m2、1 000 W/m2、1 600 W/m2,本文分别建立了A、B、C这3个数据集。每个数据集的样本数量为400。通过重叠采样进行数据增强后,每个故障共有900个样本。试验选用每个故障样本中66.7%的数据作为训练集、16.7%的数据作为测试集,剩下的数据作为验证集。数据集标签0~5分别代表正常和其他5种故障类型。
为了选择最佳的模型框架,本文进行了测试试验,通过使用不同自适应学习优化器进行训练和测试。试验通过调整学习率、优化器的测试准确率和损失值,确定最佳模型优化器和学习率。对试验结果进行比较,可得到最终模型优化器选择AdaBN,学习率为0.1%。不同激活函数的试验结果如表1所示。
表1 不同激活函数的试验结果
本文为了实现更强的适应性,在试验时依次选取数据集A、B、C中的2个集合合并后作为训练集,剩下1个作为测试集,以达到交叉验证。另外,为保证结果的有效性,规定每次试验训练都历经200步、训练50次。通过8组试验,本文模型(1D-CNN+RGU)在不同参数下的试验结果如表2所示。
表2 本文模型在不同参数下的试验结果
通过对比准确率和损失值,可看出编号8的参数在准确率和损失率方面优于其他7组结果,因此确定该参数作为后续试验参数。本文试验在Windows10系统中实现,使用Python中的TensorFlow框架。
通过试验确定最优参数、优化器和学习率之后,考虑到工况相差较大可能会引起准确率降低的现象,分别通过不同数据集进行交叉训练和测试。
本文模型故障分类混淆矩阵如图1所示。
图1 本文模型故障分类混淆矩阵
由图1可知,本文模型整体结果较好,而对阴影和热点故障的分类效果并不非常显著。分析其原因,是由于2类故障在其故障特征上的相似性导致的。
不同模型的损失值和准确率如图2所示。
图2 不同模型的损失值和准确率
通过1D-CNN+GRU、1D-CNN+LSTM和1D-CNN方法对比可知:在损失值方面,1D-CNN+GRU比其他2种方法更低;在准确率方面,1D-CNN+GRU比其他2种方法更高。该结果证明了本文模型具有更好的分类能力和更强的域自适应能力。同时,从图2可以看出,经GRU提取的时空特征分类明显,每类故障分布间隔规则有序,类内的间距很小,类间的间距较大。由此可以说明本文方法的时空特征效果更好,能够从不同类型故障提取到时空特征。1D-CNN+GRU在光伏故障分类中具有更高的准确率,并且稳定性更高。
不同模型准确率对比如表3所示。
表3 不同模型准确率对比
通过测试数据集A+B,迭代50次后的准确率分别为93.98%、94.53%、96.28%。由此可知,本文提出的诊断模型在准确率方面优于其他2种方法。
在实际系统中,由于现场环境和大量接入的电力电子设备,采集到的光伏阵列数据会伴随噪声信号。因此,在试验中,为了更好地模拟实际环境对光伏阵列的的影响,对现有采集到的数据叠加了信噪比在-4~+4 dB之间的高斯噪声,再测试并比较所提方法与其他方法在此情景下的准确率。
不同噪声情况模型准确率对比如表4所示。
表4 不同噪声情况模型准确率对比
由表4可知,本文方法的抗噪能力较其他2种算法效果更好,可用于现场环境下的故障分类。
本文根据光伏阵列运行时电信号在时间维度上蕴含着丰富的特征信息,利用RNN善于处理时序问题的能力,挖掘出数据样本内在的时序特征。首先,提出故障诊断模型,采用堆叠式结构,把CNN作为前置网络,提取数据的空间特征。然后,将提取的特征作为后置网络GRU的输入,进一步挖掘数据在时间维度上的特征。最后,把GRU的输出导入AdaBN函数,实现了故障分类。通过比较1D-CNN、1D-CNN+LSTM和本文所设计的1D-CNN+GRU模型的分类结果,验证了本文方法更具精确性。为进一步验证本文方法的适用能力,在不同噪声下进行了测试。结果表明,本文方法在分类方面更具优越性以及在噪声环境下更具抗噪性。本文方法可以扩展到电力系统及其他系统信号异常的故障诊断中,具有良好的推广应用价值。