
三相PWM逆变电路仿真实验是电力电子技术微课里最常被拿出来单练的一道关卡。它的任务很具体把直流电通过三个桥臂变成频率和幅值都可控的三相交流电再用仿真软件把 SPWM 调制过程、输出电压电流波形、谐波情况完整呈现出来。对学生来说这是理解变频器、UPS、光伏并网逆变器共性的基础对刚接触仿真的工程师这也是把开关器件驱动、死区、负载参数和输出质量联系起来的第一个完整案例。下面按“工具选择—模型搭建—参数设置—波形分析—拓展实验—报错排查”的顺序完整走一遍照着做就能把实验从原理图变成可运行的模型。1. 先判断这个仿真实验该用哪个工具链1.1 这个实验最值得掌握的三个能力很多人第一次做三相PWM逆变仿真会把注意力放在“模型能不能动”上却忽略了“这个波形到底说明了什么”。实际上这个实验的验收标准有三个层次。第一个层次是桥臂驱动脉冲是否正确。每一相上下两个开关必须互补同一个桥臂不能直通驱动信号要能看到明显的 SPWM 比较结果。第二个层次是负载电流是否接近正弦。电压本来就是 PWM 脉冲不可能漂亮但电流经过电感滤波后要平滑。第三个层次是谐波分析。要知道谐波主要簇拥在载波频率附近而不是均匀散落。这三个能力分别对应拓扑理解、参数理解和测量验证。如果只做到“模型能跑出波形”实验只完成了一半。1.2 Simulink、PSIM、Proteus 怎么选工具选择不需要纠结太久关键是看当前课程环境里哪个能用、哪个能装、哪个能跑通老师要求的输出。工具适合什么学习成本典型场景MATLAB/Simulink Simscape Electrical三相逆变、电机驱动、闭环控制中等大学课程常见波形观察、FFT 分析、参数扫描PSIM电力电子专用仿真较低拖拽建模速度快开关电源、逆变器、损耗分析Proteus电路级仿真偏 MCU 和模拟电路中等单片机生成 PWM 驱动三相桥的课程设计如果学校配置了 Proteus 仿真在线实验系统软件用它也能完成三相逆变相关电路实验。但 Proteus 的强项是元器件级和单片机协同仿真当你要看 SPWM 谐波谱、做闭环控制、扫参数画曲线Simulink 会更顺手。PSIM 在工业界的电力电子部门使用率很高不过学生机未必有授权。我一般建议课程用哪个平台就先用哪个平台把基础实验跑通。如果你手边恰好是 Simulink后面所有参数都以它为基准其他工具里按同样的逻辑设置也能复现。1.3 环境准备工具箱、版本和授权Simulink 里做三相逆变光装 MATLAB 本体不够还需要电力电子相关的仿真工具箱。老版本叫 SimPowerSystems新版本整合进 Simscape Electrical 的 Specialized Power Systems 里。判断方法很简单打开 Simulink Library Browser搜索“Universal Bridge”或者“powergui”能搜到就说明工具箱可用。版本差异要留意。新版 MATLAB 里部分模块改名或移到了新分类例如老接口的“Three-Phase V-I Measurement”如果找不到可以直接在库浏览器里搜索。如果公司或学校只有 MATLAB 基础版没有电力电子工具箱那就换 PSIM 或 Proteus 方案不要硬撑。授权方面校园版一般够用。没有授权时使用学校实验平台的网页版仿真系统也是常见做法只是模块封装度更高参数逻辑仍然一样。注意先确认工具箱存在再搭模型不然做到一半发现没有 Universal Bridge很浪费时间。2. 模型搭建从直流源、桥臂、PWM调制器到三相负载2.1 顶层模型先画出来搭建之前先画一张框图避免东拼一个模块西拼一个模块。直流电压源(Vdc) → 三相IGBT桥(Universal Bridge) → 三相RL负载 ↑ SPWM调制器(六路PWM) → 六路门极信号 ↓ 测量模块(电压、电流) → Scope直流电压源提供母线电压一般用 300V 左右做教学演示。三相桥用 Universal Bridge设置桥臂数为 3开关器件选 IGBT/Diodes这个配置最接近实际变频器。负载用三相 RL星形连接电阻 10Ω、电感 10mH 是常用起始值。模型里还要放一个 powergui 模块。Simscape Electrical 体系下没有 powergui模型经常无法初始化或求解器设置不生效。这个模块本身不参与电路计算但它决定了仿真类型、采样步长和解算方式。2.2 手动搭 SPWM 调制器其实更值得做一遍Simulink 里有一个现成的 PWM Generator 模块可以直接给三相桥发脉冲用它建模最快。但我建议至少在第一次实验时手动搭一次 SPWM 调制器因为这是理解整个实验的钥匙。SPWM 的原理一句话正弦参考波和三角载波比较正弦大于载波时上管导通否则下管导通。手动搭建需要三样东西三路正弦参考波频率 50Hz相位分别是 0°、-120°、120°幅值就是调制比 M。一个三角载波幅值为 1频率设为载波频率。比较器输出六路门极信号每一相生成一对互补信号。三角载波可以用 Simulink 里的 Repeating Sequence 模块生成也可以先用一个高频锯齿波再加处理。比较器用 Relational Operator 就能完成。这个搭法看起来比直接用 PWM Generator 模块麻烦但搭完之后你会对“为什么输出有谐波”有直觉认识所有开关决策都发生在正弦波和三角波交叉的地方谐波自然围绕载波频率分布。2.3 互补驱动与死区时间仿真也不能省三相桥每一相有上下两个开关二者绝不能同时导通。实际 IGBT 开通比关断快如果上管还没完全关断、下管就已经开通会造成直流侧直通轻则电流尖峰重则炸管。所以在真实驱动电路里必须插入死区时间。仿真里很多初学者图省事直接把上下管的驱动信号接成逻辑非不做死区。这样在理想仿真里也能跑但电流波形会出现不真实的窄尖峰尤其当桥臂的缓冲电阻设得比较小时更明显。正确做法有两种。用 PWM Generator 模块时模块参数里直接有 Dead time 设置填 2μs 左右。手动搭调制器时可以把比较器输出分成两路用 Transport Delay 延迟关断沿生成带死区的互补信号。第一次跑仿真哪怕只是教学演示也建议加上死区。这个习惯能让你后续看波形时少很多困惑。3. 参数设置这几个量直接决定波形质量3.1 输出电压是由直流电压和调制比共同决定的三相两电平 SPWM 逆变器在线性调制区内相电压基波峰值为U_phase_peak Vdc × M / 2线电压有效值约为U_line_rms sqrt(3) × Vdc × M / (2 × sqrt(2)) ≈ 0.612 × M × Vdc以 Vdc 300V、M 0.8 为例相电压基波峰值是 120V线电压有效值约 147V。这个计算值可以用来和仿真结果互验如果仿真测出的基波幅值偏离这个数太多模型里一定有问题。M 代表调制比范围 0 到 1 属于线性调制区。M 越大输出电压越高但超过 1 进入过调制区后基波不再线性增长低次谐波明显增加。教学实验固定用 M 0.8 最稳妥既能看出调制效果又不会引入太多畸变。3.2 载波频率、负载电感、仿真步长三者互相牵制这三个参数不是孤立的调整任何一个都要考虑另外两个。载波频率越高电流纹波越小输出谐波越小但开关次数变多实际硬件里开关损耗变大仿真里计算量也变大。学习阶段用 2000Hz 比较合适既能清楚看到谐波簇又不会让仿真卡死。负载电感的作用是滤波。纯电阻负载下电流会跟着 PWM 电压跳变波形完全是锯齿状不符合“逆变器输出接近正弦交流”的直觉。加上电感后电流的高频分量被滤掉才能看到平滑正弦。电感太小滤波效果差电感太大电流响应慢。RL 负载里R 10Ω、L 10mH 在 50Hz 下的感抗约 3.14Ω电流滞后角约 17°这个状态比较接近典型工况。仿真步长决定了能否捕捉到 PWM 边沿。如果步长太大开关动作被漏掉波形会混叠失真。一个经验规则步长至少要比载波周期的百分之一更小。载波 2000Hz 时周期是 500μs步长取 1μs 比较保险想要更快可以放宽到 5μs但要亲眼确认波形没有明显失真。通用参数可以按这张表起步参数初始建议值说明直流电压 Vdc300V母线电压等级调制比 M0.8参考波幅值线性区 0~1载波频率2000Hz频率越高谐波越好仿真越慢参考波频率50Hz输出交流基波频率负载 R10Ω星形连接负载 L10mH决定电流纹波死区时间2μs避免同桥臂直通仿真步长1μs捕捉 PWM 边沿3.3 求解器与 powergui 的选择顺序放好 powergui 后仿真类型可以选 Continuous 或 Discrete。三相逆变属于强开关非线性系统Continuous 模式下变步长求解器可能很慢甚至出现步长收缩到极小的情况。更推荐把 powergui 设为 Discrete采样时间填 1μsSimulink 求解器也配套选离散固定步长。如果坚持用 Continuous求解器优先选 ode23tb 或 ode15s专门处理刚性系统并设置最大步长不超过 1μs否则 PWM 边沿会被跳过。仿真时长不需要太长。50Hz 基波跑 0.1s 就是 5 个完整周期足够看到稳态。从零初始条件启动后前 0.02s 到 0.03s 可能带暂态分析波形时从后半段截取。4. 波形分析与结果验证4.1 先确认三个波形相电压、线电压、相电流模型跑通后不要急着做 FFT先把三类波形看清楚。相电压是某一相对负载中性点的电压因为中性点电位会浮动波形会呈现多个电平台阶。线电压是两相之间的电压差典型两电平逆变器的线电压只包含 Vdc、0、-Vdc 三个电平这是判断桥臂动作是否正确的最直观依据。电流波形经过电感滤波后应该接近正弦。三相电流应互差 120°幅值基本一致。如果某相电流明显不对称优先怀疑三相参考波相位接错或者某一路门极信号没接对。测量模块建议用 Three-Phase V-I Measurement同时把三相电压电流都引出到 Scope这样后续做 FFT 时可以直接选信号。4.2 电流波形比电压波形更能说明调制效果初学者容易盯着输出电压看想从中看出正弦来这是方向错了。SPWM 逆变器的输出电压本质是 PWM 脉冲不是正弦真正体现调制效果的是负载电流。电流滞后电压的角度由负载决定φ arctan(ωL / R)50Hz、R10Ω、L10mH 时ωL ≈ 3.14Ωφ ≈ 17°。如果示波器上看到滞后接近 90°说明负载感性太重如果几乎不滞后、电流纹波很大说明电感太小或载波频率太低。如果电流波形严重畸变先按顺序检查死区是不是加了、负载电感是不是太小、载波频率是不是太低、仿真步长是不是过大。这四个原因导致的畸变特征各不相同逐项排除比乱改参数有效。4.3 用 FFT 分析谐波别只盯着 THD 数字Simulink 里做谐波分析用 powergui 的 FFT Analysis 工具。选择要分析的信号设置基波频率 50Hz显示范围选到 5000Hz 或 10000Hz就能看到频谱。预期现象很清楚电压谐波主要分布在载波频率 2000Hz 以及它的整数倍附近形成一个一个边带簇。这是 SPWM 的典型特征。电流谐波因为负载电感的滤波作用会比电压谐波小很多。这里要提醒一句不要只看 THD 数字就下结论。电压本来就是 PWM 脉冲THD 高是正常现象不代表实验失败。电流 THD 更有参考价值在没有闭环控制的简单开环模型里电流 THD 在百分之几到十几之间浮动都很正常。关键是观察谐波分布是否符合 SPWM 理论而不是追求一个“越小越好”的绝对数值。如果 FFT 结果里出现明显直流分量先检查测量窗口是不是包含了暂态段再检查三相模型是否对称。不要一上来就怀疑算法。5. 拓展实验负载变化与最大功率传输条件的观察5.1 把负载扫描和最大功率传输联系起来这部分是电路分析基础和电力电子实验的交叉点。电路分析基础里有一个经典结论在交流电路中可调负载获得最大功率的条件是负载阻抗等于信号源内阻抗的共轭在纯电阻等效下就是负载电阻等于等效内阻。三相 PWM 逆变器带负载时如果把 Vdc、M、载波频率都固定只改变负载电阻 R整个逆变器加上滤波电感、线路电阻在基波频率下可以近似看成一个含内阻的交流源。输出功率会随负载电阻变化出现一个峰值这个峰值点就对应实际系统里的最大功率传输条件。这个实验非常适合放在三相PWM逆变电路仿真实验之后做。它把“最大功率传输条件仿真分析实验”从纯电阻电路延伸到带开关器件的电力电子系统能帮助学生理解理论结论在真实系统里仍然有体现但内阻不再是一个理想电阻而是由器件、滤波、线路共同折算出来的等效量。5.2 扫描流程与结果判断操作步骤如下固定 Vdc 300V、M 0.8、fc 2000Hz、L 10mH。把负载电阻 R 从 1Ω 扫描到 100Ω取 1、2、5、10、20、50、100 几个典型值。每次仿真跑 0.1s记录稳态后的相电流有效值 I_RMS。计算输出有功功率星形纯电阻负载下 P 3 × I_RMS² × R。画出 P 随 R 变化的曲线找到功率最大的 R 值。结果判断时把实验测到的最大功率点对应的 R和通过开路电压、短路电流折算出的等效内阻做对比。如果你记得最大功率传输定理会发现两者非常接近。差异主要来自开关管压降、缓冲电阻、电感内阻等非理想因素差异在可接受范围内说明模型搭建和测量都是对的。5.3 两个约束线性调制区和波形失真做负载扫描实验时有两个约束要盯住。第一始终保持 M ≤ 1不要为了提高功率把调制比拉进过调制区否则输出电压低次谐波骤增功率曲线会变得没有规律。第二R 太小的时候电流很大桥臂电压降和死区影响相对变大波形失真加重R 太大的时候功率很小测量误差相对变大。所以扫描范围不要走极端推荐在 1Ω 到 100Ω 之间取对数间隔曲线形状更清楚。这个拓展实验做完整个仿真就不再只是“看波形”了而是能把电路分析基础和电力电子参数设计串起来。6. 常见报错与排查顺序6.1 启动失败类问题模型启动就报错最常见的原因是缺少 powergui。很多从网上找的例程没提这个模块新手照抄后以为模型本身有问题。解决办法很简单搜索 powergui拖进模型设置离散仿真和采样时间。第二个常见原因是工具箱缺失。报错信息里如果出现 Simscape Electrical、Specialized Power Systems 相关关键词基本可以确定是本机授权或安装不完整。先检查库浏览器再决定是否换工具。第三个原因是初始化报 NaN 或 Inf。遇到这个情况检查直流源正负极、负载连接、测量模块的方向必要时把电感和电容的初始值设成 0让模型从零状态开始。6.2 仿真慢或卡住仿真速度慢通常不是电脑差而是配置不对。Continuous 模式下开关动作导致系统刚性很强求解器步长会被压到极小仿真自然慢。改成 Discrete 模式把 powergui 采样时间设成 1μsSimulink 求解器选离散固定步长速度会明显提升。载波频率对速度的影响也很直接。学习阶段没有必要一开始就上 10kHz先用 1kHz 到 2kHz 跑通确认波形和参数逻辑正确后再往高调。仿真时长控制在 0.1s 到 0.2s不要一上来就模拟 1 秒。如果只是为了看稳态多余的时长只是在浪费时间。6.3 波形异常类问题完全没有波形先看 Scope 是不是没接对信号再看六路 PWM 门极信号是否存在。门极没有输出后面一切都不用查。电流出现巨大尖峰优先怀疑死区没有加、缓冲电阻设置太小、负载电感太小、仿真步长过大。这四个因素单独出现任何一个都可能造成尖峰。三相电流不对称先查三路正弦参考波的相位顺序。A 相 0°、B 相 -120°、C 相 120°这是最容易接错的地方。还要看每一相的上下驱动是否真的互补如果某一路逻辑反了该相电流会明显异常。波形看起来发毛、有混叠感几乎可以断定是仿真步长太大。把 powergui 的采样时间从 5μs 改到 1μs再看波形是否变干净。6.4 通用排查顺序如果问题定位不到我建议按固定顺序排查先看六路 PWM 驱动信号是否有开关动作。再看直流侧电压是否正常加载到桥臂。然后看负载连接和测量模块是否接入电路。再检查 powergui 是否存在、仿真类型和采样步长是否合理。最后切到稳态时间段分析波形和 FFT。这个顺序的本质是沿着信号链路从源头往后走。驱动没问题再看电压电压没问题再看电流电流没问题再谈谐波。跳过链路直接改参数往往会把问题越改越乱。把六路 PWM 驱动信号、相电压和线电压波形、电流谐波分布这三项都看到位三相PWM逆变电路仿真实验基本就通关了。我自己的习惯是先按上面的参数跑通一遍再手动改调制比和载波频率看波形变化最后做负载扫描。这样记录里的每张波形图都能解释清楚而不是保存了一堆说不明白的截图。