
先说明一下这篇不是教科书而是我用MATLAB/Simulink把一个H桥级联三相逆变器从原理图搭到能出波形的完整记录。做中高压大功率变流器仿真这些年H桥级联Cascaded H-BridgeCHB一直是我项目里的主力拓扑之一它把多个低压H桥单元串联起来不需要高压大功率开关器件就能输出中高压同时输出电压台阶多、谐波小、模块化程度高。这篇内容适合两类人一类是电力电子方向的学生想理解多电平逆变器到底好在哪顺便学会用Simulink做有深度的仿真另一类是刚接触中高压变流器工程方案的工程师想快速评估这套拓扑的波形质量、调制策略和主要风险。我会把拓扑原理、载波移相调制的参数计算、Simulink建模步骤、波形分析以及调试中容易踩的坑一次讲透照着搭就能跑出一个三相7电平的完整模型。1. 为什么是H桥级联拓扑思路与工程价值1.1 两电平逆变器的瓶颈先说在前面两电平三相逆变器是很多人入门的第一个模型一个桥臂两个开关管直流母线上下分压输出要么正母线、要么负母线电机端承受的电压跳变非常大。在中高压大功率场合问题马上会暴露出来。开关器件耐压有限想上3kV、10kV电压等级就得串联IGBT或IGCT串联均压、动态均压处理起来非常麻烦。输出电压dv/dt很大对电机绝缘、轴承电流、长电缆都会造成额外损伤严重时还需要昂贵的输出滤波器。大功率开关器件的开关频率本来就开不高传统两电平在这种工况下谐波问题很难压住。单管故障直接停机可维护性不好备件成本和运维压力都高。多电平拓扑就是为了绕开这些矛盾出现的思路本质就一句话多搞几个电平让输出电压阶梯化每一级的电压爬升幅度减小同时把开关管的电压应力摊开。电平数越多输出波形越接近正弦谐波和电磁干扰都会明显下降。1.2 一个H桥能干什么三种电平的生成单个H桥就是单相全桥四个开关管S1到S4两个桥臂。控制逻辑其实很简单S1和S4导通S2和S3关断输出Vdc。S2和S3导通S1和S4关断输出-Vdc。S1和S2一起导通或者S3和S4一起导通输出0V。也就是说一个H桥本身就是一个三电平电压输出单元。多个这样的单元交流输出端首尾串联每个单元只承受自己那一份直流电压合起来就能把耐压需求分摊到多个低压模块上。这里面有一个非常关键的点每个H桥的直流电源必须是独立、相互隔离的。H桥输出端串联时如果所有单元共用一个直流母线输出端串联路径会把直流母线短路整个拓扑直接失效。所以级联H桥要么用移相变压器加整流器给每个单元供电要么在新能源场景里让每个H桥背后接一组独立的光伏板或电池簇。1.3 三相级联的整体架构与电平数规律三相H桥级联逆变器每一相由N个H桥单元串联组成三相一共3N个H桥。每一相输出的相电压是这N个单元输出电压的代数和。电平数规律很规整相电压电平数 2N 1。线电压电平数 4N 1。N等于3时相电压就是7电平线电压13电平。电平数越多阶梯越密波形越接近正弦谐波越低。这是级联结构最直观的价值。典型应用场景包括中压变频器、有源电力滤波器APF、静止无功补偿SVG以及大容量光伏并网逆变器。光伏场景里每个H桥背后接一组光伏板天然隔离每串独立做MPPT这个是二极管钳位和飞跨电容拓扑都不太好做到的。工程上还有一个很受看重的点模块化。每个H桥是独立功率模块坏了可以旁路系统降额继续运行维修时直接更换模块比整体换功率柜体方便太多。这些优点让CHB在中高压领域地位一直很稳。2. 载波移相PWM调制原理与参数计算2.1 载波为什么要移相普通SPWM里同一个三相逆变器中各桥臂共用一个三角载波输出的高频开关动作是同步的。但级联系统一个相有N个H桥单元如果所有单元都用一个载波同时开断那N个H桥的输出变化会叠在同一个时刻合成波形虽然幅值变大了谐波分布和单个H桥相比并没有本质改变多电平的优势完全没发挥出来。载波移相PWMCPS-PWM的核心思路是把这N个三角载波在相位上依次错开让每个单元在不同时刻开关。这样叠加之后整个相电压的跳变被细化成很多小台阶等效开关频率成倍提高。打个比方一个重型开关门如果一次砸下来冲击和噪音很大换成N个轻型开关接力分段动作整个过程就平滑得多。2.2 相位偏移和等效开关频率怎么算先说最常见的双极性CPS-PWM每相N个H桥各单元的三角载波相位依次错开相位偏移 Δθ 2π / N弧度也就是360°/N。对应的时间偏移 Δt Ts / N其中Ts是载波周期。N等于3时三个载波相位分别取0°、120°、240°时间上每隔Ts/3错开一次。合成相电压的等效开关频率fs_eff N × fc。如果每个H桥改用单极性倍频调制载波之间错π/N等效开关频率可以提高到2N×fc波形质量更好代价是控制逻辑和死区处理更复杂。这篇例子按双极性CPS-PWM来做逻辑清楚足够把问题讲透。选载波频率有一个实用技巧最好取输出基波的整数倍。比如基波50Hz载波选1050Hz或者1500Hz这样调制波和载波保持固定相位关系后面做FFT频谱分析时不会出现一堆杂散的边带。2.3 调制比与输出电压的关系调制比ma定义为正弦参考波幅值与三角载波幅值之比线性调制区范围是0到1。对于N个H桥、每个桥直流电压Vdc的情况相电压基波峰值有明确的计算式Vph_pk N × ma × Vdc。线电压基波峰值 √3 × Vph_pk。拿我仿真用的参数举例N3Vdc500Vma0.85相电压基波峰值就是1275V线电压基波有效值大约1561V。这个关系在方案设计阶段非常有用反过来可以根据目标输出电压反推直流电压等级。ma超过1进入过调制区基波与参考不再保持线性关系谐波大幅增加。实际工程一般会留10%左右的调制裕量避免电网波动或负载突变时误入过调制区域。2.4 和其他多电平拓扑的取舍做方案选型时功率工程师经常要在几种多电平拓扑里权衡。我把几个常见拓扑列个表方便对比。拓扑电平扩展难度直流源要求电容/电源均衡典型工程场景H桥级联CHB容易加模块即可每个单元独立隔离直流源天然无电容中点问题但需单元间功率均衡控制中压变频、大容量光伏、SVG、储能二极管钳位NPC3电平成熟高电平数复杂一组公共直流母线母线电容电压均衡困难中压传动、风电变流器飞跨电容FC可到较高电平一组公共直流母线电容数量多预充电复杂实验室研究较多工业应用相对少二极管钳位NPC在3电平时非常成熟器件数量少、控制简单现场只有一套直流母线时很有优势。但7电平以上钳位二极管数量爆炸中间电容电压均衡很难处理。H桥级联则相反电平扩展只靠串联模块没有电容均压问题模块化强代价就是独立直流源多。所以做电机驱动且现场只有一套直流母线NPC/ANPC经常是首选做大容量光伏或储能系统CHB按电池簇和光伏串分组天然匹配。3. Simulink模型搭建不只看波形还要能复现3.1 仿真环境和工具箱我用的是MATLAB R2023a加Simulink加上Simscape Electrical工具箱包含Specialized Power Systems整套建模思路在近几年的版本基本通用。做功率电子仿真Simscape Electrical的元件模型是物理级建模功率开关、直流源、变压器的行为更接近真实器件同时控制部分是普通Simulink信号两边混用非常成熟。这里有个版本建议不要把Simulink基础库里那些理想开关硬拼成功率电路既麻烦又不真实。直接装好Simscape Electrical用里面的Universal Bridge和DC Voltage Source功率级的搭建会省很多事。3.2 整体模型框架模型分成三块功率主电路、PWM控制、测量与显示。功率主电路部分每相放3个Universal Bridge配置成单相全桥模式Bridge Arms2开关器件选IGBT/Diodes。每个H桥直流侧放一个独立的DC Voltage Source电压500V三相一共9个独立直流源。每相3个H桥的交流输出端首尾串联三相连成星形中性点经负载连接到公共参考地。负载用三相RL串联阻抗星形接法R10ΩL先用5mH后续可以加到20mH看纹波变化。控制部分三相正弦参考源三个Sine Wave模块频率50Hz幅值设成调制比ma0.85相位分别取0°、-120°、-240°。每个H桥配一个调制单元载波频率1050Hz三个桥的载波相位错开120°。把生成的PWM驱动信号分别接到对应Universal Bridge的Gate端。测量部分用电压测量和电流测量块取出每相电压、线电压、负载电流。Powergui里做FFT频谱分析。3.3 PWM生成两种可复现的做法第一种是直接用Specialized Power Systems库里的PWM Generator块这也是我推荐新手先用的方式。在每个H桥前面放一个PWM Generator选择单相全桥对应的4-Pulse模式。载波频率填1050Hz。Phase of carrier按桥序号填0°、120°、240°。调制信号输入端接该相的正弦参考值Vref。输出直接连Universal Bridge的Gate端模块内部自带互补逻辑和死区设置。这种办法最快模型干净先把功率电路跑通再说。第二种是用MATLAB Function写比较器适合后续要移植到DSP或者验证自己的调制算法。参考代码是这样function sw cps_pwm(t, Vref, fc, N, index) % 双极性CPS-PWM输出第index个H桥的开关命令 % sw1: 该H桥输出 Vdc % sw0: 该H桥输出 -Vdc Ts 1 / fc; % 载波周期 shift (index - 1) * Ts / N; % 各单元时间偏移 alpha mod(t shift, Ts); % 当前时刻在载波周期内的位置 if alpha 0.5 * Ts carrier -1 4 * alpha / Ts; % 上升沿-1 到 1 else carrier 3 - 4 * alpha / Ts; % 下降沿1 到 -1 end sw double(Vref carrier);这个函数里alpha和carrier的两段折线其实就是把三角载波从-1到1、再从1到-1走了一遍。Vref大于载波输出高电平开关命令否则输出低电平。对一个H桥来说sw控制一对斜对角管导通~sw控制另一对斜对角管导通。三个H桥分别用index等于1、2、3调用同一个函数载波相位就自然错开了120°。3.4 串联接线和门信号别接反这个环节最容易出错。每个H桥直流侧正负分明交流输出首尾顺序不能乱。三相星形连接时每相“首端”是悬空的相输出端最后一个H桥的“尾端”接到公共中点。如果顺序接反两个桥的输出会互相抵消相电压电平数直接不对波形千奇百怪。Universal Bridge的Gate端通常有多个入口PWM Generator生成的门信号要和桥臂一一对应。最保险的办法是先用单H桥N1的小模型把门信号顺序验证清楚再复制成三桥我后面调试部分会再强调一遍。3.5 参数清单和求解器设置直接给出一张参数表照着填就行。参数数值说明每相H桥数N3相电压7电平线电压13电平直流电压Vdc500V每个H桥独立直流源载波频率fc1050Hz50Hz的21倍周期性好调制比ma0.85避开过调制区负载电阻R10Ω三相Y接负载电感L5mH可调大看电流纹波变化Solverdiscrete, fixed-step固定步长1e-6s仿真时长0.2s留足稳态窗口做FFT步长选择是有讲究的。载波周期约0.95ms一个PWM脉宽最小也在微秒级固定步长1e-6s能保证每个开关沿都被准确采到不会出现波形抖动或漏脉冲。用变步长连续算法也可以但我个人更推荐固定步长尤其后面要加数字控制或做FFT的时候结果可复现性更好。3.6 死区处理实际硬件里IGBT存在关断延迟同一个桥臂上下两个管绝对不能同时导通死区是必须加的保护时间。仿真模型里PWM Generator块自带死区参数按硬件习惯填2到5微秒就能观察到死区对波形的影响。有些入门模型直接不加死区也能跑通但做工程预研时一定要把死区影响评估进去。死区太大会引入额外谐波和电压损失尤其是在调制比低、载波频率高的时候死区效应会更明显。4. 仿真结果与波形品质分析4.1 从Scope上看到的关键波形模型跑通以后Scope里每相三个H桥的输出是三个相位错开的±500V方波。串联相加后相电压呈现典型7电平阶梯电压级别分别是-1500V、-1000V、-500V、0V、500V、1000V、1500V。三相平衡星形接法下线电压是两相相减波形是13电平峰值会到大约3000V。负载电流经过电感滤波后基本是光滑正弦。如果你看到电平数少于7或者波形一边高一边低不用急着做FFT先回头检查串联接线和载波相位。4.2 FFT分析怎么看在Powergui里选择FFT分析工具数据窗口必须取稳态之后完整的整数个基波周期比如0.1s到0.12s这样频谱分析不会漏掉谐波能量。分析对象可以分别选相电压、线电压和负载电流。理想情况下谐波成分主要出现在等效开关频率3×fc附近及其边带低频段的5次、7次、11次谐波应该被压得很低50Hz基波占据绝对主导。拿我这个7电平模型的实际感受来说未滤波相电压的总谐波畸变率明显优于两电平SPWM负载电流因为电感滤波作用谐波表现更是好很多。关键看低频谐波是否被压下去如果低频段仍有明显的5、7、11次分量说明调制策略或载波频率选择有问题。4.3 调参时最容易看到的影响因素调制比ma调低到0.5相电压仍然是7电平但每个电平的驻留时间变化基波幅值下降载波边带相对基波的比例可能升高。载波频率从1050Hz提高到5000Hz开关沿更密谐波明显下降代价是开关损耗增大仿真步长也要压得更小。负载电感变小电流纹波大波形毛刺多电感变大电流更光滑但动态响应变慢。这跟实际硬件设计规律完全一致。建议跑一组横向对比同样N3载波频率分别取500Hz、1050Hz、5000Hz记录各自的电流THD你会发现等效开关频率越高谐波改善越明显同时也理解了为什么工程上总要权衡开关损耗。4.4 关于直流电压不平衡级联H桥各单元直流源如果不一致例如光伏场景下每串MPPT电压不同输出电压会出现不对称相电压的阶梯不再均匀。这时候可以在调制波上对各单元做电压分配高电压单元少出力一点低电压单元多出力一点这正是CHB在新能源场合的重要控制自由度。仿真里可以故意给三个直流源分别设480V、500V、520V观察波形差异。你能直观看到相电压的不对称、电流里可能出现的直流偏置以及为什么实际控制系统里必须做模块电压均衡。5. 常见问题与调试记录从报错到跑通的过程5.1 电平数不对先从N1开始查这是我最想强调的经验。如果你一上来就搭三相N3波形异常时根本不知道问题出在哪个环节。我自己调试顺序是单个H桥N1纯阻性负载确认单相输出3电平。两个H桥串联N2确认5电平。三个H桥N3确认7电平。把这个单相链复制出三相接星形负载。每增加一个单元先看相电压电平数对不对再看PWM开关序列是否错开。载波相位、门信号顺序、串联方向任何一个地方出错都能在最小范围内暴露出来。5.2 代数环和求解器报错建PWM比较逻辑时如果参考信号和载波之间存在直接反馈经常会遇到代数环报错或者模型运行时报“cannot solve”。处理办法很简单给离散比较路径加一个Memory块或者Unit Delay打破瞬时依赖或者直接从Clock取时间源用前面MATLAB Function的方式生成PWM基本不会碰到代数环。另外PWM Generator块要设置明确的采样时间不要留空。在离散求解器下面缺失采样时间会导致模型报错或者结果抖动。5.3 直流侧短路和巨大电流我遇到过几次把Universal Bridge门信号上下臂接到相反的情况仿真一跑电流直接爆表波形飞掉或者直接报错。这就是同一桥臂上下直通造成的相当于直流电源被短接。排查办法是看单个H桥输出波形如果它从Vdc直接跳到-Vdc没有中间状态却有巨大尖峰电流优先怀疑门信号配对。H桥的正确逻辑是sw为1时一对斜对角管导通sw为0时另一对斜对角管导通绝不能同一桥臂上下同时导通。5.4 FFT频谱乱糟糟如果FFT分析看到频谱上密集的边带通常不是模型错误而是数据窗口没有取整数个基波周期或者载波与基波频率不成倍数。把载波频率设成基波的整数倍比如1050Hz窗口取0.02s的整数倍频谱基本就干净了。还有一个容易被忽略的因素是仿真步长。离散采样步长太大会在频谱里引入数字混叠高频谐波折叠到低频段看起来像是出现了不该有的低频分量。固定步长压到1e-6s基本能解决。5.5 波形带直流偏置相电压如果不对称大概率是串联方向或者某一个桥没有正常调制。逐桥查看各个单元的平均输出电压正常情况应该都围绕0波动。如果某个桥长期输出Vdc或者-Vdc说明它的调制信号和载波没有正常相交要检查Vref的标幺化范围是不是超出了载波幅值或者载波比较逻辑方向反了。5.6 仿真时间取舍仿真时长建议分两步走先跑0.02s左右把稳态建立起来确认启动过程没有异常确定没问题后再跑0.2s到0.5s用于FFT。仿真时间拉长以后Scope数据文件会很大FFT分析反而卡顿。用Scope的存盘功能只保存在目标时间窗口的数据或者把数据通过To Workspace导出后只取需要的区间能省不少内存。另外要注意在FFT前等待暂态完全衰减尤其是带大电感的负载电流建立需要好几个基波周期。最后说点个人体会。我在用MATLAB/Simulink做这套H桥级联三相逆变器的时候最大的收获不是把波形跑出来而是通过FFT真正把“载波移相为什么能改善谐波”这件事看明白了。项目做完之后我又在同一个框架上把双极性改成了单极性倍频CPS-PWM对比了不同N值下的THD还尝试在光伏场景里给每个H桥接独立的MPPT控制。如果你也是从零开始建议先照着我上面的模型跑通再把载波频率和N值改一改做一组横向对比。那种对多电平调制的理解比连读十篇论文都来得实在。后续想继续深入的话可以往电流闭环、PLL并网、模块电压均衡和容错运行这几个方向扩展这套仿真框架完全撑得住。