李春来,刘卫亮,王印松,周洪波,林永君
(1. 青海省光伏发电并网技术重点实验室,青海西宁810008;2. 华北电力大学 控制与计算机工程学院,河北保定071003)
基于FPGA的微网储能逆变器电压逆控制方案实现
李春来1,刘卫亮2,王印松2,周洪波2,林永君2
(1. 青海省光伏发电并网技术重点实验室,青海西宁810008;2. 华北电力大学 控制与计算机工程学院,河北保定071003)
摘要:微网处于孤岛运行状态时,一般由储能逆变器维持系统电压的稳定。由于微网容量较小,储能水平和负载的变化容易恶化系统电压的波形质量。提出了一种基于人工神经网络的储能逆变器电压逆控制方案,为了保证控制的实时性,利用FPGA进行了神经网络专用运算器的设计,并对激励函数与浮点数运算的实现方案进行了对比分析。仿真试验结果表明,所提出的实现方案具有良好的可行性和有效性。
关键词:储能逆变器;微网;FPGA;逆控制
0引言
随着传统化石能源的日益枯竭,由光伏发电、风力发电等新能源发电结合蓄电池、超级电容等储能单元构成的微网成为了当前的研究热点[1,2]。微网可工作于并网模式与独立运行模式。并网模式下,大电网可为微网提供电压支撑;独立运行模式下,则一般由储能逆变器提供电压支撑。由于微网容量较小,储能水平和负载的变化容易恶化系统电压的波形质量,甚至导致系统电压失稳。随着用户对电能质量要求的不断提高,这一问题亟待解决。
常见的逆变器电压控制方法包括单闭环控制、双闭环控制、无差拍控制、重复控制等[3-5]。单闭环控制具有结构简单的特点,但是动态响应特性较差。双闭环控制具有较快的动态响应特性,但是控制器参数不容易整定。无差拍控制与重复控制在理论上具有控制偏差小的优点,但是对模型的依赖性较高。还有一些学者提出了基于上述方法的复合控制策略[6,7]。
逆系统方法是非线性系统控制理论的一次重要突破,具有物理概念清晰、简单直观的特点。然而,由于实际工程中被控对象往往难于或无法精确建模,加之逆系统的求解存在很大的困难,该方法的应用受到较大限制。人工神经网络(Artifical Neural Network,ANN)作为典型的智能方法,对复杂非线性系统具有出色的逼近能力[8]。因此,将逆系统方法与人工神经网络结合,可充分发挥二者之长,构成新颖的控制方法。
为了提高微网储能逆变器输出电压的波形质量,本文提出了一种基于人工神经网络的逆控制方案。由于储能逆变器的PWM控制周期较短,一般仅为几十个μs,常规的单片机控制器难以实时的完成神经网络的运算。现场可编程门阵列(Field Programmable Gate Arrays,FPGA)以并行运算为主,与传统的单片机、PC机相比具有运算速度快的明显特点。因此,本文利用FPGA设计了神经网络专用运算器,并就激励函数与浮点数的实现方案进行了分析。仿真试验结果表明,所提出的控制方案具有良好的可行性和有效性。
1人工神经网络原理及结构
1.1人工神经网络原理
人工神经网络是由大量神经元广泛互联而成的网络,反应了人脑功能的基本特性。神经元的结构模型如图1所示。由3种基本元素组成。
图1 神经元结构模型
(1)突触。每一个都由其权值或者强度作为特征,特别是连接到神经元k的突触j上的输入信号xj被乘以k的突触权重wkj。
(2)求和节点。对输入信号进行加权求和,并包括一个外部偏置,记为bk。
(3)激励函数。实现对神经元输出幅值限制,将输出信号限制在允许范围内。可以用如下一对方程描述一个神经元k:
(1)
(2)
式中:x1,x2,…,xn为输入信号;uk为求和节点的输出;φ(·) 为激励函数;yk为神经元的输出信号。
1.2BP神经网络
BP神经网络是一种多层前馈神经网络,其主要特点是运算时信号前向传递,训练时误差反向传播。在前向传递过程中,输入信号从输入层进入,经隐含层逐层处理,直至输出层,每一层神经元的输出状态仅影响下一层神经元的输出状态。训练时,根据预测误差的反向传播调整网络权值和阈值,以使得网络输出值逼近期望值。BP神经网络的结构示意图如图2所示。
图2 BP神经网络拓扑结构图
2储能逆变器电压逆控制方案
2.1储能逆变器拓扑结构
单相LCL型储能逆变器拓扑结构如图3所示,udc为储能单元端口电压;ui为逆变器输出的PWM脉冲序列电压;i1为逆变器输出电流;uc为滤波电容电压;ic为滤波电容电流;io为滤波电感L2上的电流(负载电流);r为考虑各种阻尼因素的综合等效电阻;uo为逆变器输出电压;Z为系统等效负载;理想功率开关器件IGBT模块S1-S4组成逆变桥,采用单极性脉宽调制方式,d为PWM控制信号占空比。当开关频率足够高时,依据平均状态模型,有d=uiA/udc,其中,uiA为ui的平均值。
图3 单相储能逆变器拓扑结构
2.2神经网络逆模型结构
依据储能逆变器工作原理,影响其输出电压uo的主要因素有储能单元端口电压udc、负载电流io、滤波电容电压uc以及PWM控制信号占空比d,在建立逆模型时应进行考虑。对于第k个控制周期,记d(k)为该周期的PWM控制信号占空比,并在该周期即将结束时进行udc,uc,io,uo的采样,记为udc(k),uc(k),io(k),uo(k)。为了更好的反映出系统的动态特性,选取uo,io的当前周期采样值uo(k),io(k)和前一周期的采样值uo(k-1),io(k-1),udc,uc的前一周期采样值udc(k-1),uc(k-1),以及前一周期的PWM控制信号占空比d(k-1)做为输入,当前周期的PWM控制信号占空比d(k)做为输出,构建一个包含7个输入和1个输出的BP网络逆模型,如图4所示,其中隐含层神经元个数取为9个,隐含层神经元激励函数选用sigmoid函数,输出层激励函数采用purlin函数。
图4 BP神经网络逆模型结构
2.3训练样本收集
在所建立的10 kW逆变器仿真模型上,收集储能单元端口电压变化以及带不同负载时的逆变器运行数据。其中,对于储能单元端口电压,共选取6种不同水平(以20 V为间隔,最低340 V,最高440 V),每一水平下,考虑系统带线性和非线性负载以及负载切换时的43种工况,共有258种工况。为了保证样本数据充分包含系统的动、静态信息,分别通过开环和单闭环两种控制方式进行样本收集。开环控制方式下,选取不同幅值的正弦信号和常值信号,再叠加随机信号后作为系统的PWM占空比信号,使其在[0,1]之间变化,采集系统的相关输出;单闭环控制方式下,通过PI控制器计算PWM占空比信号,然后采集系统的相关输出。对于每种工况,两种方式下均设定逆变桥开关频率为20 kHz,以50 μs为采样周期进行一个周波的样本采集,所有工况共构成206 400个样本。均匀抽取其中的185 760个样本做为逆模型训练样本,剩余20 640个样本做为逆模型精度检验样本。
2.4电压逆控制方案
(3)
但是这种控制策略过于依赖神经网络逆系统模型的精度。为了提高系统的鲁棒性,将训练好的神经网络逆模型输出作为前馈信号,与单闭环PI控制相结合,构成一种新型电压逆控制方法,如图5所示。
图5 新型电压逆控制方法
3储能逆变器电压逆控制系统实现
3.1逆控制系统结构
储能逆变器电压的神经网络逆控制系统主要由逆变电路、单片机和FPGA运算单元3部分组成,如图6所示。
图6 控制系统结构图
3.2FPGA神经网络专用运算器
BP神经网络结构(如隐含层神经元个数)的确定以及权值、阈值的获取是基于对大量训练样本的学习。随着样本的不断收集,应对BP神经网络进行重新训练,以提高逆模型精度。考虑到每次新训练的网络的结构、权值、阈值有可能发生变化,本文所设计的神经网络运算器采用模块化的设计思想,其总体结构如图7所示,由6个模块组成,分别为数据采集模块、归一化模块、输入矩阵运算模块、神经元模块、输出矩阵运算模块和反归一化模块。
图7 FPGA神经网络专用运算器结构图
数据采集模块以数据时钟信号clk_data、读入使能信号read_sn和10位A/D采集数据in[9∶0]作为输入,以神经网络逆模型的7个输入为输出。当读入使能read_sn为高电平时读入10位A/D采集数据in[9∶0],每个数据时钟周期读取1次。读取完毕后在下一个数据时钟上升沿将7个读入数据in0~9[9∶0]输出;
归一化模块以数据采集模块的7个输出为输入,将它们归一化至[-8192,8191]之间,并在下一时钟周期将7个归一化数据输出;
输入矩阵运算模块中包含神经网络隐含层各神经元权值、阈值信息的内部矩阵,其作用是对输入信号进行加权求和。它以时钟信号clk、矩阵选择信号slc和7个归一化数据为输入,并将以矩阵运算结果out[21∶0]输出给各神经元模块。
神经元模块的作用是进行隐含层激励函数的计算,以时钟信号clk和输入矩阵运算模块运算结果out[21∶0]为输入,并将神经元运算结果y[17∶0]输出给输出矩阵运算模块。
输出矩阵运算模块中包含神经网络输出层神经元的权值、阈值信息,作用是计算神经元输出信号。其以时钟信号clk和神经元模块输出信号y[17∶0]为输入,并将运算结果out1[25∶0]输出给反归一化模块。
反归一化模块作用是将计算结果反归一化到[0,8192]之间,其中0代表下一时刻占空比d1为0%,8192代表下一时刻占空比d1为100%。以时钟信号clk和输出矩阵运算模块输出信号out1[25∶0]为输入,以反归一化运算结果d[15∶0]为输出。
3.3神经网络激励函数实现方案
激励函数是决定人工神经网络整体性能的重要因素之一,本文选定Sigmoid函数作为神经网络逆模型的隐含层激励函数。如何高精度地对其进行实现对系统的控制品质有着显著影响。目前,激励函数的实现方案主要有泰勒级数展开法和拟合逼近法两种,下面对分别用它们实现Sigmoid函数并进行对比分析。
3.3.1泰勒级数展开法
Sigmoid激励函数的表达式为
(4)
用泰勒级数展开ex得
(5)
取N=9,即将ex函数展开到九阶,通过MATLAB计算Sigmoid函数近似值的绝对误差,如图8所示。
图8 Sigmoid函数九阶展开误差图
可知,对Sigmoid函数进行泰勒九阶展开近似时,在[-10,10]之间最大绝对误差在2.49×10-4左右,基本满足精度要求。
3.3.2最小二乘拟合逼近法
利用最小二乘法以多项式、指数函数、三角函数等作为基函数实现曲线拟合,工程上较为常见。考虑到采用FPGA实现上述基函数需要消耗大量的逻辑和较长的计算时间,本文采用一次函数做为基函数,对Sigmoid函数进行最小二乘分段拟合,共将整个区间分为1 280段,将拟合所得的每个分段的斜率、截距数据存储在ROM表中以备调用,以降低每个周期的运算次数,提高FPGA存数单元的利用率。通过MATLAB仿真计算Sigmoid函数分段线性逼近的绝对误差,结果如图9所示。
图9 Sigmoid函数分段线性逼近误差
可知,当采用分段线性逼近Sigmoid函数时,在[-10,10]之间最大绝对误差约为1.87×10-6,与采用泰勒级数九阶展开相比误差大大降低。
3.3.3 两种实现方案对比
尽管近年来FPGA的成本不断下降,但是高逻辑门的FPGA芯片依然价格昂贵,因此,在满足神经网络逆模型运算的实时性与准确性要求的基础上,尽可能地降低对逻辑门的消耗量显得尤为重要。将泰勒级数九阶展开法与最小二乘分段拟合法在运算量方面进行比较,结果如表1所示。
表1 两种实现方案运算次数比较
可知,最小二乘分段拟合法的所需乘法、加法和除法运算次数均少于泰勒级数九阶展开法,但是需要进行两次查表运算。每次查表运算需要一个机器周期,时间开销与一次加法运算相当。另外,最小二乘分段拟合法需要占用一定的存储空间,普通FPGA完全可以满足。综合考虑FPGA 运算能力、运算次数、逻辑门和内存使用效率以及计算精度,选择最小二乘分段拟合法作为最终实现方案。
3.4浮点运算实现方案
目前只有个别的高端FPGA通过内嵌ARM或浮点数运算内核能够进行浮点数运算,对于大多数中低端FPGA而言,浮点数运算都需要转化成整型运算,常见的有两种实现方案,一是将浮点数转化为一定位数的定点数,二是向右移位进行放大取整。对于定点数实现方案,工程上一般采用16位或32位定点数来表示浮点数。对于16位定点数,D15表示符号位,D14~D10表示整数位,D9~D0表示小数位,其表示的数据范围为-32.000~31.999,计算精度约为0.000 98。对储能逆变器电压逆控制模型进行多次训练,结果表明模型的权值、阈值的数据范围在-50~50之间,数据精度要求为0.000 1。若采用16位定点数的数据格式则无法满足数据范围要求和精度要求,若改用32位定点数,则会造成逻辑资源的大量浪费,并且定点数运算器与整型数运算器相比设计难度和逻辑消耗量都要大得多,因此本文采用向右移位再进行放大取整的实现方案。
该方案首先将原有的浮点型数据放大固定的倍数,然后取整并舍弃高位0得到近似的整型数据。为进一步降低逻辑资源的消耗量,本文将该整型数据定义为非固定位数整型数据,可根据每步运算的实际需求来定义整型数据的位数。该方案不仅能够降低逻辑资源的消耗量,而且将原有的浮点数定点数运算器转换为整型运算器,可降低设计难度。经过验证,将原有的数据扩大8 192倍,即将原有定点数向右移13位,其计算精度约为0.000 12,可满足逆模型的精度要求。
4神经网络逆模型的FPGA仿真验证
基于以上设计方案,在Quartus ii环境中应用Verilog HDL硬件描述语言建立了储能逆变器的神经网络逆模型,并利用Modelsim-altera仿真软件对其基础功能及运算的快速性进行仿真验证。实验选用的FPGA型号为EP4CE115F,属于ALTERA系列FPGA的一款中端产品,晶振为50 MHz,共有逻辑门114 480个和3.9 M的存储空间,以及529个I/O口。
神经网络逆模型运算时序如图10所示,可知在每个时钟上升沿采集一个数据,7组数据采集时间为7个时钟周期,延迟1个时钟周期后得到输入矩阵运算结果,然后在下一个时钟周期得到神经网络模型的计算结果,即占空比,整个计算过程共需10个时钟周期,每个时钟周期为20 ns,故整个计算过程共需200 ns,远低于储能逆变器的控制周期50 μs。
图10 神经网络逆模型运算时序示意图
为了验证FPGA对逆模型的计算精度,以训练样本作为验证数据,就其计算结果与Matlab的计算结果进行比较,如图11所示,可知两者的计算结果十分接近。FPGA计算结果的误差曲线如图12所示,在大多数情况下绝对误差小于0.005,最大绝对误差不超过0.02,完全满足储能逆变器逆模型的计算精度要求。
图11 FPGA与Matlab计算结果对比图
图12 FPGA计算误差
在Quartus ii环境中对逆模型进行编译,结果为:整个逆模型共消耗逻辑门37 674个,占总逻辑门的33%;使用I/O口28个,占总I/O口的5%;占用内存518.6 Kb,占总内存的13%,EP4CE115F型FPGA的资源完全可以满足逆模型运算需求。
5结论
本文提出了一种基于神经网络的储能逆变器电压逆控制方案。为了保证实时性,利用FPGA技术进行了神经网络专用运算器的设计。仿真结果表明,该方案具有运算速度快,所需逻辑门少,计算精度高的特点。因此具有较高的实用性。本文的下一步工作是在硬件平台上对该方案开展进一步的验证和完善。
参考文献:
[1]杨新法,苏剑,吕志鹏,等. 微电网技术综述[J].中国电机工程学报,2014,34(1):57-70.
[2]翟云峰,易国伟,王亦,等. 基于改进帝国竞争算法的微网动态经济调度[J]. 电力科学与工程,2015,31(5):34-41.
[3]何耀华,汤雨,董仙美. 宽输入逆变器重复控制方法研究[J]. 中国电机工程学报,2015,35(23):6135-6142.
[4]周娟,秦静,王子绩,等. 内置重复控制器无差拍控制在有源滤波器中的应用[J]. 电工技术学报,2013,28(2):233-238.
[5]王恒利,付立军,肖飞,等. 三相逆变器不平衡负载条件下双环控制策略[J]. 电网技术,2013,37(2):398-404.
[6]夏鲲,葛越,曾彦能,等. 电压源型逆变器改进无差拍控制策略仿真研究[J]. 系统仿真学报,2015,27(1):125-132.
[7]邓宇恩,粟时平,刘桂英, 等. 三相LCL光伏并网逆变器的准比例谐振重复控制研究[J]. 电力科学与工程,2015,31(10): 33-39.
[8]戴先中,陈珩,何丹, 等.神经网络逆系统及其在电力系统控制中的应用[J]. 电力系统自动化,2001,25(3): 11-17.
《电力科学与工程》
欢迎投稿,欢迎刊登广告
E-mail:dlkxygc@163.com
Implementation of Inverse Control Scheme for Energy Storage Inverter Voltage in Micro-grid Based on FPGA
LI Chunlai1, LIU Weiliang2, WANG Yinsong2, ZHOU Hongbo2, LIN Yongjun2
(1. Key Laboratory of Grid-Connected Photovoltaic Technology of Electric Power Research Institute of Qinghai Power Grid Corporation, Xining 810008, China; 2. School of Control and Computer Engineering,North China Electric Power University, Baoding 071003, China)
Abstract:When the micro-grid works in the state of isolated operation mode, the voltage stability is maintained by the energy storage inverter. Due to the small capacity of the micro-grid, energy storage level change and load variation could easily cause the waveform deterioration of the system voltage. In order to solve this problem, a new inverter voltage inverse control scheme based on neural network is proposed in this paper. In order to guarantee the real-time performance of the control system, a special arithmetic unit of neural network is designed using FPGA, and the implementation schemes of the excitation function and float point operation are analyzed. Simulation results show that the proposed scheme is feasible and effective.
Keywords:energy storage inverter; micro-grid; FPGA; inverse control
中图分类号:TM851
文献标识码:A
DOI:10.3969/j.issn.1672-0792.2016.02.008
作者简介:李春来(1980-),男,高级工程师,主要研究方向为新能源技术,通讯作者:刘卫亮(1983-),男,讲师,主要研究方向为新能源发电与微电网控制,Email:lwlfengzhiying@163.com。
基金项目:国家电网公司科技项目(2014-Z-Y34A);中央高校基本科研业务费专项资金(2015ZD17)。
收稿日期:2015-11-17。