资讯动态

三相三电平整流器PI双闭环控制Simulink仿真:参数计算到中点电位平衡

发布时间:2026/10/21 17:52:46 来源:尧图企业网站定制
做电力电子仿真的朋友大多数是从三相两电平整流器入门的不过真到工程里摸爬滚打之后就会发现两电平在很多场景下已经力不从心。开关管应力大、电流谐波指标难压、开关损耗偏高这几个短板在并网整流、储能PCS、中压电机驱动这类应用里特别刺眼。所以三相三电平整流器成了绕不开的进阶方向。最近我完整搭了一个“基于三相三电平整流器PI双闭环控制Simulink仿真”的项目从主电路参数计算到控制系统建模再到波形调试踩了不少坑这篇就把完整思路和可直接复现的操作记录整理出来。无论你是刚接触三电平拓扑的研究生还是正在做电源产品需要快速验证控制算法的工程师或者只是想搞清楚载波层叠PWM和双闭环PI怎么配合的初学者应该都能从里面找到自己关心的细节。尤其是那些卡在PI发散、中点电位漂移、启动冲击这几个典型问题上的后面的排查部分值得多看两遍。1. 项目概述与设计思路拆解1.1 从两电平到三电平整流器为什么要升级先明确一下“三电平”到底解决什么问题。两电平整流器每个桥臂输出只有正母线和负母线两个电平开关管直接承受整个母线电压为了压住谐波通常得把开关频率提得很高还伴随明显的dv/dt这对绝缘和EMI都很不友好。三电平拓扑在母线正负之间多了一个中点每个桥臂能输出正、零、负三种电平等效开关频率更高单个开关管只承受一半母线电压电流谐波明显下降。这也是它在中压大功率和新能源并网领域大量应用的根本原因。拓扑结构上二极管钳位型NPC是最常用也最容易理解的结构。还有T型、飞跨电容型但NPC材料成本合理、控制成熟度高Simulink里搭起来也方便。对做控制算法验证的人来说NPC可以作为首选因为它的运行机理直观各种教材和参考代码也多遇到问题不会两眼一抹黑。1.2 双闭环控制在整流器里的角色分配整流器的控制目标其实只有三件事母线电压稳定在给定值、输入电流接近正弦、功率因数可控。要实现前两个目标最经典也是工程上最通用的结构就是电压外环加电流内环。电压外环看的是慢量它通过母线电压误差给出有功电流参考电流内环看的是快量直接控制电感电流跟踪参考。把慢控制环和快控制环分开好处是带宽分离、互不干扰设计逻辑清晰。在旋转坐标系里本来交变的电流变成了直流量PI控制器自然就能做无静差控制这是整个控制方案里最核心的思想。可能有朋友会问为什么不用模型预测、无差拍之类的“先进控制”。我的看法是PI虽然看起来“旧”但它对参数偏差和模型失配的容忍度最高工业现场依然是主流。仿真阶段用PI把动态性能做出来后续想换高级算法也有清晰的对比基线不至于一开始就陷进复杂控制器的调参泥潭。2. 核心原理剖析与关键参数工程计算2.1 NPC三电平拓扑与三种开关状态一个NPC桥臂包含四个IGBT和它们的反并联二极管再加上两个钳位二极管钳位二极管的中点连接到直流母线中点N。三个输出状态分别是P、O、NP状态T1和T2导通桥臂输出接到正母线对直流中点电压为Vdc/2。O状态T2和T3导通桥臂输出经由钳位二极管接到中点输出电压为0。N状态T3和T4导通桥臂输出接到负母线输出电压为-Vdc/2。切换时必须遵守T1和T3互补、T2和T4互补而且不能同时改变两个互补对否则可能导致桥臂直通或中点电位异常。这是三电平PWM逻辑和两电平最大的区别。两电平每个桥臂只需要一路载波比较三电平至少需要两路载波比较再加状态译码。中点电流流向是后续很多问题的根源输出O状态时负载电流会流入或者流出中点N这个电流会对上下电容分别充电或者放电。三相开关组合不同中点电流在一个PWM周期内的净效果也不同。如果控制不当上下电容电压就会慢慢拉开这就是三电平最有名的中点电位不平衡问题。2.2 旋转坐标系下的数学模型与解耦交流侧回路方程写出来是这样的电感压降加电阻压降加整流器桥臂电压等于电网电压。经过Clark变换到两相静止坐标再经过Park变换到同步旋转坐标之后会得到两组方程L·di_d/dt e_d - R·i_d - v_d ω·L·i_qL·di_q/dt e_q - R·i_q - v_q - ω·L·i_d注意d轴和q轴之间存在ωL耦合项。也就是说你控制d轴电流时q轴电流会通过耦合项影响d轴控制q轴电流时d轴电流也会反过来影响q轴。如果不做解耦两个环会互相干扰PI参数怎么调都别扭。工程上的做法是在控制器输出端加前馈补偿v_d_ref e_d - PI_d输出 ω·L·i_qv_q_ref e_q - PI_q输出 - ω·L·i_d这样d轴通道和q轴通道就变成了两个相对独立的子系统。Simulink里搭这个前馈并不复杂几个乘法器和加法器就能搞定但符号方向一定要检查清楚。整流侧和逆变侧的符号习惯不同我曾经因为一个正负号写反电流环直接变成正反馈电流一路飙到保护值。2.3 PI参数的工程整定步骤很多教程会给出一个“万能”PI参数但实际用起来基本都会翻车。原因在于开关频率、电感、电容、采样延时都会影响最终取值。我这里给出一组可以复现的项目参考参数后续再讲整定方法。参数项数值说明电网线电压380V / 50Hz常规三相市电交流侧电感L1mH滤波兼能量传输交流侧寄生电阻R0.1Ω主要影响PI零点位置直流电容C1/C2各自2200μF上下电容对称直流母线参考电压700V高于线电压峰值537V直流负载100Ω稳态功率约4.9kW开关频率10kHz载波层叠PWM仿真步长1e-5s离散定步长电流内环带宽一般取开关频率的1/10到1/510kHz开关频率对应500Hz到1kHz。按典型I型系统整定电流环PI初始值可以这样估算Kp ≈ L / (2·T_sum)其中T_sum包含1.5倍开关周期和控制延时约150μs算出来Kp约3.3。Ki则根据零极点对消关系取Ki Kp·R/L理论值在330附近但实际调试时100到200之间往往更稳积分太强容易震荡。电压外环带宽要比电流内环低一个数量级取电流环带宽的1/10左右。电压环的Kp经验范围在0.1到0.5Ki在5到10具体数值要靠仿真负载阶跃响应来微调。这套参数只保证起步不炸不代表不用继续调后面章节会专门讲调试顺序。3. Simulink模型搭建与仿真实现3.1 主电路搭建与参数计算主电路部分我建议优先用Simulink的通用桥模块配置三电平桥臂而不是手动搭四个IGBT加两个钳位二极管。手动搭的好处是自由度高能完整看到每个器件的通断细节但工作量翻倍还容易连错对多数控制算法验证项目来说性价比不高。通用桥模块配成三电平之后只需要关心六个桥臂门极信号的逻辑是否正确。搭建顺序这样来放置三相交流电源线电压380V频率50Hz初始相位依次相差120度。每相串入一个RL支路电感1mH电阻0.1Ω。这个电感位置不能省它是交流侧滤波和能量传递的核心。接入整流桥模块桥臂类型选择三电平NPC结构。直流侧用两个2200μF电容串联两个电容的连接点引出作为中点N。负载电阻接在直流母线正负之间我用的是100Ω也可以接一个可切换的负载电阻用于测动态响应。在交流侧和直流侧分别放置电压电流测量模块信号输出给控制系统。电容初始电压值得利用起来。Simulink里的电容模块可以设置初始电压值我直接把上下电容初始电压设为350V左右这个操作能有效避免启动瞬间的电容充电冲击比等PI慢慢爬坡省事得多。虽然仿真里没有真实的浪涌电流但初始电压依然会影响启动波形形态设置合理了可以少处理一个启动问题。3.2 控制系统搭建从PLL到载波层叠PWM控制系统是整套仿真的灵魂搭建顺序建议按照信号流从前往后走。第一步三相电压和三相电流进入控制系统之前先用PLL获取电网电压相位θ。这里可以直接用Simulink的三相PLL模块也可以自己搭一个基于Park变换加PI的锁相环。我的建议是如果版本自带PLL就用自带的省时间如果想深挖原理手写一个也就几分钟的事。第二步用Park变换把三相电流变换到dq轴。关键点是变换矩阵的角度基准必须和PLL输出严格对齐d轴通常对齐电网电压矢量方向。很多学生在这里翻车坐标系角度错一点id和iq波形就怪怪的正弦度还看不出来但功率因素会异常。第三步电压外环开始运行。母线电压参考700V与反馈值求误差经过PI控制器之后输出d轴电流参考id_ref。PI输出必须限幅我的经验是限在额定电流的1.5倍以内否则启动瞬间积分饱和会让电流冲击特别大。q轴电流参考iq_ref设为零对应单位功率因数运行当然也可以给一个值去控制无功。第四步电流内环。id和iq的误差分别经过PI控制器在输出端加上电网电压前馈和交叉耦合补偿得到v_d_ref和v_q_ref。到这里控制器的输出还是dq轴上的电压指令需要经过反Park变换回到三相静止坐标系得到三相调制波va、vb、vc。第五步载波层叠PWM。三电平载波层叠和两电平的三角载波不同需要用两个同相位的三角载波一个范围在0到1之间一个范围在-1到0之间。调制波va与上载波比较大于上载波的部分对应P状态调制波与下载波比较小于下载波的部分对应N状态两者之间是O状态。三个状态再经过译码逻辑转换成四个开关管的门极信号。状态和开关管的对应关系可以做成这样的译码表输出状态T1T2T3T4P1100O0110N0011这个表其实就是前面拓扑章节的落地方案。在Simulink里实现时可以用比较器输出两个开关信号再组合出四个驱动脉冲。我习惯把比较结果先标成PWM_H和PWM_L然后用逻辑运算模块做译码。一个最容易犯的错是T3和T4的驱动逻辑写反导致桥臂输出状态和期望完全反相。3.3 中点电位修正与零序注入三电平不带中点电位控制直接跑一般持续几百毫秒到几秒就会出现明显的电容电压漂移。我的做法是在调制波上叠加一个零序偏置用上下电容电压差做闭环修正。具体来说把U_C1减去U_C2得到电压差ΔU经过一个比例控制器先给0.01量级的小增益生成零序修正量加到三相调制波上。方向要选对如果上电容电压偏高说明需要让中点电流更多地流出中点帮上电容放电修正量的正负反了就变成正反馈电容电压往一边倒更厉害。我调试时是先给极小的增益跑起来看ΔU的变化方向再决定正负号。这个方案属于工程上常用的简化版中点平衡对载波层叠PWM效果不错。想做更精细的平衡可以上虚拟矢量调制或者基于SVPWM小矢量的中点电流调节但那些算法实现复杂度一下子高很多建议先把基础模型跑稳再考虑进阶。3.4 仿真参数设置与结果观测求解器设置是整个仿真能不能稳定跑起来的关键。我强烈建议使用离散定步长求解器步长设为1e-5秒。PWM开关频率是10kHz载波周期100μs1e-5步长等于每个载波周期采样10次既能看清PWM细节仿真时间又不至于慢到无法接受。如果步长太大比如直接取一个载波周期电流纹波会完全被掩盖波形看起来异常光滑但动态响应全失真。仿真时长我一般设0.5秒到1秒。0.5秒足够看母线电压启动、稳态运行和突加负载后的恢复过程。结果观测主要在四个方面直流母线电压波形看它从初始值爬升到700V的过渡过程。三相输入电流波形看正弦度和三电平特征明显的台阶状PWM电流纹波。id和iq的波形看q轴电流是否稳定在零附近d轴电流是否跟随负载变化。上下电容电压差看中点电位是否被控制在一个合理范围内比如±5V以内。调好参数后母线电压大约在0.03到0.05秒内就能到达参考值稳态波动在几伏以内。三相电流THD由两电平常见的百分之十几降下来观察谐波成分会发现低次谐波明显减小高次谐波集中在载波频率附近这正好是三电平带来最直观的收益。4. 常见问题与排查技巧实录4.1 仿真发散或者波形炸裂先检查这几件事波形发散的原因一般就那么几个按顺序排查能省半天时间。第一个是PI参数过大。电流环Kp给到几十甚至上百系统必然高频震荡发散。解决方法是先把Kp调小一个数量级确认系统稳定后再逐步增大。第二个是仿真步长过大。如果你的求解器是无脑自动定步长或者步长超过载波周期的1/10离散PWM的等效效果会被歪曲信号到了控制器里出现明显的相位延迟直接表现就是电流波形各种毛刺、母线电压嗡嗡振。改定步长之后最常见的“病”就好了。第三个是电流方向或者电压符号反了。整流侧的电动势方程和逆变侧差一个符号如果顺手照着逆变器的模型抄反馈变正反馈电流会一路飙升甚至趋于无穷。这是最隐蔽的问题波形炸得莫名其妙。排查办法是把某个桥臂的PWM信号强制设成固定占空比看电流会不会按照物理规律流向直流侧先把主电路方向校准再谈闭环。第四个是PWM驱动逻辑错误。T3、T4驱动弄反之后桥臂输出不再是期望的P/O/N状态电流波形会像锯齿一样乱跳。排查办法是单相单独跑观察桥臂输出电压波形是否符合载波层叠的逻辑。4.2 中点电位漂移三电平最容易翻车的现场中点电位漂移的现象很直观上下电容电压差越来越大甚至一个电容直接被充到母线电压、另一个电容电压近乎为零。这时候输出电平会缺一块电流谐波显著恶化再严重一点就是器件过压。根源在O状态时中点电流的流向。如果在一个完整的三相周期里中点电流的平均值不为零上下电容的充放电就不平衡。载波层叠PWM不附加任何修正在对称工况下中点电流平均值为零但只要三相电流稍微不对称或者调制波里叠加了别的分量漂移就开始出现。处理思路就是把中点电位作为被控量加上前面说的零序偏置闭环。补偿增益不宜过大我从0.01开始试逐渐加到能平衡中点但又不影响电流波形为止。增益太大会造成三相调制波明显畸变电流波形上出现不该有的谐波。这里需要多组仿真配合慢慢找到甜点区域。还有一个物理层面的缓解手段是增大直流电容容值。2200μF对几百千瓦的整流器是常规选择但如果仿真中负载很小、母线电压又高电容过大反而让中点调节响应变慢。电容并不是越大越好平衡能力要看电容耐压和动态响应需求仿真里多试验几组数据就能体会。4.3 启动冲击过流与软启动处理启动冲击几乎是三电平整流器仿真的标配问题。一上来参考电压给到700V电压外环积分器瞬间饱和id_ref冲到一个很大的值电流环拼命往直流侧灌能量交流电流可能直接飙到几十倍额定。我的做法有三步。第一步是给id_ref输出加限幅限到额定电流的1.5倍以内从根源上限制冲击幅度。第二步是给直流电压参考加一个斜坡比如在0.05秒内从500V线性升到700V让电压环缓慢进入工作状态而不是一开始就面对一个巨大的误差。第三步是给两个电容设置合理的初始电压这招前面说过可以让整流器从接近稳态的起始条件开始运行启动波形会漂亮很多。有人觉得软启动是“作弊”会掩盖控制器的真实启动能力。我的看法是仿真阶段研究的是稳态性能和扰动响应不是让PI去硬扛冷启动物理极限。有预充电过程的实际工程也是先把电容电充到一定水平再合闸并网。所以给初始条件完全符合实际情况不算偷懒。4.4 仿真跑不动、结果抖动、代数环Simscape物理模型加PWM开关如果不开定步长仿真时间可能拖到半小时以上甚至卡死。我的经验是始终用离散定步长同时把载波比较和开关管的逻辑放到与PWM周期同步的采样时间里。步长取1e-5秒跑0.5秒仿真在普通电脑上大约几十秒到两三分钟可以接受。结果抖动大部分来自采样时间不一致。测量模块、PI控制器、PWM比较器如果用了不同采样时间信号穿越不同速率模块时会引入微小偏移反映在波形上就是那种隔一段时间冒出来的毛刺。把控制系统的所有模块采样时间统一抖动基本消失。代数环这个问题指的是信号从输出端直接绕回输入端、中间没有任何延时或者存储模块。Simulink会提示检测到代数环求解时要么报错要么多花很多时间。解决办法可以给反馈信号路径上放置一个memory模块或者很小的延时把代数环打断。要注意的是延时不能太大否则会影响控制相位裕度1e-6量级就够了。关于仿真运行速度还有一个替换思路。如果只要看电流波形和母线稳定性可以用平均模型替代真实的开关管把PWM效应用一个受控电压源等效仿真速度能提升一个数量级。但平均模型看不出开关纹波和器件电压应力我一般是先把运行逻辑用平均模型调通再切换成开关模型验证最终结果两种配合效率最高。最后分享一点个人体会整套模型从零开始搭到跑稳如果每天都弄大概需要两到三个晚上。最花时间的不是主电路而是PWM逻辑和中点电位的调试。前期建议先把电流内环独立调好给一个固定的id_ref看电流是否跟踪再让电压外环参与闭环可以省掉很多排查时间。另外三电平的中性点问题不是仿真的专利实际工程里更严重先把模型调明白后面做实验也会更有底气。模型文件不建议直接拿别人的跑自己动手搭一遍中间踩过的坑都会变成经验下次再遇到任何三电平变流器项目心里就有底了。

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

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

免费获取报价 →
↑