一种适用于FPGA的MMC电容电压均衡控制方法与流程

文档序号:15977697发布日期:2018-11-16 23:58阅读:402来源:国知局

本发明属于电力系统运行和控制技术领域,尤其涉及一种适用于fpga的mmc电容电压均衡控制方法。

背景技术

模块化多电平换流器(modularmultilevelconverter,mmc)是一种采用模块化结构设计的新型电压源换流器(voltagesourceconverter,vsc)。由于mmc子模块(sub-module,sm)级联的拓扑结构,相比于传统的两电平和三电平拓扑结构的换流器,具备开关频率低、输出波形质量好、对开关一致性要求低、扩展性好等优势,成为柔性直流输电领域的研究热点,并取得了越来越多的工程应用。

mmc直流侧电压依靠分散在各子模块中的电容提供支撑,子模块电容电压均衡是mmc稳定运行的重要前提。实际工程中为了获得较高的电压等级和传输容量,单个桥臂通常包含数百个子模块,大量子模块电容电压的采集和均压控制计算对控制器的性能提出了更高的要求。因此,工程中一般采用并行架构的现场可编程门阵列(filedprogrammablegatearray,fpga)进行阀级控制,即子模块电容电压均衡和触发脉冲产生。

但是,即便采用诸如fpga的高性能控制器,传统的均压控制方法也需要对所有同一桥臂的所有子模块电容电压进行排序,然后根据上层控制输出的待导通子模块个数和当前桥臂电流方向来确定投入的子模块。当桥臂电流为充电方向时,从电压较低的子模块开始触发;当桥臂电流为放电方向时,从电压较高的子模块开始触发。传统方法一方面排序的计算量较大,另一方面电容电压微小的变化也会引起子模块的反复投切,造成较高的开关损耗。

鉴于此,本发明设计了一种适用于现场可编程门阵列的模块化多电平换流器电容电压均衡控制方法,能够在保证子模块均压控制效果的前提下,实现快速的均压控制,降低器件的开关频率。



技术实现要素:

根据背景技术中提到的问题,本发明公开了一种适用于fpga的mmc电容电压均衡控制方法,其特征在于,包括下列步骤:

步骤1:根据正常运行时电容电压的波动范围,设定电容电压上限umax和下限umin;

步骤2:根据电容电压大小和上一时刻开关状态将子模块划分为m+n组,其中包括考虑上一时刻开关状态的2n组子模块;

步骤3:根据实时采集到的子模块电容电压值uc(i)(1≤i≤n)和上一时刻开关状态fp(i)(1≤i≤n)将子模块匹配到相应的子区间分组内,并记录各分组子模块编号;

步骤4:根据当前桥臂电流方向确定各个分组的读取先后顺序;

步骤5:根据待投入子模块个数non,按照步骤4中确定的读取顺序首先输出的non个子模块导通,其余的n-non个子模块关断。

所述步骤1中,电压上限umax和电压下限umin是预先设定的,分别设定为mmc阀控子模块电容电压的过压保护整定值和欠压保护整定值,正常运行的子模块电容电压均处于[umin,umax]区间内。

所述步骤2中,子模块的分组原则是先将[umin,umax]区间平均分为m-2组,则相应的子区间层高为:

第i组与第i+1组之间的分界阈值为:

uth(i)=umin+(i-1)δu(2)

考虑到mmc在启停或发生故障等极端情况下会出现子模块电容电压超出[umin,umax]区间的情况,因此电容电压大于上限和小于下限的情况各占一组,根据电压大小总计可分为m组,同时将降低子模块开关频率作为进一步优化对象;对于电容电压在额定值附近的n个分组,在分组过程中考虑上一时刻子模块的触发状态,进一步将此n个分组扩展为子模块导通的n组和子模块关断的n组,所以考虑上一时刻开关状态的子模块则有2n个分组,所有子模块共计有m+n个分组。

在所述步骤3中,子模块与各分组的匹配方式是,利用fpga的并行特性,接收到的子模块电容电压无需存储,直接采用流水线形式同步并行地与m-1个组间分界阈值进行比较,根据比较结果确定相应子模块对应的分组。

在所述步骤3中,记录各分组的子模块编号采用先入先出寄存器实现,且每个分组对应一个fifo;根据电容电压uc(i)与uth(1)~uth(m-1)的比较结果,通过查找表确定相应的fifo分组,使能相应分组fifo的写入信号,将子模块编号i(1≤i≤n)写入fifo;

fifo写入数据的位宽不小于且fifo的数据深度应不低于桥臂的子模块个数n。

所述各个分组的读取顺序分为两种情况,

当桥臂电流方向对子模块电容充电时,从电容电压较低的分组向电容电压较高的分组依次读取;

当桥臂电流方向对子模块电容放电时,从电容电压较高的分组向电容电压较低的分组依次读取;

