3. MMC子模块工作原理:半桥子模块、全桥子模块的工作原理与电容电压平衡
好,咱们今天聊聊MMC最核心的“积木”——子模块。你想想看,整个换流阀就是由成百上千个这样的子模块堆起来的。搞懂了它,MMC的控制策略就通了一半。
我个人习惯把子模块比作一个“微型电源”。它要么把电容电压怼到输出端,要么就旁路掉。就这么简单。但实际做项目时,这里面的门道可不少。
3.1 半桥子模块(HBSM)
半桥子模块,说白了就是两个IGBT加一个电容。结构最简单,成本也最低。我在早期的柔性直流项目里,用的全是它。
工作原理其实就两个状态:
- 投入状态:上管T1导通,下管T2关断。电流从A点流进,经过T1,从B点流出。这时候输出端电压就是电容电压Uc。说白了,就是把电容“扔”到回路里。
- 切除状态:上管T1关断,下管T2导通。电流从A点流进,经过T2,从B点流出。输出端电压是0。电容被旁路了。
嗯,这里要注意一点:电流方向不同,电容的充放电状态也不同。我见过不少新手画仿真,电流方向搞反了,电容电压越跑越偏。
核心要点:半桥子模块只能输出0和+Uc两种电平。它不能输出负电压。这意味着它不具备直流故障自清除能力。一旦直流侧短路,二极管会反向导通,电容直接短路放电,那电流大得吓人。
我的经验:做半桥MMC项目时,直流侧保护一定要快。我曾经在一个工程里,直流断路器动作慢了2毫秒,结果子模块电容直接炸了三个。从那以后,我对保护定时的要求苛刻到了极点。
3.2 全桥子模块(FBSM)
全桥子模块,就是四个IGBT加一个电容。结构比半桥复杂,但功能强大多了。
它能输出三种电平:
- 正投入:T1和T4导通,T2和T3关断。输出+Uc。
- 负投入:T2和T3导通,T1和T4关断。输出-Uc。
- 切除:T1和T3导通,或者T2和T4导通。输出0。
你看,全桥能输出负电压,这就是它最大的优势。直流侧发生短路时,我可以让子模块输出负电压,把故障电流硬生生“顶”回去。说白了,它自己就能切断故障,不需要额外的直流断路器。
避坑指南:全桥子模块的损耗比半桥大。我曾经算过一个工程,全桥方案比半桥方案损耗高了约15%。所以选型时一定要权衡:你是更看重故障处理能力,还是更看重运行效率?
3.3 电容电压平衡控制
这是MMC控制里最让人头疼的问题之一。你想想看,几百个子模块的电容电压,如果不管它,高的高、低的低,那换流阀根本没法正常工作。
为什么会这样?因为每个子模块的充放电时间不一样。有的子模块投入时间长,电容一直放电,电压就低;有的投入时间短,电压就高。时间一长,电压就散开了。
我常用的平衡策略是这样的:
- 排序法:先把所有子模块的电容电压测出来,排个序。电压高的排前面,电压低的排后面。
- 判断电流方向:看看桥臂电流是给电容充电还是放电。
- 选择投入:
- 如果电流是充电方向,那就优先投入电压低的子模块。让它们多充点电,把电压拉上来。
- 如果电流是放电方向,那就优先投入电压高的子模块。让它们多放点电,把电压降下去。
说白了,就是“高的让它放,低的让它充”。这个逻辑听起来简单,但实际做起来,采样频率、排序算法、开关频率限制,这些都得考虑进去。
代码示例(排序法核心逻辑):
// 伪代码,展示核心思路
void capacitor_voltage_balance(float *Vc, int *SM_state, int N, float I_arm) {
// 1. 排序:电压高的索引在前
int idx[N];
sort_descending(Vc, idx, N);
// 2. 计算需要投入的子模块数
int N_on = calculate_N_on();
// 3. 根据电流方向选择
if (I_arm > 0) { // 充电电流
// 优先投入电压低的子模块
for (int i = N-1; i >= N-N_on; i--) {
SM_state[idx[i]] = 1; // 投入
}
} else { // 放电电流
// 优先投入电压高的子模块
for (int i = 0; i < N_on; i++) {
SM_state[idx[i]] = 1; // 投入
}
}
}
我的建议:排序法虽然直观,但计算量大。如果子模块数量多(比如超过200个),建议用“分组排序”或者“冒泡排序优化版”。我在一个400个子模块的项目里,用分组排序把计算时间从200微秒降到了50微秒,效果很明显。
3.4 两种子模块的对比
| 特性 | 半桥子模块 | 全桥子模块 |
|---|---|---|
| 输出电平数 | 2种(0, +Uc) | 3种(-Uc, 0, +Uc) |
| 直流故障清除 | 不能 | 能 |
| IGBT数量 | 2个 | 4个 |
| 损耗 | 低 | 高(约高15%) |
| 成本 | 低 | 高 |
| 应用场景 | 陆上柔直、背靠背 | 海上风电送出、多端直流 |
嗯,这张表基本把两者的区别说清楚了。选型时,我个人习惯先看直流故障处理需求。如果系统对故障清除时间要求苛刻,那就别犹豫,上全桥。如果成本敏感,半桥加直流断路器也是可行的方案。
3.5 知识体系结构图
下面这张图,是我自己总结的MMC子模块知识体系。你把它记在脑子里,整个章节的脉络就清晰了。
这张图把半桥和全桥的对比、工作原理、关键特性,以及电容电压平衡的核心逻辑都串起来了。你多看几遍,心里就有谱了。
好了,这一章的内容就到这里。子模块是MMC的基石,搞懂了它,后面的调制策略、环流抑制、故障保护,你学起来会轻松很多。