☰
MMC级联H桥容错与冗余控制:从故障定位到重构策略的工程实践
2026/10/11 4:40:48 网站建设 项目流程

MMC 级联 H 桥这类设备,说白了就是一串 H 桥功率单元串联起来叠电压、出多电平,在中高压变频、链式 SVG、储能 PCS 里越用越多。单元数量一上去,单个子模块出故障就成了躲不开的现实;容错与冗余控制,也就从“可选功能”变成了“必做项”。今天不聊拓扑理论,只讲工程上怎么配冗余、怎么发现故障、怎么在故障之后把装置重新组织起来继续干活,顺带分享一些现场调试才踩得到的坑。

平时经常被人问,容错和冗余到底是不是一回事。我的回答是:冗余是“预先多放几个能用的单元”,容错是“故障后重新组织系统让它还能工作”。前者是硬件预算,后者是控制策略,两者配合起来才是一套完整的可靠性方案。这篇文章的读者,应该是正在做中高压变流器、PCS、变频器或者任何子模块化变流装置的人;哪怕你只是刚接触这类设备,把这三块内容理顺了,也能少走不少弯路。

1. 为什么容错与冗余是级联 H 桥绕不开的设计题

1.1 子模块故障是必然事件,不是偶然事件

功率单元数量上去了,器件的总失效率跟着上去。一个桥臂串 20 个 H 桥,整机可能就有 60 个甚至更多功率单元;每个单元里又是 IGBT、驱动板、电容、旁路接触器一整套,哪个环节闪失都能让整个桥臂停止输出。我在做某型 10kV 链式装置前期可靠性评估的时候,按单模块年失效率粗算,整机一年内发生至少一次可维护故障的概率已经高到不能忽略。所以拓扑结构越是模块化,系统层面的容错设计就越要前置。

这不是“多加几个备件”的口号,而是需要从三个层面同时预留:主电路层面要留出可旁路的电气通路,控制层面要预埋故障检测和状态上报机制,通讯层面则要保证故障信息能在几个周期内稳定上传主控。很多项目最后容错效果差,不是某一个环节没做到位,而是这三个层面没有对齐。

1.2 容错和冗余到底在解决什么不同的问题

冗余解决的是“硬件还有没有余量”,容错解决的是“软件怎么把余量用起来”。常见的理解误区是拿冗余度直接等于容错能力,这不对。给了 N+2 的硬件,但不做故障定位、不做旁路时序、不调整调制波,故障一来照样跳机。反过来,没有任何冗余的桥臂,理论上也能通过降容坚持一小段时间,但可用时间极短,没有工程意义。

我的设计习惯是先根据任务可靠度要求定冗余数量,再围绕这组冗余配置去写故障后的控制逻辑,每一个故障模式都要有对应处理路径。落到具体项目里,我会在规格书阶段就明确:允许几个单元同时故障、故障后维持额定还是降容、从故障发生到重构完成允许多少毫秒。这些指标定了,后面主电路和控制软件的改动就有边界了。

2. 冗余配置怎么选:冷备用、热备用和裕度计算

2.1 冷备用与热备用的取舍

工程上常见的冗余方案是两种:冷备用和热备用。冷备用是把额外的子模块放在桥臂里,平时不给触发,故障单元被旁路之后,再把冷备用单元切入承担电压;优点是待机损耗小,缺点是切入瞬间冲击大,需要预充电和相位对齐,切换时间通常在几十毫秒级。热备用则让所有单元始终参与调制,额定电压等级由全部 N+冗余 个单元共同承担,故障后把故障单元摘掉,剩余单元继续按原逻辑运行;切换快,但热备用单元每天都在承受电容应力和电流应力,老化和损耗都比冷备用大。

对比项冷备用热备用
待机损耗很小有持续损耗
故障切换时间较慢,几十毫秒级别快,一个控制周期内可完成
切入冲击大,需预充电对齐小
器件应力备用单元几乎无应力所有单元持续带应力
适用场景对切换时间要求不苛刻对切换时间敏感的主电源场合

