☰
三相三电平整流器PI双闭环控制Simulink仿真全流程解析
2026/10/21 17:51:59 网站建设 项目流程

做电力电子仿真这些年,真正让我意识到“三电平不等于两电平加几个管子”的,就是这次把三相三电平整流器配上PI双闭环控制、在Simulink里完整跑通的全过程。两电平PWM整流我搭得多,电流环电压环都算熟门熟路,本以为三电平无非是多一些开关管、换一种调制方式,结果从主电路建模到中点电位平衡,处处都是坑。这篇文章是对这套仿真项目的一次完整复盘,包含拓扑怎么选、双闭环控制器怎么设计、仿真模型怎么搭、PI参数按什么顺序调、波形出现异常时怎么定位。无论你手里是有现成两电平模型想升级,还是从零开始做三电平整流器仿真,都可以直接照着走,少走我走过的弯路。

1. 为什么一上来就选三电平整流器:从谐波要求和开关应力倒推拓扑

1.1 两电平在哪里不够用

先说结论:不是所有场合都要上三电平,但当你发现两电平方案怎么调都别扭的时候,就该回头审视拓扑了。我在这次项目里遇到的约束很典型——交流侧输入线电压380V、频率50Hz,直流母线要求稳定在800V左右,额定功率做到20kW量级,同时并网侧谐波指标不能太难看。

两电平PWM整流器在20kW这个功率档位并不是不能用,问题出在开关应力和波形质量上。两电平桥臂输出电压只有正负母线电压两个台阶,直流侧800V意味着每个开关管在关断时要承受接近800V的电压应力,SiC器件还好说,普通IGBT选型就得往上留很大裕量。更麻烦的是输出电压跳变幅度大,对交流侧滤波电感的要求跟着变高,同样的谐波指标,两电平需要的电感量明显偏大,电感体积和成本压不下去。

三电平拓扑的优势恰好打在两个痛点上:一是每个开关管承受的电压应力大约只有直流母线电压的一半,对器件选型非常友好;二是桥臂输出电压多出一个零电平台阶,波形更接近正弦,谐波含量和dt/dv都小一圈。在同样开关频率下,三电平的等效开关频率感受上是两电平的两倍,波形质量天然占优。

1.2 三种三电平整流拓扑的取舍

三电平并不只有一种实现方式,常见的是二极管中点箝位型、飞跨电容型和T型。我给这次仿真选的是二极管中点箝位型,也就是常说的NPC拓扑。选择理由排序如下:第一,NPC结构最成熟,工业变频器和并网变流器里用得最多,参考资料和仿真模型案例都容易找,排查问题时不至于孤立无援;第二,NPC不需要额外的飞跨电容预充电逻辑,启动流程相对简单,这在纯仿真阶段能省掉不少麻烦;第三,后续如果要往样机方向走,NPC的驱动电路设计和器件选型都有成熟套路。

T型三电平在低压小功率场合效率有优势,但它的开关管承压并不是严格的一半母线电压,对开关频率也比较敏感,我这次仿真定在10kHz开关频率,NPC在这个频段更游刃有余。飞跨电容型则因为电容电压平衡控制复杂,通常用在一些特殊多电平场合,整流器项目里用它的不多。

选型并不存在绝对最优,关键是把你自己的电压等级、开关频率、控制难度三个约束列出来,再做决定。三电平仿真的坑主要在控制侧,拓扑本身一旦定下来,后面的事情反而线性了。

2. 双闭环的骨架:外环锁电压、内环锁电流,中间还夹着解耦补偿

2.1 电压外环到底在管什么

很多第一次接触双闭环的同学会有一个误区:觉得电压外环就是“把直流电压采回来,和800V参考值做差,然后给PI”。这句话没错,但不完整。电压外环真正的任务不只是稳住平均值,它还要在负载突变、输入电压波动这些工况下,决定直流母线电压动态响应的快慢和超调量。

