资讯动态

跟网型逆变器小干扰稳定性分析与控制优化指南

发布时间:2026/10/20 16:25:32 来源:尧图企业网站定制
1. 跟网型逆变器与稳定性问题1.1 为什么“跟网”是当前主流聊跟网型逆变器之前先说个背景。现在光伏并网、储能并网绝大多数商用逆变器走的都是“跟网”路线。什么叫跟网说白了逆变器自己不决定电网频率和电压它靠锁相环实时跟踪电网电压的相位然后按这个相位把功率送出去。形象点说它就是个“顺风车司机”路是电网修的自己只管踩油门和刹车。为什么主流因为实现简单、成本低、并网流程成熟而且电网强的时候短路比SCR高、阻抗小跟网型控制的表现非常稳定。早期光伏装机量少电网相对强势这套方案几乎没出过什么大问题。但这两年新能源渗透率往上冲电网特性变了问题就来了。所谓小干扰稳定性问题我举个例子你就明白。系统在某个稳态工作点附近突然来了一个极小扰动比如某个光伏阵列出力抖了一下、某台变压器抽头动了一下。正常情况下这种微小的扰动应该被控制器自己吸收掉系统过一会儿回到原来的稳态。但有时候不是这样——扰动会慢慢扩大变成持续的功率振荡甚至发散。你示波器上看电压电流会发现某个频率分量在那里持续震颤低频十几赫兹到几十赫兹的都有这就是典型的小干扰失稳。1.2 小干扰稳定性到底是什么小干扰稳定性的严格定义是线性的在稳态工作点附近把系统方程线性化得到状态空间矩阵 A然后看 A 的特征值。所有特征值实部都小于零系统在这个工作点就是小干扰稳定的只要有一个实部大于零哪怕这个扰动值微乎其微系统最终也会越跑越偏。这个分析思路很成熟也不是什么新东西。真正难的地方在于并网逆变器的状态模型不简单。锁相环的动态、电流环的动态、功率外环的动态、滤波器和线路的电磁动态、直流侧电容电压动态全部耦合在一起。电网是强是弱、出力是多少、控制参数怎么设都会影响矩阵 A 的数值进而改变特征值的分布。我做过的一个模拟项目光伏额定容量 500 kWPLL 带宽设得稍微高一档其他参数完全没动特征值分析出来就有一对共轭特征值的实部从负数变成了正的。时域仿真也验证了投切负载后功率响应出现持续振荡振幅还越来越大。这篇文章就把这套完整流程拆开讲从控制系统结构梳理到状态空间建模到特征值判断再到 Simulink 里怎么把这些落地最后给出控制策略优化的几条实际可走的路。目标读者就是正在做微电网、储能、光伏并网仿真或者毕设课题的工程师和研究生。跟着我把流程走一遍你就能自己复现“参数改一个数特征值怎么动、时域波形怎么变”的完整分析闭环。2. 稳定性分析的系统化拆解2.1 小信号建模的思路与关键状态变量做小干扰分析第一个绕不开的工作是建模。把控制对象和控制器的动态整理成状态方程dx/dt f(x, u)然后选取稳态工作点 (x0, u0)求雅可比矩阵得到线性化模型d(Δx) A Δx B Δu对跟网型逆变器我一般把系统拆成五个部分看。第一个是锁相环 PLL。PLL 的动态本质上是追踪电网电压 q 轴分量 u_q 的闭环常用二阶模型描述检测出来的角度 θ_pll 和真实电网角度 θ_g 的偏差是一个关键状态变量。第二个是电流内环dq 轴电流的 PI 控制两个积分器的状态变量必须保留d 轴和 q 轴电感电流本身也是状态。第三个是功率外环有功功率和无功功率经过一阶惯性滤波以后送给 PI 控制器生成电流参考这两个滤波值和两个积分器输出也都是状态变量。第四个是被控对象本身的电磁动态主要是 LCL 或者 L 滤波器的电容电压和电感电流线路阻抗如果是动态的也要纳入。第五个是直流侧电容电压动态特别是直流母线电容较小、电源动态响应慢的时候这个动态不能忽略。很多同学建模时容易漏掉 PLL 的耦合效应。PLL 输出的角度偏差不仅影响电流环的 Park 变换方向还会通过变换矩阵把 dq 轴的电压电流交叉耦合到控制器输入。这个耦合在小信号模型里表现为 A 矩阵的额外非对角项。忽略它分析结果可能完全错误尤其弱电网情况下。2.2 特征值分析与参与因子判读拿到了 A 矩阵下一步就是算特征值。用 MATLAB 的话一句 eig(A) 就完事了。但算出来不等于看懂关键是怎么解读。特征值 λ σ jω。σ 是衰减系数必须小于零ω 是振荡角频率。阻尼比 ζ -σ/|λ|工程上一般认为 ζ 小于 0.1 就算弱阻尼哪怕系统理论上稳定实际暂态过程也会拖得很长。所以看特征值不是只看正负还要看它离虚轴有多远。更实用的工具是参与因子。参与因子计算方法是算出 A 的左右特征向量右特征向量 φ_i 描述第 i 个模态在各状态变量中的“形状”左特征向量 ψ_i 描述各状态对第 i 个模态的“激励强度”第 k 个状态对第 i 个模态的参与因子就是 |φ_ki| |ψ_ik|。这样做的好处是特征值只是一堆数字但你通过参与因子能知道每一对特征值到底主要由哪些状态驱动。我实际项目中遇到过这种情况——有一对振荡模态频率是 43 Hz参与因子显示锁相环的状态变量贡献最大那我调 PLL 带宽必然凑效。另一对振荡模态频率是 280 Hz参与因子大头在电流环积分器和 LCL 电容电压上那这时候去调功率外环参数效果就很差。2.3 影响稳定性的核心因素根据我做过的大量参数扫描实验有几个因素对跟网型逆变器小干扰稳定性影响最显著。第一个是电网强度体现在短路比 SCR 上。电网阻抗越大、SCR 越低PLL 跟踪到的电压幅值和相位受逆变器出力影响越大PLL 和功率环之间耦合就越强系统越容易失稳。这几乎是跟网型逆变器天生的软肋。第二个是 PLL 带宽。PLL 带宽调高响应快但会跟电流环和线路动态耦合导致中高频模态不稳定。调低响应慢在大扰动下又可能出现相位失步。这个平衡点很难拿捏必须靠特征值分析来找。第三个是功率外环的响应速度。外环带宽如果太大会跟 PLL 低频模态凑在一起产生低频振荡。我在仿真中见到过把功率环 PI 的积分时间常数减小一半特征值直接越过虚轴的情况。第四个是线路阻抗的 R/X 比值。线路呈阻性时有功和无功的耦合关系变得复杂标准 PQ 解耦控制的效果会下降。这也是分布式低压微网中常见的不稳定来源。3. Simulink仿真确实现全流程3.1 系统模型搭建要点Simulink 里搭跟网型逆变器模型主电路部分我用 Simscape Electrical 里面的 Three-Phase Source、Three-Phase V-I Measurement、Three-Phase Dynamic Load逆变桥用 Three-Phase Bridge。直流侧用一个可控电压源 大电容来模拟直流源。控制部分建议拆成四个子系统PLL 模块、功率外环模块、电流内环模块、PWM 调制模块。各模块之间接口要定义清楚我习惯用 Simulink 的 Bus 对象来传递测量信号避免信号线太多导致后期维护困难。有几个细节值得注意。PLL 模块不要自己从零开始写。Simscape Electrical 里有自带的 PLL但我建议还是自己搭一个小信号可调的版本对三相电压做 Clarke 变换得到 αβ 轴分量然后通过 Park 变换得到 q 轴电压 u_q用 PI 控制器把 u_q 调成零控制器输出就是角频率积分后得到角度。这样写的优势是你对 PLL 模型的每一个参数都有完全的控制权而且后面做线性化分析时状态变量的物理意义很清晰。PWM 调制我用的是标准正弦脉宽调制SPWM载波频率设为 10 kHz。这里要说一个离散化的问题如果你后面要跑线性化分析最好先把控制部分设置成连续时间模块不要一上来就用离散 PID。离散系统做特征值分析涉及到 z 域到 s 域的转换多一层麻烦等基础分析做完再考虑离散化影响。另外建议在仿真参数里把求解器设成可变步长、od45最大步长限制在 1e-5 秒以内。很多同学仿到发散其实不是系统失稳而是数值积分精度太差导致的虚假振荡。先把数值问题排除了再谈物理失稳。3.2 线性化与小信号分析操作方法Simulink 里做小信号分析官方推荐的是 Model Linearizer 工具。操作路径是在 App 标签页打开 Model Linearizer然后用 Linear Analysis 的 Input Perturbation 和 Output Measurement 指定注入点和观测点。仿真会自动在工作点附近做小扰动线性化输出一个线性状态空间对象直接就能算特征值、画根轨迹。但我实际用下来矩阵规模大的时候Model Linearizer 容易因为找不到平衡点而失败。我的替代方案是在 MATLAB 脚本里自己写状态空间方程用 symbolic 工具推导系数再用 numeric 赋值完全不依赖 Simulink 的线性化工具。然后把 Simulink 的非线性模型当作“真实系统”用来验证这个手推线性模型对不对。验证方法很经典给两个模型同一个零均值、幅值很小的脉冲扰动比较它们的响应。如果线性模型的响应和非线性模型几乎重合说明线性化模型是可信的。我在项目中用到的具体操作步骤是这样的让系统先运行到稳定状态暂停仿真记录稳态工作点状态值然后在第 1 秒加入幅值为额定功率 1% 的脉冲扰动持续 0.1 秒观察有功功率和无功功率的动态响应把 Simulink 输出曲线和线性模型的脉冲响应画在同一个图上对比。吻合得好特征值分析的结果才能用来指导参数调整。3.3 参数扫描与时域验证只分析一组参数是不够的实际工程里你还要知道参数变化的趋势。我在 MATLAB 脚本里写一个双层循环外层扫电网短路比内层扫 PLL 带宽每个组合都计算特征值同时把最小阻尼比和最大特征值实部记录下来。最后画一个二维热力图一眼就能看出“稳定域”在哪里哪些组合处在临界状态。时域验证不是随便看一眼波形就算完事。我一般关注三个维度第一个是暂态过程的振荡频率用 FFT 对功率波形做频谱分析跟特征值虚部对应的频率做对比第二个是衰减速度看扰动后的包络线是不是按特征值实部预测的时间常数衰减第三个是幅值如果理论上稳定的模态在时域里却出现持续振荡那大概率是模型里漏了什么动态环节。这里放一个实际参数例子方便你对照。系统参数是 380 V 线电压、50 Hz、额定功率 100 kW、L 滤波器 2 mH、直流母线电压 800 V、PLL 带宽 60 Hz、电流环带宽 600 Hz、功率环带宽 10 Hz。在这个配置下特征值计算显示全部模态实部都在 -20 以下阻尼比最低的模态也在 0.25 上下。时域仿真中从 50% 负载突变到满负载功率经过约 2 次振荡就收敛到新稳态振荡频率大约 6 Hz跟特征值分析的虚部完全吻合。如果把 PLL 带宽从 60 Hz 提高到 150 Hz特征值里就出现了一对实部约为 8 的共轭复数对应频率大约 35 Hz。时域里同样做投切负载实验功率波形上会看到 35 Hz 左右的持续振荡且幅值逐渐增大。趋势完全一致。4. 控制策略优化路径4.1 参数调整的工程准则第一个优化方向是最朴素的参数整定。不需要改控制结构只是把参数调到更合理的区间。工程上能让你少走弯路的核心准则有三条。第一条带宽分层原则。外环比内环慢一个数量级以上电流环带宽通常取几百赫兹功率外环带宽只能到十几赫兹PLL 带宽介于两者之间。如果功率环和 PLL 带宽太接近两个控制器会在相近频率上产生交互造出新的振荡模态。第二条围绕 PLL 带宽做根轨迹扫描。这是最重要的一步。以 PLL 带宽为可变参数从 20 Hz 扫到 200 Hz画出特征值的根轨迹。你会发现随着带宽增加PLL 模态的实部先增大后增大但电流环和 LCL 模态会向虚轴漂移。最佳带宽是让所有模态都离虚轴足够远、阻尼比足够大的一个区间。第三条灵敏度的实际应用。特征值灵敏度反映了参数变化对模态的影响程度计算方法是 ∂λ_i / ∂k (ψ_iᵀ ∂A/∂k φ_i) / (ψ_iᵀ φ_i)。在确定“哪个参数最值得调”的时候我会算一组参数灵敏度值排个序优先调灵敏度最高的参数。4.2 虚拟惯量与阻尼增强如果你觉得参数整定已经到了极限但弱电网下稳定裕度还是不够那就得改控制策略了。比较实用的一招是“虚拟惯性控制”。跟网型逆变器的核心问题是它太“顺从”了电网相位一转它就跟着转PLL 动态会把电网扰动直接传导到功率控制中。虚拟惯性的思路是在 PLL 的角频率输出上并联一个惯性环节相当于给 PLL 增加一个“大飞轮”让它不要那么快跟随电网的微小扰动。实现方案有两种。一种是在 PLL 输出频率上增加一阶惯性滤波器时间常数根据期望的虚拟惯量折算出。另一种更好的做法是参考虚拟同步机的摇摆方程把 PLL 结构改成含转动惯量 J 和阻尼系数 D 的二阶摇摆方程本质上是把 PLL 从“纯追踪”改成“追踪 惯性 阻尼”。实测下来J 取值合适时低频振荡模态的阻尼比可以从 0.15 提升到 0.4 以上。还有一招是阻尼功率振荡的附加控制器在功率外环输入端增加一个瞬时功率的高通滤波器提取功率波动分量乘以增益系数后叠加到功率误差信号上。它相当于给功率环加了额外阻尼可以大幅降低低频振荡幅值。这个方案实现简单、不影响稳态特性工程价值很高。需要说明的是虚拟同步机改成全功率构网型也是可以的但储能侧必须留出足够的能量空间以支持功率突变的能量平衡这个需要考虑全年运行工况下储能可用电量。4.3 构网型控制改造方向如果说前面两种方案都是在原有框架上打补丁那第三种优化思路就是彻底换体制把跟网型控制改成构网型控制。构网型逆变器的核心是用下垂控制或者虚拟同步机控制来主动建立电压和频率。它相当于一个“微型电网的领导人”不依赖外部电网形态自己就能建立并维持电网电压的频率和幅值。弱电网下构网型控制天然稳定因为同步依靠的是有功功率——相角差——系统阻尼的本质物理过程而不是 PLL 这种非线性的追踪机制。从实现角度看构网型下垂控制的算法其实不算复杂测量有功功率 P 和无功功率 Q分别经过低通滤波器然后按 P-f 下垂系数调整输出频率按 Q-V 下垂系数调整输出电压幅值。里面对稳定性和动态性能影响最大的参数是下垂系数和低通滤波器的截止频率。下垂系数太大均分负荷能力强但动态稳定性差太小稳定性好但均分效果差。低通滤波器的截止频率决定了功率跟踪的速度一般取 10~50 Hz配合虚拟阻抗设计来改善阻尼。在 Simulink 仿真里做构网型改造时要注意初值问题。构网型逆变器是从零开始建立电压的启动过程跟跟网型完全不同仿真时必须设置合理的初始相位和幅值否则第一拍就可能触发限幅、导致仿真发散。我常用的做法是前 0.5 秒用跟网方式软启动让电压建立起来0.5 秒后无缝切换到构网控制模式。如果既有储能又有光伏选择方向就常是储能单元用来构网光伏持续做跟网。这样既保持了系统的稳定性又避免了光伏单元在弱电网下退出运行的问题。5. 常见问题与排查经验5.1 典型振荡问题定位实际仿真过程中最典型的故障现象就是功率出现了持续振荡但你又不知道是哪里出了问题。我总结出一个排查顺序基本能覆盖绝大多数情况。先看振荡频率。如果振荡频率在几十赫兹以上首先怀疑电流环和滤波器动态检查电流环带宽是不是设置得太高或者滤波器参数是不是和 PWM 载波形成了一个谐振峰。如果振荡频率在几赫兹到十几赫兹优先检查 PLL 或者功率环的交互看 PLL 带宽和功率环带宽是不是太接近。再看振荡参与模态。这是特征值分析直接给出的答案。对应模态里哪个状态变量参与因子最大就重点查那个子系统。参与因子为 0.01 以下的状态基本可以忽略0.1 以上的就是主要参与者。最后做“单一变量法”确认。只改变一个参数看振荡是否消失或改变频率。不要一次改两个参数否则你永远搞不清是哪个起作用。这个原则我在跨平台工程项目组里强调了无数次但每次仿真出问题大家还是会习惯性同时调好几个参数。千万不要这样。5.2 仿真与理论不一致的排查很多时候特征值分析明明显示系统稳定但 Simulink 仿真却振荡甚至发散。我遇到这种“理论对不上仿真”的情况按以下四步排查。第一步检查工作点偏差。线性化是在某个工作点做的但 Simulink 非线性模型实际运行的工作点可能偏离了。尤其是功率外环控制下的无功整定如果 Q 参考值设得和线性化时不一致那特征值分析的结果就不对应。正确做法是跑仿真到稳态把实际状态量记录下来再用这组实际工作点去计算特征值。第二步检查限幅环节。所有 PI 控制器的输出限幅、PWM 调制深度限幅都会让系统在小扰动下进入非线性区。特征值分析只在线性区有效限幅起作用后线性分析结论就不适用了。解决办法是把限幅范围扩大或者暂时关掉限幅先验证线性区内的稳定性再恢复限幅看影响。第三步检查模型离散化的影响。很多同学用离散 PID 模块跑仿真然后在连续域做特征值分析这本身就是不对的。离散控制器引入的采样延迟和 ZOH 延迟对高频模态的稳定性影响很大。要么把控制器改成连续模块做基础分析要么把特征值分析也做在离散域里。第四步检查变压器和线路模型。Simscape 里的变压器模型分为理想模型和带磁滞的详细模型两者在中高频段的阻抗特性差别很大。如果你用的是带饱和特性的详细变压器模型而线性化模型里用的是理想变压器那高频谐振点就会对不上。5.3 经验速查表这几条是我反复使用整理出来的实操经验很多是手册里不会写的。检查项关键参数典型值区间隐患提示PLL 带宽ω_n20~80 Hz超过 150 Hz 极易高频失稳电流环带宽开环穿越频率300~800 Hz过高导致滤波器谐振峰失稳功率环带宽开环穿越频率5~20 Hz超过 30 Hz 易低频振荡PLL 阻尼比ζ0.5~0.9太低会放大暂态超调线路阻抗 R/X—低压微网常见 0.5~2R 过大导致功率耦合加剧最小短路比 SCR—3 以上较安全接近 1~2 时必须优化策略另外一个容易被忽略的点是仿真时长。小干扰稳定性问题经常需要看 10 秒以上的动态过程低频振荡模态的周期可能就有 1 秒甚至更长。如果仿真只跑 2~3 秒你可能误判系统“稳定”实际上振荡才刚刚开始。我在一次复现某振荡事故时前 3 秒曲线一直看似平稳到第 7 秒才开始出现明显的增幅振荡。仿真时间设定不要少于 20 秒多留点余量。还有一个长时间仿真容易踩的坑就是积分步长和求解器容差。长时间仿真时容差设得太宽会导致高频动态被数值阻尼吃掉系统看起来“过于稳定”掩盖了真实的弱阻尼模态。建议把相对容差设到 1e-5 甚至更小做一对“窄容差 vs 宽容差”的对比仿真看看结论是否一致。最后做参数优化之前先把所有控制器的积分限幅和输出限幅梳理一遍搞清楚每个限幅在稳态时是否处于边界。限幅在边界上时线性化模型必须包含饱和非线性带来的局部等效增益变化。否则你优化出来的参数在限幅边界附近会突然失效这是工程项目里最坑人的问题之一。我个人做这个课题时最深的一点体会是小干扰稳定性分析的价值不是算出几个特征值就完了而是能让你在仿真之前就知道哪些参数是“雷区”、哪些组合容易“踩雷”。带着这份预判去做参数设计比靠调一个参数看一个波形来碰运气要高效得多也不容易漏掉深层的问题。你在 Simulink 里把线性化分析、时域验证和参数扫描这三件套做完基本上就能给自己建立起对这套系统比较完整的稳定性直觉了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