
做了几年的并网逆变器仿真和稳定性分析说实话早期我对“弱电网不稳定”这件事的认知是停留在波形层面的——明明控制器参数是按经典方法整定的换了强电网环境一跑并网电流开始出现几赫兹的包络振荡FFT一看次同步频段冒出一堆分量。后来系统的学习了阻抗建模和Nyquist判据这套方法才明白这类问题的根源在于弱电网下VSC输出阻抗和电网阻抗之间的相互作用而不是简单的“PI参数没调好”。这篇内容就把我实际做过的“弱电网下LCL-VSC阻抗建模及稳定性分析次超同步谐振 Nyquist判据验证 Simulink仿真实现”完整套路梳理一遍参数、模型、步骤、踩坑都会写清楚适合正在做并网逆变器稳定性研究、或者被振荡问题困扰的工程师。1. 弱电网下LCL-VSC为什么需要阻抗建模分析1.1 弱电网的定义与工程痛点“弱电网”不是主观感觉而是有量化指标的。工程上常用短路比SCRShort Circuit Ratio来描述电网强度SCR等于并网点的三相短路容量与变流器额定容量之比。SCR大于20一般是极强电网10到20算较强3到10属于中等强度小于3就是公认的弱电网。在弱电网环境下电网等效阻抗主要是电网电感Lg加上少量电阻Rg不能忽略并网点的电压会随着功率传输发生明显变化。我最早遇到问题是在一个SCR约为2.3的仿真工况下。当时用的是典型的跟网型VSC控制PLL锁相、电流内环、直流电压外环LCL滤波器参数完全按强电网设计开关频率10kHz电流环带宽设计在800Hz左右。在强电网SCR20下一切正常THD不到3%但把电网阻抗调大后并网电流出现了明显的低频振荡振荡频率大概在28Hz附近。拿FFT一分析基波50Hz左右还出现了22Hz和78Hz的边带分量这就是次同步和超同步谐振的典型表现。弱电网下的第二个痛点是LCL滤波器本身的谐振频率会被电网电感拉低。LCL的谐振频率公式是fres sqrt((L1 L2 Lg) / (L1 * (L2 Lg) * C)) / 2π当Lg从小变大时fres会显著下降。如果下降后的谐振频率和电流环带宽、PLL带宽发生耦合系统很容易在某个频段出现负阻尼这就是振荡的温床。1.2 次同步与超同步谐振的产生机理很多人一听到“次同步谐振”第一反应是火电机组的轴系扭振。实际上在VSC并网系统里次同步/超同步振荡的本质不完全相同但共同点是系统在某个频段等效电阻为负外部的LC回路一旦被激励振荡就会持续甚至发散。VSC通过PLL与电网同步PLL在dq旋转坐标系下对电压扰动非常敏感。假设并网点有一个频率低于工频的正序电压扰动比如45HzPLL会把这个扰动的一部分识别为相位误差于是调整自己的输出角度使得VSC输出电流在扰动频段呈现出动态响应。这个过程等效为一个负导纳或负电阻注入到网络。当电网阻抗足够大PLL带宽又比较高时负电阻的绝对值超过电网和滤波器的正电阻总损耗系统就满足了自激振荡条件。超同步频段也类似。电网阻抗和LCL滤波器电容在某些频率下形成串联或并联谐振回路如果VSC在该频段呈现负电阻谐振峰就会被激发。实际波形表现是并网电流在基波上叠加了一个高频振荡分量畸变率明显上升严重时触发保护。1.3 为什么阻抗分析法在弱电网场景中更有效传统的控制稳定性分析通常看开环传递函数的Bode图和相位裕度这在电网阻抗恒定、可以忽略的场景下有效。但弱电网的难点在于电网阻抗不是一个固定值新能源场站的并网点参数还会随运行方式变化。你很难用一个固定被控对象的开环传递函数去覆盖所有工况。阻抗分析法的思路完全不同把VSC等效为“电流源并联输出阻抗Z_vsc(s)”把电网等效为“理想电压源串联阻抗Z_g(s)”。这两个阻抗在整个频段内的关系决定了系统的稳定性。判据也很直接如果Z_vsc和Z_g的比值在复平面上的Nyquist曲线不绕过(-1, j0)点系统稳定否则不稳定。这个方法的工程价值在于Z_vsc可以通过仿真中的谐波注入测量得到Z_g可以直接从电网参数算出两者解耦分析流程非常清晰。2. LCL-VSC阻抗模型的完整推导2.1 LCL滤波器与VSC的基本传递函数阻抗建模的第一步是把主电路的物理特性写出来。LCL滤波器由逆变器侧电感L1、滤波电容C、网侧电感L2组成如果考虑电网阻抗一般把Lg并入L2也就是L2_total L2 Lg。从逆变器输出电压v_inv到并网电流i_g的传递函数为G_LCL(s) 1 / [s * (L1 L2_total) s^3 * L1 * L2_total * C]这个公式是我做所有后续推导的基础。它有两个关键信息低频段呈现积分特性s在分母高频段呈现-60dB/dec的滚降中间在谐振频率fres处有一个尖锐的谐振峰。如果不加阻尼这个谐振峰直接进入电流环很容易引起中频振荡。所以在建立VSC阻抗模型时通常会在电流环中加入有源阻尼最常用的是电容电流反馈有源阻尼把谐振峰的幅度压低。VSC本身可以看成一个大功率的电压源型变换器在工频附近它的动态特性由控制器决定。对于阻抗建模通常把VSC等效为诺顿模型一个受控电流源并联一个输出阻抗Z_vsc。输出阻抗的表达式在理想情况下可以写成Z_vsc(s) ≈ (L1*s K_p K_i/s) * G_delay(s) / ...这里不展开全部代数式但要理解物理图像电流环的PI参数决定了VSC在低频段的阻抗特性L1决定高频段的感抗PLL则在某个频段上叠加负电阻效应。2.2 数字控制延时与锁相环对阻抗特性的影响很多第一次做阻抗建模的人会栽在控制延时上。数字控制器中采样、计算、PWM更新不可避免存在一拍延时加上零阶保持器等效延时约为1.5个采样周期。这个延时在频域中表示为e^(-1.5Tss)它不改变幅频特性但在高频段会带来明显的相位滞后。如果不把这个延时加进阻抗模型仿真测出来的Nyquist曲线和理论推导会有明显偏差甚至出现理论稳定、实际振荡的情况。PLL对阻抗特性的影响是弱电网分析的核心。在dq坐标系下PLL的等效负导纳可以近似表示为Y_PLL(s) ≈ -I_f * T_PLL(j(ω - ω_0))其中I_f是基波有功电流T_PLL是PLL闭环传递函数。这个式子的物理意义是PLL以工频为中心把略低于或略高于工频的扰动转换成dq轴电流的调节指令形成一个负的导纳分量。PLL带宽越高T_PLL在中低频段幅值越大负导纳越明显。这也是为什么弱电网下提高PLL带宽会让振荡加剧——你等于在系统里注入了一个更大的负电阻。2.3 得到诺顿等效模型VSC输出阻抗与电网阻抗的合成把上述各部分组合VSC从并网点看进去的输出阻抗为Z_vsc(s) Z_plant(s) Z_control(s) Z_PLL(s)其中Z_plant是主电路本身的阻抗Z_control是电流环闭环带来的阻抗重塑Z_PLL是PLL的负导纳贡献。实际工程中这一步往往不是纯解析推导而是结合阻抗扫描来校正模型。我在Simulink中搭建好VSC闭环模型后先在时域跑出稳定工作点再注入扫频扰动用FFT提取并网点电压和电流的比值就得到了实测的Z_vsc。这个实测值可以直接用于稳定性判断也可以反过来校验解析模型的正确性。电网阻抗的模型比较简单弱电网下等效为Z_g(s) R_g s*L_g。把VSC的诺顿模型和电网的戴维南模型对接就得到一个经典的互联系统。稳定性分析的系统开环传递函数定义为T(s) Z_g(s) / Z_vsc(s)这个比值的物理意义是电网阻抗相对VSC阻抗的“相对大小”当两者互相匹配时系统在对应频段最容易激发谐振。2.4 工程中常用的简化与前提条件阻抗建模要注意适用范围。我一般做如下假设电网三相平衡、忽略零序、VSC开关频率远高于分析频段、PLL小信号线性化成立。这些条件在多数次/超同步谐振分析中都能满足。对于三相对称系统可以在正序、负序坐标系中分别建立阻抗模型正序阻抗和负序阻抗是解耦的每个序下可以当作单输入单输出系统处理。另外如果研究的是跟网型VSC通常需要考虑恒功率外环对阻抗的影响。直流电压环的带宽一般设计得很低10~30Hz它主要在很低的频段影响阻抗特性而次同步振荡频率通常在几十赫兹所以直流电压环的影响往往可以忽略但不能完全无视。我在实际项目中通常先把直流电压环去掉只保留电流环和PLL做阻抗扫描分析谐振机理后再把外环加回来做时域验证这样逻辑更清楚。3. Nyquist判据的稳定性分析实操3.1 阻抗比作为开环传递函数的稳定性判据原理把VSC和电网互联归结为两个阻抗串联系统的闭环稳定性取决于Z_vsc Z_g是否在右半平面存在零点。如果Z_vsc和Z_g本身都是稳定传递函数那么Z_vsc Z_g的零点分布等价于T(s) Z_g / Z_vsc的Nyquist曲线是否绕过(-1, j0)点。这个判据和经典控制理论里的Nyquist判据完全一致只是开环传递函数换成了阻抗比。为什么用阻抗比而不是直接检测Z_vscZ_g的零点因为零点无法直接测量而阻抗比可以通过频域扫描得到工程上非常实用。实际判断时我在MATLAB里把Z_vsc的实测频响数据幅值和相角和Z_g的解析表达式相除得到T(s)在每个频点的复数直接plot(T_real, T_imag)就能画出Nyquist图。如果曲线接近并绕过(-1, j0)说明这个频段存在负阻尼系统在时域一定会有对应频率的振荡。3.2 广义Nyquist判据在dq模型与序模型中的应用严格来说在dq坐标系下建立的VSC阻抗模型是2x2的MIMO矩阵因为d轴和q轴之间存在耦合。当电网阻抗在d轴和q轴不对称或者考虑PLL耦合时稳定性判断需要使用广义Nyquist判据对矩阵传递函数L(s) Z_g(s) * Y_vsc(s)求其特征值λ1(s)和λ2(s)两条特征值轨迹都必须不绕过(-1, j0)点。实际仿真中这个操作是通过MATLAB的eig函数在每个频点对2x2矩阵求特征值来完成的。但广义判据有一个麻烦它只给出“是否稳定”的结论不利于我们直观理解振荡频率和参与因子。所以我更推荐在正负序坐标系下做阻抗扫描把2x2矩阵对角化为两套单输入单输出系统。三相平衡电网下正序阻抗和负序阻抗天然解耦每个序单独画Nyquist图直观程度高很多。对于次同步振荡主要看正序阻抗比对于电网电压不平衡引起的宽频振荡再看负序。3.3 稳定裕度的工程判读次同步频段与超同步频段Nyquist判据给出的是稳定的与否的定性结论但工程上还需要知道“离失稳还有多远”。我用两个指标做定量判据相位裕度和增益裕度。在Nyquist图上找到|T(jω)| 1的频点该频点的相角与-180°的差就是相位裕度找到arg[T(jω)] -180°的频点该频点幅值的倒数就是增益裕度。通常要求相位裕度不低于30°增益裕度不低于6dB这和经典控制设计标准是一致的。在弱电网分析中次同步频段和超同步频段要分开看。次同步频段比如10~45Hz的Nyquist轨迹受PLL影响最明显PLL带宽越高轨迹越靠近(-1, j0)超同步频段比如55~300Hz的轨迹主要受LCL谐振峰和数字延时影响电流环带宽和滤波器参数在这里起主导作用。我在报告中会把T(s)从1Hz到2kHz的频响分成三段分别标注次同步、基波附近和超同步频段的稳定裕度这样评审专家一眼就能看出风险点在哪。4. Simulink仿真实现全流程4.1 仿真电路与控制系统搭建思路Simulink仿真我习惯分成主电路、控制、测量三部分搭建。主电路用Simscape Electrical以前叫SimPowerSystems的元件库三相电压源选“Three-Phase Source”电网阻抗用三相串联RLC支路表示LCL滤波器用三个单相电感电容组装或者直接用“Three-Phase Series RLC Branch”。DC侧用一个理想直流电压源简化因为研究重点是交流侧的阻抗稳定性直流动态不属于这个问题范畴。控制部分我推荐先用平均模型跑通阻抗扫描再做器件级模型做时域验证。平均模型用受控电压源替代IGBT桥臂省去PWM环节仿真速度至少快5倍而且不影响阻抗特性的低频段准确性。器件级模型用Universal Bridge PWM发生器主要用于最终时域波形验证验证谐振频率和THD。关键参数给一组我实际用过的参考值电网线电压380V/50Hz额定功率10kW开关频率10kHzL13mHL21.5mHC10μF基波频率50Hz下LCL谐振频率由公式计算约为fres sqrt((3mH1.5mH)/(3mH1.5mH10μF))/2π ≈ 1095Hz这个谐振频率离电流环带宽约800Hz有一定距离单独看没什么问题但弱电网Lg加入后比如Lg5mH时fres sqrt((3mH1.5mH5mH)/(3mH*(1.5mH5mH)*10μF))/2π ≈ 590Hz一下子掉到600Hz以内和电流环带宽接近风险陡增。这就是弱电网导致LCL谐振点移动的直接算例。4.2 谐波注入法测量阻抗的详细步骤阻抗扫描的做法是在稳定的工作点上叠加一个小幅值正弦扰动测量对应频率的电压和电流响应。具体操作先把VSC控制环路调到稳定工作点并网电流为额定值。在并网点电压源与电网阻抗之间串联一个受控电压源扰动电压设为vp_inj Asin(2πf_inj*t)。扰动幅值A我通常取基波电压幅值的1%~2%太大非线性失真太小测不准。从1Hz到2kHz按对数均匀扫20~30个频点。注意在次同步频段5~45Hz要多取几个点因为中低频段频响变化剧烈。每个频点等系统进入稳态后采集并网点电压v_pcc和并网电流i_g时长要能容纳几十个扰动周期方便FFT分析。用FFT求扰动频率处的复数幅值比Z(f_inj) V_pcc(f_inj) / I_g(f_inj)。对注入频率以外的频谱分量做加窗抑制减少其他谐波的干扰。我的扫频脚本大致结构如下MATLAB示例% 读入Simulink导出的时域数据 t out.tout; v_pcc out.v_pcc; % 并网点三相电压 i_g out.i_g; % 并网三相电流 fs 1 / (t(2) - t(1)); Fp 2^nextpow2(length(t)); win hann(Fp); % 每个扰动频率点做FFT for k 1:length(freq_list) f_inj freq_list(k); % 只取稳态段 idx t t_steady; v_win detrend(v_pcc(idx)) .* win; i_win detrend(i_g(idx)) .* win; V fft(v_win) / sum(win) * 2; I fft(i_win) / sum(win) * 2; [~, b] min(abs(f_axis - f_inj)); Z(k) V(b) / I(b); % 频率点的阻抗复数 end脚本不复杂但很实用。把Z的结果用bodeplot(Z, freq_list)画出来就是VSC输出阻抗的Bode图再与理论模型对比。4.3 Nyquist图绘制的数据处理脚本得到Z_vsc的频响数据后结合电网阻抗参数Z_g Rg j2πf*Lg就能计算T(s)% 电网阻抗freq_list来自阻抗扫描 Zg Rg 1j * 2*pi*freq_list * Lg; T Zg ./ Zvsc_freq; % 绘制Nyquist图 figure; plot(real(T), imag(T), b-, LineWidth, 1.5); hold on; plot(-1, 0, rx, MarkerSize, 12, LineWidth, 2); xlabel(Real); ylabel(Imag); title(Nyquist Plot of T(s) Zg(s)/Zvsc(s)); grid on; axis equal;在若干关键工况下不同Lg、不同PLL带宽把这组图放在一张图上对比稳定性趋势非常明显。4.4 一组可直接复现的参数与结果分析我推荐一组复现参数给读者参考以方便把整套流程跑通额定功率10kW电网线电压380V/50HzL13mHL21.5mHC10μF电网阻抗基准Lg0.5mH对应SCR约20Lg5mH对应SCR约2.5PLL带宽低带宽5Hz稳定方案高带宽50Hz失稳方案电流环PIKp1.8Ki300标幺值系统PWM开关频率10kHz采样频率10kHz实际结果SCR20、PLL带宽5Hz时Nyquist曲线离(-1,0)很远相位裕度约65°时域波形正弦度很好。把Lg加到5mH并保持PLL带宽50HzNyquist曲线在25Hz附近穿过负实轴并绕过(-1,0)相位裕度变成负的时域波形立刻出现约25Hz的包络振荡FFT显示50Hz两侧出现25Hz和75Hz的边带。这正是次同步振荡与超同步振荡的同源表现——都是同一对复共轭极点被推到了右半平面。5. 常见问题与调试技巧实录5.1 PLL带宽与电流环带宽配置错误导致的误判我在做参数扫描时发现一个非常容易混淆的现象某个工况下Nyquist曲线明明没绕过(-1,0)但时域波形却在几十赫兹处持续振荡。排查半天原因是PLL带宽设得过高而我的阻抗模型中没有包含PLL的负导纳项。后来把PLL效应加入解析模型后Nyquist曲线就和时域现象对应上了。这说明阻抗模型绝不能只考虑电流环和LCL滤波器PLL的负电阻特性是弱电网振荡的主要来源之一。实际操作中做稳定性分析之前先确认PLL建模是否完整可以交叉验证用谐波注入扫频得到Z_vsc实测曲线分别对比“有PLL模型”和“无PLL模型”的理论曲线看哪个在中低频段更接近实测。如果实测阻抗在次同步频段出现了负实部几乎可以断定PLL贡献主导。PLL带宽的设计原则我通常遵循PLL带宽低于电流环带宽的1/10弱电网下建议PLL带宽不超过10Hz。虽然这会让动态响应稍微变慢但对于并网稳定性这个取舍非常划算。5.2 阻抗扫描结果的负电阻现象解释第一次扫出负电阻时我一度认为是脚本算错了。后来理解到这是正常现象在正方向定义下如果VSC在某个频段的等效阻抗实部小于零意味着在该频段VSC不是吸收能量而是向系统注入能量。反过来电网阻抗是有源一端口模型中的正电阻两个电阻串联总电阻为负时该频段的谐振回路阻尼为负振荡就会增长。因此在报告里呈现阻抗幅相特性时我建议直接把实部为负的频段高亮标出标明“负阻尼频段”再把Nyquist图中对应的轨迹段和现场波形对应的FFT边带对照起来。这样做的好处是即使不深究传递函数细节的读者也能直观理解负电阻频段和振荡频率基本是一一对应的。5.3 仿真不收敛与FFT频谱泄漏的处理阻抗扫描中最让人烦躁的问题是仿真不收敛尤其是插入扰动源后某些频点会出现数值振荡。我的经验是给受控电压源串联一个很小的阻尼电阻0.01Ω量级能抑制大部分数值不稳定另外把求解器设为变步长ode23tb相对容差设成1e-4比默认的1e-3稳定很多。FFT频谱泄漏主要影响阻抗测量的精度特别是扰动频率接近基波或工频整数倍谐波时。解决方法是确保采样时长是扰动周期的整数倍并且采样步长能被扰动频率整除。如果做不到整周期采样就用汉宁窗并把FFT点数设为2的幂次加窗后取主瓣峰值。测量数据多平均几次能显著压低噪声我用同一个频点反复扫三次取平均值误差基本控制在2%以内。5.4 如何从时域波形快速判断谐振频率仿真波形出现振荡后直接用肉眼看包络频率并不精确我通常用两个手段快速定位。第一是对并网电流做在线FFT找基波之外的显著分量。次同步振荡的特征是基波两侧出现对称边带比如基波50Hz振荡频率为fs那么FFT谱线中会出现50±fs两条边带fs通常处于10~50Hz之间。第二是取电流包络信号做Hilbert变换再对包络做FFT包络的振荡频率就是谐振频率这种方法在边带不太清晰时特别好用。确认谐振频率后回到Nyquist图上查看该频点的稳定裕度如果恰好落在相位裕度不足的区域整个分析闭环就完成了。这个“时域异常→FFT定位→Nyquist解释→参数修正→时域验证”的流程是我推荐给所有做类似研究的工程师的标准操作路径。最后再分享一个我个人的实操体会阻抗建模分析工具本身不难难点在于不要让仿真结果骗了你。我见过很多项目只跑时域波形振荡了就去调PI参数调来调去治标不治本。正确做法是先把Z_vsc和Z_g的频域数据测准用Nyquist判据定位失稳频段和主导参数再有针对性地调整PLL带宽、电流环响应或加入额外的阻尼控制。这套“阻抗建模Nyquist验证Simulink仿真闭环”的方法一次吃透之后再遇到弱电网振荡问题就不会慌了。