资讯动态

三相PWM整流逆变仿真模型:主电路参数、dq双闭环与单位功率因数控制解析

发布时间:2026/10/18 8:17:19 来源:尧图企业网站定制
这几年做电力电子仿真和控制三相PWM整流逆变模型我搭过不少版本。第一次动手之前我误以为它只是把不控整流桥的二极管换成IGBT就行真正调起来才发现主电路参数的选取、dq坐标系下的双闭环、整流到逆变切换的时序随便哪一步没想清楚波形就会变得没法看。这个模型最吸引人的地方在于同一套主电路交流电可以变成直流电送给直流母线直流侧的能量也可以反送回去给电网而且全程交流电流是正弦波电压和电流保持同相位功率因数基本贴着1走。电机回馈制动、储能系统充放电、直流微电网这些场景核心单元基本都是它。我这次拆解的是自己做的一版三相PWM整流逆变控制模型包括整流到逆变、逆变再切回整流的完整过程。重点讲主电路拓扑怎么选、交流电感与直流电容怎么定、dq双闭环怎么调、单位功率因数怎么实现以及调试过程中那些最容易踩的坑。内容对正在做双向AC/DC电源、电机能量回馈控制或者想把PWM整流器原理彻底吃透的工程师和研究生应该都适用。1. 双向功率流动的底层逻辑与模型定位1.1 为什么“双向”是硬需求传统AC/DC变换如果只用二极管整流桥能量只能从交流侧流向直流侧。交流输入一接通母线电容充电完成之后再要往下送功率只能靠电阻或者后级逆变器把直流能量消耗掉。这时候如果电机的负载处于回馈状态比如起重机下放重物、电动汽车下坡制动、伺服电机急停减速机械能量会通过电机变成反电动势框在直流母线上电压马上就往上涨。能量没有出路只能靠制动电阻发热这在功率大一点的应用中又浪费又增加散热压力。三相PWM整流器把这个问题解决了。它用IGBT上反并一个二极管的结构代替普通二极管通过控制开关管的通断就能让能量在电网和直流母线之间双向流动。从系统角度看这个双向特性让变换器从单向的“整流站”变成了一个能量路由器直流侧电压高了就释放能量回电网直流侧电压不够就自动从电网吸收能量。这一“来”一“回”完全是自动完成的不需要外加接触器切换主电路。1.2 单位功率因数到底指什么很多刚接触这个模型的人会把“单位功率因数”理解为功率因数必须是1.0并且只能是从电网吸取有功。实际不是这样。单位功率因数的准确定义是交流侧的电压和电流同相位或者严格反相位。整流模式下电流与电压同相位电网向直流侧输送有功功率逆变模式下电流与电压相位差180度也就是电流反向直流侧向电网回馈有功功率。这两种情况功率因数绝对值都是1区别只是有功功率的符号变了整流为正回馈逆变是负回馈。在控制实现上要做到这一点并不需要在每个周期里强行把功率因数算出来再补偿。PWM整流器在同步旋转坐标系下有两个独立的电流控制环分别控制有功电流和无功电流。只要把无功电流的指令设成零交流侧的电流波形就会自动与电网电压保持同相或反相单位功率因数这个目标就完成了。所以实践中大家常说“单位功率因数控制”本质上就是“让q轴电流指令为零”的控制。1.3 “两”象限和四象限的关系标题里提到“两”的方向说的是功率流动的两个方向AC到DC、DC到AC。严格说功率平面里有四个象限基两个为有功正负两个为无功正负。普通不控整流只能运行在电压与电流同相的有功正象限其他三个象限都进不去。三相PWM整流逆变模型能覆盖主导的两种能量交换方向所以习惯上叫两象限运行如果再同时控制无功电流不为零理论上四象限都能覆盖也就是既能整流、逆变还能进无功、滞后的无功。我在实际项目里一般只用它做单位功率因数的两象限运行因为对大多数电机回馈和储能场景来说无功补偿不是刚需把q轴电流设成零控制简单而且稳定。如果后端还有单独的SVG装置做无功治理那就更没有必要在同一个变换器里硬塞无功功能。2. 主电路拓扑与关键器件参数设计2.1 主电路拓扑电压型三相全桥三相PWM整流逆变的主电路结构上非常清楚电网三相电压经过交流电感进入三相桥臂桥臂的中点分别接三相电感的末端桥臂由IGBT和反并联二极管组成直流侧则是母线电容和负载/电源。这个拓扑叫电压型PWM整流器简称VSR因为直流侧有电容撑住电压控制的本质是“用桥臂的输出电压去调节交流电流”。为什么选电压型而不是电流型因为电压型直流侧电容储能密度高、损耗小IGBT天然反向并联二极管制造成熟带动风机、电机这类负载时也不容易出振荡问题。电流型拓扑要有大直流电感动态响应慢器件多现在工程上用得非常少。2.2 交流侧电感L怎么选不是越大会越好交流电感在电路里承担四个任务一是滤除PWM产生的高频电流纹波二是让桥臂输出电压和电网电压之间有一个可以控制的压差实现升压三是为电流内环提供被控对象四是在开关切换时限制短路电流上升率。四个任务互相制约所以这个电感选起来需要走一步算一步。工程上我习惯先按纹波要求估算。三相PWM整流器采用SVPWM时电感纹波电流峰值大概可以写成ΔI_max 约等于 Udc / (6 × L × fsw)假设直流母线650V开关频率10kHz我想把额定状态下电流纹波峰峰值控制在额定峰值电流的15%以内。额定功率如果是10kW电网线电压380V相电流有效值约15.2A峰值约21.5A15%就是3.2A左右。代入估算公式L ≥ Udc / (6 × fsw × ΔImax) 650 / (6 × 10000 × 3.2) ≈ 3.4mH所以至少选3.4mH再考虑滤波裕量、电流响应速度和实际电感饱和电流我通常取3.5mH左右。电感如果取得更大纹波确实更小但电流动态响应会变慢电感上的压降也会变大系统抗扰动能力下降。这里有一个通用的取舍建议纹波电流限制在额定峰值电流的10%到20%之间是一种比较平衡的选择。选电感还要注意峰值电流下的饱和问题。电感一旦饱和电感量会断崖下跌电流立刻变成冲击方波整机可能直接保护。所以实际选型时额定电流要留1.5倍峰值裕量并且在仿真里给电感加一个带磁滞模型的非线性参数才能发现饱和隐患。2.3 直流母线电容C怎么算别只看纹波直流电容的作用大家都很清楚平波、储能、吸收负载突变时的能量冲击。但电容选大了动态响应变慢开机预充电时间也长选小了母线电压波动大甚至会触发过压或欠压保护。计算的方式要看系统允许的母线电压跌落幅度。比如功率10kW、母线电压650V突然加载时允许母线电压跌落20V电压环响应时间需要大约1ms左右。这个阶段主要由电容放电来支撑功率用能量守恒可以估算C ≥ P × Δt / (Udc × ΔU) 10000 × 0.001 / (650 × 20) ≈ 770μF这只是理想下限。实际要考虑电容容差、温度老化、ESR带来的纹波发热以及整流和逆变切换瞬间更严苛的浪涌冲击所以我一般会取计算值的3到5倍。对应这个例子直流侧用2200μF到4700μF都比较常见。仿真模型里如果电容取太小整流切换逆变或者负载突变的瞬间母线电压会出现明显尖峰甚至会过度触发保护逻辑。2.4 开关频率、死区设置与调制方式IGBT开关频率一般取2kHz到20kHz功率越大频率越保守。10kW级别用10kHz在效率和滤波器体积之间比较平衡。死区时间要根据器件关断延迟和驱动电路延迟选实测后通常取2至5μs。死区太大会造成输出电压误差增加电流过零畸变死区太小上下管直通的概率增大。两者权衡取一个安全值。调制方式我优先推荐SVPWM空间矢量脉宽调制而不是普通SPWM。原因是SVPWM直接把期望的电压矢量分解到六个扇区相邻两个非零电压矢量配合零矢量合成目标矢量直流电压利用率比SPWM高出约15%而且谐波分布更集中滤波器更容易设计。后面仿真里我会给出具体的SVPWM实现思路。3. 控制策略dq双闭环与单位功率因数实现3.1 为什么非要用dq坐标系三相系统在静止坐标系里电压电流都是交流正弦量用PI控制器直接跟踪交流信号会有静差通常能跟踪但控制效果不够干脆。Clark变换把abc三相变成αβ两相正交分量还是交流再通过Park变换让坐标系和电网电压同步旋转交流量就变成了直流量。这个旋转角度必须来自锁相环锁相环如果相位不准所谓dq变换就只是换了个坐标没意义。在下假设dq坐标的d轴和电网电压矢量重合那么电网电压的q轴分量就等于零。这时候d轴电流代表有功电流q轴电流代表无功电流。这个特性正是单位功率因数控制能落户的基础——只要把q轴电流指令设为零就不用再关心无功功率。3.2 电流内环的模型和PI结构在三相电压型PWM整流器里从电网看进去电感上的电压方程可以写成dq轴形式。注意电流符号如果定义为电网流向整流器为正那么电网电压等于整流器桥臂输出电压加上电感压降和不电阻压降。q与d之间存在耦合项ωL i_q和ωL i_d。如果不去处理两个电流环会互相影响电流指令变化时容易出现振荡。所以我在内环控制器里加了前馈解耦。电流环PI的输出加上解耦项和电网电压前馈项作为桥臂电压指令。解耦项的作用可以理解成把“横着的风”和“纵着的风”分开处理控制d轴电流时把q轴电流耦合过来的影响直接算掉电流环就只看自己这条轴上的被控对象。工程实现上这条前馈会让参数整定简单很多而且电网电压波动时前馈也能帮电流环更快恢复。电流内环的带宽通常取开关频率的十分之一左右。10kHz开关频率下电流环带宽做成1kHz左右比较合理。内环响应太快PWM延迟和数字控制延迟会导致相位裕度不够电流环震荡太慢外环电压来不及调整。PI参数可以先按理论值算一个初值再用仿真扫一波阶跃响应。3.3 电压外环母线电压靠“充放电电流”来稳住电压外环输出的是d轴电流指令。说白了母线电压偏差大就给大电流指令偏差小就给小电流指令。整流时如果直流母线电压低于目标值电压环输出正的有功电流指令变换器从电网吸收功率给电容充电逆变时如果直流侧能量太多导致母线电压高于目标值电压环输出负的电流指令变换器把多余能量送回电网。电压环带宽必须比电流环低很多通常取电流环的五分之一左右。如果电压环调太快会看到母线电压出现低频振荡电流环在后面拼命追但母线电压仍然上下乱跳这种情况往往不是参数问题而是带宽分配不对。电压环PI还需要加抗积分饱和。母线电压在启动阶段会有比较大的误差如果积分器一直往上积等母线电压到达目标时电流指令已经冲到限幅值就会出现明显的超调。建议给积分输出做限幅并把电流指令限到1.2到1.5倍额定电流范围内必要时用条件积分法让误差超限时冻结积分。3.4 整流模式到逆变模式的切换机理很多人问过我这个切换是不是需要一个模式判断器。不需要。控制环路本身就会通过电压环的误差输出自动实现方向调整。整流状态时母线电压偏低电压环输出的d轴电流指令为正当直流侧接上一个高于母线电压的电源或者后端负载突然变成发电状态母线电压开始升高电压环误差反转d轴电流指令变负电流环马上让交流电流反相系统进入逆变模式。整个过程没有物理接触器纯粹靠闭环自动完成。不过要注意仿真中如果想清晰观察整流到逆变的切换最好别让切换过程太暴力。一次性把大功率直流电源直接接到母线上母电压会瞬间越过参考值电压环输出容易饱和电流会出现短暂超调。我用过的方法有两种一是直流侧用一个可控电流源代替负载把电流指令按斜率变化二是把母线电压参考值做斜坡过渡模拟手动调整的渐变过程。这样能看到更真实的过渡行为。4. 仿真模型搭建与运行验证4.1 主电路建模的步骤我以常用的模块化仿真环境为例模型搭建大概分四步。第一步建交流源。三相电网电压设置成380V线电压有效值、50Hz电源内阻设0.001Ω才能让仿真稳定。第二步接交流电感和桥臂。三相电感分别接在电网和桥臂中点之间电感值取3.5mH串联电阻取0.01Ω。桥臂用IGBT/Diode组合的通用桥模块内置反并联二极管耐压按直流母线650V的1.5倍以上选比如1200V额定电流按峰值电流两倍选50A以上。第三步接直流侧。母线电容4700μF并联电压表。整流初始阶段用电阻负载比如额定功率10kW时用42Ω左右电阻让整流器消耗功率。第四步接控制信号。通用桥模块的开关脉冲由SVPWM模块输出SVPWM的输入是控制器计算出的αβ轴电压指令。4.2 控制系统模块化实现控制部分我一般拆成五个模块锁相环模块输入三相电网电压输出电网电压相位θ。可以用内置PLL模块也可以自己搭一个基于q轴电压为零的锁相结构。锁相环带宽设置在50Hz左右带宽太高会引入网压谐波耦合太低在整流逆变切换时相位滞后会明显。坐标变换模块把三相电流和三相电压做Clark和Park变换得到d轴、q轴电流和d轴、q轴电压。仿真整本书变换时要特别注意符号说明Simulink里abc到dq0模块有不同相位约定搞反了电流环会变成正反馈。电压环模块计算Udc_ref减Udc的误差经过PI输出d轴电流指令Id_ref限幅后给电流内环。电流环模块两路PI分别控制Id和Iq加上解耦项得到调制的d、q电压指令再经过反Park得到α、β电压。SVPWM模块根据αβ电压判断扇区计算作用时间生成IGBT脉冲。SVPWM的计算过程在网上很多但注意仿真里要为每个开关管都留出死区时间。通用桥模块本身支持死区设置填一个合理的微秒级值不然波形会在过零点出现尖刺。4.3 关键仿真波形怎么看整套模型跑起来之后我要观察的波形主要有三个。第一个是直流母线电压它应该从零经过预充电或电压环调节之后稳定在650V左右。整流模式稳定后母线电压纹波峰峰值一般在几伏之内这个纹波主要来自电网频率二倍频和开关纹波。母线电压如果出现大的周期性波动多数是电压环带宽太窄或者直流电容容量不足。第二个是交流侧电压和电流波形。整流模式下A相电压和A相电流过零点对齐波形都是正弦逆变模式下电流和电压相位差180度但电流有效值方向相反。做过单位功率因数验证的时候我习惯直接把电压波形和电流波形放在同一个示波器窗口里缩放看而不是只看功率计算值因为肉眼看波形最直观。第三个是dq轴电流波形。整流时Id是正值Iq基本为零逆变时Id变负Iq仍然保持零。看Iq能不能稳住为零是判断单位功率因数控制是否生效的最快方式。如果Iq不为零但慢慢飘大概率是锁相环相位有偏差或PI参数没收敛。仿真从整流切逆变的典型设置是启动阶段用电阻负载母线电压稳定后把直流侧负载切换到一个小内阻电压源电压调成700V略高于母线参考值。这时电压环会输出反向电流指令交流电流迅速反相功率流向反转系统就自动进入逆变模式。继续观察母线电压它会回落并稳定在650V附近因为此时直流侧电源通过变换器把能量送回了电网。5. 调试实录与常见问题排查5.1 启动冲击电流大母线电压起不来最常遇到的情况是仿真刚开始电网一闭合母线电容瞬间充电电流冲击非常大。如果直接用一个大电阻负载并联在直流侧冲击电流会直接把电流保护触发。原因从原理上说很简单启动时母线电压为零电容相当于短路回路阻抗只有交流电感和线阻瞬时电流可以非常大。处理办法是给直流侧加预充电回路先用限流电阻给电容充电母线电压达到一定阈值再投运PWM或者在仿真里把电压环指令做成斜坡让母线缓慢升到参考值。实际工程里就是用预充电继电器加电阻仿真里模拟这个时序就可以了。5.2 电流环变成正反馈dq变换符号出了问题我试过一次三相电流接反结果电流环一投入电流瞬间炸到限幅值。查到最后是abc到dq变换的相位约定和电流方向定义对不上。这个问题在仿真里完全可以预防先把PWM封住只给一个很小的开路电压指令观察控制器计算出来的dq电流是否和实际电流方向一致。确认符号正确后再投电流环。不要相信自己的“记忆”每次搭建模型都花两分钟做一次开环验证。5.3 母线电压出现低频振荡如果在整流模式下母线电压不是稳定直线而是周期性上下抖多半是电压环带宽设置太接近电流环了。电压环和电流环存在时间尺度上的级联关系外环带宽必须明显低于内环。调试时先把电流环单独闭环给一个阶跃电流指令确认电流跟踪速度快且无超调然后再合上电压环。这样一个环一个环调定位问题会快很多。另外电压环的积分器限幅也要检查如果限幅值太小母线电压会有静态误差。5.4 THD超标电流过零点畸变交流电流波形虽然正弦但过零点附近出现毛刺THD比预期高一截这种情况首先看死区设置是否过大。死区时间会造成电压误差尤其在电流过零附近开关管切换频繁误差最明显。可以试试把死区时间减小或者加入死区补偿。其次是锁相环在电网电压过零时的动态误差如果锁相环带宽偏低坐标变换角度滞后dq电流会产生波动。最后再看交流电感是否太小导致开关纹波太大。5.5 常见问题速查表异常现象可能原因快速排查手段整改方向启动冲击大母线预充不足看电容电压和输入电流同时记录加预充电电阻或电压斜坡电流发散dq变换符号/电流方向不对开环验证反馈极性修正坐标变换或电流极性母线电压低频振荡电压环过快或积分限幅不当断开电压环单独调电流环降低电压环带宽加抗饱和Iq不为零锁相环相位误差/电流指令错误对比dq电流与功率方向检查PLL带宽确认指令为零过零畸变/THD偏高死区过大或电感偏小看局部放大电流波形调整死区补偿或增大电感切换瞬间超调电流指令阶跃过大看切换时刻Id波形对电流指令做斜率限制5.6 我调这个模型的经验最后分享一个土办法调PI参数时把dq坐标系的电流波形和调制波添加一个记录通道一起显示。很多振荡问题用眼睛看调制波就能看出来如果调制波出现剧烈抖动或接近饱和问题大概率不在PI增益而在反馈通道的相位或限幅逻辑。先解决反馈通路再调增益顺序不能反。参数整定如果完全没有头绪一种比较快的方法是把电压环断开给Id一个固定阶跃指令从小到大调电流环的Kp找到临界振荡点再把Kp降一半Ki按经验取一个较小的初值然后合上电压环把电压环Kp设小一点缓慢启动。虽然数据不精确但能在十分钟内得到一个可以初步运行的基组之后再微调。这个模型后续还能扩展的方向很多比如加入电网电压前馈、重复控制抑制电网谐波、直接功率控制DPC、无电网电压传感器控制甚至做模型预测控制。但基础的三相PWM整流逆变双向流动模型永远是这个领域的地基。把主电路参数、dq双闭环、SVPWM和模式切换这四个环节彻底摸透再往上加任何高级算法都会顺手很多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