☰
不对称负载下离网逆变器正负序+双闭环控制仿真详解
2026/10/25 1:12:16 网站建设 项目流程

最近在折腾离网逆变器仿真时,被不对称负载折腾得不轻。常规的三相同步旋转坐标系双闭环控制器,带对称负载时表现非常好,可是一旦挂上单相负载或者三相严重不平衡,输出电压立刻开始“歪”——三相幅值不等、相位偏移,严重时能直接把下游设备的保护顶起来。这篇文章把我在Matlab/Simulink里搭的“不对称负载下三相离网逆变器正负序控制+双闭环控制”仿真模型完整拆一遍,包括正负序分离怎么实现、电压外环和电流内环怎么整定、仿真正建模的分步顺序,以及几个让我花了很长时间才想明白的坑。无论你是刚准备入门离网逆变器控制,还是已经跑通过常规对称负载仿真,这篇内容应该都能给你一些可以直接抄走的经验。

1. 为什么普通的双闭环控制扛不住不对称负载

1.1 离网逆变器的工作本质:自己当发电机

离网逆变器和并网逆变器最大的区别在于,并网逆变器跟着电网电压走,控制对象是输出电流;离网逆变器则必须在任何负载下都维持一个稳定、对称的三相电压,因为下游设备默认你的电压是“电网电压”。这听起来简单,但负载不可能是理想对称的。

微电网场景里最常见的情况是:某台设备单相上电、三相照明回路缺了一相、或者某一相带了大功率加热器。对逆变器来说,这种不对称负载会引起输出电压的不对称,背后原因是负载电流的负序分量在滤波器阻抗上产生了一个负序压降。负序压降叠加到正序电压上,三相电压的幅值和相位就都不均匀了。

1.2 普通dq双闭环到底错在哪

常规控制策略里,我们把三相电压、电流从abc坐标变换到以正序角速度ω旋转的dq坐标。在dq坐标下,基波正序分量变成直流量,用PI调节器就能做到无静差控制,这是教科书里的标准做法。

问题是:不对称负载产生的负序分量,在正序dq坐标里不是直流量,而是一个2倍频的交流量。

比如A相电压幅值偏高、B相偏低,把它分解成正序和负序两部分后,负序矢量本身以-ω旋转。在正序dq坐标系里看起来,这个负序矢量以2ω反向旋转,于是dq轴上的电压不再是干净直流,而是叠加了一个100Hz的纹波。

普通PI调节器的频率响应在直流处增益无穷大,但对100Hz交流分量的抑制能力有限。结果就是:负序电压分量没被压住,输出电压仍然是畸变的。想解决这个问题,只有两条路:一是提高调节器在100Hz处的增益(比如谐振控制器),二是把负序分量单独分解出来,放到负序dq坐标系里用另一套PI去处理。后者就是正负序控制的基本思路。

1.3 控制目标:把负序电压压到零

做不对称负载控制之前,先要明确目标:我们到底要让什么对称?

在离网系统中,通常的目标是让逆变器输出电压对称,也就是负序输出电压为0。注意,这不是说负载电流也要对称——不对称负载决定了电流必然不对称。比如两相带重载、一相空载,输出电压被强制对称后,三相电流照样各走各的,这是正常的。

既然目标是负序电压为零,那控制策略就很清晰了:把输出电压分解成正序和负序,正序dq里用双闭环维持正常的电压幅值和频率;负序dq里再加一套调节器,把负序电压参考值设成0,让逆变器主动输出一个反向的负序电压,把不对称负载引起的负序压降抵消掉。最后把两套调节器的输出叠加到调制波上,就完成了整个控制。

2. 正负序分离:后续所有环节的地基

2.1 从对称分量法到αβ平面上的直观理解

不对称的三相电压可以分解为正序、负序、零序三组对称分量。对三相三线制离网系统来说,零序电流没有通路,一般不用处理,所以重点就是正序和负序。

把三相电压做Clark变换到αβ静止坐标系后,正序分量表现为一个以+ω逆时针旋转的矢量,负序分量表现为一个以-ω顺时针旋转的矢量。在αβ平面上,两个旋转方向相反的矢量混在一起,而我们后续的同步旋转坐标变换,只能让其中一个方向变成直流。