实际工程里,两者并不是完全对立。我见过不少系统采用“虚拟热备用”的折中方案:备用单元平时并不投入调制,但电容一直通过辅助回路维持在额定电压附近;一旦需要切入,省去预充电步骤,冲击电流大幅小,代价是备用单元的辅助供电回路要一直工作。这类细节在设计阶段就要想清楚,否则现场改起来很被动。

2.2 冗余度怎么定:从 N+1 到参数化方法

最粗暴的做法是每个桥臂多配一个单元,也就是 N+1。但单元数量多的设备,一个冗余量往往不够。我习惯先定可用度目标,比如希望桥臂在两个检修周期内不因为单点故障而停机,再拿子模块故障率去算。假设单个子模块年均故障率是 λ,桥臂有 N 个额定单元、额外配 r 个冗余单元,那允许 r 个单元故障后仍能维持额定的概率,可以用泊松分布粗略估算。

工程上,r 取 1 到 3 就能覆盖绝大多数场景,取太多成本收不住。曾有项目想把每个桥臂配 5 个冗余单元,我按故障率和检修周期一算,可靠性收益曲线已经很平,硬件成本却增加了不少,最后砍到 2 个。冗余不是越多越好,而是要让“故障概率”和“检修间隔”匹配。现场运维如果三个月就全面巡检一次,冗余可以少配;如果一年才停一次机,冗余就得留足。

2.3 备用单元的接入位置与投切时序

备用单元不是随便挂上去就行。桥臂串联结构里,每个单元位置对应固定的电位、冷却条件和通讯链路。我的习惯是备用单元也放在桥臂中,物理上随时能旁路脱离或投入,而不是只放在备件库里。冷备用单元平时不参与调制,但电容要通过预充电回路维持在额定电压附近,这样故障切入时不会因为电位差产生大冲击。

投入时序分三步:先检测备用单元电容电压与桥臂实际电位是否匹配,再解锁旁路回路让单元接入串联路径,最后给该单元分配载波相位和均压队列位置。三步之间要加互锁,否则很容易在切换瞬间把好单元也拖坏。我做热备用切换时,一般把这三步收敛在一到两个 PWM 周期内完成,对调制连续性影响很小。

3. 故障定位三步走:先把故障“看”清楚

3.1 常见故障类型与故障机理

H 桥子模块里,最常见的是功率开关器件故障:IGBT 开路、IGBT 短路、驱动板欠压或信号丢失、直流电容退化甚至失效。开路故障最阴险——系统还能跑,但输出波形已经残缺,谐波变大,电容电压不平衡会缓慢积累;短路故障最危险——如果不快速封波封锁 PWM,直流母线相当于被直接短路,可能烧毁更大范围。此外还有旁路开关本身的故障,比如机械接触器粘连或驱动失效,这种问题往往在故障重构时才会暴露出来。

我把故障类型和对应表现整理成了一张表,方便现场排查时快速对照:

故障类型典型表现优先定位手段
IGBT 开路电容电压周期不对称,输出波形残缺电压残差、波形形态
IGBT 短路电容电压骤降,桥臂电流异常硬件保护动作、快速封锁
驱动信号丢失单元输出丢失,状态字上报异常子模块状态字确认
电容退化电压纹波增大,温升偏高电容电压纹波分析
旁路接触器粘连旁路后状态反馈错误旁路回路通流检测

3.2 基于电容电压和输出波形的判据设计

我这边实际用的故障判据,第一看 H 桥电容电压。正常运行时,电容电压围绕指令值波动,上下偏差一般控制在 5% 以内;如果某单元 IGBT 开路,它在特定开关状态下电容不再正常充放电,电压会持续偏移超限。第二看子模块输出电压与调制指令的残差,这个残差在控制器里很容易算,用一个基波周期的滑动窗口算 RMS 值,超过阈值就报可疑。第三看桥臂电流 THD 和特征谐波,电流畸变往往比电压偏差晚出现,但能帮助确认故障影响范围。