具体到Simulink模型里,电压外环的输入是直流母线电压采样值,给定值是母线电压参考,误差进PI控制器,PI输出的是d轴电流参考值。这个d轴电流参考值代表了整流器从电网吸收有功电流的期望值——负载重了,母线电压跌下去,外环PI输出增大,内环跟着让d轴电流变大,更多能量从交流侧灌进直流侧,母线电压回升。整套逻辑就是一个典型的“慢速功率平衡环”。

值得提醒的是,电压环的PI输出必须限幅。这个限幅值通常要结合整流器的额定电流来设,比如额定电流折算到dq轴以后的有效值。如果不限幅,启动瞬间或者负载突变瞬间,PI输出可能冲到很大,内环就会去追一个远超物理能力的电流指令,波形和器件都会很痛苦。我在模型里一般把id_ref限幅设为额定电流峰值的1.2倍左右,留一点裕量又不至于失控。

2.2 电流内环与dq轴解耦

电流内环是双闭环中最需要认真对待的部分。三相静止坐标系下的电流是交流量,直接做PI控制会有稳态误差,所以要先经过Park变换,把三相电流变换到dq旋转坐标系下。旋转坐标系中,d轴电流对应有功分量,q轴电流对应无功分量,两个都是直流量,PI控制就可以做到无静差跟踪。

但dq轴电流不是孤立的。电感的电压电流方程里,d轴和q轴之间存在交叉耦合项,具体表达式大概是这样的:d轴方程里有ωLiq这一项,q轴方程里有ωLid这一项。如果不做处理,d轴电流变化会扰动q轴电流,q轴电流变化同样会扰动d轴电流,整个系统就像两个人互相拽着胳膊跑步,谁都跑不稳。

解耦的办法是前馈补偿:在d轴PI控制器的输出上叠加−ωLiq,在q轴PI控制器输出上叠加−ωLid,把耦合项抵消掉。这样处理后,d轴和q轴电流环就变成了两个近似独立的单输入单输出系统,调参和理解系统都简单得多。我见过一些简化模型不做解耦也能跑出差不多的波形,但那多半是因为电感比较小、耦合效应不明显,真正拉到工程参数下,解耦是必须做的。

2.3 前馈补偿为什么缺不得

除了轴间解耦,电流环的给定通道还有一个前馈项容易被忽略:电网电压前馈。整流器数学模型里,电感两端电压等于桥臂输出电压和电网电压之差,如果电网电压波动,会对电流环产生直接扰动。

典型的做法是把电网电压在dq系的投影ed、eq直接加到PI控制器输出上。这样电流环的输出不再是单纯由PI算出来的电压指令,而是“PI校正量+电网电压前馈量”,系统对电网电压扰动的抑制能力立刻提升一个档次。这个技巧在纯仿真中体现得不像实际系统里那么明显,因为仿真里电网电压是理想源,但在后续做硬件在环或者样机时,这个前馈的作用就会非常突出。

3. Simulink主电路建模实录:NPC桥臂、L滤波器和直流母线参数怎么填

3.1 桥臂级建模的模块化思路

Simulink里搭三电平主电路,最容易犯的第一个错误就是一上来就去找现成的“Three-Level Bridge”模块。老版本工具箱里的桥模块并不总能精确模拟NPC的钳位行为,更稳的做法是自己在Simscape/SimPowerSystems环境里搭一个NPC桥臂,然后封装成子系统,再复制成三相。

一个完整的NPC桥臂从上到下是:两个串联的外侧开关管、两个串联的内侧开关管、两个钳位二极管接到直流母线中点。每个开关管我用的是带反并联二极管的IGBT模块,触发信号从控制器子系统输入。特别要注意门极信号的编号规则:桥臂四个开关管,从高到低分别是G1、G2、G3、G4,其中G1和G3互补,G2和G4互补。三电平调制下,正常情况下G1和G2、G3和G4之间会存在相位差,这直接决定了输出电压是正电平、零电平还是负电平。

