搞并网变流器的工程师,大概率都遇到过这种场景:LCL滤波器参数按教科书算、电流环带宽卡着惯例调、仿真接理想电网时波形干净利落,结果项目现场一测——短路比只有两倍三倍的弱电网——电流波形就开始“跳舞”,十几赫兹到几十赫兹的次同步分量叠在工频上,母线电压跟着晃,严重的直接触发过流保护。我前两年做并网项目的前期稳定性评估,正好把“弱电网下LCL-VSC阻抗建模、次同步/超同步谐振分析、Nyquist判据验证”这条完整链路在Simulink里从头到尾跑了一遍,中间踩了不少坑,也积累了一套能直接复用的方法。这篇文章就沿着这条技术路线,把建模思路、仿真实现、判据写法和实操细节一次讲透,适合正在做新能源并网、储能PCS或变频器接入弱电网稳定性评估的工程师参考。
1. 弱电网下LCL-VSC为什么容易失稳
1.1 弱电网的本质:电网阻抗不可忽略
弱电网最常用的量化指标是短路比SCR。SCR等于电网短路容量除以变流器额定容量,SCR大于20基本可以当成理想电压源,10到20算强电网,3到10是中等强度,低于3就算弱电网,低于2属于极弱电网。SCR越低,意味着并网点看进去的电网等效阻抗Zg越大,外界一有扰动,PCC点电压就被扰动放大,变流器的控制回路会受到明显影响。
我这次验证用的算例参数如下:额定容量100kW、线电压380V、额定频率50Hz,直流母线700V,开关频率10kHz。380V侧的阻抗基准值是Z_base = U_LL² / S = 380² / 100k = 1.444Ω。不同SCR对应的电网等效电感Lg可以按纯感性估算,Lg = (Z_base / SCR) / (2π × f1),结果见下表:
| SCR | 电网短路容量 | 电网等效阻抗模值 | 等效Lg |
|---|---|---|---|
| 2 | 200 kVA | 0.722 Ω | 2.30 mH |
| 3 | 300 kVA | 0.481 Ω | 1.53 mH |
| 5 | 500 kVA | 0.289 Ω | 0.92 mH |
| 10 | 1000 kVA | 0.144 Ω | 0.46 mH |
这个算例里LCL的网侧电感L2取0.5mH,SCR=2时电网电感Lg是L2的4.6倍。换句话说,系统动态特性已经不只是VSC自身能决定的,电网阻抗深度参与了电流环和锁相环的相互作用,这就是弱电网问题绕不开阻抗建模的根本原因。
1.2 LCL-VSC与电网阻抗构成的串联负阻尼
VSC输出阻抗和电网阻抗在PCC处是一个串联回路,回路上有两个频率相关的阻抗。LCL滤波器本身在1500Hz附近有一个谐振峰,这个峰通常通过阻尼控制在稳定范围内,但电网电感Lg串进去之后,等效谐振频率会明显前移,可能落到几百赫兹,正好落在电流环带宽边缘附近,环路相位裕度不够就变成振荡源。
弱电网下更棘手的是PLL锁相环。PLL为了跟踪PCC电压相位,带宽一般取20到50Hz,它在次同步频段会引入所谓的“负电阻”效应:某个频段内VSC对外表现为负电阻,与电网电感串联后相当于电路中出现负阻尼,振荡幅值不衰减反增长。这就是次同步谐振的直接物理来源。而由于dq轴不对称和控制耦合,次同步扰动还会激发镜像的超同步分量,形成成对的谐振特征。想要准确定量判断失稳边界,靠时域仿真盲调参数太慢,必须上阻抗模型配合Nyquist判据。
2. 阻抗建模的完整技术路线
2.1 建模路径怎么选:解析法与扫频法配合
阻抗建模主要有两条路线:解析推导和数字扫频。
解析推导在dq旋转坐标系下进行,把电流环、PLL、采样延时、LCL滤波器全部做小信号线性化,最终整理成一个2×2阻抗矩阵。优点是每一项都能对应到物理环节,比如PLL带宽变化如何影响交叉耦合项、电流环增益如何拉低低频段阻抗幅值,都能从公式里看出来;缺点是与实际离散控制、PWM调制、非线性饱和等细节存在偏差。
数字扫频则是在Simulink时域模型里注入小扰动信号,测量扰动频率下的电压电流比值,用FFT提取幅值和相位,得到“实测阻抗”。优点是模型里有什么就测出什么,开关纹波、控制器采样、限幅全都被包含进去;缺点是计算量大,扫频点设置不合理时曲线像狗啃一样,低频段尤其慢。
我的做法是两条腿走路:先用解析模型画理论阻抗曲线,再在Simulink里扫频对照,两条曲线能对上,这个模型才算可信。后续做参数敏感性分析时又以解析模型为主,因为改一个参数重跑一遍时域扫频太费时间。
2.2 dq域的VSC阻抗矩阵推导
dq旋转坐标系下,三相平衡系统变成直流量,稳态工作点附近做小信号线性化非常方便。VSC从PCC看进去的输出阻抗写成2×2矩阵:
Z_dq(s) = [Zdd(s) Zdq(s); Zqd(s) Zqq(s)]
Zdd表示d轴电压扰动与d轴电流响应的关系,Zdq表示q轴电压扰动对d轴电流的交叉耦合。理想对称、无耦合时Zdq=Zqd=0,但实际电流环和PLL都会引入耦合项。
电流环对阻抗矩阵的贡献可以这样理解:电流环把VSC变成一个受控电流源,在电流环带宽内VSC等效阻抗被抬高,近似等于(L1+L2)s除以电流环开环增益;超过电流环带宽后控制失效,VSC输出阻抗退化为L1感抗,这时LCL谐振峰才开始显露。所以电流环带宽决定了阻抗曲线转折的位置。
PLL的贡献更隐蔽。PLL检测到PCC电压相位变化后,会调整自己内部坐标系的参考角,这个角度扰动导致d、q轴之间的信号互相串扰。PLL带宽以内的频段,dq耦合量很大,负电阻特性随之出现;PLL带宽之外,耦合逐渐减弱。因此PLL带宽是次同步段负电阻范围的直接决定因素。推导时把PLL看成一个小闭环:PCC电压相位扰动Δθ经过PLL开环传递函数变成Δθ_pll,再通过坐标旋转矩阵叠加到电流指令上,最终在阻抗矩阵里形成Zdq和Zqd的附加项。
2.3 LCL与电网侧的等效阻抗表达
不光VSC要建模,LCL滤波器和电网阻抗也要统一到频域表达。忽略控制时,从网侧看进去的LCL等效阻抗为:
Z_LCL(s) = sL1 + (1/(sCf)) // (sL2 + Zg(s))
其中Zg(s) = Rg + sLg,Rg是电网等效电阻,Lg是电网等效电感。这个式子算出来的幅频曲线在LCL谐振频率处有个尖峰,尖峰越低,对控制环路的相位裕度威胁越大。弱电网接入后Zg变大,尖峰频率下移,这也是为什么固定参数设计的LCL在弱电网下会失稳。
序阻抗建模时,频率要区分正负。对50Hz工频系统,正序扰动频率fp若低于50Hz,在dq域表现为负频率,而镜像频率2×f1-fp由控制耦合产生。因此分析次同步谐振时必须同时关注fp和2×f1-fp这两个频率点,单一频率的标量阻抗不够用。这也是为什么工程上常用对称分量法做序阻抗测量,而不是简单地在三相上注入单一频率正弦波。
3. 次同步/超同步谐振的频域判据与Nyquist验证
3.1 次同步与超同步的镜像耦合关系
次同步谐振指振荡频率低于工频,常见5到45Hz;超同步谐振是高于工频,常见55到100Hz。两者不是独立的物理事件。三相平衡系统中,频率fp的正序扰动经过dq坐标变换后,变成频率为fp-f1的信号;如果fp=30Hz,dq域里就是-20Hz。控制环虽然在线性工作点附近是线性的,但dq框架下的负频率信号与正频率分量存在耦合,所以30Hz扰动会同时激励出70Hz的响应,70Hz就是2×f1-fp的镜像频率。
因此,次同步和超同步谐振在dq域对应同一个特征频率,差别的只是正负号。采用对称分量法或直接分析dq阻抗矩阵,才能把这对镜像关系完整抓住。如果只做单频率注入,在30Hz看到稳定结论,忽略了70Hz镜像通道,很可能得出错误判断,因为不稳定模态可能藏在镜像通道里。
3.2 Nyquist判据在并网稳定性分析中的具体形式
把系统划分为电网阻抗Zg和VSC等效阻抗Zvsc两个子系统后,PCC处可以看成一个电压源串联Zg,再串联Zvsc。VSC侧电流表达式分母含有Zg+Zvsc,闭环稳定性取决于1+Zg/Zvsc在右半平面是否存在零点。定义回比传递函数:
L(s) = Zg(s) / Zvsc(s) = Zg(s) × Yvsc(s)
其中Yvsc是VSC的等效导纳。当只研究单输入单输出问题,比如只分析正序次同步频段且忽略耦合时,直接用标量Nyquist判据:画出L(jω)从-∞到+∞的频率特性曲线,观察是否包围(-1, j0)点。不包围且开环无右半平面极点,则闭环稳定。
对于2×2的dq阻抗矩阵,矩阵乘法得到回比矩阵L_dq(s) = Zg_dq(s) × Yvsc_dq(s),这时必须用广义Nyquist判据,也就是特征轨迹法。取L_dq的特征值λ1、λ2,分别画两条Nyquist轨迹,两条都不包围(-1,j0)才算稳定。工程上两条特征轨迹通常一条对应正序模态、一条对应负序模态,结合物理分析很容易对应到次同步或超同步振荡。
3.3 失稳时Nyquist曲线和阻抗特征的对应
以PLL导致的负电阻为例。在5到20Hz频段,PLL的相位跟踪使VSC对外呈现负电阻,也就是说该频段Zvsc的实部为负。电网等效Zg在低频段以感抗为主,实部很小,那么Zg/Yvsc的相位关系会使得回比轨迹绕过-1点。时域上表现为次同步电流分量幅值按指数规律增长,仿真里甚至能直接看到电流包络发散,对应Nyquist曲线包围-1。
在SCR=2、PLL带宽30Hz的参数组合下,我的扫频结果在25Hz附近明显出现负电阻,正序阻抗幅频曲线在该频段的相位从接近-90度直接翻到+80度左右,Nyquist轨迹绕过了(-1,j0)。而把PLL带宽降到15Hz后,负电阻范围缩小到更低的频段,SCR=2条件下不再包围-1点,时域振荡也随之消失。这个对比验证了阻抗方法的有效性:不需要反复跑几十秒的时域仿真,只看阻抗曲线和Nyquist图就能判断参数调整方向。
4. Simulink仿真实现与扫频验证步骤
4.1 主电路与控制结构搭建要点
我用Simscape Electrical里的三相全桥VSC模块搭建主电路,直流侧用理想直流源模拟直流母线,交流侧依次串L1=1.5mH、滤波电容Cf=30uF、L2=0.5mH,再经过等效电网电阻Rg和电感Lg接到理想三相电压源。滤波电容采用星形连接,中性点悬空即可。仿真步长固定1μs,因为后续要做FFT提取,变步长仿真在开关时刻附近容易跳变,导致提取结果全是毛刺。
控制系统用dq同步旋转坐标系下的电流内环加PI调节器。电流环带宽取500Hz,PI参数按工程法估算:Kp=(L1+L2)×ωc=0.002×2π×500≈6.28,Ki取Kp×ωc/10≈2000左右,再在Simulink里微调到阶跃响应不过冲。PLL用标准三相同步锁相环结构,带宽设计30Hz,Kp_pll按2×ξ×ωn换算,Ki_pll按ωn²换算,其中ξ取0.707。
模块清单大致是:三相电压电流测量、Park变换、Clark变换、PID Controller、PWM Generator、Universal Bridge、Three-Phase Source、Series RLC Branch。需要特别注意的是PWM发生器的载波频率要和仿真步长匹配,固定步长至少要比载波周期小20倍,10kHz载波对应1μs步长在数值上是稳定的。
4.2 双频率注入扫频的脚本设计
扫频法获取VSC阻抗的基本原理:在PCC处串联一个理想电压源小扰动Δv,扰动频率设为fp,幅值取基波幅值的1%到3%,然后测同频率下的电压和电流响应,阻抗就是Z(fp)=ΔV(fp)/ΔI(fp)。但前面强调过,只注入单频率会漏掉镜像耦合项,所以要用双频率注入法。
实际操作分两次注入:第一次在PCC注入频率为fp的正序扰动,同时记录fp和镜像频率2×f1-fp的电压电流响应;第二次注入镜像频率的负序扰动,再记录两个频率的响应。两次数据联立解方程,才能解耦得到自阻抗和互阻抗。这个流程可以写成MATLAB脚本,外层循环扫频、内层循环两次注入:
f_scan = 5:5:500; % 扫频列表 results = zeros(length(f_scan), 2); for k = 1:length(f_scan) fp = f_scan(k); fm = 2*f1 - fp; % 镜像频率 data1 = run_simulink(fp, 0.02, 1.0); % 注入fp,仿真1s data2 = run_simulink(fm, 0.02, 1.0); % 注入镜像,仿真1s [Z_pp, Z_pm] = extract_impedance(data1, fp, fm); [Z_mp, Z_mm] = extract_impedance(data2, fp, fm); % 联立解耦,得到正序自阻抗 results(k,1) = fp; results(k,2) = (Z_pp - Z_pm*Z_mp/Z_mm); end低频点比如5Hz注入时,每个点至少仿真2秒才能有10个完整扰动周期,整个扫频下来仿真时长很可观。我通常先用稀疏扫频比如10Hz步长找谐振大致范围,再在峰值附近加密到1Hz,这样能把总仿真时间控制在一小时以内。
4.3 阻抗提取、Nyquist绘图与失稳判定
Simulink里把PCC电压电流通过To Workspace模块按固定采样率导出到MATLAB工作区,采样率建议设为100kHz以上,确保FFT能分辨到500Hz范围内的扰动分量。FFT提取前要做整周期截取和加窗,我习惯先算扰动频率对应的整数周期数,截取整数个周期数据后加Hanning窗,再做FFT取对应频率点的复数幅值。
得到扫频阻抗数组后,稳定性判定脚本很简单。把Zvsc和Zg构造回比L,用nyquist函数或自己画实部虚部曲线:
L = Zg ./ Zvsc; % 逐频率点计算回比 figure; plot(real(L), imag(L), 'b-', 'LineWidth', 1.2); hold on; plot(-1, 0, 'ro', 'MarkerSize', 8, 'LineWidth', 2); xlabel('实部'); ylabel('虚部'); title('回比L(s)的Nyquist轨迹'); grid on;判稳不只要看图,建议用绕数自动判别:计算轨迹相对-1点的角度累计变化量,若绝对累计等于0则稳定。配上不同SCR值批量跑一遍,输出Nyquist图和对应时域电流波形,就能快速定位临界失稳点。我实际验证结果是SCR=5时曲线离-1点很远,时域无振荡;SCR=2时25Hz附近轨迹绕过-1点,时域电流在0.3s后出现明显次同步振荡,仿真和判据完全一致。
5. 实操中的高频问题与排查经验
5.1 扫频曲线毛刺多、抖动大
阻抗扫频最常见的烦恼是曲线毛刺。注入幅值太低,扰动信号淹没在开关纹波里;太高,VSC进入非线性区,产生大量谐波污染响应。经验值是注入幅值取额定电压的1%到3%,比如380V系统取5到10V的扰动源。另外FFT窗口务必做整周期截取,加Hanning窗比矩形窗效果好得多。采样率固定且与载波同步也能显著减少开关纹波泄漏。
5.2 Nyquist判据的边界陷阱
Nyquist曲线必须包含负频率段,尤其使用序阻抗时负频率段对应镜像频率,只画正频率会高估稳定性。之前我遇到过仿真波形明明有振荡,但只画正频段Nyquist却判稳定的情况,后来补上2f1-fp负频段数据后才发现-1点被包围了。回比的定义形式Zg/Zvsc还是Yvsc×Zg可以互换,但画图前要确认开环右半平面极点数,否则绕数算错会把结论完全搞反。
5.3 PLL参数与次/超同步的跷跷板效应
调试中会发现减小PLL带宽压住了次同步振荡,超同步方向却又冒出新问题,这是因为PLL带宽改变同时改变了dq耦合的相位和幅值。单独调PLL是个死胡同。正确做法是结合阻抗曲线看整个频段的包络,配合增加电流环相位裕度,或者在PLL前加二阶低通滤波限制高频耦合,再重新扫频验证全频段。定量分析时用解析模型扫参数阵,比时域仿真快几个数量级。
5.4 提速技巧:从手写FFT到frestimate
Simulink Control Design自带的frestimate工具可以在稳态工作点自动注入小信号并提取频响,省去手写扫频循环的麻烦。但它本质上是频域线性化工具,对PWM开关这类强非线性环节会产生误差。我实测下来,frestimate在1kHz以内给出的阻抗曲线和手写稳态扫频基本一致,但超过500Hz误差变大。所以我的习惯是:初步扫描和参数趋势分析用frestimate快速出结果,最终验证用手写双频率注入扫频,保证阻抗数据尽量贴近物理事实。
6. 一点个人复盘
踩过几次坑之后,我最大的体会是:阻抗建模这件事,解析公式和数字扫频缺一不可。解析公式最大价值不是算出精确数值,而是告诉你每个参数在哪个频段起作用、朝哪个方向调;数字扫频则负责把真实模型的细节纳入考量,两条曲线对上了,你才有底气拿着Nyquist判据去指导现场参数。另一个体会是弱电网稳定性分析一定要把次同步和超同步当成一对来查,只盯一个频段很容易被镜像耦合骗过去。最后分享一个小技巧:把SCR、PLL带宽、电流环带宽设成脚本变量,批量出Nyquist图和时域波形做对照表,项目评审时这套材料非常有说服力,比单张波形图管用得多。