三个判据取“或”逻辑还是“与”逻辑,取决于你对误报的容忍度。为了保护设备,建议快速报警用“或”,定位确认用“与”,配合延时去抖,误报率能压下来。阈值没有统一标准,一般取额定电容电压的 5%~10%。我在某项目上试过把阈值调到 3%,结果负载一波动就容易误报,最后折中到 6%,既不会漏掉明显故障,也不会成天鸡飞狗跳。

3.3 故障定位的工程实现

定位故障单元不能靠猜。工程上每个子模块控制器会上报自己的状态量,包括电容电压、温度、驱动故障信号、旁路开关位置反馈;主控制器拿到这些信息后,与电气判据交叉验证。我初期测试只靠电容电压排序做定位,负载突变时误判过好几回;后来改成“电气量初筛 + 各模块状态字确认”,定位准确率和速度都上来了。

定位时间一般控制在 1 到 2 个基波周期内。定位太慢,故障扩展风险大;定位太快,抗扰动能力差。这里建议把“初筛、确认、旁路、重构”四步的状态机画清楚,每一步都记录故障录波。故障录波这个东西,现场排查时价值极高,没有录波,故障就像发生过又没发生过,全靠人猜。

4. 旁路投入与重构控制:现场最容易出问题的环节

4.1 旁路回路设计要点

旁路开关是容错动作的执行机构,很多项目在这里翻车。机械接触器便宜、漏电流小,但动作时间在 10ms 量级,而且大电流分断能力有限,容易熔焊。晶闸管旁路速度快,微秒级就能导通,但导通后要等电流过零才能自然关断,需要合理设计维持回路。固态开关速度最快,成本也高、驱动复杂。我的建议是功率等级不太高时,用晶闸管旁路配合机械旁路作后备,两路并联,兼顾速度和可靠。

旁路动作后,子模块的直流电容一定要通过放电电阻缓慢泄放,避免长期带电。旁路导通过程中的冲击电流也得关注,最好在主电路层面有限流设计,否则故障重构瞬间,旁路的浪涌会把旁边健康单元也震出保护。我碰到过一套设备,故障单元旁路时相邻单元的驱动直接报过流,就是旁路回路阻抗太低、冲击电流过大导致的。

4.2 载波移相策略在线重构

载波移相是最常用的调制方式,正常 N 个单元平均错开 360/N 度相位。故障单元旁路后,如果还按原来的载波相位发波,输出波形质量会明显变差。我实际用到的做法是:主控制器看到定位结果后,把故障单元的载波相位从相位表中删除,剩余单元重新均分相位,同时把故障单元原本承担的电压份额重新分配到所有健康单元上。

这个载波表更新操作必须在故障后 1 到 2 个基波周期内完成,否则均压环会紊乱。重新分配之后,电容电压排序队列也要同步更新,把故障单元从队列里摘掉。现场实测下来,重构完成后输出线电压 THD 基本能回到接近故障前的水平,只是谐波带宽略窄一点。如果重构速度慢了,系统会先触发过流或者过压保护,容错等于没做到位。

4.3 NLM 与排序均压策略的故障适配

采用最近电平逼近(NLM)调制时,故障后的处理更直接:电平数从 N+r 降到 N+r-k,控制器把目标电平序列相应减少就行,但排序均压算法要特别小心。排序算法如果继续对故障单元做开关动作,就会把故障单元反复“唤醒”,容易引发二次故障。正确的做法是在排序前先屏蔽故障单元,并更新均压队列。

还有一个容易被忽略的细节:故障单元旁路后,桥臂等效开关节点少了,单个健康单元的等效开关频率会上升,温升压力变大。所以容量设计和散热设计都要留有余量,否则故障没把设备搞停,重构后的过温保护先动作了。我在某个样机上做过测试,旁路掉一个单元后,剩余单元的最高温升比正常工况高了不少,后来水冷流量做了调整才压住。

