news 2026/9/26 13:40:19

考虑直流电压动态的跟网型VSC正负序阻抗建模与扫频验证

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
考虑直流电压动态的跟网型VSC正负序阻抗建模与扫频验证

做并网变流器稳定性分析,正负序阻抗建模是绕不开的一环。前几年做新能源场站次同步振荡复现时,我最头疼的就是:时域仿真里振荡现象清清楚楚,但手里没有一台能解释机理的解析模型。后来把跟网型(GFL)VSC的阻抗模型从锁相环、电流环一路推到直流电压外环,才把低频段的负电阻特性讲明白。这篇博客就把“考虑直流电压控制动态的跟网型VSC变流器(电流环+锁相环矢量控制结构)正负序阻抗建模”的完整推导过程、坐标变换细节、扫频对比验证方法一次性整理清楚。文章适合做并网变流器控制、新能源场站稳定性分析的研究生和工程师阅读,尤其是被阻抗推导中坐标旋转方向、PLL相位偏差符号、负序域频移这些细节卡住过的朋友。

1. 建模对象、控制结构与核心设定

1.1 主电路与控制器结构速览

本文建模对象是一个典型的三相两电平VSC并网变流器:直流侧接直流电压源或光伏电源,经直流电容C_dc稳定电压,三相桥臂通过滤波电感L和电阻R接入电网。控制结构采用经典的跟网型矢量控制——锁相环(PLL)锁定电网电压相位,电压外环控制直流电压并输出d轴电流指令,电流内环控制d/q轴电流,输出经PWM调制生成桥臂电压。

这里要说明一点,本模型用的是平均值模型推导,即认为桥臂输出电压能精确复现控制器输出的调制电压,没有显式计入PWM开关谐波和采样保持延迟。这个假设在中低频段(几百赫兹以下)是成立的,如果扫频范围推到开关频率附近,就需要额外补充一阶延迟环节,这部分我会在第4章扫频验证时详细展开。

典型算例参数如下,后文推导和扫频对比都基于这套参数:

参数符号数值
电网相电压幅值V0311 V
基波频率f150 Hz
直流电压Vdc0700 V
额定有功功率P010 kW
滤波电感L2 mH
滤波电阻R0.1 Ω
直流电容Cdc2000 μF
电流环PIGi(s)kp=3.8, ki=190
PLL闭环Hpll(s)带宽约20 Hz
电压外环PIGv(s)kp=0.4, ki=5

控制结构图用文字描述就是:PLL输出同步角θ_pll,电流环在PLL建立的dq坐标系下运行,电压外环采样直流电压Vdc,与参考值比较后经PI调节器生成d轴电流指令。q轴电流指令取0(假设无功功率指令为零),这是最常见的跟网型变流器配置。

1.2 为什么必须把直流电压控制动态带进来

很多公开的GFL阻抗模型只考虑PLL和电流内环,把d轴电流指令当作恒定常数。这在分析高频段(100 Hz以上)阻抗特性时误差不大,因为电压外环带宽通常只有10~30 Hz,高频扰动根本传不过去。但问题恰恰出在低频段和次同步频段:当研究电网阻抗大、弱网条件下5~50 Hz范围内的振荡时,直流电压外环的动态会明显改变变流器在低频段呈现的阻抗特性,有时甚至会把本来正电阻的阻抗拉成负电阻,这是馈入次同步振荡的直接原因。

可以打个比方:PLL是方向舵,确定坐标系;电流环是油门,控制电流跟随指令;直流电压外环是巡航定速器。巡航定速响应虽然慢,但长时间尺度上恰恰决定了你踩油门的幅度——忽略它,等于假设巡航一直手动保持恒定油门,这在稳态可以,但在扰动分析中就把一个重要反馈回路给切掉了。

1.3 坐标体系与建模假设

