发明名称 一种基于快速排序的MMC子模块电容电压平衡控制方法
摘要 本发明公开了一种基于快速排序的MMC子模块电容电压平衡控制方法,先定义数组A[x<sub>n‑1</sub>]、B[y<sub>m‑1</sub>]分别存放处于切除状态与投入状态的子模块电容电压值;然后根据不同情形只对A[x<sub>n‑1</sub>]或者B[y<sub>m‑1</sub>]进行第一轮排序,得到对应的低压、高压两个数组;再根据进一步情形只对A[x<sub>n‑1</sub>]低压数组或者A[x<sub>n‑1</sub>]高压数组或者B[y<sub>m‑1</sub>]高压数组进行第二轮排序,得到某细分数组;经过第二轮排序后,再根据具体指令按排序选取相应细分数组中的ΔN个子模块投入或切除。本方法基于快速排序算法原理,采用分治策略思想对MMC子模块电容电压进行平衡控制,不对桥臂所有子模块进行完全排序,降低传统排序计算时间,能更有效地提升MMC桥臂子模块电容均压算法的计算速度。
申请公布号 CN106026735A 申请公布日期 2016.10.12
申请号 CN201610648993.2 申请日期 2016.08.09
申请人 国家电网公司西南分部;重庆大学 发明人 余锐;熊小伏;蒋航;肖超;欧阳金鑫;陈愚;叶琼蔚
分类号 H02M7/483(2007.01)I;H02J3/36(2006.01)I 主分类号 H02M7/483(2007.01)I
代理机构 重庆博凯知识产权代理有限公司 50212 代理人 李海华
主权项 一种基于快速排序的MMC子模块电容电压平衡控制方法,其特征在于:按如下步骤进行:步骤1:定义两个数组A[x<sub>n‑1</sub>]、B[y<sub>m‑1</sub>]分别存放桥臂中当前处于切除状态的N个子模块电容电压值与处于投入状态的M个子模块电容电压值;步骤2:根据以下方法进行第一轮排序,若换流站控制层指令需要投入ΔN个子模块,则以子模块电压额定值U<sub>N</sub>为基准对A[x<sub>n‑1</sub>]中的子模块电容电压进行第一轮排序,将A[x<sub>n‑1</sub>]中的子模块电容电压值分为A[x<sub>n‑1</sub>]低压值类、A[x<sub>n‑1</sub>]高压值类两个数组;其中,A[x<sub>n‑1</sub>]低压值类数组中的子模块电容电压值都比子模块电压额定值U<sub>N</sub>低,A[x<sub>n‑1</sub>]高压值类数组中的子模块电容电压值都比子模块电压额定值U<sub>N</sub>高;若换流站控制层指令需要切除ΔN个子模块,则以子模块电压额定值U<sub>N</sub>为基准对B[y<sub>m‑1</sub>]中的子模块电容电压进行第一轮排序,将B[y<sub>m‑1</sub>]中的子模块电容电压值分为B[y<sub>m‑1</sub>]低压值类、B[y<sub>m‑1</sub>]高压值类两个数组;其中,B[y<sub>m‑1</sub>]低压值类数组中的子模块电容电压值都比子模块电压额定值U<sub>N</sub>低,B[y<sub>m‑1</sub>]高压值类数组中的子模块电容电压值都比子模块电压额定值U<sub>N</sub>高;步骤3:根据以下方法进行第二轮排序,如果需要投入子模块且桥臂电流处于充电状态,则以0.95U<sub>N</sub>为基准对A[x<sub>n‑1</sub>]低压值类数组中的子模块电容电压值进行排序,得到A[x<sub>n‑1</sub>]低‑低压值类、A[x<sub>n‑1</sub>]低‑高压值类两个数组,两个数组对应的子模块个数分别为a<sub>1</sub>和a<sub>2</sub>;其中,A[x<sub>n‑1</sub>]低‑低压值类数组中的子模块电容电压值都比0.95U<sub>N</sub>低,A[x<sub>n‑1</sub>]低‑高压值类数组中的子模块电容电压值都比0.95U<sub>N</sub>高;如果需要投入子模块且桥臂电流处于放电状态,则以1.05U<sub>N</sub>为基准对A[x<sub>n‑1</sub>]高压值类数组中的子模块电容电压值进行排序,得到A[x<sub>n‑1</sub>]高‑低压值类、A[x<sub>n‑1</sub>]高‑高压值类两个数组,两个数组对应的子模块个数分别为a<sub>3</sub>和a<sub>4</sub>;其中,A[x<sub>n‑1</sub>]高‑低压值类数组中的子模块电容电压值都比1.05U<sub>N</sub>低,A[x<sub>n‑1</sub>]高‑高压值类数组中的子模块电容电压值都比1.05U<sub>N</sub>高;如果需要切除子模块,则不论桥臂电流方向,以1.05U<sub>N</sub>为基准对B[y<sub>m‑1</sub>]高压值类数组中的子模块电容电压值进行排序,得到B[y<sub>m‑1</sub>]高‑低压值类、B[y<sub>m‑1</sub>]高‑高压值类两个数组,两个数组对应的子模块个数分别为b<sub>1</sub>和b<sub>2</sub>;其中,B[y<sub>m‑1</sub>]高‑低压值类数组中的子模块电容电压值都比1.05U<sub>N</sub>低,B[y<sub>m‑1</sub>]高‑高压值类数组中的子模块电容电压值都比1.05U<sub>N</sub>高;步骤4:经过第二轮排序后,对于投入子模块命令且桥臂电流处于充电状态,如果a<sub>1</sub><ΔN,则对A[x<sub>n‑1</sub>]低‑高压值类数组进行快速排序,并选取其中电压最小的ΔN‑a<sub>1</sub>个电压所对应子模块和A[x<sub>n‑1</sub>]低‑低压值类数组中所对应的全部子模块投入;如果a<sub>1</sub>>ΔN,则对A[x<sub>n‑1</sub>]低‑低压值类数组进行快速排序,并选取其中电压最小的ΔN个电压所对应子模块投入;对于投入子模块命令且桥臂电流处于放电状态,如果a<sub>4</sub><ΔN,则对A[x<sub>n‑1</sub>]高‑低压值类数组进行快速排序,并选取其中最大的ΔN‑a<sub>4</sub>个电压所对应的子模块和A[x<sub>n‑1</sub>]高‑高压值类数组中所对应的所有子模块投入;如果a<sub>4</sub>>ΔN,则对A[x<sub>n‑1</sub>]高‑高压值类数组进行快速排序,并选取其中最大的ΔN个电压所对应的子模块投入;对于切除子模块命令,如果b<sub>2</sub><ΔN,则对B[y<sub>m‑1</sub>]高‑低压值类数组进行快速排序,并选取其中最大的ΔN‑b<sub>2</sub>个电压所对应的子模块和B[y<sub>m‑1</sub>]高‑高压值类数组所对应的全部子模块切除;如果b<sub>2</sub>>ΔN,则对B[y<sub>m‑1</sub>]高‑高压值类数组进行快速排序,并选取其中最大的ΔN个电压所对应的子模块切除;步骤5:等待下一个控制周期,重复步骤1‑步骤4。
地址 610041 四川省成都市高新区蜀绣西路299号
您可能感兴趣的专利