ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

单相桥式有源逆变Simulink仿真建模与参数调试详解

单相桥式有源逆变Simulink仿真建模与参数调试详解 每次看到有人把直流电源直接替掉整流桥就宣布“逆变仿真完成”我都想劝他先看一眼电流方向。单相桥式有源逆变电路的Simulink仿真难的不是桥怎么搭而是让能量真的从直流侧流向交流电网而不是反向跑成整流。这篇我会完整走一遍MATLAB 2018a环境下的建模过程从原理、器件选型、参数计算到SPWM波形分析与问题排查全部覆盖适合刚接触电力电子仿真、或者做完整流想进阶逆变但总是得不到正确波形的朋友。我先说明这篇不做理论推导大杂烩只讲你在Simulink里真正会用到的部分——模型怎么搭、参数怎么填、波形怎么判断、发散怎么处理。文中的仿真参数都经过实际验证你可以直接在2018a里复现。1. 有源逆变不是把电源倒过来接先理清工作条件1.1 单相全桥的四个管子凭什么决定能量方向单相桥式电路拓扑非常简单四个IGBT各自反并联续流二极管直流侧接电源交流侧通过电感接电网。整流和逆变用的是同一套主电路区别只在控制策略。从电网取能量往直流侧送叫整流从直流侧把能量送回电网叫有源逆变。关键在于交流侧不是电阻电灯而是实实在在的电网电压源所以叫“有源”。很多初学者把有源逆变理解成把直流电源正负极反接这是很危险的误解。直流电压源的极性不能轻易反有源逆变靠的是桥臂输出电压的基波与电网电压之间产生功率角通过相位关系控制电流反向。在Simulink里你不用改任何电源极性只需调整SPWM调制波的幅值和相位就能改变功率流动方向。1.2 有源逆变运行的两个硬条件要在仿真里实现真正的有源逆变必须满足两个条件。第一直流侧电压要足够高桥臂SPWM输出基波的峰值必须大于电网电压峰值否则电流根本没有能力“顶着”电网电压往外送。第二调制波必须和电网电压保持同步并且有一个合适的相位差这个相位差决定了有功功率的大小与方向。一句话总结就是幅值决定能不能送相位决定送多少、往哪送。你后续调节参数时只要记住这个关系就不会觉得波形不可控。仿真模型里直流侧用了400V电网侧是220V有效值、峰值311V桥出口基波峰值大约340V幅值上完全有裕量。相位上调制波相比电网电压超前一个功角于是电流就能从逆变器流向电网。2. 参数设计与器件选型先算出电压、电感、电流再谈搭电路2.1 直流电压与调制比怎么匹配参数设计的起点不是随便填一个400V了事而是根据电网电压反推。单相220V有效值对应的电网电压峰值为E_m 220 × 1.414 ≈ 311V对于双极性SPWM控制的全桥逆变电路桥出口电压基波峰值U_ab1与直流电压U_dc、调制比m满足U_ab1 m × U_dc要让逆变器能把电流送进电网至少要保证U_ab1略大于E_m。我取调制比m0.85直流侧电压U_dc400V得到U_ab1 0.85 × 400 340V340V比311V高出约9%这个裕量用来克服电感和线路的阻抗压降。如果直流电压只有300V那么即使调制比拉到1.0基波峰值也只有300V低于电网峰值电流方向完全无法反向仿真结果必然是有功从电网流入直流侧整流成立逆变失败。2.2 电感量怎么估算电感在有源逆变里起到双重作用一是滤除SPWM产生的高频谐波电流二是作为逆变器与电网之间的功率传输媒介。电感太小谐波电流大电流波形毛刺严重电感太大功率流动受限动态响应迟钝。估算电感量可以按电流纹波来算。双极性SPWM在开关频率f_sw远高于工频时单个开关周期内电感电流纹波ΔI近似满足ΔI ≈ (U_dc - |e_ac|) × D × T_s / L其中T_s为开关周期D为占空比e_ac为电网电压瞬时值。以开关频率5kHz为例T_s1/50000.0002s取最恶劣情况下占空比D0.5允许纹波ΔI2A则L ≥ (400 - 311) × 0.5 × 0.0002 / 2 ≈ 0.00445H所以我选了5mH电感留一点裕量。对应的基波阻抗为X_L 2π × 50Hz × 0.005H ≈ 1.57Ω在桥出口电压340V与电网电压311V相差约29V考虑相位差下实际略多的情况下基波电流大约数十安培量级模型里可以观察到十几到二十几安的电流属于正常范围。仿真参数中我再串一个0.01Ω小电阻模拟线路损耗避免纯电感回路出现无阻尼振荡。2.3 开关管和缓冲电路的选型逻辑仿真里选IGBT不能只看名字要理解Universal Bridge模块里每一项参数的物理含义。桥臂数选2就是单相全桥开关器件选IGBT/Diodes表示每个IGBT反并联一个续流二极管。二极管不是可有可无的——SPWM双极性工作模式下电流在某些时段需要经过二极管续流没有它模型就会报错或波形异常。缓冲电路参数是仿真稳定性的关键。默认Snubber电阻Rs1e5Ω、电容Csinf无穷大这个组合在实际仿真中比较稳妥。如果把Rs设成100Ω这种小阻值IGBT每次开关都会产生很大的缓冲电流仿真步长会被迫压缩到极小运行速度惨不忍睹。至于耐压耐流等级仿真里主要关注Ron导通电阻。我建议Ron设为0.01Ω而不是默认的1e-3Ω这样开关管导通压降带来的阻尼效果更明显电流不容易出现数值振荡。3. Simulink建模实操MATLAB 2018a环境下从电源到桥臂3.1 模型整体结构与模块清单在2018a里打开Simulink新建空白模型。电气主电路的模块库路径是Simscape / Electrical / Specialized Power Systems / Fundamental Blocks。注意如果你机器上装的是早期2018a也可能显示为SimPowerSystems / Specialized Technology内容一样找对应的模块名即可。整个模型分成三块主电路、控制电路、测量显示。主电路从左到右依次是直流电压源、Universal Bridge、串联RLC分支、交流电压源再用电压电流测量模块把关键信号引出来。控制电路生成四路SPWM门极信号送到Universal Bridge的Gate端。测量显示部分用Scope观察波形用To Workspace把数据存到工作区做谐波和功率分析。需要的模块清单如下模块库路径用途powerguiSimscape / Electrical / Specialized Power Systems设置仿真求解方式DC Voltage SourceFundamental Blocks / Electrical Sources直流侧400V电源Universal BridgeFundamental Blocks / Power Electronics单相全桥IGBTSeries RLC BranchFundamental Blocks / Elements滤波电感线路电阻AC Voltage SourceFundamental Blocks / Electrical Sources模拟220V电网Voltage MeasurementFundamental Blocks / Measurements测量电网电压Current MeasurementFundamental Blocks / Measurements测量电感电流Repeating SequenceSimulink / Sources生成三角载波Sine WaveSimulink / Sources生成正弦调制波Relational OperatorSimulink / Logic and Bit Operations调制波与载波比较Logical OperatorSimulink / Logic and Bit Operations取反生成互补信号ScopeSimulink / Sinks显示波形3.2 关键模块参数设置主电路参数我整理成了表格照着填就行。特别提醒AC Voltage Source在2018a里默认设置的是Peak amplitude不是有效值千万别直接填220要填311。模块参数项设置值powergui仿真类型ContinuousDC Voltage SourceAmplitude (V)400Universal BridgeNumber of bridge arms2Universal BridgePower electronic deviceIGBT / DiodesUniversal BridgeSnubber resistance Rs1e5Universal BridgeSnubber capacitance CsinfUniversal BridgeRon (Ohms)0.01Series RLC BranchResistance R0.01Series RLC BranchInductance L0.005Series RLC BranchCapacitance CinfAC Voltage SourcePeak amplitude (V)311AC Voltage SourceFrequency (Hz)50AC Voltage SourcePhase (deg)03.3 接线顺序和测量点布置直流电压源正极接Universal Bridge的DC端子负极接DC-端子。桥的交流侧两个端子分别命名为AC1和AC2AC1引出后串联Series RLC Branch再接到交流电压源的正极AC2直接接到交流电压源的负极。注意电流测量模块要串在电感后面、电网前面箭头方向从桥流向电网。电压测量模块并联在交流电压源两端。为什么要用Universal Bridge而不是四个独立IGBT模块因为四个独立IGBT需要手动接反并联二极管、处理缓冲电路、额外添加门极驱动分离电路模型会变得非常臃肿。Universal Bridge把桥臂封装好你只需要关心门极信号的顺序把精力集中在控制逻辑上。它的门极输入端子顺序为第一个输入对应臂1上管、第二个对应臂1下管、第三个对应臂2上管、第四个对应臂2下管。如果你的门极信号顺序接反了后面波形分析时发现输出电压不是预期的SPWM脉冲第一件事就是检查这四个信号顺序。4. SPWM脉冲生成从比较器到四路门极信号的完整连接4.1 三角载波和正弦调制波怎么产生双极性SPWM的原理是用一个高频三角载波和一个低频正弦调制波比较比较结果决定开关状态。载波频率选5kHz对应周期0.0002s。三角载波用Repeating Sequence模块生成参数设置为Time values: [0 0.0001 0.0002]Output values: [-1 1 -1]这样得到的三角波从-1线性上升到1再线性下降到-1正好与调制波的幅值范围匹配。正弦调制波用Sine Wave模块参数为Amplitude: 0.85Frequency: 2×pi×50Phase: 0.1 rad幅值0.85对应调制比相位0.1rad就是前面提到的功角它让桥出口电压基波相对电网电压略有超前从而保证有功功率往电网方向流动。你可以把这个相位看作控制逆变功率方向的旋钮后面分析波形时可以试着把Phase改成-0.1看看电流方向是不是立刻反转。4.2 双极性SPWM的逻辑关系对角线导通的秘密比较器用Relational Operator运算选“大于”第一个输入接正弦调制波第二个输入接三角载波。比较结果记为AA为1表示调制波大于载波。双极性SPWM的逻辑关系是当A1时臂1上管和臂2下管导通桥输出电压为U_dc当A0时臂1下管和臂2上管导通桥输出电压为-U_dc。根据Universal Bridge门极顺序四路信号应为g1臂1上管 Ag2臂1下管 NOT Ag3臂2上管 NOT Ag4臂2下管 A用Logical Operator模块的NOT门对A取反得到NOT A。然后把A和NOT A按要求连到Universal Bridge的Gate输入。这里的关键是理解“对角线导通”A1时g1和g4同时为1桥两端输出400VA0时g2和g3同时为1桥两端输出-400V。不会出现同臂两个管子同时导通的情况因为它们的驱动信号天然互补。4.3 死区问题仿真里不处理会在哪一步付出代价在实际工程中IGBT关断需要时间同一桥臂上下管的驱动信号不能做成交变沿完全重合的互补信号否则可能出现短暂直通烧毁功率管。你需要加死区时间——典型值1到5微秒——让一个管子完全关断之后另一个管子才能导通。但在仿真教学里很多人纠结死区其实大可不必。因为仿真模型中的理想开关不存在真实关断延迟同一桥臂上下管驱动在数学上是严格互补的不会同时为1所以模型可以正常运行。如果你一定要加死区可以给NOT A信号串联一个Transport Delay模块延迟时间设为1e-6但这样带来的问题是延迟了所有跳变沿波形会有细微差异反而容易让初学者困惑。我的建议是第一阶段把理想SPWM跑通、看懂波形第二阶段再去研究死区如何用状态机实现。别让死区成为你进入有源逆变的第一道坎。5. 波形分析与逆变验证怎么确定仿真真的“逆”对了5.1 桥输出电压和电流的仿真波形特征仿真时间设为0.06s点击运行。打开Scope观察u_ab桥输出电压你会看到正负400V交替的SPWM脉冲列宽度随正弦调制波呈正弦规律变化这正是双极性SPWM的标准波形。再看电感电流经过短暂的暂态过程后变成近似正弦波频率50Hz幅值根据负载情况稳定在一定范围。关键判断点来了把电网电压和电感电流放到同一个Scope里对比。由于电流测量方向定义为从桥流向电网真正有源逆变时电网电压为正的半周内电流大部分时间为负即电流整体方向与电压“顶着走”两者相位差接近180°。如果你看到电流波形和电压波形同相位说明能量在从电网往直流侧灌模型跑成了整流模式。5.2 用瞬时功率和FFT把结果量化光看波形不够还要量化验证。用Product模块把电网电压瞬时值e和电感电流瞬时值i乘起来得到瞬时功率p用To Workspace模块存到工作区。仿真结束后在命令窗口执行mean(p.signals.values)查看平均值。若平均值为负说明有功功率在从逆变器流向电网有源逆变成立若为正值就是整流状态。这个符号判断法非常直观比单纯看相位更可靠。谐波分析用powergui的FFT工具。双击powergui选择Tools / FFT Analysis信号源选电流测量模块的输入基波频率设为50Hz最大频率设为2500Hz点击Display。正常情况下电流波形THD应该在5%以下基波幅值与你设计的电感参数匹配如果THD过高基本就是电感太小或开关频率太低两个原因。u_ab桥输出电压的THD会非常高这是SPWM的正常特征谐波主要集中在载波频率及其边带附近。5.3 调制比与相位角对功率方向的影响参数敏感性分析是理解仿真本质最好的方法。保持其他参数不变把Sine Wave的Phase从0.1rad改成-0.1rad重新运行你会发现平均功率符号反转电流相位也跟着反转系统从逆变变成了整流。这就是功率角控制的基本逻辑。再把调制比从0.85改成0.5你会发现电流明显减小因为桥出口基波电压下降了电压差不足以推动大电流。如果调制比降到0.7以下电流可能变得很小甚至断续。这就是为什么前面参数设计时强调“幅值决定能不能送”的原因。建议你实际把这两组参数跑一遍记录功率均值变化比看十遍理论都管用。6. 常见问题排查实录发散、直通、波形畸变逐个排6.1 仿真发散先查步长再查缓冲电路最常遇到的报错是仿真发散表现为电流波形瞬间飙到极大值然后变成NaN或者干脆提示数值不稳定。大多数人第一反应是模型接错了其实是求解器设置问题。有源逆变电路里同时存在高频PWM开关信号和工频正弦信号属于典型的刚性系统默认的ode45其实不适合跑这种模型。解决办法有两条路。连续仿真时把求解器改成ode23tb最大步长Max step size设置为1e-5。5kHz开关周期是0.0002s1e-5s最大步长意味着每个开关周期至少采样20步足够描述PWM边沿。如果你非要偷懒设成1e-4载波边沿可能被求解器跳过波形就错了。另一条路是直接用离散仿真powergui选Discrete类型Sample time设为1e-6求解器选discrete。离散仿真的优点是速度快、无代数环问题缺点是模型离散化后开关边沿存在一个采样周期的量化误差但工程上完全够用。6.2 同一桥臂直通验证门极信号的互斥性如果你看到直流源电流异常大同时输出电压波形完全不对称大概率是同一桥臂上下管的门极信号同时为1了。正如前面所说理想互补逻辑不会直通但如果你改了门极信号顺序或者直接把A和NOT A给错了端子桥臂就可能直通。排查方法是把门极信号接入Scope直接观察。同时显示g1和g2如果同一时刻两者都是1说明直通。最常见的接线错误是把g3和g4的顺序搞反因为Universal Bridge门极端子按臂1上、臂1下、臂2上、臂2下的顺序排列有些人下意识认为1、2是上管、3、4是下管其实不是。当你发现桥臂电压不是±400V跳变、而是出现0V电平第一反应就是门极顺序错了。6.3 电流不是正弦初始相位和同步问题有些情况下波形能跑但电流严重畸变或者带有直流偏移。常见原因有三个。第一个是正弦调制波初相和电网电压不同步两者频率如果不严格相等波形就会一直晃动。确保Sine Wave的频率设为2×pi×50不要自己写成数值计算产生频率误差。第二个是仿真初始时刻电感电流突变过大可以在Series RLC Branch的初始条件里把电感初始电流设为0让系统从零状态开始。第三个是仿真时间太短你才跑到0.01s就开始截波形此时暂态分量还没衰减完看到的自然不是正弦。这个电路的电感时间常数大约是L/R0.005s你至少要跑到0.04s以后再看稳态波形。我一般会跑0.1s保证至少有5个工频周期进入稳态。最后的实践体会做完这个仿真之后我对有源逆变的理解从“公式能背”变成了“心里有数”。你在调参数时不要只盯着Scope看建议把瞬时功率平均值变成模型内的一个Display显示这样每次调整调制比、相位角都能立刻看到功率方向变化。我也建议你把不同参数组合下的数据用To Workspace存下来在MATLAB脚本里批量计算THD和功率你会发现参数对谐波的影响比想象中复杂但这也是做电力电子仿真最有趣的地方。这组模型跑通之后你可以继续往三相桥、带PLL同步、电流闭环控制的方向扩展基础就是今天这半个小时的功夫。
返回列表