阻抗建模中坐标系是最大的坑。本文涉及三套坐标系:

  • 公共参考系Dq:以电网正序电压稳态相位为基准,以电网基波角频率ω1逆时针旋转。这是最终定义正负序阻抗的参考系。
  • 控制器dq系:以PLL输出角度θ_pll为基准旋转,稳态时与公共Dq系重合,动态时两者之间存在相位差Δθ。
  • 负序dq系:以-ω1逆时针旋转,用来定义负序阻抗,其相对控制器dq系以-2ω1旋转。

推导基于三个核心假设:第一,系统三相平衡,稳态工作在额定点附近,扰动为小信号;第二,忽略PWM延迟和采样保持,即调制电压等于控制器输出电压;第三,直流侧注入功率恒定,即不考虑直流源动态,只保留直流电容的动态特性。这套假设覆盖了绝大多数阻抗建模和扫频验证的场景,适用频率范围大约从0.1 Hz到开关频率的1/10。

2. PLL与电流环的线性化:正序阻抗推导

2.1 锁相环小信号模型

PLL的作用是让控制器dq系的q轴电压稳态为0。当公共参考系与控制器dq系存在相位差Δθ时,两个坐标系下电压的小信号关系为:

Δv_d^c = Δv_d + V_q0 Δθ Δv_q^c = Δv_q - V_d0 Δθ

由于稳态时V_q0 = 0,V_d0 = V0,所以PLL的输入就是Δv_q^c = Δv_q - V0 Δθ。PLL自身的动态方程是:

dΔθ/dt = kp_pll Δv_q^c + ki_pll ∫Δv_q^c dt

写成频域形式并考虑闭环反馈:

Δθ = H_pll(s) Δv_q H_pll(s) = (kp_pll s + ki_pll) / (s² + V0 kp_pll s + V0 ki_pll)

这个H_pll就是后续推导中的关键传递函数。注意一点:很多文献为了简化,直接用开环G_pll = (kp_pll s + ki_pll)/s²代替H_pll,这只在高频段近似成立。在低频段,闭环分母的影响不可忽略,本文推导保留H_pll完整表达式。

2.2 电流内环小信号方程与坐标变换

电流内环在控制器dq系下的方程是:

e_d^c = v_d^c + Gi(s)(i_d_ref - i_d^c) - ω1 L i_q^c e_q^c = v_q^c + Gi(s)(i_q_ref - i_q^c) + ω1 L i_d^c

其中Gi(s) = kp_i + ki_i/s是电流环PI调节器,-ω1 L i_q^c和+ω1 L i_d^c是解耦项。对上述方程做小信号线性化,需要考虑控制器dq系变量与公共Dq系变量之间的转换。这里电流的坐标转换关系与电压类似:

Δi_d^c = Δi_d + I_q0 Δθ Δi_q^c = Δi_q - I_d0 Δθ

稳态时I_q0 = 0,I_d0 = 2P0/(3V0),即额定有功对应的d轴电流。桥臂电压从控制器系转换回公共系时:

Δe_d = Δe_d^c - E_q0 Δθ Δe_q = Δe_q^c + E_d0 Δθ

由于稳态时E_q0 = 0,E_d0 ≈ V0(忽略电阻压降),这两个转换关系在推导中不能省略,否则PLL耦合项符号会出错。

将上述关系全部代入并整理,电流环在公共Dq系下的两个方程就变成了:

(sL + R + Gi) Δi_d = Gi Δi_d_ref + ω1 L I_d0 Δθ (1) (sL + R + Gi) Δi_q = (E0 - V0 + Gi I_d0) Δθ (2)

这两个方程非常干净,因为电流环解耦项与电感方程中的交叉项刚好抵消。这正是电流环解耦设计的意义所在——它不只是控制上的方便,在阻抗建模中也让d/q轴方程各自解耦,数学形式大大简化。

2.3 直流电压外环的动态通道

