1. 引言
MMC-HVDC采用子模块级联型拓扑,具有模块化结构易于扩展、低次谐波含量低、损耗小的优点 [1] [2] ,使得基于模块化多电平换流器的柔性直流输电得到广泛的应用。
模块化多电平换流器直流侧储能由多个子模块直流电容电压串联维持,直流侧电压的控制不仅需要控制总直流电压,而且还需要对各个子模块电容电压进行均衡控制。目前,传统基于排序的传统子模块电容电压平衡控制算法会产生较大的计算量和较高的开关频率 [3] 。
为提高优化子模块电压均压策略,国内外学者在均压控制策略方面也有一定的研究工作。文献 [4] 提出了适用于载波相移-正弦脉宽调制策略的MMC电容电压优化平衡控制方法,但不适应于最近电平逼近的调制策略。文献 [5] 通过改进传统均压控制法降低开关频率,但增加了控制器计算量;文献 [6] 根据电流方向触发导通的传统均压法分别引入双保持因子与能量均衡因子,使子模块间的能量保持相对平衡;文献 [7] 采用质因子分解法提出一种优化的混合排序法,通过引入希尔排序算法大幅降低了排序次数。文献 [8] [9] 基于冒泡法分别得到投入、退出状态的电压最值子模块,可在较少计算量下实现电容电压的均衡控制,但排序算法的复杂度仍有降低的空间。
针对现有排序方法普遍存在的排序算法效率和开关频率损耗不容易同时满足的问题,本文基于快速排序法,根据导通子模块中桥臂电流方向及子模块电容电压大小,对三相6个桥臂均先选合适的分界元素将子模块电容电压值分为独立的两组值,然后采用分治策略思想对MMC子模块电容电压进行选择排序,不对每一桥臂所有子模块进行完全排序,降低传统排序计算时间,能更有效地提升MMC桥臂子模块电容均压算法的计算速度。
2. MMC直流输电基本结构
如图1所示,a) 为MMC型直流输电拓扑一端的系统结构,其中每个桥臂由n个子模块和一个电抗器L串联构成,上下两个桥臂构成一个相单元。b) 为半桥结构的柔性直流输电MMC子模块 [4] 。uC为子模块电容电压瞬时值,在稳态下的直流分量为UC。uSM、iSM分别为子模块的输出电压和电流的瞬时值。反并联二极管时,规定Si1 = 1,Si2 = 0,子模块为“投入”状态,此时子模块电容C在iSM的作用下充电或放电,uSM = uC;反之,iSM流过下侧的 或反并联二极管时,规定Si1 = 0,Si2 = 1,称该子模块为“切除”状态;理论上不允许上下IGBT都流过电流的情况发生,若Si1 = 0,Si2 = 0则子模块闭锁。
3. 基于快速排序法的电容电压均衡控制策略
3.1. 总体控制流程
图2为基于快速排序法的MMC子模块电容电压平衡控制算法控制方法流程图。本文所述方法在已知某次需要投入子模块个数时,根据模块充放电状态,自定义电压基准值对待投切子模块电容电压进行多轮筛选以确定进行快速排序的最小子模块电压范围,避免对每个桥臂所有子模块电容电压进行排序,可在桥臂子模块数量较多时,在较低开关频率下实现电压的均衡控制,相比于直接基于电容电压排序的均衡控制策略减小子模块电容电压总排序计算次数,计算量较小。具体实现步骤如下:
① 定义两个数组A[xn − 1]、B[ym − 1]分别存放桥臂中未投入的N个以及处于投入状态的M个子模块电容电压值。
② 根据换流站控制层给出的下一个控制周期需投入或切除的子模块个数,判断以子模块电压额定值UN为分界元素进行第一轮初步排序的数组元素来源于已投数组还是待投数组。
需投ΔN个子模块时,根据桥臂电流充放电状态,选取进行第二轮排序的分界元素以及A[xn − 1]中需进行第二轮排序的元素;此后,比较A[xn − 1]低-低压值类子模块个数或是A[xn − 1]高-高压值类子模块个数
![](//html.hanspub.org/file/6-1580378x10_hanspub.png)
(a) (b)
Figure 1. The topology of modular multilevel converter
图1. MMC的拓扑结构
![](//html.hanspub.org/file/6-1580378x11_hanspub.png)
Figure 2. Arithmetic flow chart of voltage balancing control
图2. 电压均衡控制算法流程图
与ΔN的大小,选取后续快速排序的数组元素。需切ΔN个子模块时,不论桥臂电流方向,均以1.05UN为分界元素对B[ym − 1]高压值类数组中的子模块电容电压值进行初步排序,并根据B[ym-1]高-高压值类子模块个数与ΔN的差值,确定进行完整快速排序法以及需投入的的数组元素。
③ 最后,等待下一个控制周期,重复步骤1-步骤4。
3.2. 需投入子模块情况均压控制策略
在原有电容电压控制策略基础上,本文基于快速排序法思想,在读取某时换流站控制层实测电压值后,将已投的M个子模块电容电压存入数组B[ym − 1]中,ym代表投入子模块序号,同理设定数组A[xn − 1]用于存放控制层实时测量的待投入子模块电容电压值,根据ΔN的正负,判断是进行一轮排序的元素来源于数组A[xn − 1]或是B[ym − 1],具体算法如下所示,图3~图5旨在根据换流站控制层投切指令和桥臂电流方向,确定最小的子模块排序范围,避免针对所有子模块进行排序增加计算量。
如图3,当桥臂电流Iarm为充电方向时,以UN为分界元素进行快速排序法的第一个步骤后将数组分为电容电压大于UN和小于UN的独立两组,A[x0]~A[xN1 − 1]及A[xN1]~A[xN − 1]内部的子模块电压大小顺序仍然是乱序。选择N1个元素A[x0]~A[xN1 − 1],以0.95UN为第二个分界元素对其进行初步排序,得到低于0.95UN的a1个元素A[x0]~A[xa1 − 1]和高于0.95UN的a2个元素A[xa1]~A[xN1 − 1],两组元素内部的子模块电压大小顺序仍是乱序。
若a1 < ΔN,则对A[xN − 1]低-高压值类数组进行快速排序,并选取其中电压最小的ΔN-a1个电压所对应子模块和A[xN-1]低-低压值类数组中所对应的全部子模块投入;如果a1 > ΔN,则对A[xN-1]低-低压值类数组进行快速排序,并选取其中电压最小的ΔN个电压所对应子模块投入。
![](//html.hanspub.org/file/6-1580378x12_hanspub.png)
Figure 3. Arithmetic flow chart of voltage balancing control when arm-current is charging
图3. 桥臂电流充电时均压控制算法流程图
![](//html.hanspub.org/file/6-1580378x13_hanspub.png)
Figure 4. Arithmetic flow chart of voltage balancing control when arm-current is discharging
图4. 桥臂电流放电时均压控制算法流程图
![](//html.hanspub.org/file/6-1580378x14_hanspub.png)
Figure 5. Arithmetic flow chart of voltage balancing control when ΔN < 0
图5. ΔN < 0时均压控制策略流程图
如图4所示,当桥臂电流Iarm为放电方向时,选择N2个元素A[xN1]~A[xN − 1],以1.05UN为分界元素对其进行初步排序,得到低于1.05UN的a3个元素A[xN1]~A[xN1 + a3 − 1]以及高于1.05UN的a4个元素A[xN1 + a3]~A[xN − 1]。
若ΔN < a1,则对A[xN1+a3]~A[xN − 1]中元素进行快速排序,选出需投的电容电压较高的ΔN个子模块投入;若a4 < ΔN,则对A[xN1]~A[xN1+a3 − 1]使用快速排序法,选择电容电压最高的ΔN-a4个对应的子模块和A[xN1 + a3]~A[xN − 1]对应的子模块投入。
选取合适的组别进行完整的快速排序法运算选出需投子模块,执行完后跳至步骤5。
3.3. 需切除子模块情况均压控制策略
如图5所示,需切子模块在初步排序后,分为低于UN的N3个元素B[y0]~B[yN3-1]以及高于UN的N4个元素B[yN3]~B[yM-1] (N3 + N4 = M)之后,选择B[yN3]~B[yM-1],以1.05UN为基准对B[yN3]~B[yM − 1]进行快速排序法的第一个步骤,得到低于1.05UN的b1个元素B[yN3]~B[yN3 + b1 − 1]以及高于1.05UN的b2个元素B[yN3 + b1]~B[yM − 1]。若M-ΔN < b2,则对B[yN3 + b1]~B[yM − 1]进行快速排序法,选出需切除的电容电压最高的ΔN个子模块;若b2 < ΔN,则对B[yN3]~B[yN3 + b1 − 1]进行快速排序法,选出其中电容电压最高的△N-b2个子模块与b2个元素B[yN3+b1]~B[yM-1]对应的子模块切除。
在桥臂子模块与投切个数较多的情况下采用本文基于快速排序的控制方法,更多得依赖于程序对数据的处理而不是过多开关各个子模块,相对于具有很高开关频率的传统均压控制方法,本方法具有比较低的开关频率,与高操作性与高效性。
4. 仿真结果分析
为验证本文所提电压均衡控制策略对计算量的优化效果,在PSCAD/EMTDC仿真平台上分别搭建了41、201以及401电平MMC-HVDC输电系统,如图6所示,对本文提出的基于快速排序原理的均压控制策略有效性进行验证。其中,仿真步长为20 μs,交流系统的额定电压均为220 kV,直流线路电压为±200kV,传送容量为600 MW。子模块电容值为3000 mF,环流电抗器电感值为0.04 H。
以整流换流站a相上桥臂子模块为研究对象,图7和图8分别为采用基于冒泡算法和本文所提算法
![](//html.hanspub.org/file/6-1580378x15_hanspub.png)
Figure 6. System construction drawing of MMC-HVDC
图6. MMC-HVDC系统结构图
![](//html.hanspub.org/file/6-1580378x16_hanspub.png)
Figure 7. Switching frequency of submodules based on bubble sort algorithm
图7. 基于冒泡算法的子模块开关频率
![](//html.hanspub.org/file/6-1580378x17_hanspub.png)
Figure 8. Switching frequency of submodules based on sort algorithm in this article
图8. 基于本文算法的子模块开关频率
![](Images/Table_Tmp.jpg)
Table 1. Calculation contrast in normal conditions
表1. 正常情况计算量对比
得到触发信号波形。在采用基于快速排序算法的均压策略下,子模块IGBT的开关次数明显得到减低。
对于桥臂子模块总数为n的MMC,每次冒泡计算量为n − 1,算法需要执行n/2(n/2-1)~n(n-1)/2次比较指令 [10] ,本文所述的基于快速排序法的计算量与采用冒泡算法的计算量对比如表1所示。由表1可得,随着电平数的增加,本文采用的快速排序方法具有更加明显的优势。
5. 结论
本文提出一种基于快速排序法的改进MMC子模块电压均衡控制方法,以期用较小的计算量来实现子模块电容电压均衡控制。与基于冒泡法的传统排序方法相比较,本文算法针对子模块数量较多的情况,明显减小了开关频率损耗。在PSCAD/EMTDC仿真软件上搭建了MMC-HVDC仿真模型,对本文所提排序算法进行验证,结果表明本文方法可以实现较小开关频率的同时,明显减小排序计算量。
基金项目
国家电网公司科技项目资助(XNFB-201605-FW-07);国家重点研发计划智能电网技术与装备重点专项(2016YFB0900600)。