
做并网逆变器仿真的朋友应该都有过这种经历模型在理想三相平衡电网下跑得稳稳当当波形漂亮得像教科书可一旦把电网电压改成幅值不等的非理想状态直流侧电压开始二倍频振荡并网电流明显畸变角度错乱时甚至还触发过流保护。我去年做基于Simulink的三电平并网逆变器仿真研究时被这个问题卡了将近两周后来把T型和NPC型两种拓扑分别建模配合正负序分离控制才彻底理顺。这篇博客就打算把那段时间的踩坑过程和完整思路记录下来重点围绕不平衡三相电网下T型与NPC型三电平并网逆变器的建模差异、双dq控制策略的实现细节以及仿真调试中的实用经验展开给正在做类似课题的研究生或者刚接触电网不平衡工况的电力电子工程师一个可以少走弯路的参考。1. 三相不平衡到底给逆变器带来了什么麻烦1.1 不平衡电网的成因与数学描述三相不平衡在配电网里实在太常见了。单相负载的大量接入、三相负荷分配不均、线路阻抗不对称、甚至短时故障切除后的残压都会让并网点电压不再满足幅值相等、相位相差120度的理想条件。有些人觉得电网不平衡只是电压幅值有点偏差没什么大不了但放在并网逆变器这个场景下问题会被放大得很厉害。从数学角度看任意一组不对称三相向量都可以用对称分量法分解为正序、负序和零序三组对称分量。对三相三线制系统来说没有中线通路零序分量基本不流通所以我们主要关心正序和负序。用一个简单例子说明A相电压幅值为额定值B相降到0.8倍额定值C相为0.9倍额定值那么这组电压就可以写成正序分量加上负序分量的叠加。负序分量的旋转方向与转子或同步坐标系相反在电网频率为50Hz时它相对正序旋转坐标系的角速度是两倍工频也就是100Hz。这个“两倍频”很关键。常规的并网逆变器控制都在同步旋转dq坐标系里做正序基波分量变换到dq后是直流PI控制器可以做到无静差跟踪。但负序分量变换到正序dq坐标系后会变成100Hz的交流扰动电流环带宽一般只有几百赫兹根本没法完全抑制于是输出电流就开始畸变。这就是不平衡电网下逆变器性能恶化的根源。1.2 负序分量在逆变器中的真实危害负序电压和负序电流交互产生的影响实际仿真里看得非常清楚我梳理成下面几条并网电流三相不对称畸变率上升严重时超过并网标准里对电流平衡度的限制导致保护动作。直流侧出现明显的二倍频电压纹波。负序功率在有功通道里产生100Hz脉动母线电容被迫吸收这个脉动能量电容发热加剧寿命下降。电网侧有功功率和无功功率都出现二倍频振荡。对于光伏或储能并网系统来说输出功率抖动会影响前端直流变换器的工作点稳定。三电平逆变器还有一个额外痛点中点电位波动会被负序电流放大。NPC和T型拓扑都依赖直流侧两个串联电容的中点负序电流在中点注入额外的100Hz纹波电流上下电容电压失衡严重时输出电压畸变甚至损坏开关器件。所以做这个课题核心任务就是两件事一是把负序分量从控制通道里分离出来二是设计合适的控制目标来抑制它带来的负面影响。后面讲的控制策略基本都是围绕这两点展开的。2. T型与NPC型三电平拓扑仿真模型选型的底层逻辑2.1 NPC拓扑的结构与损耗分布特征二极管中点钳位型三电平逆变器也就是常说的NPC每相桥臂由四个带反并联二极管的开关管和两个钳位二极管组成。直流侧两个电容串联中点通过钳位二极管接到每相桥臂。正常工作时每个开关管承受的电压被钳位在直流母线电压的一半所以NPC结构在器件耐压上很有优势适合高压大功率场景。但NPC有个天生的短板损耗分布不均匀。我搭模型对比过导通损耗和开关损耗的分配外管在大多数调制比下承担了更多的开关损耗内管则承担了更多的导通损耗导致结温不均衡实际工程里还要做专门的热均衡控制。此外每相比两电平多了两个钳位二极管器件数量多驱动电路和故障保护回路也跟着变复杂。2.2 T型拓扑的结构与器件应力差异T型三电平其实可以理解为两电平桥臂加了一个双向中点钳位开关管每相由两个承受全母线电压的主开关管和两个反向串联组成双向开关的钳位管构成。从名字就能看出来每相桥臂的形状像字母T主开关管在垂直方向钳位开关管横跨到中点。T型结构少用了六个钳位二极管导通路径上的器件数更少所以导通损耗明显优于NPC器件数量少也意味着驱动电路简化、成本下降。代价是主开关管要承受整个直流母线电压而不是半母线电压所以对开关管的耐压等级要求更高一般更适用于中低压场合比如690V以下的并网系统。我做仿真对比时相同容量和开关频率下T型的效率曲线确实要比NPC高一些尤其在轻载工况下优势更明显。2.3 仿真研究中怎样选型更合适仿真选型没有绝对标准更多看你想研究什么。我做了一个对照表方便参考对比项NPC型T型每相主开关数量42钳位二极管2个/相无需主开关电压应力半母线电压全母线电压导通损耗较高较低开关损耗相对均衡相对集中在外管器件成本偏高中等适用电压等级中高压大功率中低压高效率我的建议是如果课题偏重中高压大功率应用、研究损耗均衡或者中点电位与宽禁带器件配合优先选NPC如果偏重光伏逆变器这种低压大电流、讲究效率和成本的场景T型更合适。Simulink里用Simscape Electrical的“Three-Level Bridge”模块可以直接切换NPC和T-Type两种拓扑非常方便。我实际做的时候是两套模型都搭了控制策略完全一样主要对比它们在相同电网故障下的直流侧响应和电流波形这样写论文时素材也比较充分。需要强调一点不管是NPC还是T型中点电位控制都是绕不开的问题。两种拓扑的中点电流路径略有差异但直流侧电容电压失衡的机理是相通的都需要在调制环节加中点平衡算法。后面第四节我会专门讲调制环节怎么处理。3. 不平衡控制的核心正负序分离与双dq电流闭环3.1 正负序分离的工程实现思路要抑制负序分量首先得把负序分量从测量信号里准确分离出来。这里我要提醒一句直接从静止坐标系里用低通滤波器滤出正序、再相减得到负序的做法虽然简单但响应慢动态过程里正负序耦合严重实际仿真的效果很不理想。更工程化的方案是使用双SOGI结构也就是二阶广义积分器。SOGI本身是一个谐振于特定频率的正交信号发生器传递函数如下G_bp(s) k*wn*s / (s^2 k*wn*s wn^2) // 带通输出 G_lp(s) k*wn^2 / (s^2 k*wn*s wn^2) // 低通输出其中wn设为100π50Hz对应的角频率k一般取1.414左右决定带宽和动态响应。在αβ静止坐标系下用两个SOGI分别处理α轴和β轴电压得到一组与输入信号正交的αβ分量再通过正负序计算矩阵就能分离出电压的正序αβ分量和负序αβ分量。之后分别用正序角频率和负序角频率做Park变换就能得到两套独立的dq分量。这套结构在Simulink里实现起来不复杂而且因为有谐振特性对电网频率偏差也有一定适应性。我最初试过用100Hz陷波器来提取负序dq分量效果也能用但动态过程中陷波器会造成较大相位延迟在电网电压突变场景下控制器的响应明显变慢。DSOGI的方法要稳健得多。3.2 双dq控制与抑制目标的取舍把正序和负序dq电流都变成直流量之后控制结构就清晰了正序电流环一个PI控制器负序电流环一个PI控制器两个环并行工作最后把两套dq调制波都反变换回abc坐标系再叠加得到三相调制信号。这就是经典的双dq控制。这里有一个特别重要的物理约束很多仿真新手容易忽略在不平衡电网下“输出电流完全平衡正弦”和“输出有功功率无波动”这两个目标是不可能同时满足的。原因在于负序电压与正序电流作用会产生2倍频有功功率负序电流也能与正序电压作用产生2倍频功率只有当负序电流取特定值时才可能互相抵消。所以我一般把控制目标分成三种模式控制模式负序电流指令效果典型应用电流平衡模式负序dq给定为0并网电流三相对称、正弦度好电流质量优先场景有功恒定模式负序电流不为0消除有功功率2倍频振荡光伏/储能功率平稳无功恒定模式负序电流不为0消除无功功率2倍频振荡无功补偿装置做仿真时我推荐先把电流平衡模式跑通也就是负序dq电流指令设成0观察并网电流恢复三相对称。这个模式物理意义最直观控制环也最简单适合用来验证整个正负序分离和双dq框架的正确性。然后再根据课题需要切换到有功恒定或无功恒定模式切换的方法就是在指令计算模块里根据瞬时功率公式算出需要的负序电流参考值。3.3 PLL在不平衡电网下的设计差异同步锁相环在三相平衡电网下不是什么难事标准的SRF-PLL就能锁得很好。但电网不平衡时普通SRF-PLL的输入电压里包含负序分量经过Park变换后会在q轴引入100Hz纹波锁相角也会跟着抖动电流控制输出会叠加低频扰动。仿真里有两种办法解决使用解耦双同步坐标系PLL也就是DDSRF-PLL把正序和负序dq通道分别解耦消除负序对锁相环的影响。使用基于DSOGI的锁相环正负序分离结构直接复用3.1节搭建的SOGI模块从正序αβ电压计算相位角。我在模型里用的是第二种方案因为正负序分离模块本来就有复用起来不需要额外增加太多模块。PLL的PI参数我按带宽10到20Hz整定不要取得太高太高会让锁相角对电网畸变过于敏感反而引入更多噪声。4. Simulink模型搭建从主电路到控制环路的完整过程4.1 主电路与不平衡电网参数设置我用的Simulink版本是Simscape Electrical环境下的Specialized Power Systems库主电路由四部分构成三相电网、滤波电感、三电平桥、直流侧电容。电网不平衡用三个独立的单相交流电压源来实现比用可编程电压源更直观因为可以独立控制每一相的幅值、相位和内阻。% 参考参数50Hz系统 V_rated 220; % 相电压有效值V f_grid 50; % 电网频率Hz V_a 220; % A相电压有效值1.0pu V_b 176; % B相电压有效值0.8pu V_c 198; % C相电压有效值0.9pu L 3e-3; % 滤波电感3mH R_line 0.05; % 线路电阻0.05欧姆 C_dc 1000e-6; % 单个直流电容1000uF V_dc_ref 700; % 直流母线电压参考值V f_sw 10e3; % 开关频率10kHz Ts 1e-5; % 仿真步长10us注意三相电源模块的内阻不能设成0逆变器仿真时电源内阻太小会出现数值振荡。我一般给每相串一个0.05欧姆的电阻和一个小电感模拟电网阻抗。不平衡程度不要一开始就拉满建议先跑B相0.9pu确认控制有效后再加到0.8pu方便定位问题。直流侧我直接用理想直流电压源加两个电容串联或者用可控直流源模拟光伏板。如果课题重点是并网电流控制用理想直流源就够了可以暂时忽略直流侧动态如果要研究不平衡电网下的直流侧二倍频纹波就得用两个电容加受控电流源来建模从直流侧波形才能看出纹波特征。4.2 锁相环与坐标变换实现细节DSOGI-PLL部分我拆成三个小模块SOGI正交发生器、正负序计算、正序Park变换。SOGI模块可以用Simulink的传递函数框图直接搭注意α轴和β轴各自需要一套SOGI参数k都用1.414。正负序计算按对称分量法的αβ形式实现正序αβ分量等于当前αβ分量减去延迟90度后的β分量再乘以系数负序类似只是符号相反。这些关系式在电力电子教材里都有直接照搬公式搭模块就行。两个电流环需要分别工作在正序dq坐标系和负序dq坐标系下。正序电流环的Park变换角度来自DSOGI-PLL输出的θ负序电流环的Park变换角度用-θ。这一点非常容易搞混我一开始就把负序环的变换角度写成了θ导致负序电流指令根本收敛不到0波形在一个特定的轴方向上偏置。后来查了半天才发现变换矩阵里的符号有问题。坐标变换模块里建议用Simulink的复用子系统封装好内部用三角函数模块计算sin和cos配合乘法器和加法器。不要嫌麻烦直接在顶层复制粘贴同样功能的模块后面调试的时候你会感谢自己的封装习惯。4.3 电流内环与三电平调制模块电流内环采用典型的前馈解耦控制d轴和q轴电流环PI输出经过解耦补偿再叠加电网电压前馈得到调制电压。解耦补偿量就是交叉耦合项ωL乘以另一轴电流符号要看电流方向定义。PI参数的整定我给出一个经验公式供参考。设电流环带宽为ωn则比例系数Kp约等于ωn乘以滤波电感L积分系数Ki约等于ωn乘以线路电阻R。比如取带宽1000rad/sL为3mH那么Kp约为3R为0.05欧姆Ki约为50。实际仿真中在这个基础上微调即可不必追求精确的频域计算。三电平调制模块是另一个容易出问题的地方。我直接用两个三角载波做载波层叠PWM载波1在0到正半周期载波2在0到负半周期三相调制波分别与两个载波比较产生每相四个开关管的驱动信号。这种做法的优点是逻辑透明方便观察调制过程缺点是没有像SVPWM那样自带中点电位平衡能力。中点电位平衡我采用零序电压注入法检测上电容电压Vc1和下电容电压Vc2的差值经过一个PI控制器输出平衡因子Kz将Kz叠加到三相调制波上。如果Vc1偏高就把调制波整体向下偏置增加中点流出电流从而拉低上电容电压。这个方法在平衡电网和小不平衡度下非常有效但在严重的电网不平衡下负序电流带来的100Hz中点电位纹波无法完全消除只能保证平均值平衡。4.4 仿真步长与powergui设置建议三电平逆变器仿真涉及高频开关动作仿真步长直接影响波形真实度和计算速度。我建议在powergui里选择离散仿真模式采样步长设为1e-5秒也就是10微秒对应100kHz的控制采样频率远高于10kHz开关频率能比较真实地模拟PWM死区效应和电流纹波。不要用连续仿真模式跑这种带高频开关的电路除非你只是快速验证一个概念否则计算时间会让你失去耐心。离散模式下PWM发生器内部要设置与仿真步长匹配的载波频率和采样时间确保PWM信号的更新率和仿真步长一致。另外提一句模型里所有PI控制器的采样周期最好统一我一般让控制环的采样时间都取Ts也就是1e-5秒避免多速率系统中信号对齐出现偏差那种偏差会表现为电流波形中细微的周期性抖动很难排查。5. 仿真结果怎么判断与调试经验5.1 三类波形平衡、不平衡不加控制、不平衡加负序控制判断仿真模型对不对不能只看最后波形漂不漂亮要看控制介入前后发生了什么。我在调通模型后对比了三组工况这里把观察到的现象写下来大家做仿真时也可以按这个顺序来检查第一组是理想平衡电网正负序分离模块输出的负序dq分量应该非常接近0并网电流三相对称直流侧电压只有开关频率纹波没有明显的100Hz波动。这一组如果都跑不好说明主电路或电流环参数有问题先别急着进入不平衡工况。第二组是电网加入不平衡但负序电流环不投入负序dq指令相当于开环。这时能看到ABC三相电流明显不对称幅值大的那一相电流也偏大dq轴电流波形上有明显的100Hz分量直流侧电压出现二倍频纹波上下电容电压也有周期性摆动。第三组是负序电流环投入负序dq指令设0。并网电流恢复三相对称dq轴电流上的100Hz分量被压下去但直流侧仍然存在一定幅值的二倍频纹波。这正是我在3.2节说的物理约束电流平衡模式下功率振荡无法同时消除。截图记录波形时我建议把A相电网电压和A相并网电流放在同一个示波器窗口里用两个坐标轴显示直观检查电流是否与电压保持同相位或设定功率因数避免只盯幅值不看相位关系。5.2 调试中最容易踩的坑调试过程里我踩过的坑不少挑几个最典型的写出来希望能帮大家节省时间。第一个坑是负序dq变换角度符号写反。负序分量本身旋转方向与正序相反dq变换角度必须用-θ否则负序电流环反馈回来的量无法解耦成直流量控制器输出会振荡电流波形的负序分量反而被加大。这个问题仿真波形上看起来像是电流上叠加了一个旋转偏置很容易误判成PLL没锁好。第二个坑是PLL在负序分离模块没收敛前就参与控制。DSOGI-PLL在启动瞬间有暂态过程大约一到两个工频周期锁相角会摆动电流环在这段时间可能过流。我在仿真里加了使能逻辑前0.05秒让PLL和电流环不动作等正负序分离输出稳定后再投入控制效果很好。当然你也可以把仿真时长拉长直接看稳态波形但那样会掩盖动态过程的真实行为。第三个坑是中点电位平衡PI参数整定不当。平衡因子Kz的PI增益太大会导致调制波饱和反而使中点电位振荡加剧太小则平衡速度慢在电网不平衡度大时甚至无法维持。我的经验是比例系数取0.1量级积分系数取10量级然后慢慢微调直到上下电容电压之差稳定在2伏以内。第四个坑是滤波电感参数和电流环带宽的匹配。L取太大电流环响应慢负序抑制效果差L取太小开关频率纹波大电流畸变率超标。一般按开关频率的1/10到1/5选择电流环带宽再反过来用4.3节的公式确定L的合理范围。我给的3mH参数对应10kHz开关频率和额定功率几千瓦的系统工程上是比较合理的一个基准。5.3 参数整定心得参数整定这块我的总体思路是“先环外后环内先静态后动态”。先把电流环PI按理论值设置好在平衡电网下确认稳态无静差再投入中点平衡控制看直流侧电容电压是否稳定最后才加入电网不平衡并逐级增大不平衡度观察负序电流环的响应。负序电流环的PI参数可以直接复用正序电流环的参数不需要单独重新整定。因为两个环的物理对象完全一样都是三相滤波电感和线路电阻只是坐标系不同。我一开始还给负序环单独设计了PI参数结果调了半天没有本质差别后来意识到这是多此一举。电流环带宽、PLL带宽和开关频率之间存在明显的层级关系。我的设置是开关频率10kHz电流环带宽约1kHzPLL带宽约15Hz。这样电流环能快速跟踪指令PLL只负责稳定同步不会因为电网畸变导致锁相角剧烈抖动。如果你把PLL带宽也设到几百赫兹电网电压的负序分量就会透过PLL影响坐标变换双dq控制的优势就没意义了。最后再分享一个我实际摸索出来的小技巧先把电网设置成不平衡但电流环开环录一段基准波形然后投入负序电流环再录一段波形。把两段波形放在同一个Figure里对比你立刻就能看出负序dq电流从振荡变为收敛的过程以及三相电流从不平衡变为对称的过程。这种对比不仅帮你确认控制有效写报告和论文时的素材质量也会高很多。三电平逆变器在不平衡电网下的研究本质上就是一场“分离”与“选择”的游戏——分离正序和负序然后在电流平衡、功率平稳、无功稳定这些目标之间做出有依据的取舍。模型搭到能稳定复现这几组波形我对不平衡电网下三电平控制的理解才算真正落了地。