所以分离环节的任务,就是从这堆混合信号里把顺时针、逆时针两个旋转方向的分量拆开。物理上并不复杂:正序和负序在αβ坐标下有明确的正交关系,只要生成滞后90°的正交信号,用瞬时对称分量法就能算出各自的分量。

2.2 三种分离实现方案怎么选

实际仿真里有三类做法,我分别跑过,各有优劣。

第一种是T/4延迟法。核心思想是让αβ信号延迟四分之一周期,利用正负序分量旋转方向的差异,通过加减运算分离。优点是实现非常直观,Simulink里两个Delay模块就行。缺点是动态响应慢一个四分之一周期,而且对频率偏移敏感,不过离网逆变器自己输出50Hz,这不算大问题。

第二种是dq坐标系下的陷波器法。先把混合信号变换到正序dq坐标,此时正序为直流、负序为100Hz纹波,用中心频率为100Hz的陷波器把纹波滤掉,就得到了纯正序dq量。负序分量则需要变换到负序dq坐标,再同样滤掉100Hz纹波。这个方法实现最简单,模型里放两个Notch Filter就能跑。需要注意的是陷波器会有相位滞后,动态响应一般。

第三种是SOGI正交信号发生器法。SOGI能生成两个相互正交的信号,然后在αβ平面里用瞬时对称分量公式瞬时算正负序,不需要等待四分之一周期。它的动态响应快、结构清晰,缺点是离散化时要小心处理,参数k的选择会影响分离效果和响应速度。

我的仿真模型最终用了SOGI方案。原因有二:一是它的动态响应最好,负载突变时的恢复速度对这个场景很关键;二是把SOGI封装成一个子系统后,模型层次很干净,调试时能直接看到正负序分量。

2.3 SOGI的参数选择与Simulink实现

SOGI-QSG的传递函数有两个,一个是带通输出,一个是正交输出:

% 以传递函数形式写在Simulink的Transfer Fcn模块里 % 带通输出(与输入同相) G1 = k*w0*s / (s^2 + k*w0*s + w0^2); % 正交输出(滞后90度) G2 = k*w0^2 / (s^2 + k*w0*s + w0^2);

其中w0取电网角频率,即100π。参数k决定带宽,k越小,选择性越强,但响应越慢;k越大,响应越快,但对2倍频分量滤除得不干净。我取k=0.707,这是一个兼顾动态和滤波效果的经验值,实际调试时可以在0.5到1.0之间调整。

分离得到的αβ正序、负序分量按下面的公式计算:

% 输入:v_alpha, v_beta以及SOGI输出的滞后信号 % qv_alpha 是 alpha轴滞后90度的正交信号 % qv_beta 是 beta轴滞后90度的正交信号 V_alpha_pos = 0.5 * (v_alpha - qv_beta); V_beta_pos = 0.5 * (v_beta + qv_alpha); V_alpha_neg = 0.5 * (v_alpha + qv_beta); V_beta_neg = 0.5 * (v_beta - qv_alpha);

这里有个很容易犯错的地方:滞后90°的正交信号方向必须统一。SOGI输出的延迟信号方向如果接反,正负序就会互相污染,分离出来的“正序”里带着负序,后面控制环怎么调都调不好。我的习惯是搭完分离模块后先不接控制器,直接输入一组不对称电压,分别观察正负序dq波形:正序dq应该是干净的直流,负序dq里如果出现了100Hz纹波或者本应很小的直流变得很大,那说明分离方向错了。

3. 控制架构:双坐标系的电压环和电流环

3.1 正负序各自建一套dq双闭环

分离出正负序分量后,控制结构就很清晰了。整个系统由两套完全平行的双闭环组成:

正序通道,θ+ = ωt:

  • 电压外环:输入是正序dq电压实测值和参考值,参考值d轴为311V(对应220V相电压幅值),q轴为0V。
  • 电流内环:输入是电压外环给出的dq电流参考和实测电感电流。
  • 输出:正序dq调制电压。