搭建完后要逐个检查开关信号时序。我第一次搭完三相模型后,直接复制了两电平的触发逻辑来试,结果输出电压台阶完全不对,母线中点电位像过山车。后来将单个桥臂独立出来,在给定一组已知调制波的情况下单独看输出波形,确认P、O、N三种电平切换逻辑无误,才继续往下走。这个“先单桥臂验证再整机联调”的步骤,建议每个做三电平的人都要保留。

3.2 交流侧电感和直流电容的取值计算

主电路参数直接影响控制效果,参数本身又和控制器的设计强相关,所以不能随便拍脑袋。以我这次仿真系统为例,交流侧线电压380V、频率50Hz、额定功率20kW、直流母线800V、开关频率10kHz,算下来额定电流大约在30A左右。

交流侧电感选取需要考虑两个约束。一是电流纹波约束,电感越大纹波越小,但体积和成本上去;二是电流跟踪速度约束,电感太大会拖慢电流响应,内环带宽上不去。工程上常用经验公式:令电感上的基波压降约为相电压的5%~10%,折算到具体数值大约是每相2mH到4mH。我最后取每相3mH,纹波和动态响应两边都能接受。

直流母线电容的取值逻辑更直白——它承担着负载突变时维持母线电压的职责。电容越大,电压跌落越浅但恢复也相对迟缓;电容太小,负载阶跃时母线电压晃得很厉害。以允许电压纹波和动态跌落约50V来估算,直流侧总电容取4400μF左右,NPC结构下用两个2200μF电容串联,中间点引出作为母线中点。这个估算方法和实际仿真中观察到的纹波吻合得不错。

3.3 母线电容的中点引出

顺便把电容中点单独强调一下。NPC拓扑里直流侧的两个串联电容是必须的,钳位二极管要接到中点才能实现零电平输出。这两个电容的电压分配直接决定输出波形质量——上电容电压和下电容电压如果不相等,输出正电平和负电平的台阶宽度就不对称,电流波形会出现明显的偶次谐波。

在Simulink里,两个电容串联后,中间节点一定要用导线明确引出,接到两个钳位二极管的共阴极/共阳极点。电容参数不同、负载不对称、调制策略不均等都可能让中点电位漂移,这也是后面仿真最容易出现妖孽波形的原因之一。我做完主电路后做的第一件事就是单独跑一个无控制开环测试,观察两个电容电压是否基本相等,确认主电路本身没有奇怪的寄生问题。

4. 控制链路在Simulink里的落地方案:Park变换、PI控制器和调制波生成

4.1 采样、锁相与坐标变换

控制链路的第一步是采样和坐标变换。三相电流采样后,先做Clarke变换得到αβ轴分量,再做Park变换得到dq轴分量。整个过程用Simulink的三角函数模块和乘加模块直接搭就行,也可以用内置的alpha-beta/dq变换模块。我对内置模块的隐式坐标方向比较警惕——不同版本的工具箱对d轴初始角度的定义可能有差异,建议先用一个已知三相正弦信号验证变换模块的输出是否符合预期。

锁相环这里值得多说一句。三相整流器必须知道电网电压的实时相位,Park变换才能转对角度。我用的锁相方案是基于电网电压αβ分量做一个PI调节的软件锁相:目标是把q轴电压分量锁到零,这样d轴电压就和电网电压幅值对齐。锁相环的PI参数也不宜太快,否则电网电压有畸变时锁相角度会抖,电流波形反而跟着变差。

采样频率和控制周期要提前定好。我这次模型把采样频率设为10kHz,和开关频率一致,控制计算在每个开关周期内同步触发。这样做的好处是仿真步长可以统一配置,控制延时的建模也更符合实际数字控制器的工作方式。

4.2 PI控制器离散化与防积分饱和

PI控制器在Simulink里可以直接用连续域传递函数模块,但既然我们最终要往数字控制方向走,更建议从一开始就搭离散PI。离散化的方式是Tustin变换还是前向欧拉并不太关键,关键是保持统一。我在项目里用的是前向欧拉累加积分项:y(k) = y(k−1) + KiTse(k),比例项直接用P*e(k),两者相加即为输出。