以上两种情况中,针对考虑上一时刻开关状态的2n组子模块,均优先读取上一时刻导通的子模块分组。

所述步骤5中,待投入子模块个数non来自于上层控制,上层控制为极控,是指包含外环控制、内环控制、环流抑制以及最近电平调制在内的四个控制环节,上层控制通过计算生成各个桥臂的待导通子模块个数non,并传递给底层控制。

所述步骤5中,导通是指当子模块的t1=1,t2=0时,将电容置于桥臂的充放电回路;关断是指当t1=0,t2=1时,将电容旁路不进行充放电。

本发明的特点在于,充分利用fpga的并行特性,通过分组和设定的匹配规则即可得到电容电压大小的近似分布,从而无需对子模块电容电压进行排序,提高处理速度。同时,针对电容电压在额定值附近的子模块,分组时考虑了上一时刻的开关状态,并遵循尽量维持原有状态不变的原则,降低了电力电子器件开关频率,提高mmc运行经济性。

附图说明

图1a是本发明一种适用于fpga的mmc电容电压均衡控制方法实施例中mmc的系统模型图;

图1b是本发明实施例中各子模块的结构图;

图2是本发明实施例中子模块分组实现流程图;

图3是本发明实施例中当桥臂电流为电容充电方向时各个分组读取顺序图;

图4是本发明实施例中当桥臂电流为电容放电方向时各个分组读取顺序图;

图5是本发明实施例中a相上桥臂电容电压波形。

具体实施方式

下面结合附图和具体的实例对本发明的技术方案作详细说明。

如图1a所示,本实例中mmc在实时数字仿真器(real-timedigitalsimulator,rtds)上搭建,采用一个单端mmc系统来验证本发明所设计的均压控制方法。本实施例中所使用的模块化多电平换流器mmc(modularmulti-levelconverter)为桥型拓扑结构,上下桥臂各串联有n个子模块(sm),上下桥臂分别通过各自的电抗器(l0)与三相交流电源相连;

如图1b所示,子模块(sm)由2个电力电子器件构成的半桥(t1、t2)、2个反并联二极管(d1、d2)和一个直流储能电容器(c)组成,2个电力电子器件组成串联结构,两个串联的电力电子器件的两端各自两个反并联有一个二极管;每个子模块都是一个两端元件,可以在2种方向电流的情况下通过开关实现在全模块电压和0电压之间转换;根据电流的方向不同,可以实现电容的充、放电。

单端mmc的系统参数如表1所示:

表1mmc实验系统主电路参数

本实例中使用xilinx公司生产的ml605开发板,板上配备virtex-6系列fpga芯片,使用单块板卡实现相对应的6个桥臂的均压控制,采用的系统时钟为100mhz,阀控周期为10us。

如图2所示,本发明具体实施方法如下:

步骤1:根据正常运行时电容电压的波动范围,设定电容电压上限umax和下限umin;即确定电容电压的上限umax和下限umin;

在本实例中umax=2.2kv,umin=1.8kv。

步骤2:根据电容电压大小和上一时刻开关状态将子模块划分为m+n组;其中分组原则为先将[umin,umax]区间平均分为m-2组,则相应的子区间层高为:

第i组与第i+1组之间的分界阈值为:

uth(i)=umin+(i-1)δu(2)

考虑到mmc在启停或发生故障等极端情况下会出现子模块电容电压超出[umin,umax]区间的情况,因此电容电压大于上限和小于下限的情况各占一组,根据电压大小总计可分为m组。此外,针对电容电压额定值ucref附近的子模块,由于其电容电压已经取得了良好的均衡效果,因此可以将降低子模块开关频率作为进一步优化对象。挑选了n组对于电容电压在额定值附近的n个分组,在分组过程中考虑上一时刻子模块的触发状态,进一步将此n个分组扩展为子模块导通的n组和子模块关断的n组,子模块共计分有m+n个分组,而用于考虑上一时刻开关状态的子模块则有2n个分组。

本实例中选取m=20,n=2。相应的根据式(1)可以计算得到各子区间的层高δu为0.0222kv。根据式(2)可以得到第j组与第j+1组之间的分界阈值为:uth(j)=1.8+0.0222×(j-1)kv(1≤j≤m-1)。

步骤3:根据实时采集到的子模块电容电压值uc(i)(1≤i≤n)和上一时刻开关状态fp(i)(1≤i≤n)将子模块匹配到相应的子区间分组内,并记录各分组子模块编号;其中子模块与各分组的匹配方式是,利用fpga的并行特性,接收到的子模块电容电压无需存储,直接采用流水线形式同步并行地与m-1个组间分界阈值进行比较。比较通过比较器实现,每个比较器包含两个输入,其中一个输入是给定的阈值,另一个输入是实时采集到的子模块电容电压值。根据比较结果确定相应子模块对应的分组,因此可以避免排序算法中循环进行的比较再交换环节,能够快速得到电容电压大小排列的子模块编号序列。