负序通道,θ- = -ωt:

  • 电压外环:参考值d轴、q轴都设为0,即要求负序电压为零。
  • 电流内环:跟踪负序电压外环给出的负序电流参考。
  • 输出:负序dq调制电压。

这里重点说一下为什么负序参考直接给0。负序电压的来源是负载不对称,逆变器本身不产生负序。如果我们输出电压里出现了负序分量,说明调制波里缺了一部分“反向旋转电压”。负序电压外环检测到这个偏差后,PI调节器会生成负序电流参考,内环再驱动逆变器输出负序电压,去抵消负载不对称带来的负序压降。当负序电压被压到0时,三相输出电压就重新对称了。

3.2 电压外环和电流内环的数学模型与整定

这套控制结构和常规三相逆变器的双闭环本质上没区别,只是多了一套负序通道,所以PI整定方法可以沿用成熟经验。

电流内环的被控对象是滤波电感L。忽略电阻后,电流环开环传递函数近似为 Kp/(sL)。按典型一阶系统整定,比例系数大约取:

Kp_i = L * w_ci;

其中w_ci是电流环截止角频率,一般取开关频率的1/10到1/5。我仿真里开关频率10kHz,截止频率取1000Hz左右,即w_ci≈6283rad/s,L=3mH,算出来Kp_i≈18.8,实际取了20。积分系数Ki_i用来消除低频稳态误差,我是从小到大试出来的,最终取600,正好在离散步长下稳定,同时不会拖低中频相位裕度。

电压外环的被控对象是滤波电容C,开环近似为1/(sC)。电压环带宽要明显低于电流环,一般取电流环的1/5到1/10。我取电压环截止频率100Hz,算出来的比例系数很小。但注意,实际系统里电压环还带有电流环等效闭环增益、采样延迟、前馈解耦等环节,单纯理论计算出来的值只能当起步值,最终要靠仿真微调。

这里给一组可以起步的PI参数,配合3mH、50μF滤波器和700V直流母线:

环路比例系数Kp积分系数Ki说明
电流内环20600先调Kp使电流波形不振荡,再逐步加Ki消除稳态误差
电压外环2200Kp太小则电压恢复慢,Kp太大会在LC谐振点附近引起振荡
负序电压环2200与正序电压环参数一致,但注意参考值为0
负序电流环20600与正序电流环参数一致

3.3 解耦项和电压前馈别漏掉

dq坐标系下,电压和电流方程之间存在交叉耦合。如果不做解耦,d轴和q轴的调节器会互相干扰,尤其在动态过程中容易产生振荡。电流内环的调制电压指令增加解耦项:

V_conv_d = PI_i_d + V_od - w0 * L * i_q; V_conv_q = PI_i_q + V_oq + w0 * L * i_d;

这里PI_i_d、PI_i_q是电流环PI输出,V_od、V_oq是输出电压实测值,最后两项是交叉解耦前馈。电压外环生成电流参考时也要加电容耦合补偿:

i_ref_d = PI_v_d + i_od - w0 * C * V_oq; i_ref_q = PI_v_q + i_oq + w0 * C * V_od;

符号最容易错,我的排查方法是把解耦项先全去掉,看系统能不能稳定;稳定之后再一步步加回来,哪一步加了振荡加剧,哪一步的符号就接反了。

4. Simulink建模:主电路、控制环路和不对称负载的分步搭建

4.1 主电路参数设计和LC滤波器选择

先说直流母线电压。目标是输出三相线电压380V,相电压幅值311V。采用SPWM调制时,最大输出相电压幅值是Vdc/2,所以直流母线至少要在622V以上。我留了余量取700V,这样正负序调制量叠加时还有余量,不至于提前饱和。

LC滤波器的设计逻辑是:电感越大,电流纹波越小,但电压降和动态响应变差;电容越大,电压滤波效果越好,但逆变器需要提供更多无功电流。我最初选的C=100μF,谐振频率不到300Hz,和电压环带宽拉不开距离,仿真时在轻载工况下出现了明显振荡。后来改成C=50μF,LC谐振频率大约411Hz,高于电压环带宽、低于电流环带宽,系统稳定了很多。

