资讯动态

4电平MMC仿真模型搭建:从工作原理到控制调试全解析

发布时间:2026/10/17 21:44:18 来源:尧图企业网站定制
做电力电子仿真这些年我越来越觉得模块化多电平换流器Modular Multilevel ConverterMMC是一个表面上看着很复杂、拆开之后反而特别规整的东西。很多人一听到“多电平”这个词下意识就觉得必须几十上百个子模块才能玩得转于是照着高电压等级的论文去搭一个每桥臂二十个子模块的模型仿真跑半小时不动调参也不知道从哪下手最后只能劝退。所以我一直建议从4电平MMC入手。所谓4电平就是每相上桥臂、下桥臂各3个半桥子模块全模型一共18个子模块。这个规模既能完整呈现MMC最核心的机制——阶梯波输出、电容电压排序、桥臂二倍频环流、预充电启动又不会让仿真慢到影响思考节奏。这篇文章把我搭建4电平MMC仿真模型的完整过程、控制思路、参数设计以及实际调试中踩过的坑都写一遍适合刚接触MMC的学生也适合想快速搭一套干净模型做控制验证的工程师。1. 为什么选4电平做切入不是嫌电平少而是把核心机制看全1.1 MMC相比经典两电平换流器的结构性优势经典的两电平换流器输出电压只有“正”和“负”两个台阶。想要输出质量稍好一点的正弦波只能靠提高开关频率或者加大交流侧滤波电抗代价是开关损耗和体积都下不来。尤其是中高压场景下单个功率器件直接承受整个直流母线电压器件串联均压、散热、电磁干扰的问题会一个接一个冒出来。MMC的思路完全不一样。它把一个大开关拆成了一串子模块每个子模块只承担一小部分电压通过投入和切除来堆出多级电压台阶。打个比方两电平换流器像两个人抬一桶水水桶的重量全压在两个人身上MMC则是一队人接力传水桶每个人只承担一小会儿还随时可以换人替换。这种模块化结构带来两个好处一是单个器件电压应力低二是有天然冗余坏了某个子模块可以旁路掉系统继续运行。仿真模型里感受最深的是波形质量4电平虽然台阶很少但已经能明显看出阶梯波逼近正弦的趋势比两电平的方波友好太多了。1.2 “4电平”到底怎么数先分清相电压和线电压很多初学者会在这个地方被命名搞晕。以每桥臂N个子模块为例常用说法是相电压有N1个电平线电压有2N1个电平。所以N3时相电压是4电平线电压严格说能数出7个台阶。我后来习惯直接看子模块数而不是电平数更不容易出错。4电平MMC对应的就是“每桥臂3个子模块”全桥臂结构里上下桥臂各有3个整台三相换流器一共18个子模块。这个规模下电容电压排序、电流方向判断、电平切换这些关键现象全都跑得起来而且模型计算量还能接受在一台普通配置的电脑上做参数扫描也不会太痛苦。它本质上是研究MMC的“最小可玩系统”比它再少就看不出多电平的特征比它多又会把大量时间耗在等待仿真上。1.3 做仿真之前要想清楚的问题搭建模型前我建议先确认自己研究的是哪种MMC。半桥子模块最常见能完成整流逆变但不能处理直流侧短路故障全桥子模块可以输出负电平能实现直流故障穿越代价是器件数量翻倍。4电平模型用半桥结构最合适因为核心控制逻辑更简单方便先把排序和调制跑通后面换全桥只是替换子模块内部结构上层控制变化不大。另外要明确模型边界。如果只是研究控制算法可以用理想开关模型如果关心损耗和电磁暂态需要更细的器件模型。4电平这个小模型里我建议用理想开关加串联电阻的简化方式重点研究控制逻辑避免一开始就被器件级仿真的刚性方程拖慢。2. 4电平MMC的工作原理与数学基础从子模块到阶梯波2.1 半桥子模块的三种工作状态半桥子模块由两个开关管、两个反并联二极管和一个直流电容组成。正常调制运行时它只有两种状态投入和切除。投入就是上管导通、下管关断子模块端口输出电压等于电容电压电容根据桥臂电流方向决定是充电还是放电切除就是上管关断、下管导通端口电压为0电容电压基本保持不变。闭锁状态是上下管都关断只在预充电或者故障保护时出现。理解这个状态表对写控制代码非常重要。我在最开始搭模型时写排序算法的方向总是反就是因为没把“电流方向决定电容充电还是放电”这个逻辑在脑内理清楚。下面这个表是半桥子模块简化后的端口关系可以直接对照着写代码。状态T1T2端口电压电容状态投入导通关断Uc充电或放电切除关断导通0保持闭锁关断关断不定取决于电流方向2.2 上下桥臂投入数互补4电平阶梯波怎么形成每相由上下两个桥臂串联构成的相单元承担着直流侧和交流侧之间的电压匹配任务。正常工作时上桥臂投入的子模块数量与下桥臂投入的子模块数量始终保持之和等于N3。这个约束很关键它保证相单元对外总电压稳定在直流母线电压附近同时让交流输出点可以呈现不同的电平。如果直流母线电压是Udc每个子模块电容电压稳定在Uc约等于Udc/3。以直流母线负极为参考点当上桥臂投入3个、下桥臂投入0个时输出点对负极电压接近0投入数逐步变化输出点电压依次是Uc、2Uc、3Uc这就是“4电平”的来历。切换过程中电压是逐级跳变的所以交流波形看起来像楼梯而不是方波或正弦光。2.3 桥臂电流里为什么天然带着二倍频环流这是MMC绕不开的一个现象。上下桥臂电流并不是单纯的直流或交流而是含有一个直流分量加上交流分量的混合体。上桥臂和下桥臂的瞬时电流方向、大小不对称会在相单元内部形成一股不流向外部交流侧、而是在三个相单元之间循环的电流称为环流。从频域看环流的主要成分是二倍频分量除此之外还有四倍频等高次偶次分量。它会提高桥臂电流的峰值增加损耗和电容电压波动。4电平模型里我建议先在不开环流抑制器的情况下观察桥臂电流的畸变等看到明显的二倍频成分后再设计抑制器做对比这样理解会深刻很多。这个现象用一句大白话描述就是上下桥臂像两个人抬一个扁担一个往上使劲一个往下卸力中间总有一股多余的力在来回晃。3. 仿真模型搭建实录模块化建模与关键参数3.1 仿真环境选择与建模思路我选用的是MATLAB/Simulink环境里的Simscape Electrical模块库搭建开关级模型控制部分用离散时间模块完成。之所以没选纯电路级软件做实时仿真是因为4电平MMC规模不大Simulink环境调试起来直观信号监控方便后续改控制算法也容易。建模思路必须模块化。第一步先搭一个半桥子模块封装第二步将这个子模块复制成桥臂第三步搭成单相相单元最后复制成三相。很多人喜欢把18个子模块全铺开在一个文件里这种平铺方式在4电平下勉强可行但一旦扩展到更高电平模型会乱到没法维护。所以一开始就要做好封装和参数化。3.2 具体搭建步骤从18个子模块到三相整机我先建半桥子模块。用两个理想开关加二极管模型电容初始电压设置为额定值Udc/3。这里有个非常容易忽略的点如果不给电容初值启动瞬间会被强行充电造成数值振荡。给初值后模型会平稳很多。然后把子模块封装成一个带触发输入、电容电压输出、开关信号输入的子系统。桥臂层面把3个子模块输出串联桥臂两端接一个桥臂电抗器L_arm再串一个损耗等效电阻R_arm。三相模型就是把三个相单元并联在直流母线上交流侧输出端接三相对称负载或理想电压源。搭建过程中要时刻注意子模块封装端口的正负方向。我踩过的第一个坑就是端口方向反了导致电容电压排序越排越乱。建议每个桥臂建完后单独跑一下开环测试确认波形方向正确再继续。3.3 关键参数设计电容取值、桥臂电抗和仿真步长子模块电容和桥臂电抗是MMC参数设计里最核心的两个选择。子模块电容主要根据电容电压波动范围来定。电容越大电压波动越小但体积和成本上升电容太小电压波动过大严重时会影响调制输出的质量。工程上常用等效储能时间常数来估算我这次给的是一个实验室规模的参考值额定功率10kW直流母线电压3kV子模块电容取220uF桥臂电抗取4mH得到的电容电压纹波可以控制在5%以内。桥臂电抗的主要作用是抑制环流同时限制故障时的电流上升率。工程上一般取0.1到0.15倍的基波感抗标幺值。经验值是在这个功率等级下4mH到8mH都能接受取小一点对环流抑制效果弱但动态响应快取大一点环流小但会拖慢电流响应。仿真步长方面我用的离散采样周期是10us控制周期和采样周期保持一致。4电平MMC的等效开关频率不高10us步长足够不需要把步长压到1us。如果发现波形毛刺优先检查的是理想开关的数值阻抗设置而不是一味缩小步长。3.4 预充电与启动时序一开始就把顺序搞清楚直接给直流母线一个额定电压去启动电流冲击会非常大。我在实际仿真中发现如果不做预充电启动瞬间桥臂电流能冲到额定值的数倍子模块电容电压也会出现很大的过冲。正确做法是启动时让所有子模块闭锁直流侧先经过限流电阻给电容充电这时电容通过反并联二极管形成不控整流桥电压会逐步上升到接近额定值。等电容电压充到大约90%额定值时合上旁路接触器再解锁调制脉冲让系统平滑切入正常运行。限流电阻的取值有个简单参考以限流目标为允许启动电流不超过某个值用直流电压除以该电流估算。比如3kV直流母线想限制冲击电流在30A以下限流电阻取100欧姆以上。充电时间大致按RC时间常数估算配合一定的等待时间即可。这个预充电逻辑不仅仿真里需要实物调试时更至关重要养成这个习惯对后续做硬件很有帮助。4. 调制策略与均压控制模型能不能稳定运行的关键4.1 最近电平逼近调制NLM4电平模型的标配调制MMC最常用的调制策略之一是最近电平逼近调制原理很简单对每相调制波进行取整计算出某一时刻需要投入的子模块数量然后在这个数量的约束下分配上桥臂和下桥臂。设调制波m_ref在-1到1之间变化每相投入总数恒为N3。那么下桥臂投入数可以写成n_down_raw round(N * (1 m_ref) / 2); n_down max(0, min(N, n_down_raw)); n_up N - n_down;当m_ref为正时下桥臂投入数多上桥臂投入数少m_ref为负时反过来。这样输出电平就会在0、Uc、2Uc、3Uc之间阶梯式变化。NLM的优点是控制逻辑简单开关频率低器件损耗小非常适合大功率MMC。4.2 排序均压算法把电容电压“看齐”子模块电容电压均衡是MMC能稳定运行的前提。由于每个子模块的损耗、开关状态不完全一致如果不做均压电容电压会逐渐发散最终导致输出电压畸变甚至器件过压。最经典的排序均压算法分为三步第一步采样桥臂内所有子模块电容电压第二步排序第三步根据桥臂电流方向选择投入哪些子模块。规则是如果桥臂电流方向使电容处于充电状态就优先投入电压最低的那几个子模块如果电流方向使电容放电就优先投入电压最高的那几个。这段逻辑用大白话解释就是充电的时候先给“缺电”的充放电的时候先放“电多”的电。把这个逻辑写成循环就能让所有电容电压在控制周期内不断被拉平。4电平每桥臂只有3个子模块排序开销非常小。但在写代码时要注意排序和投入数更新必须用同一个控制周期否则会出现上一拍排序结果和当前投入数不匹配的问题。4.3 环流抑制不抑制也能跑但波形不好看环流在4电平模型里已经能明显观测到。如果桥臂电抗取得小桥臂电流里的二倍频成分会叠加出一个很明显的波动。环流本身不影响外部负载电流但它会增大桥臂电流有效值和电容电压波动。抑制环流的方法有两类。最简单的是增大桥臂电抗把环流压住但这不治本。工程上常用的是在控制中加入环流抑制器提取环流中的二倍频成分通过PR控制器或者旋转坐标系下的PI控制器生成一个补偿电压叠加到调制波上。我在4电平模型里的做法是先不接环流抑制把三相环流波形保存下来确认二倍频成分确实存在然后在控制中加入一个针对二倍频的谐振控制器观察环流峰峰值是否下降。这样对比着看对理解环流产生机理和抑制原理都很有帮助。5. 调试中的坑与排查链路我踩过的那些问题5.1 电容电压发散先查排序方向再查初始值第一次把模型跑起来时我很快就遇到了电容电压不稳定的问题。现象是三个子模块电容电压分别发散到不同的值有的涨到额定值1.5倍有的掉到接近0。波形看起来就是不收敛的锯齿。排查链路是这样的先检查预充电阶段确认三个电容的初始电压都设置为相同值再检查排序逻辑发现我把电流方向判断做反了充电的时候投入了电压最高的电容放电的时候投入了电压最低的电容等于把均压变成了“均不平衡”。这个方向判断是排序算法里最容易出错的地方建议单独写一个模块把桥臂电流方向和电容电压排序结果先打印出来人工核对一个周期再联调。5.2 启动冲击预充电电阻不是可有可无的有一次我为了省时间跳过预充电直接给了额定直流电压结果交流电流波形前几个周期直接冒出一个很大的尖峰这其实是电容初始电压与直流电压不匹配导致的冲击电流。正规启动流程应该是闭锁充电、解锁、再运行。加预充电电阻后冲击大幅下降。在实际操作中限流电阻阻值不能选得太小否则充电电流还是很大。可以从安全角度推算假设允许的冲击电流是20A直流母线电压3kV限流电阻至少150欧姆。充电过程是多个电容串联RC时间常数和继电器动作时间也要留足余量。仿真正好可以反复验证这个参数比实物调试方便得多。5.3 波形毛刺与数值振荡理想开关带来的数字病态仿真输出电压波形在电平切换的瞬间往往会出现高频毛刺这是理想开关模型导通和关断瞬间电流突变引起的数值振荡并不代表实际电路就一定有这样严重的过压尖峰。解决办法有几个在开关器件并联一个数字吸收电阻和电容阻值我一般取1e5欧姆电容取1e-6法或者改用阻尼更大的积分算法再不行就把最小步长缩小到5us。需要提醒的是吸收参数加得太大反而会引入额外时间常数让环流波形失真。这里需要测试几组参数选一个既消除毛刺又不太影响动态特性的组合。5.4 从4电平扩展到高电平模型时会有哪些新坑4电平模型跑通之后我把子模块数量提升到每桥臂10个以上很快就发现仿真运行时间成倍增加。排序算法的时间复杂度大约是O(N log N)N增大后计算量不可忽视。另外高电平模型的电容电压波动特性、桥臂电抗取值也会变化不能把4电平调好的参数直接套用。我在扩展时遇到电容电压波动反而变大排查后是因为桥臂电抗没有跟着重新设计环流抑制参数也需要重新整定。所以4电平模型的价值恰恰在于用最快的速度把控制框架跑通而不是直接模拟最终的高电压场景。6. 结果验收与向更高电平扩展怎么判断模型是靠谱的6.1 仿真模型验收指标4电平MMC模型基本跑稳后可以通过几个指标判断模型是否正确。第一电容电压波动控制在5%以内纹波呈现与基频相关的周期波动第二交流侧输出电流的谐波含量处于可接受范围第三启动过程没有过大的电流冲击第四加入环流抑制后桥臂电流里的二倍频分量明显下降。我习惯再做一个对照实验在纯电阻负载下把三相电流波形用FFT分析观察基波和主要谐波频次。NLM调制下的阶梯波谐波会有明显的分布规律如果谐波分布和理论预期相差太多说明电平分配或者死区逻辑有问题。6.2 模型验证用到的波形和数据以我搭建的实验室规模模型为例额定功率10kW直流母线3kV子模块电容220uF桥臂电抗4mH。仿真结果显示电容电压纹波约为4%到5%交流电流THD在阶梯波条件下大约5%左右。加入环流抑制器后桥臂电流中的二倍频分量峰峰值明显压下去波形比抑制前平滑很多。这套数据并不追求与高压实际工程完全一致而是为了验证控制逻辑的正确性。对很多仿真研究来说趋势正确、物理现象呈现清楚比数值完全匹配更重要。4电平模型的优势就是计算量小可以反复修改参数直到每个波形都符合物理直觉。6.3 后续扩展从4电平平台往哪走4电平模型跑通以后可以往三个方向扩展。第一个方向是提高电平数验证排序算法在更大子模块数量下的性能和优化空间比如分组排序、混合均压策略。第二个方向是加入故障工况例如直流短路、单相接地研究不同子模块拓扑下的故障电流特征。第三个方向是结合硬件在环测试把控制算法部署到实时仿真平台提前发现IO延迟和采样同步的问题。如果以后要做实物样机4电平仿真模型还能辅助完成控制器参数预整定和保护定值初步设计。我自己的经验是别急着追求高度逼真的器件模型先把控制逻辑和启动时序弄对再逐步细化MMC这套系统的仿真探索会顺畅很多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