记录各分组的子模块编号可采用先入先出寄存器(firstinputfirstoutput,fifo)实现,每个分组对应一个fifo。根据电容电压uc(i)与uth(1)~uth(m-1)的比较结果,确定相应的fifo分组,使能相应分组fifo的写入信号,将子模块编号i(1≤i≤n)写入fifo。由于比较的结果和对应分组存在一一对应关系,因此采用查找表的方式确定实际对应的fifo分组。

当比较结果表明子模块位于额定值上下的n组时,需进一步地将该子模块上一时刻开关状态考虑在内,即上一时刻导通的子模块写入fifoon,关断的子模块写入fifooff。

例如,当uc(i)>uth(j),比较结果输出为1;反之,当uc(i)≤uth(j),比较结果输出为0。假设在第1个时钟周期,第1个子模块与uth(1)~uth(m-1)的比较结果为即uc(1)仅大于uth(1),则将1写入fifo2。假设在第2个时钟周期,第2个子模块与uth(1)~uth(m-1)的比较结果为uc(2)小于所有阈值,则uth(1)即则将2写入fifo1。

对于包含n个子模块的单一桥臂,每个子模块编号对应的二进制位宽为(为向上取整函数),因此fifo写入数据的位宽应不小于同时,在电容电压均压效果良好的情况下,所有子模块可能落入同一分组内,因此fifo的数据深度应不低于桥臂子模块个数n。

根据分组匹配规则,fifoi中的子模块其电容电压均小于fifoi+1,而电容电压均衡控制的目的在于使各子模块电容电压维持在额定值附近;对于在额定值附近的考虑上一时刻开关状态的2n个分组,均优先读取fifoon。

因此如图3所示,当桥臂电流对子模块电容充电时,自下而上读取fifo中的子模块编号;如图4所示,当桥臂电流对子模块电容放电时,自上而下读取fifo中的子模块编号,

步骤4:根据当前桥臂电流方向确定各个分组的读取先后顺序;其中各个分组的读取顺序为,当桥臂电流方向对子模块电容充电时,从电容电压较低的分组向电容电压较高的分组依次读取;当桥臂电流方向对子模块电容放电时,从电容电压较高的分组向电容电压较低的分组依次读取。在此原则基础上,针对考虑上一时刻开关状态的2n组子模块,均优先读取上一时刻导通的子模块分组,从而尽可能促使电容电压在额定值附近的子模块维持原有的开关状态,降低器件开关频率。

步骤5:根据待投入子模块个数non,按照步骤4中确定的读取顺序首先输出的non个子模块导通,其余的n-non个子模块关断;其中待投入子模块个数non来自于上层控制,上层控制为极控,是指包含外环控制、内环控制、环流抑制以及最近电平调制在内的四个控制环节,上层控制通过计算生成各个桥臂的待导通子模块个数non,并传递给底层控制。

本步骤中,上层控制完成控制计算后,最终生成各个桥臂的待导通子模块个数non,并传递给底层控制。底层控制根据待导通子模块个数non,桥臂电流方向,子模块电容电压来选择最终投入的子模块和关断的子模块,并施加导通和关断的控制信号,上层控制和底层控制共同完成对mmc的闭环控制;相较于上层控制,本发明的核心属于底层控制,又称为阀控。

本步骤中,导通是指当图1中子模块的t1=1,t2=0时,将电容置于桥臂的充放电回路;关断是指当t1=0,t2=1时,将电容旁路不进行充放电。

如图5所示,本实例中采集到的a相上桥臂电容电压的仿真实验波形,可以看到子模块电容电压波动量在额定值的3.90%左右,控制效果良好。验证了本发明中使用fpga实现的电容电压均衡控制方法的正确性。表2对比了在n=0时,传统均压方法和本发明方法的性能。采用传统均压控制方法时,子模块电容电压能够保持较好的平衡,电容电压波动率仅为3.29%,但由于每个控制周期内均对所有子模块全排序,相应的开关频率高达5618hz。采用本发明方法控制时,随着分组数目m的增大,对子模块电容电压差异的分辨效果越来越好,因此电容电压波动率逐渐降低,但相应的子模块开关频率有所增加。当分组数m由20增大到40时,电容电压波动率由3.90%下降到3.57%,平均开关频率由424hz增加至996hz,仍远小于传统方法下的开关频率。可以预见,随着m的继续增大,电容电压均衡控制效果越来越接近传统控制方法。

表2均压方法性能对比(n=0)

表3对比了在m=20时,传统均压方法和本发明方法的性能。当n由0增加到6时,电容电压波动率由3.90%增加到4.39%,相应的平均开关频率由424hz下降到119hz。即随着n值的增大,在不显著牺牲均压效果的前提下,器件开关频率能够进一步降低,起到了显著的优化效果。

表3均压方法性能对比(m=20)

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1