防积分饱和是我加了之后才体会到好处的细节。电压环输出的id_ref一旦限幅,积分项还在继续累加,就会出现著名的积分饱和问题——指令被限幅了,积分项却一直在涨,导致指令脱离限幅后系统需要很长时间才能“缓过劲”。Simulink里可以用条件积分或者积分输出限幅配合输入冻结来规避。我在电压环和电流环的PI输出端都加了积分冻结逻辑:当输出触达上限时,如果误差仍然为正,就冻结积分项;反之亦然。这个处理让负载突变后的恢复时间明显缩短。

4.3 三电平载波调制与开关信号映射

调制部分是三电平和两电平差异最明显的地方。两电平只用一列三角载波,三电平NPC则需要两列幅值叠放的三角载波,上载波对应正半周调制,下载波对应负半周调制。调制波与两路载波比较后,输出一组开关逻辑信号,再通过一个小的组合逻辑把桥臂四管的状态确定下来。

具体逻辑可以总结成一张表:调制波为正且大于上载波,桥臂输出P电平,此时G1、G2导通,G3、G4关断;调制波为正但小于上载波,输出O电平,此时G2导通、G1关断,电流通过钳位二极管流回中点;负半周对称处理。把这套逻辑做成子系统函数,三相共用即可。

这里默认采用的是SPWM方式而不是SVPWM。SVPWM在电压利用率和中点平衡上有更精细的控制能力,但调制波生成逻辑复杂得多。仿真入门阶段先用SPWM把双闭环跑通,能更清楚地看到每个环节的作用,等波形调顺了再升级到带零序注入的等效SVPWM,是更稳的路线。

5. 调PI参数的顺序和方法:先内环带宽,后外环响应,别一上来就乱试

5.1 电流内环的参数整定

双闭环调参的铁律是先内环后外环,内环不稳,外环调得再精心也是空中楼阁。电流内环整定我按传递函数走了一遍简化计算。忽略数字控制延时和采样保持的近似影响后,电流环被控对象近似成一阶惯性环节,增益由直流母线电压和调制策略决定,时间常数由电感和等效电阻决定。

工程上更省事的做法是先定带宽再反推PI参数。把电流环期望穿越频率设为500Hz左右,对应角频率约3140rad/s,再根据被控对象一阶模型计算:比例系数取电感与期望角频率的乘积,积分系数取等效电阻与期望角频率的乘积。放在我这次参数下,得到的初始Kp在9左右、Ki在300左右,进仿真后微调,最终落在Kp=10、Ki=400附近。

提示:调内环时建议把电压环暂时断开,直接用固定id_ref给定,观察dq轴电流跟踪情况。如果内环出现振荡或明显滞后,多半是调制环节逻辑有误,而不是PI参数问题,先查逻辑再查参数。

5.2 电压外环的参数整定

电流环稳定后,把id_ref的控制权交还给电压环。电压环的带宽要明显低于电流环,通常取电流环的1/5到1/10,否则内外环频率重叠,系统容易共振。电压环的等效被控对象是母线电容的积分环节,传递函数比电流环更简单,但受负载特性影响大。

我从带宽50Hz起步,换算成PI初值,再放到完整模型里看母线电压的负载阶跃响应。电压环的比例系数主要影响超调量,积分系数决定稳态无差和恢复速度。我最终调到的效果是:满载阶跃时母线电压跌落不超过40V,恢复时间在150ms以内,整个过程无明显振荡。这个指标对多数工业应用已经够用了。

5.3 积分饱和处理

负载阶跃往往是检验PI饱和处理是否到位的试金石。我在最初版本里没有做积分冻结,结果在满载阶跃测试时,id_ref瞬间打到限幅值,积分项一路累加,等母线电压真的爬到800V以后,指令还在高输出状态维持了好一阵子,母线电压直接冲到850V。后来加上冻结逻辑,超调量立刻收下来,波形干净很多。