具体参数表:

参数数值说明
直流母线电压Vdc700V留出正负序叠加的调制余量
滤波电感L3mH电感内阻按0.1Ω建模
滤波电容C50μF谐振频率约411Hz
开关频率10kHzSPWM三角载波频率
控制频率10kHz与开关频率同步,离散周期1e-4s
输出频率50Hz离网逆变器自身生成

4.2 主电路模型搭建的几个关键选择

主电路我用Simulink里的Universal Bridge搭两电平三相桥,IGBT模块,不加缓冲电路,死区时间设为2μs。

直流侧用一个理想直流源,电压700V。桥臂输出端接LC滤波器,电感后串联一个小电阻模拟绕组电阻,电容并联在输出端。负载接在电容两端。

这里有个细节:**必须用固定步长求解器,步长取1e-6s。**SPWM波形和IGBT开关动作的仿真精度依赖小步长,如果用变步长求解器,波形会出现莫名其妙的毛刺,控制信号也容易错位。整个模型可以跑1.2秒,控制环路的采样周期固定为1e-4s。

SPWM生成方面,我不建议用过复杂的SVPWM模块。先把控制器输出的三相调制电压除以Vdc/2,得到调制比,然后和10kHz三角载波比较生成PWM波。对于验证控制策略这个目标,SPWM完全够用,而且模型直观不容易错。

4.3 正负序分离和控制环路的模块连接

控制部分我从简到繁,分四步搭:

第一步是坐标变换和分离。采样输出电压V_abc和电感电流i_Labc,做Clarke变换到αβ。αβ电压信号进SOGI分离模块,得到正负序电压;αβ电流信号同样用SOGI分离,得到正负序电流。

第二步是正序双闭环。正序电压经过Park变换到正序dq,和参考值比较后过电压PI,生成正序电流参考;正序电流实测也变换到正序dq,和参考值比较后过电流PI,输出正序dq调制电压。

第三步是负序双闭环。负序电压变换到负序dq坐标,注意Park变换的角度是-θ。参考值d、q轴都是0。电压PI输出负序电流参考,负序电流实测变换到负序dq,过电流PI后输出负序dq调制电压。

第四步是调制波合成。正序负序的dq调制电压分别反Park变换到αβ坐标,然后直接相加,得到总的v_alpha_ref和v_beta_ref。反Clarke变换成三相调制电压,送进SPWM模块。

信号流向用文字描述就是这样一条链:

采样 -> Clarke -> SOGI正负序分离 -> 正序dq双闭环 -> 正序αβ -> 负序dq双闭环 -> 负序αβ | 反Clarke -> SPWM -> 逆变桥 -> LC -> 负载

4.4 不对称负载怎么建模

不对称负载的建模其实最简单,但往往最容易被忽略。我的做法是用三个单相并联的RL负载模块,而不是一个三相平衡负载模块。

初始状态三相都挂10Ω电阻。到t=0.5s时,通过一个Step信号控制开关,让A相额外并联一个5Ω电阻,B相并联一个20Ω电阻,C相保持不变。这样A相的等效负载就是10Ω和5Ω并联约3.33Ω,和B相的6.67Ω、C相的10Ω明显不同,形成一个比较严重的不对称工况。

这种建模方式的好处是负载切换的时间和程度可控,方便观察动态响应。如果想让不平衡更严重点,可以把A相并联的电阻再调小,负序电流会更大,输出电压不平衡度也更明显。

5. 仿真结果解读:不平衡度从6.8%压到0.4%

5.1 不带负序环路的基线结果

为了验证负序控制的效果,我先在同一个模型里把负序通道的PI输出直接置零,只保留正序双闭环。这样搭出来的就是常规的对称控制策略。

在对称负载阶段,三相电压输出非常漂亮,幅值稳定在311V附近,THD也很低。但t=0.5s负载切换成不对称后,问题立刻暴露。从波形上看:

  • A相电压幅值变成了约335V,明显偏高;
  • B相幅值约300V,偏低;
  • C相幅值约286V,偏低更明显;
  • 三相之间的夹角也从120°发生了明显偏移。