直流电压外环输出d轴电流指令,这是本文相对传统模型新增的关键通道。直流电容的动态方程为:

C_dc V_dc0 s Δv_dc = -ΔP_ac

其中ΔP_ac是交流侧有功功率的小信号扰动。在公共Dq系下,采用幅值不变的Park变换时,瞬时功率为P = 1.5(v_d i_d + v_q i_q),线性化后有:

ΔP_ac = 1.5(V0 Δi_d + I_d0 Δv_d)

这里V_q0 = 0、I_q0 = 0的稳态条件大大简化了表达式。电压外环输出d轴电流指令为:

Δi_d_ref = -Gv(s) Δv_dc

把功率扰动代入,整理后得到一个很有意思的表达式:

Δi_d_ref = (3 Gv(s) / (2 C_dc V_dc0 s)) (V0 Δi_d + I_d0 Δv_d)

注意这里出现了一个由Δi_d和Δv_d共同驱动的正反馈通道。从物理上看,当交流侧有功增加时,直流电压下降,电压外环增大d轴电流指令,进一步增加交流有功——这是典型的正反馈回路。它的稳定性取决于外环增益与直流电容大小,这个正反馈通道正是低频段阻抗负电阻特性的来源。

2.4 正序阻抗矩阵的整理

有了式(1)(2)和直流外环表达式,把Δθ = H_pll(s) Δv_q以及Δi_d_ref代入,就可以统一写成端电压扰动到电流响应的导纳矩阵形式:

[Δi_d] [Y11(s) Y12(s)] [Δv_d] [Δi_q] = [Y21(s) Y22(s)] [Δv_q]

其中:

Y11(s) = (3 Gv(s) I_d0 / (2 C_dc V_dc0 s)) / (sL + R + Gi - 3 Gv(s) V0 / (2 C_dc V_dc0 s)) Y12(s) = (ω1 L I_d0 H_pll(s)) / (sL + R + Gi - 3 Gv(s) V0 / (2 C_dc V_dc0 s)) Y21(s) = 0 Y22(s) = (E0 - V0 + Gi I_d0) H_pll(s) / (sL + R + Gi)

对于纯正序电压扰动,Δv_q = 0,所以正序阻抗可以直接取:

Z_pp(s) = Δv_d / Δi_d = 1 / Y11(s) = (sL + R + Gi - 3 Gv(s) V0 / (2 C_dc V_dc0 s)) / (3 Gv(s) I_d0 / (2 C_dc V_dc0 s))

这个表达式看着有点长,但它可以拆成三段理解:sL + R是滤波电感的固有阻抗,Gi是电流环提供的阻抗重塑,最后一项是直流电压外环引入的附加动态。当Gv = 0(外环断开)时,表达式的分母为0、阻抗退化为无穷大,这是因为固定d轴电流指令时,变流器呈现电流源特性,端口阻抗趋于无穷。额定负载下I_d0 > 0,Z_pp才有有限值。

3. 负序阻抗推导的关键差异与近似处理

3.1 负序dq坐标与PI频移

负序阻抗的定义需要在负序dq坐标系下进行。负序dq系以-ω1旋转,而控制器dq系以+ω1旋转,所以负序dq系相对控制器dq系以-2ω1旋转。这就带来一个关键差异:控制器里的PI调节器工作在控制器dq系中,当我们在负序dq系中列写方程时,PI的积分效应会发生频移。

具体来说,负序dq域的复频率s,映射到控制器dq域时变成了s + j2ω1。因此电流环PI调节器在负序域中的等效传递函数为:

Gi_neg(s) = Gi(s + j2ω1) = kp_i + ki_i / (s + j2ω1)

这个频移是负序阻抗推导与正序推导最本质的区别。如果漏掉这个频移,负序阻抗在低频段的相频特性会完全对不上扫频结果。我见过不少复现失败的案例,最后查下来都是这里把加减号搞反了。

3.2 负序域电流环与PLL耦合项