外环和内环的限幅值要配套设计:外环限幅决定最大允许电流指令,内环限幅决定最终调制波的最大幅值。调制波限幅我设在0.95左右,留出一定的调制裕量,避免过调制导致波形畸变。

6. 仿真波形分析与现场踩坑修复:中点电位漂移、启动过流、稳态定位

6.1 启动瞬间的过流问题

第一个跑出来的波形就给了下马威——启动瞬间电流直接冲到额定值的3倍以上。原因是启动过程中直流母线电容电压为零,电压环为了尽快把母线拉高到800V,输出非常大的电流指令,同时直流侧电容相当于短路,交流侧电流因此爆炸。

解决思路分两步。第一步是加入软启动过程:把母线电压的参考值从0按斜坡函数逐步爬到800V,爬升时间设置为1秒左右,这样电压环在一开始就不会输出过大的电流指令。第二步是给id_ref设置一个平滑的上升斜率限制器,让电流指令每秒只能增加有限的值。这两步叠加后,启动电流被控制在额定值1.5倍以内,母线电压也能平滑建压。

6.2 中点电位漂移的根因与对策

运行时间一长,另一个典型的NPC问题浮出水面:上下电容电压开始出现不对称,大约每过几十个工频周期,差值就明显变大,电流波形跟着出现不规则的畸变。排查后确认根因有两点。

一是主电路层面的无差别因素——软件调制环节给出的P、O、N电平时序天然会造成中点电流偏移,这种偏移和负载大小相关,无法靠硬件彻底消除。二是电流谐波分量注入中点时,由于时序不对称,上下电容的充放电不均衡。

对策是在调制波上叠加一个缓慢变化的直流分量,用来调节正负电平在一个周期内的占空比,把中点电压拉回平衡。这个补偿量的符号和大小取决于两个电容电压之差,差值大就补偿得多一些。用PI控制器对中点电压差做闭环,输出作为调制波偏置,挂在三相调制信号上,效果立竿见影。我实测下来,中点电压差从最开始的几十伏缩小到几伏,波形闭合度明显改善。

6.3 稳态与动态性能的结果评估

全部调通之后,我重新做了一遍完整的稳态和动态测试,记录关键指标如下表。

测试项目测试条件实测结果备注
稳态母线电压半载额定运行799.5V ± 2V波动约0.4%
网侧电流THD半载额定运行约4.2%未加谐波补偿
功率因数半载额定运行0.97无q轴电流指令
负载阶跃电压跌落半载跳满载35V恢复时间约140ms
中点电位最大偏差满载运行6V有补偿闭环时

稳态波形里,网侧电流已经比较接近正弦,毛刺集中在开关频率附近,幅值不大。动态测试里最满意的是负载阶跃的恢复过程,没有出现第二次过冲,说明外环积分冻结和内环带宽设计都在合理区间。

仿真走到这一步,我还额外做了一件通常不会在课程作业里做的事:把负载换成主动负载并加入周期性冲击扰动,检验系统抵抗持续扰动的能力。结果母线电压波动比单次阶跃略大,但依然能自行收敛,说明整套控制结构具备较强的鲁棒性。这正是三相三电平整流器在真实工业场景里最有价值的地方——不是只会在理想工况下干活,而是在负载波动和电网扰动中依然能守住输出电压和电流质量。

最后说一个自己的小体会:三电平整流器的仿真项目,难的不是某一个技术点,而是把主电路建模、控制链路、调制逻辑和PI整定四件事串起来的能力。拆开每个环节都有人讲过,但真正把它们完整串成闭环并且跑顺,只有亲手搭过一遍才学得会。如果你正在做类似的仿真,建议先从两电平双闭环模型开始,确认自己对电流内环和Park变换的理解没问题,再切换到NPC三电平拓扑,这样出问题时更容易定位是拓扑带来的新问题还是控制侧的老问题。仿真跑通只是第一步,能解释每一步为什么这么做,才算是真正把三电平整流器吃透了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询