Z源逆变器三种SPWM调制策略仿真对比与参数设计

📅 发布时间:2026/10/20 16:19:10
Z源逆变器三种SPWM调制策略仿真对比与参数设计
做电力电子仿真这几年Z源逆变器是我绕不开的一个课题。最早是在一个光伏并网模拟课题里输入侧电压只有不到200V后级却要输出三相380V级别的正弦电压传统电压型逆变器只能降压死活做不到只能在前级再加一台Boost直流变换器体积、成本和效率都不太好看。后来接触到Z源逆变器靠一个X型LC阻抗网络把“直通”从禁忌变成可控状态一台单级逆变器就同时实现了升降压这个思路确实有吸引力。Z源逆变器的核心技术点集中在两个地方一是阻抗网络的参数设计二是SPWM调制策略中直通状态的插入方式。同一套主电路拓扑改用不同的SPWM模型输出电压波形质量、开关管电压应力、电感电流脉动都会有非常明显的差别。接下来我就把实际搭建和对比过的几种SPWM仿真模型系统地梳理一遍把原理、实现、参数计算和踩坑记录都摊开讲。适合正在做逆变器仿真、刚接触阻抗网络拓扑或者正卡在“为什么别人的升压效果我复现不出来”这类问题上的研究生和工程师参考。1. 为什么Z源逆变器值得单独搭建一套仿真模型1.1 传统电压型逆变器留给我的三个痛点在讲Z源逆变器之前我得先说说传统方案到底哪里不够用。第一个痛点是只能降压。电压型逆变器的交流输出电压峰值不可能超过直流母线电压这是拓扑本身决定的。想从低压母线得到高压交流输出只能在前面加一级Boost电路系统变成两级结构控制复杂度和功率损耗都上去了。我最早做的那个课题就是这么被逼着设计了两级变换器后来才觉得这条路走得冤枉。第二个痛点是直通是绝对禁区。同一个桥臂的上下管同时导通相当于把直流母线直接短路所以必须留死区时间。死区会带来输出电压畸变尤其在载波比不高、调制比偏低的工况下波形质量明显变差还会引入低次谐波。这个问题在并网电流质量要求高的场合非常棘手。第三个痛点是应对输入电压波动的能力弱。光伏板输出电压随光照、温度变化很大燃料电池和储能电池的端电压也会随荷电状态明显波动。传统电压型逆变器要维持稳定的交流输出必须在前级加变换器稳定母线电压等于把一个希望单级解决的问题拆成两级去做。这三个痛点组合在一起Z源逆变器的价值就非常清楚了。1.2 Z源阻抗网络到底在做什么Z源逆变器和传统电压型逆变器最大的结构区别就是在直流源和逆变桥之间插了一个对称的X型LC网络两个电感L1、L2两个电容C1、C2交叉连接成一个阻抗网络。这个网络的要点是两种开关状态。非直通状态下逆变桥工作方式跟传统SPWM一致直流源和电容同时通过电感向负载传递能量直通状态下某一相甚至三相桥臂的上下管同时导通逆变桥被短路此时电感和电容构成回路电感储存的能量向电容充电。通过反复切换这两种状态直流链电压就能被抬到高于输入电压的水平。这里有一个贯穿全程的公式升压因子B 1/(1 - 2D)。其中D是直通占空比定义为一个开关周期内直通时间所占的比例。B是直流链电压峰值与输入电压的比值。D不能超过0.5否则升压因子趋向无穷大实际系统当然不可能稳定工作。D的实用范围通常在0到0.4之间对应升压因子1到5左右再大就要面对极其严苛的器件应力和损耗问题。传统逆变器只有有效状态和零状态两种状态Z源逆变器多了“直通状态”这个第三种状态。这个状态不产生有效输出电压却直接决定了升压能力。正因为多了这个变量调制策略才有了各种设计空间这也是同一个主电路可以套用不同SPWM模型的根本原因。2. 多种SPWM调制策略的实现与差异2.1 直通插入的核心逻辑我先说清楚“直通插入”到底怎么理解。传统三相SPWM每相有上下两个开关互补导通一个开关周期内会出现一个或两个零状态。所谓直通插入就是把直通信号塞进零状态的时间段里而不是塞进有效状态里。为什么必须从零状态借时间因为有效状态决定输出电压矢量直通一旦占用了有效状态的时间输出电压就会下降谐波也会增大。仿真里我见过不少模型就是在这里写错了逻辑结果输出相电压比传统SPWM还低升压效果完全没体现出来甚至波形严重畸变。具体实现上常用做法是先用三相正弦波与三角载波比较生成基础SPWM信号再单独生成一路直通信号ST把它与原有信号做逻辑或。ST为高时某一相或所有三相的上下管同时导通完成直通插入。ST在时间上必须严格落在零状态窗口内不能跨到有效状态窗口。三种主流SPWM策略——简单升压控制SBC、最大升压控制MBC、最大常数升压控制MCBC——本质上就是三种生成ST、控制直通占空比和直通位置的方法。另外单相Z源逆变器的SPWM模型逻辑类似只是调制波只有两路直通信号的组合方式可以更灵活但核心约束和三相完全一致。2.2 简单升压控制最适合入门的一种SPWM模型简单升压控制是我建议所有刚接触Z源逆变器的人先调通的一种模型英文缩写SBC。原理上它在三角载波比较环节之外额外设置了两个阈值上阈值1-D、下阈值-(1-D)。当三角载波高于上阈值或低于下阈值时ST输出为高所有桥臂全部直通。只要载波运行到上下阈值之外直通就发生。因为正弦调制波的峰值必须被限制在阈值以内所以这个策略有一个硬约束M D ≤ 1M是调制比。SBC的优点很突出。实现简单只需要两个比较器和一些逻辑门直通占空比恒定电感电流纹波频率等于开关频率滤波器和控制参数比较容易设计。缺点也很明显升压比需求高的场合M必须取得很小输出电压波形畸变率会变大同时有效状态期间直流链电压被抬高到B×Vdc开关管承受的电压应力比较高。我用SBC做过的典型算例是输入直流100VM0.8D0.18算得B1.5625直流链电压峰值约156V理论输出相电压峰值62.5V。实测波形和理论值很接近偏差主要来自器件压降和死区仿真层面来说精度已经足够。2.3 最大升压控制升压能力上限但有一个坑最大升压控制的想法很简单既然直通只能占用零状态时间那就把所有零状态全部替换成直通一点也不要浪费。这样直通时间最长升压能力最大。但这里有一个绕不过去的坑最大升压控制下的直通占空比不是恒定值而是在6倍基波频率附近脉动。平均直通占空比约等于D_avg 1 - (√3/2)M对应升压因子B 1/(√3M - 1)。从公式可以看出M越接近1/√3升压因子越大但逼近的过程非常陡峭参数稍有波动就会导致D剧烈变化。我实际用MBC做出来的波形和SBC一对比就很直观输出电压基波确实更高但电感电流的包络带有明显的6倍频低频波动电容电压的波动也随之增大。如果应用场景对输入电流纹波敏感比如光伏输入侧需要低纹波保证MPPT最大功率点跟踪精度MBC这种脉动直通占空比就会带来麻烦。所以MBC更适合作为理论研究的上限参考而不是直接搬到实际工程方案里。仿真做对比时用一用没问题作为最终选型时要谨慎。2.4 最大常数升压控制工程上的折中最优解最大常数升压控制可以看作MBC和SBC的结合。它通过向三相调制波注入三次谐波把调制波的实际峰值从M压低到(√3/2)M这样在不挤占有效状态时间的前提下可以获得一个恒定且比较大的直通占空比D 1 - (√3/2)M。这样做的好处非常明显。直通占空比恒定不脉动电感电流纹波回到开关频率量级和SBC一样干净升压能力接近MBC在同样调制比下比SBC高出不少开关管的电压应力分布也更均匀对器件选型更友好。代价是调制逻辑更复杂。在仿真环境里做就是在三相正弦波生成之后先加一个三次谐波叠加环节再把处理后的波形送去比较。三次谐波幅值一般取基波的1/6左右这是工程上最常用的取值峰值抑制效果最明显。如果对波形质量有要求、升压需求又比较极端MCBC可以说是最实用的选择。2.5 三种调制策略怎么选一张对比表说清楚三种策略的核心差异其实可以凝练成一张表。以输入100V、M0.8为例SBC受MD≤1约束最多只能取D0.18而MBC和MCBC可以取到约0.307升压能力差距非常大。策略可实现的直通占空比M0.8升压因子B理论相电压峰值电感电流纹波特征开关管电压应力SBC0.18恒定1.562562.5V开关频率纹波高MBC0.3076倍频附近脉动2.59103.7V含有6倍频低频波动较高MCBC0.307恒定2.59103.7V开关频率纹波较低从这张表能读出几个结论升压能力上MBC和MCBC明显高于SBC波形的干净程度上SCB和MCBC明显好于MBC综合升压和波形质量两个维度MCBC是最实用的。学校做仿真对比研究可以把三种都搭一遍实际工程项目我个人的排序是SBC用来验证系统MCBC作为正式方案MBC只作为理论上限的参考。3. 基于常用电力电子仿真平台搭建模型3.1 主电路模型结构Z源逆变器仿真模型主要由四部分拼起来直流源、Z源阻抗网络、三相逆变桥、三相负载。直流源用直流电压源模块幅值按输入电压设置。Z源阻抗网络需要在正负母线上各串一个电感再用两个电容交叉连接成X型。这个交叉是精髓如果接成普通LC滤波升压功能就完全没了这点务必检查。逆变桥可以用三个半桥模块组合或者直接用通用三相桥模块。负载用星形连接的三相阻感负载比较接近实际工况。输出侧如果想看更标准的正弦波形可以在桥和负载之间加一级LC滤波器但对比调制策略时建议先不加直接看桥输出电压。模块选型上我建议不要一开始就用带完整物理特性的开关器件模型先用理想开关模型把调制逻辑跑通等控制逻辑验证无误后再替换成带导通压降和开关损耗的详细模型调试效率会高很多。我常用的参数是直流源100VL1L21.2mHC1C2100μF开关频率10kHz负载星形连接每相10Ω电阻串联5mH电感。3.2 调制信号生成模块这一步是整个模型的核心也是出错率最高的地方。我习惯分成三个部分来做。第一部分生成三相正弦调制波。用正弦波发生器频率50Hz三相相位分别设置为0°、负120°、正120°幅值取调制比M。注意三相之间不能有相位错误否则三相波形会乱。第二部分生成三角载波。载波频率取10kHz幅值范围取-1到1。载波频率和仿真固定步长要匹配否则后面直通信号的宽度会失真。第三部分是直通逻辑。SBC用两个常数比较器阈值设为±(1-D)当载波高于上阈值或低于下阈值时输出ST1MCBC则是先把三相正弦波加上三次谐波再做类似SBC的比较MBC检测三相基础SPWM信号是否处于零状态零状态时输出ST并插入直通。信号合并有个标准逻辑每相上管驱动 基础信号 OR ST下管驱动 互补基础信号 OR ST。这样ST为高时对应桥臂上下管同时导通完成直通。如果三相共用同一个ST就是三相全直通如果让ST在一个周期内轮流只作用于某一相就是交替直通器件应力会更均匀。仿真对比里先用三相全直通比较简单。3.3 关键参数计算以一个常见工况为例完整算一遍参数。输入Vdc100V调制比M0.8开关频率fs10kHzTs100μs用SBC策略取直通占空比D0.18。先校验约束MD0.98小于1有裕量满足SBC的约束。升压因子B1/(1-2×0.18)1.5625。直流链电压峰值V_chainB×Vdc156.25V。理论输出相电压峰值VphM×V_chain/262.5V。电容稳态电压VcVdc×(1-D)/(1-2D)100×0.82/0.64≈128.1V。直通状态下电感两端电压近似等于Vc。假设负载功率约1kW输入电流平均值约10A电感电流纹波按20%设计允许ΔiL2A。电感量LVc×D×Ts/ΔiL128.1×0.18×100μs/2≈1.15mH工程上取1.2mH这是前面主电路参数里电感值的来源。电容纹波按2%设计允许ΔVc约2.56V。电容量CIL×D×Ts/ΔVc≈10×0.18×100μs/2.56≈70μF工程上取100μF留出裕量。如果改成MCBC或MBCD会变大到0.307Vc相应变大到约180V同样的纹波要求下电感和电容都要取得更大这也是MCBC主电路成本比SBC高的原因之一。仿真求解器设置上建议固定步长离散求解器步长不超过直通时间最小宽度的五分之一。按10kHz开关频率、D0.18计算直通时间约18μs步长取1μs比较稳仿真速度也还能接受。如果开关频率更高步长要相应缩小。4. 仿真结果的波形分析与对比4.1 关键波形看什么仿真跑完不是看一眼“像正弦”就完事我最少会拉四路波形出来检查。第一路是直流链电压波形。非直通时电压是Vc直通时电压是0理想情况下呈现方波脉冲形状峰值对应升压因子B×Vdc。如果峰值远低于理论值说明升压没做出来这是最直接的判断信号。第二路是电感电流。直通时电感电流上升斜率陡峭非直通时缓慢下降。纹波大小和频率能直接反映参数设计是否合理。前面说过MBC会看到6倍频包络SBC和MCBC则比较均匀这个特征非常明显。第三路是电容电压。稳态应接近Vc如果波动幅度大说明电容量偏小。第四路是输出相电压和线电压。经过滤波器后应接近正弦重点看THD和有没有因直通插入导致的边沿毛刺。毛刺往往是直通与有效状态边界没对齐的征兆也可能是步长太大。4.2 同一工况下三种SPWM波形差异我在同一组主电路参数下分别跑过三种策略统一条件是输入100V、M0.8、负载相同D由各策略各自决定。结果对比如下指标SBCMBCMCBC直通占空比0.18恒定0.307脉动0.307恒定直流链电压峰值约156V约259V约259V相电压实测峰值约62V约103V约103V电感电流波形开关频率纹波干净含6倍频波动开关频率纹波干净开关管电压应力较高较高较低且均匀从波形上看MCBC和SBC的电感电流都非常规律MBC能明显看到低频包络。输出加相同参数的LC滤波器后MCBC的THD最容易压下来因为输入到滤波器的干扰频率高、幅度小MBC需要为低频波动专门加大滤波电感SBC在低升压需求下其实也能接受但一旦升压需求变高调制比被压缩THD就比较难看。这里也验证了理论计算与仿真的对应关系SBC相电压62.5V的公式预测值和实测基本一致MCBC和MBC的103.7V理论峰值与仿真也吻合。如果偏差超过5%多半是直通占空比被什么东西吃掉了按下一节的方法排查。4.3 “仿真结果和理论公式对不上”的排查顺序碰到仿真和公式对不上不要急着怀疑理论错了。我一般按这个顺序排查。第一步先测直通占空比实际值。把ST信号拉出来用测占空比的功能和设定值对比。死区设置、逻辑门延迟、仿真步长都可能偷走一部分直通时间。第二步测直流链电压峰值。如果峰值明显低于B×Vdc检查电感电流是不是没有进入连续模式或者电容电压是否还没有稳定到Vc。启动阶段和稳态阶段不能混在一起看。第三步验证输出相电压。用M×V_chain/2去验证。只差几个百分点属于器件压降和开关损耗正常差20%以上基本可以断定有效状态被直通挤占了回去查直通逻辑和比较阈值。第四步检查负载。负载过重会导致Z源网络输出电压下降这属于正常物理现象不是模型错误。仿真里表现为带载后直流链峰值比空载低控制闭环才能补偿回来开环仿真看到这种情况不用慌。5. 常见问题与排查技巧实录5.1 启动瞬间电感电流冲击很大这是很多第一次搭Z源模型的人都会碰到的现象仿真开始那几毫秒电感电流猛冲到额定值的几倍甚至十几倍然后慢慢回落。原因很简单Z源电容初始电压为零启动瞬间直通等于把电容和电感短路充电电流自然大。这不是模型的问题是真实物理现象硬件上不加软启动甚至可能炸管子。解决方法有几种。仿真层面最省事的是把电容初始电压直接设为稳态值Vc相当于预充电完成后才开始控制能立刻看到稳定的波形。控制层面更接近实际工程的做法是加入软启动让直通占空比从0开始按斜坡爬升到目标值比如0.3s内爬升完毕。主电路层面还可以在直流源和Z源网络之间串预充电阻启动完成后用开关旁路。我个人的习惯是仿真里用初始电压法实验里用软启动两者配合效果最好。5.2 升压效果不明显现象是输出电压和传统SPWM差不多甚至更低完全没有体现出Z源的优势。常见原因有四个。第一直通插入逻辑错误把有效状态时间占了电压自然上不去。第二调制比过大MD超过约束直通信号被比较器限幅掉一部分实际D比设定值小。第三死区时间设置过大直通时间被死区抵消。第四测量位置不对如果用平均值电压表去测直流链电压看到的是方波平均值而不是升压后的峰值这完全不代表升压效果。排查方法很直接把直通信号单独拿出来看实际占空比再把直流链电压波形拉出来看峰值。基本上一两分钟就能定位问题。我曾经在某次仿真里花了半天纠结升压不够最后发现是电压测量模块用的平均值模式换峰值测量立刻正常这种低级错误最容易踩。5.3 仿真步长导致波形毛刺现象是电感电流、直流链电压出现不符合物理规律的高频锯齿而且仿真速度奇慢无比。原因在于直通时间很短步长过大采样不到完整的直通状态波形自然失真。按前面的参数SBC直通时间18μs如果固定步长取10μs同一个开关周期里只能采到一两个点波形就像被啃过一样。解决方法是把固定步长缩小到1μs以下同时改用离散求解器。离散求解器比变步长连续求解器快很多稳定性也更好。如果缩小步长后依然毛刺明显还要检查逻辑运算模块有没有代数环。代数环在仿真里会造成迭代困难表现为奇怪的振荡可以通过在逻辑链路上加单位延迟模块打破环。5.4 常见问题速查表我把仿真中频率最高的问题整理成一张速查表排查时可以对照着看。问题可能原因快速检查解决办法启动电流冲击电容未预充电看电容初始电压设置初始值或加软启动升压不足直通逻辑占用有效状态观察ST与基础PWM重叠修正直通逻辑波形毛刺步长过大检查固定步长与求解器固定步长≤1μsTHD偏高调制比过小或滤波不足比较M与D约束改用MCBC或加LC滤波仿真速度极慢变步长连续求解器查看求解器类型改离散求解器代数环振荡逻辑回路上存在代数环观察振荡频率加单位延迟模块最后分享一点我自己的实操体会无论做哪种SPWM模型都先把最简单的SBC调通确认主电路、观测点、求解器全部没有问题再去替换MBC和MCBC的调制模块这样能节省至少一半的排查时间。直通插入逻辑是Z源模型里最隐蔽的出错点一定要单独拉一刀信号出来反复对时序。把这几款模型跑熟之后再去看准Z源拓扑、电流型Z源甚至多电平Z源都会轻松很多因为核心还是那个X型阻抗网络和直通占空比的博弈基础打牢了后面全是加分项。