在负序dq系中,由于系统的稳态工作点只有正序分量,负序dq系中的稳态电压、电流直流分量均为0。负序电压扰动Δv^-和负序电流Δi^-进入控制器后,在控制器dq系中表现为2倍基波频率的脉动量,经PLL和电流环处理后,映射回负序域的等效方程可以整理为:

(sL + R + Gi(s + j2ω1)) Δi_d^- = -PLL耦合项 (sL + R + Gi(s + j2ω1)) Δi_q^- = -PLL耦合项

PLL耦合项来源于负序电压扰动引起PLL相位偏差,再与稳态工作点调制产生的电压分量。完整展开时,它会把d/q轴耦合起来,形式比较长。在工程精度要求内,可以保留主导项写成:

Z_nn(s) ≈ sL + R + Gi(s + j2ω1) + 耦合修正项

耦合修正项的幅值通常比主项小一个数量级,但在PLL带宽附近频段(10~30 Hz)不可完全忽略。实际建模中,建议先把主项搭好,再通过扫频结果决定是否需要补耦合修正项。对大多数弱网稳定性分析,主项已经能给出足够准确的相位信息。

3.3 直流电压动态在负序域为何可以忽略

负序阻抗推导中,直流电压外环的动态一般不需要显式建模,这一点与正序阻抗有本质区别。原因有两条:

第一,电压外环输出的是d轴正序电流指令,在负序dq域中它是一个2倍频的波动量。由于电压外环带宽低(10~30 Hz),对2倍基波频率(100 Hz)的波动基本没有响应能力,相当于被低通滤波消掉了。

第二,直流电压上的2倍频纹波虽然客观存在,但它经调制后产生的负序电压分量与主控回路产生的负序响应相比是小量,且会被直流电容进一步衰减。在忽略二阶耦合的假设下,负序阻抗主要取决于滤波电感、电流环频移和PLL耦合,直流电容动态可以不进入负序阻抗表达式。

这个近似在绝大多数不平衡度小于10%的工程场景中都成立。如果研究的是严重不对称故障下的暂态行为,那就需要另建正负序耦合阻抗矩阵,直流电容动态就不能再忽略了。

4. 解析模型与非线性时域扫频的对比验证

4.1 扫频的原理与扰动注入策略

阻抗模型建得对不对,最终要用非线性时域仿真扫频来检验。常用的工具是MATLAB/Simulink,搭建平均值模型或开关模型,并网点串入小扰动电压源,分别在静止坐标系中注入正序扰动和负序扰动。

正序扰动实现方式:在三相电网电压上分别叠加幅值为基波1%~3%的扰动电压,A、B、C三相依次滞后120°,扰动频率在f1附近连续扫描。负序扰动则把相序反过来,即A、C、B依次滞后120°。扰动幅值要把握好:太小了FFT提取不到,信噪比差;太大了会激发PLL非线性甚至触发限幅。我用下来1%~2%是比较稳妥的范围。

扫频频率范围建议从0.5 Hz或1 Hz起步,一直到500 Hz左右。如果从10 Hz起扫,很可能看不到直流电压外环的影响——因为外环带宽只有20 Hz,影响主要集中在这个频段以下。

4.2 从时域波形到阻抗曲线的提取流程

扫频数据提取是另一个容易出错的环节。核心步骤可以按这个流程走:

第一步,对每个扰动频率,等待系统进入稳态(至少20个扰动周期),记录并网点三相电压和三相电流波形。

第二步,把三相电压电流通过Park变换转到同步旋转坐标系,如果再细分正负序,还需要用陷波器或带通滤波器分离正序和负序分量。

第三步,做FFT时要用整数倍扰动周期的数据窗,配合Hanning窗抑制频谱泄漏。提取扰动频率点上的电压幅值相位和电流幅值相位。

