俎立峰,胡四全,吉攀攀,李坤,冯敏,马俊杰
(许继集团有限公司,河南许昌 461000)
——
摘 要:子模块电容电压的稳定对MMC稳定运行至关重要。随着MMC电压等级提高,子模块数量逐步增大,传统排序均压算法难以满足控制要求。针对这种情况,提出一种适用于高电压等级的子模块电容电压分组的均压控制算法,所耗资源和时间大大减少,并且能够达到与排序均压相同的均压效果,减轻了阀控系统的设计难度,提高系统可靠性。
关键词:柔性直流输电:均压控制;电压分组;FPGA
0引言
模块化多电平柔性直流输电( MMC-HVDC)系统是新一代的直流输电技术。柔性直流输电在孤岛供电、城市电网供电、分布式能源并网等方面具有很高的应用价值。
柔性直流输电换流阀桥臂由子模块串联而成。因此,输电系统电压等级越高,每桥臂需
要串联的子模块个数越多,一般来说,需要几百甚至几千个子模块串联。以+200 kV的柔性直流输电系统为例,其单桥臂串联的子模块约250个,考虑子模块冗余配置,则串联子模块数量将会更多。
子模块电容电压均衡在合理工作范围是模块化多电平VSC稳定运行的前提条件,也是柔性直流输电换流阀控制系统设计的难点。本文通过分析柔性直流输电子模块充放电原理,提出了一种适用于高电压等级的均压算法,并且通过仿真、实验验证了该算法的有效性。
1 MMC拓扑结构及运行原理
柔性直流输电换流阀每个桥臂由n个子模块及一个电抗器串联而成,如图1所示。
每个子模块由2个IGBT器件(VT1,VT2)、2个二极管和1个电容CO构成。
关断VT1和VT2,子模块处于闭锁状态:开通Vr1,关断VT2,子模块处于投入状态;关断VT1,开通VT2,子模块处于切除状态。这样,可以通过触发子模块不同状态来控制子模块的充放电。
2 MMC子模块均压原理
传统的子模块电容电压均压控制基于电压排序原理,在同一时刻采集各子模块电容电压值,然后进行子模块电压排序,根据桥臂电流方向决定投入电容电压偏低还是偏高的子模块。这其中最关键的就是对整个桥臂所有子模块电容电压进行排序。例如,桥臂子模块数量为264个,当前控制周期对该桥臂需要投入子模块数为100个。对264个子模块电容电压进行排序处理。当处于充电方向时,将子模块电容电压较低的100个子模块投入充电:当处于放电方向时,将子模块电容电压较高的100个子模块投入放电。
MMC子模块数量相当多,对控制系统的控制周期要求也很高,通常为几十微秒。在如此短的时间内要完成整个桥臂所有子模块电容电压排序并产生每个子模块的驱动指令,普通处理器无法完成,因此都是采用FPGA( field program gatearray)来实现排序均压算法。与通用DSP( digitalsignal processing)器件相比,FPGA具有并行执行的架构优势。考虑到FPGA的并行处理特点,使用FPGA实现排序主要有归并排序、堆排序、快速排序、高速巴切奇偶排序等。但是,无论使用哪种排序算法,算法的时间复杂度均大于2N,并且排序算法步骤越多,所需要使用的FPGA寄存器越多。由于FPGA资源有限,当桥臂子模块数据较小时,FPGA实现排序均压也较为轻松。当桥臂子模块上升到几百个甚至上千个时,如果还采用排序均压算法,目前市面上的FPGA在资源和算法时间上就捉襟见肘了。因此急需寻找一种能适应大规模子模块数量的均压算法。
3 电压分组均压算法
子模块均压的目的是要控制桥臂内所有子模块电容电压稳定在合理的工作范围。当2个子模块电容电压非常相近(在一定范围)时,若要对这2个子模块进行投入取舍,则投入其中任意一个均可,对系统母线电压几乎没有影响。基于该思想,本文提出一种基于对子模块电容电压分组的均压算法。
电压分组算法的核心思想是,将桥臂子模块按照实际电压范围从小到大分成Ⅳ组。各组的电压范围可以根据均压要求设定(例如额定电压的1%),然后遍历一遍桥臂所有子模块电容电压,计算每一组的子模块个数。最后根据当前控制周期的投入子模块个数,确定每个子模块的驱动指令。
实际操作中,分组范围应该采用非线性分组。大于子模块的过压保护定值化为一组:小于欠压保护定值化为一组:大于欠压保护值并且小于过压保护值的电压范围按照1%等级进行划分。因为小于欠压保护值或者大于过压保护值的子模块都会保护动作,没有必要对这些范围进行细分。
具体实现过程如下:
(1)将整个桥臂的子模块电压遍历一遍。属于哪个组,那个组计数加1。每组子模块个数分别记为N1,N2,N3,…,NN,同时对每个子模块标记所处哪个电压组。
(2)假定当前投入K个子模块,根据当前周期投入模块数和电流方向,从最小电压组开始查找需投入的子模块,假设为充电方向(放电方向反之处理即可)。
(3)若N,≥K,则随机挑选第1组中的K个子模块投入(实际操作中可投入编号靠前的子模块)。
(4)若Ni<K,则全部投入处于第1组的子模块。再将K=K-N,,
(5)然后进入第2组选择。选择规则同第(2)、(3)步骤,直至K≤N。
(6)然后剩下组的子模块均处于切除状态。
该算法所使用资源仅需要开辟2N个分组寄存器。而FPGA实现排序算法空间复杂度一般大于Mog2N,因为FPGA对排序算法中每一步处理都需要开辟N个寄存器来暂存中间结果。因此该算法的资源使用量远小于排序算法。按照目前市场上FPGA容量计算,该算法可以实现大约1 000个子模块均压控制,可应用于+800 kV电压等级的柔性直流输电系统中。
遍历2遍所有子模块电压并放入对应的分组,就是每找一个子模块电压,就查看该电压属于哪一个电压分组档位,由于FPGA是并行处理的,每找一个子模块只需要1个时钟周期。最终的计算复杂度应该是2N。而一般排序算法的Mog2N,可见该算法有很大优势。在+500 kV柔性直流输电阀控系统中,625个子模块时,用100 MHz时钟,仅需12.5 us。
4仿真及试验验证
为验证算法的正确性,在Xilinx FPGA上完成480个子模块的电压分组均压算法,并且在RT-LAB数字物理混合测试平台上通过了单桥臂子模块均压测试。RT-LAB是一个分布式实时平台,在电力系统实时仿真,特别是柔性直流输电系统实时仿真方面具有仿真步长短、接近实际工程模型等优势。试验设备架构如图2所示。
从RT-LAB录波观测子模块电压发现,对原先电容电压分散的子模块施加非排序均压算法后,所有子模块电容电压开始收敛,最终稳定在一个合理的工作范围。
仿真模型参数为:网侧线电压有效值525 kV,阀侧线电压有效值375 kV,桥臂子模块数480, 子模块额定电压1600 V,子模块电容值10 mF,桥臂电抗器参数100 mF。
经实际计算,子模块间最大电容电压偏差不超过4%(未施加开关频率优化功能)。满足工程要求(一般为5%~8%)。子模块均压效果如图3所示(其中每一条线指示一个子模块电压)。
本文所设计的子模块电容电压分组均压算法已经在高速阀控物理动模系统上得到实际均压验证。该动模系统单桥臂接人54个子模块,直流母线电压2 300 V,子模块容值3 300 p*F,充电电流8 A。
启动动模系统,在未施加开关频率优化功能的情况下,子模块电容电压偏差在1%以内,子模块开关频率在540 Hz左右(见图4)。图4中,通道1是直流母线电压,通道2是子模块的端口电压,该电压的变化频率反映了子模块投切频率。
在施加开关频率优化功能的情况下,子模块电容电压偏差在4%以内,子模块开关频率在80Hz左右,满足工程要求(见图5)。
从实验系统监视后台观测可见,桥臂子模块均压效果很好(见图6)。最大子模块电压和最小子模块电压的差值不大于1V。
5结语
本文设计了一种子模块电容电压分组均压算法,具有资源使用少、算法执行时间快、适于高电压等级的柔直直流输电系统子模块均压控制等优点。并且在RT-LAB仿真系统和物理动模系统中得到验证。随着技术的成熟,特高压柔性直流输电工程将逐步实施。下一步将进行该算法在工程化应用方面的相关研究。
下一篇:返回列表