三相MMC并网逆变器:拓扑、控制与调试要点全解析
入行电力电子这几年接触过的拓扑不算少但三相MMC模块化多电平换流器并网逆变器第一次跑通仿真时我还是忍不住想多说几句——它用一串低压子模块就叠出了中高压等级的输出波形完全绕开了“单个管子硬扛高电压”的老路。风光储并网、中高压变频、柔性配电这些场景里MMC已经成了绕不开的关键词甚至很多人调侃说看不懂MMC都不好意思说自己搞电力电子。这篇文章我就从工程视角把三相MMC并网逆变器的拓扑逻辑、能量平衡、并网控制、参数设计到仿真调试的要点整体捋一遍适合刚接触模块化多电平的工程师、正在做并网变流器课题的研究生也适合正在为环流、电容电压均衡头疼的同行。不是教材复读都是我实际跑仿真、搭实验平台时一点点验证过的思路。1. 为什么三相MMC并网逆变器是绕不开的选择1.1 传统两电平逆变器在高压场景的瓶颈先说清楚我们为什么要折腾MMC。常规的两电平三相逆变器交流输出直接由直流母线正负两个电位切换再靠滤波器把方波毛刺滤成接近正弦的波形。电压等级一高问题就成串地冒出来功率器件要串联来分摊直流电压串联均压、动态过压、驱动同步每一个都是头疼事。就算用高压IGBT单个器件的耐压和电流等级也有限到中压10kV及以上基本没什么器件能直接顶住。谐波也是大麻烦。两电平输出天然含大量低次谐波等效开关频率被器件损耗限制在几千赫兹时交流侧的LC或LCL滤波器体积会非常夸张。而且高压下dv/dt很高对电机绕组的绝缘、轴承电流都是损害。早些年搞中压变频器厂家都是靠多绕组移相变压器隔离降压再配低压变频体积大、效率低、成本高。1.2 MMC的拓扑结构与模块化思路三相MMC的拓扑其实不复杂每一相有上下两个桥臂每个桥臂由N个子模块SM串联再串一个桥臂电感L_arm交流输出点接在上下桥臂的中点六个桥臂并联在直流母线上。子模块最常见的是半桥结构一个电容加两个IGBT通过开关动作把电容接入或切出电流通路。每个半桥能输出0或Uc两个电平如果把电容反向还能输出-Uc那就是全桥结构多用于直流故障清除场景。直流母线侧可以有大电容也可以没有MMC对直流侧支撑电容的要求比两电平低不少。模块化意味着每个子模块都是独立可控的电压源桥臂串联后输出的电压是量子化的阶梯波。N个子模块投入交流端电压就有N1个电平N越大波形越接近正弦谐波含量越低甚至可以在中高压场景省掉笨重的工频变压器直接并网。每相上下桥臂的电感L_arm则承担两个核心任务一是抑制桥臂间环流二是提供输出侧的滤波阻抗让阶梯波变成平滑的正弦电流。与两电平相比这种结构的优势非常明显。等效开关频率被分散到每个子模块的低压器件上单个管子开关损耗压力小散热均匀容量扩展靠“堆模块”而不是“堆电压”设计难度线性增长子模块电压低器件选型成熟可靠性高还能留冗余。如果某个子模块故障通过旁路开关把它短路系统仍能继续运行这是两电平完全做不到的容错能力。2. 从能量角度看三相MMC的工作原理2.1 子模块电容与能量的产生很多人问MMC明明每个子模块都用电容没有变压器为什么能量能“站得住”关键在电容。每个子模块的电容电压Uc被控制在直流母线电压除以N附近即Uc≈Udc/N。工作时控制策略决定哪些子模块投入、哪些切除得到桥臂需要的电压。桥臂电流流过电容时电容就充电或放电能量上相当于每个桥臂是一个可变的电压源通过不断调节投入数量和方向跟踪正弦参考电压。用个生活化类比把每个子模块电容想成一个水杯开关管就是阀门桥臂就是一组水杯串联而成的“高度调节器”。需要高电压就多接入几个杯子需要低电压就少接入几个。水杯越多水位台阶越密出水越平缓。但问题来了——交流输出时功率是波动的电容就在充电和放电之间来回切换每个电容的电压会出现周期性波动。这个波动幅度不能太大否则一方面器件耐压余量要加大另一方面会影响输出波形甚至威胁系统稳定。所以MMC控制核心之一是保证各子模块电容电压基本一致波动在合理范围内。2.2 环流的产生与抑制三相MMC还有一个独特问题环流。因为六个桥臂都并联在直流母线两端交流侧相位不同直流侧的电流并不会按理想状态均分到三相。相与相之间的电压差会在三个相单元内部形成循环流动的电流这些电流不流到交流侧也不流到直流侧只在桥臂内部“空转”典型成分是二倍频负序分量。环流带来的问题只有两个字损耗。它在线流电阻和开关管上产生额外发热还挤占了桥臂电流的裕量。对环流抑制工程上有专门的控制环常见做法是把桥臂电流的环流分量提取出来用谐振控制器PR谐振点在2倍工频即100Hz/120Hz进行闭环控制调整同一相上下桥臂的电压指令差让环流为零。做实验时如果环流抑制控制器没调试好桥臂电流会明显“胖”一圈波形上全是鼓包这时候先别急着搞输出电流把环流压下去再说。抑制环流时要注意与电容电压均衡的耦合。有些方案靠调节环流来实现电容电压均衡如果同时加独立的环流抑制环二者可能“打架”。实际项目里我习惯让环流抑制负责把二倍频压住电容电压均衡靠排序算法内部处理不要用环流注入来均衡否则调试复杂度成倍增加。2.3 电容电压均衡策略子模块电容电压均衡是MMC能稳定工作的充分必要条件。原理不复杂实时检测每个子模块电容电压再结合桥臂电流方向决定投切的优先级。桥臂电流让电容充电时优先投入电压最低的子模块让它多充一点桥臂电流让电容放电时优先切除电压最高的子模块让它少放一点。这就是最经典的排序算法。但工程实现里没有这么简单。排序算法如果每个控制周期都全量排序、全量投切子模块开关频率会高到无法接受。实际做法是“分组排序保持开关状态”在一个固定周期内尽量维持已投切状态不变只把少数电压偏离大的子模块换下来。排序频率一般控制在几百赫兹到一两千赫兹电容电压离散度能控制在±5%以内就够了。还有更高级的基于载波移相的均衡方法用于调制与均衡联合控制的场合。一旦排序算法出问题最直接的现象就是某些子模块电容电压越来越高、某些越来越低最终触发过压保护或者均压失效系统直接跳闸。所以无论仿真还是实验电容电压波形是所有调试者最先要看的关键信号。3. 并网控制系统的核心搭建3.1 锁相环与电网同步三相MMC并网逆变器要往电网上送电第一件事就是知道电网的相位。锁相环PLL承担这个任务。常见做法是把三相电网电压变换到两相同步旋转坐标系dq下让q轴电压通过PI调节器稳定到0此时电网相位就被锁住了。PLL的带宽不能太高也不能太低太高会导致相位跟着谐波抖动太低则动态响应慢电网电压波动时容易失锁。我在仿真里一般用带宽80~120Hz实际工程还要加前置滤波或使用基于双二阶广义积分的软件锁相环来抗谐波。并网瞬间最怕相位没对准。电网相位和逆变器输出电压相位差大的时候相当于把一个交流电压源直接短路到另一个电压源上冲击电流可以飙到额定电流的好几倍现场很容易烧模块、炸电容。正确的做法是先锁相再确认输出波形与电网相位差在可接受范围内然后才合闸并网。3.2 电流内环与控制策略并网逆变器的核心控制是电流内环。dq旋转坐标系下用PI控制就可以实现对有功电流和无功电流的无静差跟踪但在静止坐标系下要无静差跟踪正弦量需要PR控制器或在谐振点有高增益的控制器。dq坐标下PI控制是主流关键是解耦d轴和q轴电流之间存在交叉耦合项ωL控制输出必须加上解耦项否则d轴有功调节会扰动q轴无功。电流环的带宽一般取开关频率的1/10到1/20。比例系数和积分系数不仅看控制器参数更要结合桥臂电感和交流滤波器参数。调试顺序也是固定的先不加外环直接给电流指令用阶跃响应调PI再看波形质量。功率外环放在电流环外面。并网模式通常用PQ控制给定有功功率和无功功率指令由功率计算环节生成电流参考值。这里要注意功率计算要用锁相环给出的电网电压相位做dq变换不然算出来的功率与实际并网功率会偏。弱电网下还可以切换到电压支撑模式类似虚拟同步机或者下垂控制但前提是底层电流环已经稳定。3.3 控制链路中的数字化实现细节数字控制需要考虑采样延迟和计算延迟。在一个载波周期内采样并计算PWM更新要放到下一个周期开始这个一拍延迟必须在控制器设计时补偿否则带宽越高相位滞后越大越容易振荡。我踩过的坑是仿真中用连续系统做得很顺一上离散化就发散原因就是延迟补偿没加。控制周期和排序算法周期可以分开。电流环需要快通常用开关周期的两倍排序算法不需要那么快可以慢一个数量级。但要注意排序结果必须和PWM信号同步更新否则会出现“指令还没执行状态已经变了”的错位问题。仿真里用固定步长离散模型步长一般取开关周期的1/10左右和实际控制周期拉开倍数不然波形会失真。4. 参数设计与工程实现的关键细节4.1 桥臂电感与子模块电容选型参数设计决定MMC能不能正常工作。桥臂电感L_arm的取值与抑制环流和输出滤波直接相关。工程上桥臂电感电抗大约取0.1~0.2标幺值。太小环流抑制不住开关纹波大太大输出动态响应慢电感上压降也大影响输出能力。子模块电容的选取要看能量波动约束。电容在交流周期内吸收和释放的能量与传输功率成正比与子模块电容电压成反比。工程上常用储能时间常数H来设计一般取20~40ms。H越大电容越大电压波动越小但成本和体积涨得很快。按经验把子模块电容电压波动限制在额定值的±5%到±10%就够了没必要追求特别小的波动。设计公式可以这样估算每个桥臂在一个工频周期内的能量脉动用传输功率P除以角频率和子模块数的组合来计算再结合允许的电压波动范围反推电容值。实际仿真中可以先按储能常数取中间值再用瞬态仿真验证电压波动是否满足要求这是一个非常有效的迭代流程。4.2 调制策略与等效开关频率MMC要产生阶梯波必须决定每个子模块什么时刻投切。最直观的方法是最近电平逼近NLM实时计算桥臂需要输出的电压等级四舍五入到最近的子模块数量。NLM实现简单适合子模块数量多的场合但每个子模块的开关频率并不均衡输出波形的等效开关频率也不高。另一种主流方法是载波移相PWMCPS-PWM。N个半桥子模块分别用N条相位错开的三角载波调制最终叠加出的电压等效开关频率最高可以达到单个子模块开关频率的N倍。这个特性非常诱人单个IGBT可以慢慢开但系统输出波形却“很细腻”。工程上常用CPS-PWM实现中低子模块数量下的高质量波形。调制比m指的是交流输出相电压幅值与直流母线一半的比值m越接近1直流电压利用率越高。如果m设计过低输出同样功率要更大电流效率下降。设计时还要考虑交流侧滤波器压降所以一般把额定工作点放在m0.85~0.95之间留出一点调节裕量不要顶到1。4.3 启动预充电与并网流程MMC不能像两电平那样直接上电。子模块电容初始电压为零如果直接给直流母线加压相当于瞬间短路冲击电流非常恐怖。正确做法是预充电。工程上常用限流电阻法通过直流侧限流电阻或交流侧限流电阻给子模块电容不控充电每个电容充到额定电压附近然后旁路限流电阻再让控制器接管并完成最终稳压。预充电完成的标准是所有子模块电容电压基本等于Udc/N且电压均衡度满足要求。此时才能解锁调制否则局部电容电压过低排序算法会把所有子模块都投入仍然可能出现过大冲击。并网流程也要严格排序先锁相再预充电然后闭合交流断路器并网最后才加载功率指令。不要小看这个顺序我在实验平台上有两次并网冲击都是因为预充电还没完全结束提前解锁了调制结果电容电压直接往下掉电流飙上去最后靠快速封波才避免损坏。5. 仿真与实验中的常见问题和排查技巧5.1 电容电压发散现象某个或某几个子模块电容电压不断上升或下降最终触发过压或欠压保护。排查顺序我总结成几步首先是检查排序算法是否生效确认每个子模块的投入状态是否在按电容电压变化。很多仿真模型里排序算法那条路径被写死或采样错了导致“看起来在均衡实际根本没均衡”。其次是看桥臂电流是否正常如果有大环流干扰均衡效果也会被破坏。再就是检查载波移相是否同步相位错位会导致某些子模块的投入时间长期偏长或偏短。5.2 环流抑制失效现象桥臂电流明显畸变二倍频分量大电流峰值超标。调试环流抑制器时常见误区是直接用通用PI控制器去压二倍频正弦量因为PI对交流量增益不足怎么调效果都差。正确做法是在谐振频率处放置谐振控制器用准PR结构把增益拉高。参数整定上谐振控制器带宽不要过宽否则会引入额外相移影响稳定性。如果桥臂电感偏小环流抑制需要的等效阻抗不够也会出现抑制不下来的情况这时要么加电感要么调低环流环带宽。5.3 并网电流谐波超标现象THD偏高尤其是低次谐波突出电流波形不干净。先分清楚谐波来源输出阶梯波本身的开关纹波是高频的经过滤波器之后衰减很快真正麻烦的是低次谐波比如5次、7次这些多来自于死区、电压畸变和控制误差。死区效应可以通过加入死区补偿减小控制误差则要靠电流内环增益拉高。还有一个常见原因交流滤波器的谐振峰没有被抑制。LCL滤波器如果谐振频率低于电流环带宽电流环控制到那里时就可能出现振荡。工程上要加有源阻尼在控制里叠加一个电容电流反馈把谐振峰压下去不要依赖无源阻尼电阻。5.4 启动瞬态冲击现象并网瞬间交流电流尖峰高、直流母线波动大甚至触发保护。排查时重点盯三方面PLL锁定时间是否够长预充电是否完成交流断路器合闸时机是否错过了电压同相点。实际现场可以用相位误差阈值来闭锁合闸相位差小于某个角度才允许合闸而不是到点就合。启动瞬间电流尖峰很多时候是dq坐标系参考角突跳引起的可以在PLL输出加一个斜坡限速让参考角平滑过渡到锁定值冲击能压住大半。最后再分享一点调试心得折腾MMC这几年最大的体会是“分层排查、先稳内部、再谈并网”。无论仿真还是实验我都会先把直流侧闭环调稳子模块电容电压均衡好环流抑制好桥臂电流波形干干净净了再去做并网控制。很多新手一上来就盯着并网电流波形调结果问题根源在内部越调越乱。具体操作上我会先把排序算法降频用固定的低开关频率跑通基本闭环确认电压均衡没问题再逐级把排序频率提上去。这样即使出了问题也知道是排序算法导致还是控制器参数导致。曾经为了排查一次电容电压发散把调制、控制、采样全部查了一遍最后发现是排序算法里“电压方向判断”写反了充放电方向和桥臂电流方向不一致算法等于在反向均衡。改那个逻辑只用一分钟但排查花了一整天。如果你刚开始接触三相MMC并网逆变器建议先搭一个子模块数量较少的模型比如每桥臂5~8个子模块把环流抑制、电容均压、并网电流全调通再逐步增加模块数。不要一开始就上几十个模块的模型波形虽然理想但调试时你会被数据淹死。等小规模模型闭环扎实了扩展到大规模只是参数缩放和控制周期重新整定的事。MMC的“奇妙”之处在于越往后越会发现所有问题本质上都归于能量平衡——电容电压是能量的镜子环流是能量流动的漏并网控制是能量交换的规则。把这些看透了这台机器就在你掌控之中了。