4.4 故障后的环流抑制与参数调整

MMC 结构里桥臂之间本来就有环流,故障后三相桥臂参数不对称,环流会明显增大。我处理的办法是加一个环流控制器,用准 PR 调节器把二倍频环流压到额定值以内;同时观察桥臂电感电流,如果电流脉动过大,需要稍微降低调制比运行。对于级联 H 桥这种不带桥臂电感的场合,故障相的电流分配会更难平衡,这时候得靠单元间均压去强化收敛。

这里建议桥臂电感设计时预留 10% 到 20% 的裕量,就是给这种不对称工况准备的。当然这些都是事后补救,真正稳的还是冗余配置:让故障后剩余单元数量依然高于最小运行单元数量,系统就始终有回旋余地。

5. 三相不平衡工况下的降容运行:零序注入和功率再平衡

5.1 故障相容量下降后的运行边界

故障单元被旁路后,那一相的最大输出电压能力就减少了。如果三相都运行在额定点附近,故障相肯定顶不上去,整个系统就被迫降容。设每相额定单元数为 N,故障后有效单元数为 Nf,则该相最大输出幅值按 Nf/N 比例折算,整体出力也要跟着降。核心问题不是“降多少”,而是“怎么把剩余能力利用到极限”。

对级联 H 桥这类每相独立、有零序通路的拓扑结构,通过注入零序电压可以重新分配三相的电压利用率,让故障相不越限的同时,非故障相尽量多出力。对 MMC 三相桥臂直接耦合的结构,相间能量再平衡靠环流控制实现,本质也是类似的再分配思路。搞清楚了这一点,你就能理解为什么同样是一个单元故障,不同拓扑能坚持的出力水平差别很大。

5.2 零序注入算法怎么落地

零序注入说起来简单,落地要小心。最常用的方法是实时计算三相调制波包络,如果某一相调制波峰值超过限幅,就整体叠加一个零序分量,把三相峰值压回限幅范围内。具体可以这样算:取三相参考波的最大值 umax 和最小值 umin,若组合区间超出限幅框,则叠加 u0 = -0.5 * (umax + umin),把可用区间整体平移到限幅框内。

这个式子不用解三相复杂方程,在控制器里每个基波周期算几次就能跟上。但注意,零序注入会改变每一相相对中点的电压,也会影响直流侧电容的功率分配,实际调试时最好先在离线电磁暂态仿真软件里跑一遍,再搬到控制器里。我做过一个项目,就是先离线仿真验证算法,再做硬件在环故障注入测试,最后才上真机,这样一步步走过来,出问题的概率就小很多。

5.3 降容策略与实际出力评估

降容不是直接把指令调小那么简单。我习惯先算故障后三相可输出的最大调制比范围,再按负载类型降额:风机泵类负载可以降转速,转矩需求小的负载甚至可以维持转速但降转矩;如果负载必须降额,要给上位机送一个“当前可用功率”状态字,避免现场运维误以为是控制器抽风。

实测数据供参考:某 10kV 级联装置,旁路一个单元后,输出电流额定值能保持到大约 90%;旁路两个单元后,一般就降到 80% 以下,这时是否继续运行要结合负载和温升判断。容错能力要在主控里量化为可用的出力边界,而不是一个模糊的“能跑就行”。出力边界没有量化,现场人员和上位机都不知道系统还剩多少能力,很容易在极限状态下把设备逼停。

6. 实战排查记录:几个典型的“翻车”现场

6.1 案例一:IGBT 开路,电容电压同步升高

某项目调试中出现一个 H 桥单元的电容电压持续高出指令值 15%,但整机没有立刻报警。拉故障录波发现,这个单元在一个基波周期内的充电时间明显比放电时间长,判断为 IGBT 开路导致单元只能充电、不能正常放电。处理方法是先封锁该单元 PWM,再旁路,重新分配载波相位,系统降载运行。事后拆机确认是其中一只 IGBT 的门极驱动信号接触不良。