第四步,要注意频率映射关系,这是最容易搞混的地方。在静止坐标系注入频率为fp的正序扰动时,同步旋转dq系中实际响应的频率是fp - f1;注入负序扰动时,dq系中响应的频率是fp + f1。所以最终绘图时,横轴要取相对频率,否则曲线会整体平移50 Hz,和解析模型完全对不上。

具体映射关系可以看这张表:

注入分量扰动频率正序dq系频率负序dq系频率
正序扰动fpfp - f1fp + f1
负序扰动fpfp + f1fp - f1

4.3 正序/负序阻抗对比结果怎么看

解析模型的Bode图和扫频散点画在同一张图上,评判标准我习惯看三点:一是幅值误差在中低频段不超过2~3 dB,二是相角误差不超过10度,三是谐振点或相位穿越频率的位置一致。

正序阻抗的典型特征:低频段由于直流电压外环的作用,阻抗相角常表现为负相角甚至超过-90度,对应负阻特性;中频段(几百赫兹)阻抗主要由滤波电感和电流环决定,表现为感性;高频段逐渐接近纯电感。负序阻抗则在低频段往往呈现与正序不同的相角特征,这是PLL频移的结果。

如果扫频点和解析曲线在中低频段系统性偏移,优先检查坐标转换符号和Park变换系数。如果高频段偏差大,优先怀疑PWM延迟和采样保持效应,考虑在控制链路中加一个等效延迟环节再对比。

4.4 直流电压动态影响的结果差异

为了验证直流电压动态是否真的重要,可以做一组对照:把电压外环去掉(固定d轴电流指令),其他参数不变,重新扫频。对比两条正序阻抗曲线,观察差异最大出现的频率范围。

实测下来,差异几乎都集中在电压外环带宽及以下,大约在0.5~30 Hz区间。在这个频段内,考虑直流电压动态时正序阻抗的幅值可能比固定电流指令模型低5~10 dB,相角也会像负阻方向偏移。这直接说明:在研究次同步振荡和低频振荡时忽略直流电压外环,得到的阻抗模型会给出偏乐观的稳定性结论,这是实际工程中不能接受的误差。

5. 复现建议、参数整定与踩坑记录

5.1 参数算例与带宽整定

复现这套模型不需要特别复杂的参数,但控制器的带宽整定逻辑一定要清楚。电流环带宽取300 Hz左右时,PI参数可以通过期望带宽直接换算:

kp_i = L × ω_ci ki_i = R × ω_ci

其中ω_ci = 2π × 300 = 1885 rad/s,代入L=2 mH、R=0.1Ω,得到kp_i≈3.77、ki_i≈188.5,这就是表格里参数的来源。

PLL带宽取20 Hz、阻尼比0.707时,由特征方程s² + V0 kp_pll s + V0 ki_pll = 0对照标准二阶系统:

kp_pll = 2ζω_n / V0 ki_pll = ω_n² / V0

ω_n = 2π × 20 = 125.7 rad/s,代入V0=311 V,得到kp_pll≈0.57、ki_pll≈50.8。注意这里的PLL参数已经考虑了V0归一化,不同实现方式下数值会不同,但物理含义一致。

电压外环带宽取20 Hz时,kp_v可以用开环增益估算:

kp_v ≈ C_dc × V_dc0 × ω_cv / (1.5 × V0)

代入C_dc=2000 μF、V_dc0=700 V、ω_cv=125.7 rad/s,得到kp_v≈0.38,取0.4;积分系数ki_v取kp_v × ω_cv/10≈5。这套整定方法不是唯一方案,但作为复现起点足够稳定。

5.2 高频易错点速查表

把推导和验证过程中最容易踩的坑汇总成一张表,可以省下大量排查时间:

