模块化多电平换流器(Modular Multilevel Converter, MMC)作为高压直流输电(HVDC)领域的革命性拓扑结构,近年来在柔性直流输电、新能源并网等领域展现出显著优势。其核心特征在于采用模块化设计的子模块(Submodule, SM)级联结构,每个子模块通常由IGBT和电容构成基本单元。这种架构带来的直接好处是输出电压波形质量高、器件应力小、扩展性强,但同时也引入了三个关键控制难题:
实际工程中,这三个问题往往需要协同解决。例如在张北±500kV柔性直流电网工程中,单个换流阀塔就包含超过2000个子模块,其控制复杂度可见一斑。
传统子模块排序采用简单的电压排序法,即每个控制周期对所有子模块电容电压进行检测和排序,优先投入电压较低的子模块进行充电,切除电压较高的子模块进行放电。这种方法的开关频率往往高达数百Hz,导致显著的开关损耗。
降频排序的核心改进在于引入"冻结区间"概念。我们定义电压排序窗口为:
code复制V_freeze = V_avg ± ΔV
其中ΔV为允许的电压波动带。当子模块电压处于此区间内时,保持其当前投切状态不变。通过合理设置ΔV,可将开关频率降低30%-50%。具体实现流程如下:
python复制# 改进的降频排序算法实现示例
def advanced_sort(submodules, delta_V=0.1):
voltages = [sm['voltage'] for sm in submodules]
V_avg = sum(voltages) / len(voltages)
# 划分冻结区间
frozen_sm = [sm for sm in submodules
if (V_avg - delta_V) <= sm['voltage'] <= (V_avg + delta_V)]
# 需要调整的子模块
adjust_sm = [sm for sm in submodules
if sm not in frozen_sm]
# 按电压排序待调整模块
adjust_sm_sorted = sorted(adjust_sm, key=lambda x: x['voltage'])
# 生成新的投入顺序(示例逻辑)
new_state = []
for i, sm in enumerate(adjust_sm_sorted):
sm['state'] = 'ON' if i < len(adjust_sm_sorted)//2 else 'OFF'
new_state.append(sm)
return frozen_sm + new_state
ΔV的选取需要权衡两个关键指标:
工程经验表明,对于额定电压2kV的子模块,ΔV通常取5%-10%的额定电压值。同时需要注意:
实测数据表明,在±350kV/1000MW的MMC工程中,采用优化后的降频排序算法可使平均开关频率从原来的350Hz降至约200Hz,相应开关损耗降低约28%。
最近电平逼近调制(Nearest Level Modulation, NLM)的核心思想是通过离散电平组合来逼近连续参考波。对于具有N个子模块的MMC,其输出电压可表示为:
[ V_{out} = \frac{V_{dc}}{N} \times n ]
其中n为投入的子模块数。NLM的数学描述为:
[ n = \text{round}\left(\frac{V_{ref}}{V_{sm}}\right) ]
其中V_sm为子模块额定电压。
python复制import numpy as np
def NLM_modulation(V_ref, V_sm, N):
# 计算理论所需子模块数
n_ideal = V_ref / V_sm
# 考虑实际子模块数量限制
n_actual = np.clip(round(n_ideal), 0, N)
# 计算量化误差
error = V_ref - n_actual * V_sm
return n_actual, error
实际应用中需要考虑以下特殊情形:
过调制处理:当|V_ref| > N×V_sm时,传统NLM会出现严重失真。解决方案包括:
低电平区间的波形质量:在输出电平数较少时(如n<5),THD会显著增大。此时可采用:
动态响应优化:常规NLM在参考电压突变时可能出现暂态过冲,可通过:
某海上风电柔直工程实测数据显示,采用改进型NLM后,在20%额定功率运行时THD从8.7%降至4.3%,同时开关损耗仅增加15%。
MMC中的环流主要表现为二倍频分量,其产生根源在于:
环流的数学表达式为:
[ i_{circ} = \frac{V_{diff}}{2\omega L} ]
其中V_diff为相间电压差,L为桥臂电感。
| 方法 | 原理 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 比例谐振控制 | 在2ω频率处设置高增益 | 稳态精度高 | 动态响应慢 | 稳态运行 |
| 前馈补偿 | 计算并注入补偿电压 | 响应速度快 | 依赖参数精度 | 动态过程 |
| 自适应控制 | 在线调整控制参数 | 鲁棒性强 | 算法复杂 | 参数变化大 |
| 谐波注入 | 注入反向谐波抵消 | 效果直接 | 可能影响输出 | 特定工况 |
现代工程多采用复合控制策略,典型实现步骤如下:
环流检测:
python复制def detect_circulating_current(i_upper, i_lower):
# 计算环流分量 (二倍频)
i_diff = i_upper - i_lower
# 使用FFT提取二倍频分量
fft_result = np.fft.fft(i_diff)
harmonic_2 = 2 * abs(fft_result[2])/len(i_diff)
return harmonic_2
多模式控制器设计:
输出限幅与保护:
实际工程案例显示,采用复合控制后环流峰值可从25%额定电流降至8%以下,相应损耗降低约15%。
三大技术的协同需要精确的时序配合:
控制周期划分(以100μs为例):
关键时序约束:
| 现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 子模块电压发散 | 排序算法失效 | 1. 检查排序周期 2. 验证ΔV设置 3. 检测通信延迟 |
调整冻结区间 优化通信协议 |
| 输出波形畸变 | NLM过调制 | 1. 检查参考电压幅值 2. 分析子模块利用率 3. 验证直流电压 |
增加子模块数 引入混合调制 |
| 环流周期性波动 | 控制参数失配 | 1. 记录环流频谱 2. 检查电感参数 3. 验证控制器带宽 |
重新整定参数 采用自适应控制 |
半实物仿真平台搭建:
关键指标测量:
python复制def evaluate_performance():
# 计算开关频率
switching_loss = calculate_switching(igbt_states)
# 评估电压均衡度
voltage_balance = np.std(submodule_voltages)/np.mean(submodule_voltages)
# 测量THD
thd = calculate_thd(output_voltage)
return switching_loss, voltage_balance, thd
在实验室条件下,建议先采用3-5个子模块的小系统验证算法可行性,再逐步扩展至全规模测试。某高校研究团队采用这种渐进式验证方法,将开发周期缩短了40%。