这个案例给我的教训是:不要等系统报“过压”才检查,电容电压的周期不对称比单纯超限更早暴露故障。我在后续的故障诊断逻辑里加了“正负半周电容电压变化量对比”这个特征量,对单管开路故障的敏感度提升不少。

6.2 案例二:旁路接触器粘连导致重构失败

还有一次是故障重构时,机械接触器闭合后无法反馈“已旁路”状态,主控按旁路失败处理直接停机。原因是旁路电流太大,触点熔焊在了一起。后来我们把机械接触器换成“晶闸管快速旁路 + 接触器后备”的组合,并增加了旁路回路通流检测,问题才彻底解决。

这里特别提醒:旁路开关的选型要看故障冲击电流和通流时间,而不是只看额定电流。机械触点在大电流冲击下的熔焊风险,在实验室里未必看得见,到了现场大负载条件下是真的会发生。所以我在设计评审时一定会追问旁路器件的极限通流曲线,不满足就换方案。

6.3 案例三:冷备用单元投入后直接过流

冷备用单元第一次切入系统时,电容电压与桥臂电压差异过大,投入瞬间产生较大冲击电流,把上游驱动都打保护了。原因是备用单元长期不带载,电容电压和桥臂实际电位没有对齐。后面在备用单元待机期间增加了周期自检和预充电保持,投入前再校验电压误差,调整了切入时序,冲击电流才压下来。

这个坑说明:切换速度不是越快越好,而是“先对齐再切”才稳。很多人一开始都在追求毫秒级切换,结果现场一次冲击就把开关管打了;实际上多花十几毫秒做电压对齐,对系统连续性影响并不大,可靠性却高很多。

6.4 案例四:NLM 模式下故障单元旁路后谐波异常

还有一次是 NLM 调制的系统,故障单元旁路后电平数减少了,但排序均压算法没有及时屏蔽故障单元,导致健康单元频繁取向故障单元的开关位置,输出电压出现明显毛刺。整改后把故障单元从均压队列中剔除,并将均压排序周期适当加长,波形立刻干净了。

这类问题在纯软件仿真里有时显示不出来,因为仿真模型没有接触器响应时间和开关损耗的实际差异。所以我的原则是:容错策略必须用硬件在环或者真机故障注入来验证,光看仿真波形会漏掉很多现场因素。

7. 从调试现场总结的几条干货

7.1 出厂联调时重点验证的容错场景

我现在做这类装置出厂联调,会强制要求跑这些场景:单单元故障旁路、双单元故障旁路、旁路开关拒动、备用单元冷启动投入、故障期间输出跌落再恢复。每个场景都要记录从故障发生到重构完成的时间、降容比例、THD 变化,作为出厂数据存档。仿真通过不算数,必须真机做故障注入,哪怕是低压模拟故障,也比纯软件仿真可靠得多。

这套出厂测试流程,看起来多花了一些时间,但能提前暴露一多半的现场问题。我曾经在一套样机上连着发现三个控制时序问题,全是在故障注入环节暴露的;要是直接拉到现场,每个问题都会成为一次停机事故。

7.2 现场运维中值得坚持的几个习惯

现场调试时随身带一套故障录波分析工具,故障发生后先看录波再复位,不要急着消除报警。定期做冗余单元的脉冲测试,让备用单元也轮流参与运行,避免“关键时刻备件是坏的”。每次容错动作之后,复位后的系统要重新执行一次自检,确认旁路回路和通讯链路都正常再重新投入。

最后再分享一个小技巧:把故障后的重构策略做成“参数表 + 状态机”,不要散写在乱糟糟的逻辑代码里。每个故障模式对应一组成熟的参数,比如目标电平数、均压队列、载波相位表、降容比例,这样处理故障时主控只需要查表切换,逻辑清晰,调参也快。我在几个项目里用这套思路,现场问题定位时间平均缩短了三分之一,这个收益是实实在在的。容错与冗余控制做到这个程度,才算是真正能让人放心运行的可靠性设计。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询