我按对称分量法算了一下,负序电压分量幅值约为正序的6.8%,也就是电压不平衡度ε=6.8%。这个数值已经超过了多数设备允许的2%~5%范围。

在正序dq坐标里也能清楚看到问题:输出电压的d轴、q轴波形在负载切换后出现了明显的100Hz纹波,这就是负序分量在正序dq中的表现。PI调节器试图调节直流量,却被100Hz纹波干扰,导致调节效果受限。

5.2 加入负序环路的改进效果

把负序通道的PI输出恢复后,同样的不对称负载工况,结果变化非常明显。

t=0.5s负载突加后,三相电压经历一个短暂波动,大约经过两个工频周期(40ms)后重新恢复对称。稳态时:

  • A相幅值约311V;
  • B相幅值约310V;
  • C相幅值约309V;
  • 三相相位恢复到互差120°。

此时负序dq坐标下的电压分量d轴、q轴都被压到了接近0的位置,电压不平衡度ε从6.8%降到了0.4%左右。

从调制波看,系统为了抵消负序压降,调制波中增加了负序分量,导致某一相调制波的峰值比单纯正序控制时略高。我用705V左右的调制比限幅观察,没有出现过调制。

5.3 动态响应过程中的几个波形细节

负载切换瞬间的细节值得仔细观察。由于A相突然并上小电阻,输出电压会先被拉低,产生一个比较大的负序分量。负序电压环需要约10ms的时间建立负序补偿电流,然后负序电流内环再花几毫秒把负序电压压回去,整个过程用时约40ms。这个恢复速度和负序环路的带宽直接相关,如果你想进一步加快恢复速度,需要提高负序电压环的带宽,但代价是可能放大高频噪声,要平衡取舍。

另一个有趣的细节是:即使输出电压恢复对称了,三相电流依然明显不对称。A相负载最重、电流最大,B相次之,C相最小。这是完全正常的现象。负载不对称决定了电流不可能对称,控制的目标只是让电压对称,这个逻辑一定不能搞混。

6. 调试中踩过的几个坑,能帮你省两周时间

6.1 分离环节的动态延迟会影响所有环路

我最初用的分离方案是T/4延迟法,静态分离效果没问题,但在负载突变的瞬间,分离出的正负序分量需要至少一个四分之一周期才能完全更新。这意味着负序电压环看到的“负序分量”是旧数据,补偿动作就会滞后,动态恢复时间被拉长到接近200ms。

后来换成SOGI方案后,动态响应明显改善。带宽仍然要取舍:k取的太大,分离出的正序里会残留负序成分,负序通道里也会看到正序,导致两个环互相“打架”;k取的太小,分离环节本身响应就慢。我最终取k=0.707,这个值在Simulink的连续模型和Tustin离散化模型下表现都稳定。

6.2 电压环带宽和LC谐振频率的配合

LC滤波器在411Hz附近有一个谐振峰。如果电压环带宽设得太高,比如超过200Hz,电压环增益在谐振峰附近会把噪声放大,仿真表现在轻载时会出现持续的等幅振荡。

我的经验是:先测量LC谐振频率,电压环带宽至少留到谐振频率的一半以下。如果必须在轻载工况下运行,可以考虑在电容上并联一个小电阻做被动阻尼,或者加电容电流有源阻尼。仿真里如果只想快速验证,直接在电容两端并联一个20Ω到50Ω的电阻是最省事的办法,虽然会带来损耗,但能让波形立刻稳定下来。

6.3 负序环路的PI极性,写反就是正反馈

负序电压环参考值是0,实际检测到的负序电压可能是正也可能是负。有人做对称正序控制做习惯了,调PI时习惯性假设“误差增大则输出增大”,但在负序通道里如果极性反了,整个负序环就成了正反馈,负载一不对称,系统不是去抵消负序,而是在加大负序,仿真结果就是电压瞬间发散。

