采用ELM和优化电压传感器布局的光伏阵列故障检测与区域定位
2022-07-13王涛林培杰周海芳程树英陈志聪吴丽君
王涛, 林培杰, 周海芳, 程树英, 陈志聪, 吴丽君
(福州大学物理与信息工程学院,微纳器件与太阳能电池研究所,福建 福州 350108)
0 引言
近年来,随着温室效应等环境问题的日益突出,以及煤炭等不可再生资源的日渐枯竭,作为太阳能开发的主要方式,光伏并网发电受到了人们的普遍重视[1]. 一般来说,光伏组件的理论使用寿命为20~30 a[2]. 这就要求光伏电站在这二三十年的时间里可以稳定、持续、高效的发电. 然而,光伏阵列往往安装在户外,工作环境恶劣,容易受到环境因素的影响,从而导致各种故障的发生[3],这些故障往往会对光伏系统的性能和寿命产生不同的影响,尤其是会降低光伏系统的输出功率,造成能量损失,严重的甚至会引发火灾[4]. 由此可见,为了让光伏组件尽可能地逼近其理论寿命,快速、准确地发现和定位光伏故障并及时解决非常重要.为快速、准确地发现并定位光伏故障,各国学者们纷纷提出了不同的解决方法. 基于红外图像分析法能够很好地定位光伏组件故障发生的位置[5],然而,当辐照度相对较低时,温度变化可能不大,从而降低诊断的精度. 另外,热像仪昂贵的价格也大大增加了光伏电站的建设成本,限制了该方案的普及. 时域反射分析法通过比较注入的脉冲信号与接收到的反馈信号的形状变化和延迟时间来判断故障类型和位置[6-8],但由于这种方法需要信号发生器和一个参照基准来实现,硬件集成、故障位置和外部设备之间的距离都会影响到检测精度. 伴随着人工智能的兴起,基于人工神经网络的方法也被广泛应用于光伏行业. 当光伏系统发生故障时,把故障状态和故障原因之间的对应关系通过神经网络的学习后保存在神经网络结构和权值中,将测量得到的特征值输入到训练好的神经网络,即可实现故障诊断[9-12]. 然而,研究者们多将此方法应用于整个阵列的故障类别的诊断,而不是故障的定位. 在故障定位方面的研究,研究者大多采用基于多传感器的方法,即为一个或数个光伏组件安装电压/电流等传感器,通过分析采集到的传感器数据来判断光伏阵列的故障类型和故障位置. 如果在每个光伏组件都使用无线自供电传感器来检测和定位故障,虽然定位效果很好,但对于大规模的光伏发电系统而言,需要安装数量不小的传感器,极大增加了光伏发电系统的成本[13-14]. 为此,有研究者尝试通过优化传感器的位置配置来降低系统成本. 文献[15]监测了每个串中第一个和最后一个模块电压及其电压变化模式来识别和定位故障,文献[16]通过测量每个串的输入和输出电流来识别故障. 这些方法在一定程度上减少了传感器数量,但只能将故障定位到组串级别,而且大多需要从传感器的数据阈值去判断,而阈值的大小完全由人工设定,这会在很大程度上影响故障诊断模型的准确性与泛化性.
机器学习可以通过对历史数据的训练得到诊断模型,这有效避免了人为设定阈值所带来的上述问题. 传统的基于梯度的机器学习算法往往存在局部极小、学习速率不当和过拟合等问题,而极限学习机(extreme learning machine,ELM)通过对输入权值与偏重采取随机赋值,并通过计算广义逆矩阵直接得出输出权重,从而避免了上述问题,学习速度更快[17]. 同时,一定数量的传感器可以帮助操作人员进一步确定故障发生的位置,为降低传感器的购买成本,本研究优化了传感器的布局,只在每个组串的下半部分安装一个电压传感器,这样类似于二分法的布局结构,不仅可以将故障定位至组串,而且可以分辨出是上下哪部分发生了故障. 因此,本研究将机器学习与传感器优化这二者的优势结合到一起,应用于光伏阵列故障诊断与定位中. 首先, 根据所提布局布置电压传感器,并基于实验室屋顶光伏并网发电平台采集包括正常、开路、串内短路与串间短路这4个大类状态下细化后的18个子类的样本数据,将定位问题转化为多分类问题; 然后, 将样本数据输入极限学习机进行分类模型训练; 最后,将训练结果与几种传统的机器学习模型的结果作了对比.
1 电压传感器布局与故障特征分析
1.1 传感器布局
图1 光伏并网发电系统和传感器布局与故障设置示意图Fig.1 Photovoltaic grid-connected system and sensor layout and fault setting diagram
一个典型的光伏并网发电系统主要由光伏阵列、并网逆变器,以及一些传感电路、保护装置等构成,其中光伏阵列由P串相同组串并联而成,每串由S块光伏组件串联而成,因此称此种连接方式为SP串并联. 图1给出本研究所提出的传感器的布局方式,即在每个组串的中间节点与底部节点之间安装一个电压传感器(U1~UP),并用一个电压传感器检测阵列电压(UPVA), 同时描绘本研究所设置的部分故障(F1~F7).
1.2 基于所设计优化布局的故障特征分析
图2(a)和图2(b)分别显示了光伏阵列在正常、开路及短路情况下的I-U、P-U特性曲线,其中点A和D、点B和E、点C和F分别对应正常、开路与短路下阵列的最大功率点.
(a) I-U
(b) P-U
根据图1给出的电压传感器的布局方式,以传感器的上端节点为分割点,将组串分为上下两部分.
Ⅰ) 无故障情况. 各串的电压传感器的示数在允许的误差范围内应该是相同的,而且其大小应该为阵列电压的一半.
Ⅱ) 串间短路故障. 如图1中的故障F1、F2与F3所示,当两组串之间发生短路时,两组串故障点以下的部分形成了并联结构,为保持两部分电压值相等,对于故障组件数少的部分,单块组件的电压会被拉高,对于故障组件较多的部分,单块组件的电压会变小.
Ⅲ) 串内短路故障. 由图2(b)所示的P-U特性曲线可以看出,当短路故障发生时,最大功率点的电压会低于正常情况,即点C(点F)处的电压小于点A(点D)处的电压,故障组串中的健康组件的电压值将会高于健康组串中的组件的电压值. 因此,当串内短路故障发生于光伏串的上半部分时(如图1中F4),故障串的电压传感器的示数为故障组串中的健康组件的电压值乘以该组串下半部分的所有组件个数; 当串内短路故障发生于光伏组串的下半部分时(如图1中F5),故障串的电压传感器的示数为故障组串中的健康组件的电压值乘以该组串下半部分中健康组件个数.
Ⅳ) 开路故障. 由图2(a)所示的I-U特性曲线可以看出,当开路故障发生时,阵列的最大功率点处的电流会低于正常情况,即点B(点E)处的电流小于点A(点D)处的电流. 因此,当开路故障发生于光伏组串的上半部分时(如图1中F6),故障串的电压传感器的示数为组件开路电压乘以该组串下半部分的所有组件个数; 当开路故障发生于光伏组串的下半部分时(如图1中F7),故障串的电压传感器的示数为阵列电压减去开路电压与该组串上半部分的组件个数的积.
对于上述光伏故障的特征分析,通过实验平台所采集数据进行了验证,实验平台将会在本研究第三部分进行介绍. 如图3所示,当发生不同的故障时,电压传感器的变化趋势是明显不同的. 从图3(a)中可以看出,正常情况下,各串电压传感器的值是相等的,为阵列电压的一半; 从图3(b)中可以看出,串间短路故障发生的时候,发生故障的两个组串传感器电压分别出现明显的上升与明显的下降,阵列电压下降,其他健康组串的传感器电压也会下降,且下降程度明显小于故障组串传感器电压的下降程度; 如图3(c),串内短路故障发生于组串上半部分的时候,故障组串电压传感器的示数上升,阵列电压下降,其他健康组串的传感器电压下降,且下降的趋势一致; 如图3(d)所示,串内短路故障发生于组串下半部分的时候,故障组串传感器电压明显下降,阵列电压下降,其他健康组串的传感器电压下降,且下降趋势一致,但是下降程度明显小于故障组串传感器电压的下降程度; 如图3(e),开路故障发生于组串上半部分的时候,故障组串电压传感器的示数会明显上升到一个固定值(即3个组件的开路电压)不再随逆变器的调节所波动,且阵列电压与其他健康组串的传感器电压不会受故障影响; 从图3(f)可以看出,开路故障发生于组串下半部分的时候,故障组串电压传感器的示数会明显下降(即阵列电压减去3个开路组件的开路电压),阵列电压与其他健康组串的传感器电压几乎不会受故障影响. 因此,本研究采用这4个电压值作为输入训练基于ELM的故障检测和定位模型.
(a) 正常情况
(b) 串间短路故障
(c) 串内短路故障发生于组串上半部分
(d) 串内短路故障发生于组串下半部分
(e) 开路故障发生于组串上半部分
(f) 开路故障发生于组串下半部分
2 极限学习机
2.1 极限学习机原理
图4 极限学习机网络结构Fig.4 Network structure of extreme learning machine
极限学习机(ELM)由南洋理工大学的黄广斌教授等[17]于2004年提出. 其主要结构如图4所示,由输入层、隐藏层与输出层构成. 由输入层到隐藏层可以看作一个全连接层,其连接权重和偏差都由计算机随机选取; 从隐藏层到输出层的连接权重,通过最小化输出矩阵与样本实际标签的平方差得到. 相比于传统的单隐层前馈神经网络,有效避免了大量的迭代计算,极大地加快了训练速度.
2.2 故障识别流程
结合ELM,故障识别的流程有如下5点具体步骤.
1) 样本数据采集. 在光伏阵列设置各种故障状态,采集并保存各电压传感器的数据作为原始数据集.
2) 数据预处理. 对原始数据集中的数据进行归一化处理,通过除以阵列在标准测试条件下的开路电压,使对各电压值归一化至[0,1]区间,并将处理后的数据集按照7∶ 3分为训练样本和测试样本.
3) 参数初始化. 选择隐藏层神经元数量L,激活函数g(·),随机产生输入权重矩阵ωi和偏置bi.
4) 模型训练. 将训练集数据加载至网络进行模型训练,计算出隐藏层输出矩阵H、输出层权重β.
5) 模型测试. 将测试集数据加载至训练好的模型进行模型测试.
6) 故障识别. 利用通过测试的模型进行故障的识别.
3 实验分析
3.1 实验环境
3.1.1故障类别的设置
基于节1.2对故障特征的分析,对正常工作、串间短路、串内短路和开路等几大状态类别进行细化,以验证所提方法在不同组串和不同失配情况下定位的准确性. 表1与图5分别给出了细化后的各类故障与对应的故障设置图. 其中,标签0代表光伏正常工作; 标签1~5是串间短路故障,并按照串间短路两个故障点所在的位置与失配的块数进行故障细化; 标签6~13是串内短路故障,同样按照故障点所在位置与失配的块数进行故障细化; 标签14~17是开路故障,按照故障发生的位置进行故障细化.
表1 光伏故障类型设置
图5 光伏阵列故障细化类型设置图Fig.5 Photovoltaic array detailed fault types setting diagram
3.1.2实验的获取
基于实验室的屋顶光伏并网发电实验平台,对节3.1.1所设置的18种状态进行故障的设置与数据采集,以验证方法的可行性. 如图6所示,实验平台主要由光伏阵列、汇流箱、传感电路、并网逆变器、数据采集卡和上位机构成. 其中光伏阵列由3个组串并联而成,每个组串由6个组件串联而成,光伏组件的型号为GL-M100太阳能组件,具体参数为:峰值功率100 W,最大功率点电压17.5 V,最大功率点电流5.71 A,开路电压21.5 V,短路电流6.03 A. 实验在晴天的不同时段分别对18种故障进行了数据的连续采集,并取其故障后的稳态数据点样本作为实验数据集. 所采用的电脑平台参数如下:处理器为Inter(R) Core(TM) i5-4200H@2.80 GHz,内存为8.0 GB, 操作系统为Windows 10,软件平台为Python 3.8.8.
(a) 户外光伏阵列
(b) 系统室内组成1
(c)系统室内组成2
3.2 实验结果与分析
为评估所用模型对于光伏故障的分类效果,将ELM与支持向量机(support vector machine,SVM)[10]、多层感知机(multilayer perceptron,MLP)[11]及随机森林(random forest,RF)[12]这几个经典机器学习算法进行效果对比. 其中,ELM的隐藏层神经节点数L取200; SVM选用径向基核函数,核函数参数γ默认取特征维数的倒数即0.25,惩罚系数C取100; MLP网络的隐藏层数为2,每层的神经元数为50; RF中树的数目取50.
图7 各模型分类精确率对比图Fig.7 Comparison of classification precision of each model
将实验数据集分别在上述各模型下各训练10次并取结果的平均值对模型进行评估,结果列于图7. 从图7给出的分类精度对比可以看出,对于故障类型为0、1、3、4、7、8、9、10、11、12、14、15这几类故障,4个算法的分类精确率都超过了98%; SVM对于故障类型2与类型17的分类精确率分别为95.74%和95.65%,效果较弱; MLP对于故障类型2的分类精确率仅为92.80%,明显弱于其他模型; ELM与RF算法的分类效果更加均衡,对于每种故障的分类精确率都在96%以上,本研究ELM算法对于每种故障的分类精确率更是在97%以上,分类效果相比于RF算法更胜一筹.各模型的分类精确率如表2所示,统计得ELM、SVM、MLP、RF算法的平均分类精确率分别为99.52%、99.08%、98.69%和99.13%. 可以看出,4个算法对于实测数据的故障分类都有较高的精确率,表明本研究所采用的电压传感器布局方式结合机器学习算法对光伏阵列的故障区域定位具有良好的效果. 由结果可知,本研究所用的ELM分类效果优于其他3个对比算法.
表2 各网络模型分类效果对比
表3给出了各模型的计算时间的对比. 可以看出,ELM的学习速度最快,训练时间最短,为0.102 4 s,测试时间位居第2; MLP的平均测试时间仅为0.005 6 s,用时最短,但是其训练速度最慢.
表3 各模型计算速度对比
综上分析可知,ELM无论是在对各故障类别的分类精确率,还是在模型的训练速度方面,都比参与对比的SVM、MLP、RF算法更有优势.
4 结语
及时检测并定位光伏阵列中的故障可以保证发电系统安全、稳定运行,并延长组件的工作寿命. 为了在降低成本的同时保证一定的定位精度,将传统的传感器布局策略进行优化,只采用少数电压传感器,并将故障诊断与区域定位转化为多分类问题. 为了避免人为确定阈值的不足,选用ELM网络训练分类模型. 采集实验数据对模型进行验证,实验表明,与SVM、MLP及RF等机器学习方法相比,本研究具有更高的分类精度,平均分类精确率为99.52%,同时具有更快的模型训练速度,平均训练时间0.102 4 s,且无需环境参数数据. 因此,本研究基于所采用的电压传感器布局方式,结合机器学习算法所建立的光伏阵列的故障区域定位模型具有较好的可行性. 虽然本研究实现了较高的故障诊断和区域定位精度,但若将定位转化为分类问题的解决思路应用到大规模光伏阵列,会造成故障类别数大幅增加而使所需的标定样本数据集变大,因此在后续工作和研究中将结合半监督等机器学习方法对其进一步优化.