错误类型典型现象排查方法
坐标转换符号反了正序阻抗低频相角整体反向检查Δv_q^c = Δv_q - V0 Δθ中负号
Park变换系数不一致阻抗幅值差3倍或1.5倍统一采用幅值不变变换,功率系数为1.5
负序PI频移方向写反负序阻抗低频段对不上核对负序dq系旋转方向,s→s±j2ω1
扫频横轴没减基波频率曲线整体平移50 Hz按频率映射表换算相对频率
扰动幅值过大FFT结果含大量谐波降到基波幅值的1%~2%
忽略PWM延迟高频段阻抗偏差大控制链路加e^{-1.5Ts·s}等效延迟

5.3 模型适用边界与扩展方向

这套模型什么时候可以放心用,什么时候需要升级,我心里大概有个谱:研究0.1~500 Hz范围内的扰动稳定性,电网不平衡度小于10%,且扰动幅值在小信号范围内,本文的模型完全够用;如果研究频率超过开关频率的1/10,需要补充PWM延迟;如果研究严重不对称故障下的阻抗特性,需要建立完整的2×2序阻抗矩阵,直流电容动态也要回到负序通道中。

扩展方向上,一个很自然的延伸是把电网阻抗也纳入闭环,变成变流器-电网互联系统的回比矩阵,用奈奎斯特判据判断系统稳定性;另一个方向是把电流环改为虚拟同步机控制或电网形成控制,虽然控制结构不同,但本文的坐标变换和扫频验证方法论可以直接平移过去。

我自己做扫频验证时,最常翻车的地方反而不是数学推导,而是扰动注入后没等系统完全进入稳态就开始FFT,结果低频段出现莫名其妙的旁瓣。后来我养成了一个习惯:每个频率点至少等20个扰动周期,并且把FFT数据窗截成整周期数,配Hanning窗再做提取。这个习惯帮我减少了很多无效调试。如果你也在复现这类模型,遇到曲线对不上的时候,先别急着怀疑公式,从数据提取环节查起,往往更快发现问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 13:40:15

风储深度调峰优化调度:Matlab建模与求解实战

做电力系统仿真的朋友,估计都遇到过这种需求:导师或者领导丢来一句话,“风储深度调峰模型,你用 Matlab 给我跑一下,最好能出图”。风储深度调峰模型,说白了就是把风电和储能当作调节资源,参与电…

作者头像 李华
网站建设 2026/9/26 13:40:08

代运营排行榜的水有多深?一套筛选靠谱服务商的可落地方法

1. 代运营这个行业,为什么榜单越来越不靠谱做电商的朋友,尤其是品牌刚起步、店铺还没跑通的中小卖家,几乎都动过找代运营的念头。你打开任意一个搜索平台,输入"代运营"三个字,跳出来的全是各种"十大品牌…

作者头像 李华
网站建设 2026/9/26 13:38:43

video-use:从摄像头预览到录制回放的浏览器多媒体实践

看到 video-use 这个名字,我第一反应是:这不就是把视频功能常用的那段代码抽出来吗?等真在项目里跑了一圈,才发现这个“用”字特别容易翻车——摄像头权限、编码容器、移动端回放,哪一环没捋清楚,线上就是一…

作者头像 李华
网站建设 2026/9/26 13:37:46

中文乱码全解析:从编码原理到Windows、Linux、macOS实战修复

1. 乱码不是玄学,是编码链路里某一环对不上干开发这行十几年,被问得最多的问题里,"为什么我这里中文显示成乱码"绝对排前三。很多人第一次遇到乱码时的反应是"电脑坏了""软件有bug",其实乱码从来不…

作者头像 李华
网站建设 2026/9/26 13:37:37

把50+营销技能装进AI Agent:开源项目实战解析

最近我一直在研究怎么把营销工作流塞进 AI Agent 里,结果发现一个很有意思的开源项目:它把 50 多种营销 Skill 直接打包进了 Agent 的运行环境里,等于把内容创作、竞品分析、社媒运营、活动策划这些活儿都预制成了可插拔模块。我一开始觉得这…

作者头像 李华