排查方法很简单:把负序参考设成0,给一个已知的固定负序电压(比如在A相叠加上一个小的负序量),观察负序电压环的输出方向。如果输出是朝着抵消负序的方向变化,说明极性正确;如果输出反而增强了负序,就把负序通道的PI输出取反。我在模型里单独给负序通道加了一个正负号开关,调试时特别方便。

6.4 离散化方式和控制步长对分离精度的影响

SOGI的连续传递函数在离散化时,我用的是Tustin变换(双线性变换),仿真步长固定1e-6s,控制步长1e-4s。如果改用前向欧拉离散,会引入较大的相位误差,尤其在SOGI这类谐振结构里,中心频率会发生偏移,分离出的正负序分量会出现一个固定的相位偏差,导致电压环的静态误差迟迟消不掉。

控制步长的影响更直接。步长太大,比如5e-4s,SOGI在100Hz附近的离散精度会下降,负序环路的稳定裕度会明显变小。步长太小则仿真速度太慢。我最终把控制周期设为1e-4s,这个值是平衡了仿真速度和精度的选择。另外提醒一点,PWM模块的三角载波周期也要和控制周期保持整数倍关系,否则采样时刻和载波顶点对不齐,容易出现差拍现象。

6.5 调制比饱和是一个容易被忽略的硬边界

正序调制量和负序调制量直接在αβ坐标相加,最终三相调制波的峰值可能超过1。负序分量越大,调制波峰值越高。在直流母线电压不变的情况下,如果调制波超过1,逆变器就进入过调制区,输出电压波形会出现平顶削波,这时候负序控制再努力也是白搭。

我的做法是在仿真里加一个调制波峰值监测,如果接近1,先检查是不是直流母线电压选低了,或者负序补偿量是不是因为PI参数不当而过大。实在无法降低时,可以考虑改用SVPWM并在调制波里注入零序分量,这样能提高约15%的电压利用率。不过这会增加模型复杂度,建议先把SPWM版本的负序控制跑通,再考虑升级。

7. 如何把这套仿真结果推进到实际样机

7.1 仿真参数和实际硬件的尺度映射

仿真里所有的PI参数都是基于SI单位制的,电感L=3mH、电容C=50μF、电压700V。如果实际样机的滤波器和直流母线等级不同,直接把参数搬过去会出问题。

最稳妥的做法是把控制系统改成标幺值形式,电压基准取输出相电压幅值,电流基准取额定负载电流峰值。这样PI参数就变成了适用范围更广的无量纲数值,调整时也只需要在小范围内微调。我在第二版模型里就做了这个改造,实际样机联调时,控制器参数只需要缩放一个固定的基值系数就能对上。

7.2 从仿真到硬件在环的过渡策略

如果你手头有快速原型控制器,这套模型改成硬件在环仿真非常方便。只需要把主电路的功率部分替换成HIL设备输出,把控制器代码部署到原型机上,就能在真实时序下验证正负序控制算法。

关键的验证点是SOGI分离和控制环路的执行时间。仿真里一个控制周期1e-4s能跑完所有运算,但实际DSP上执行SOGI、坐标变换、四组PI和PWM更新可能就需要更多时间,必须核算清楚。如果执行时间超过了PWM中断周期,負序控制的效果会大打折扣,这时候可以考虑简化SOGI结构或者改用查表实现的陷波器方案。

7.3 一个容易被忽略的工程细节:相序和θ方向

最后分享一个我在样机联调时总结的经验:仿真里只需要一个Ramp模块生成θ=ωt,但实际硬件里必须确认编码器或电压采样的相序和Park变换的正方向一致。负序dq坐标的旋转方向是-θ,如果硬件里θ方向反了,整个负序环看起来“都正常”,但实际上正序负序搞反了,控制效果会和你预想的完全相反。

我的检查方法是在负载突变时同时观察正序电压q轴指令和负序电压d轴指令的极性方向。正常情况下,正序q轴指令应该朝一个方向调整,负序d轴指令应该朝相反方向调整。如果两个方向相同,大概率是θ方向或者采样相序出了问题。这个细节在仿真阶段看不出问题,等到了实际系统上,它往往就是压死骆驼的最后一根稻草。

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

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

立即咨询