ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

VSG序阻抗扫频实战:双闭环控制下并网逆变器稳定性分析

VSG序阻抗扫频实战:双闭环控制下并网逆变器稳定性分析 这几年做新能源并网和微电网项目VSG虚拟同步发电机相关的稳定性问题一直是绕不开的硬骨头。很多同学一开始接触VSG觉得无非就是在外环加了个转子运动方程内环还是熟悉的电压电流双闭环仿真波形也好看但等真正把逆变器接到带阻抗的电网里或者做项目验收需要提交稳定性分析报告时才发现事情没那么简单明明单机仿真一切正常并网之后却在某个频率附近开始振荡或者幅值裕度、相位裕度算了一堆现场出问题的频段完全对不上。这时候你就会理解为什么序阻抗扫频和时域下的稳定性分析会成为工程标配。这篇文章我就从自己实际做过的VSG序阻抗扫频项目出发把电压电流双闭环控制下如何通过序阻抗扫频获得逆变器端口正序、负序阻抗特性如何在时域仿真中完成阻抗扫描与稳定性判定以及整个建模仿真的落地步骤、参数取值和踩坑经验一次性讲透。内容主要面向做变流器控制、微电网稳定性分析、新能源并网接入的工程师和研究生默认你具备基本的三相逆变器知识但我会把从原理到仿真的每个关键环节都讲细一点方便照着复现。1. 项目背景与整体思路拆解1.1 为什么VSG要专门做序阻抗分析VSG和传统PQ控制、下垂控制最大的区别在于它用一套转子运动方程模拟了同步发电机的惯性和阻尼特性。这带来了好处比如系统频率变化时VSG能提供惯性支撑微网离网切换时电压频率过渡更平滑。但代价是控制结构变复杂了功率外环、电压中环、电流内环再加上虚拟阻抗和PWM调制多个环路叠加在一起从交流侧看进去的输出阻抗形态和传统的双闭环逆变器差异很大。在并网场景下逆变器和电网之间本质上是一个阻抗网络的关系。逆变器可以等效成一个理想电压源或者电流源串联一个输出阻抗电网则等效成理想电压源串联一个电网阻抗。如果这两者的阻抗在某些频段发生不利交互比如幅值交点处相位裕度不足系统就会在该频段出现谐振甚至失稳。VSG因为引入了惯性和阻尼以及功率外环它的输出阻抗在整个频带内都可能呈现出与传统控制截然不同的谐振峰和负阻尼特性这就让阻抗分析变得尤为重要。但为什么一定要分正序、负序来做不能只看三相阻抗因为实际电网故障、负载不平衡、以及逆变器控制环路的不对称会让系统存在负序通道。VSG并网时如果电网电压不平衡负序分量会通过控制环路耦合到正序通路里导致某些频段出现奇怪的振荡。而且三相系统在旋转坐标系下的dq阻抗是耦合的直接测量三相阻抗再去判断稳定性会非常麻烦。把三相量拆成正序和负序分别测出正序阻抗Z1(s)和负序阻抗Z2(s)就能把这种耦合问题解耦在每个序网里单独做稳定性判断。这也是经典的对称分量法在现代电力电子系统里的延伸。从工程角度来说项目验收或者故障复现时你手里有一份覆盖5Hz到1000Hz的正负序阻抗扫频曲线相当于拿到了这个逆变器在频域上的“身份证”。电网阻抗变了、滤波器参数改了、控制参数换了阻抗曲线都会如实发生变化问题出在哪一目了然。1.2 电压电流双闭环在序阻抗扫频中的角色电压电流双闭环是VSG内层控制的骨架。VSG的功率外环生成电压幅值和相位指令电压外环负责把电容电压控制在指令值附近电压环的输出作为电流内环的指令电流环再控制电感电流跟踪。双闭环的带宽设计直接决定了逆变器在某个频段内对外呈现的阻抗特性。这里有一个很多初学者最容易忽略的点电流内环带宽越高电感电流跟踪越快但逆变器在高频段呈现的负阻抗特性会越明显和电网感抗交互时越容易出现高频谐振电压外环带宽则决定了中频段电压支撑的强度带宽不合适会在基波倍数频率附近出现阻抗幅值凹陷。所以序阻抗扫频时测出来的阻抗曲线其实反映了整个级联控制环路功率环电压环电流环PWM滤波器的综合频响。扫频结果不是用来“看个热闹”的而是用来反推控制参数是否合理的。像我在做10kW VSG样机时设计电压环穿越频率在150Hz附近电流环穿越频率在1.2kHz左右测出来的正序阻抗在中频段就有一个由电压环引入的负阻特性区域扫频曲线就能把这个频段清清楚楚地暴露出来。没有扫频数据你可能要到系统真正振荡了才知道问题。1.3 时域扫频与建模仿真的完整工作流所谓“时域下阻抗扫频”指的是在时域仿真环境里用瞬态波形数据来提取频域的阻抗特性。核心思路是在并网逆变器的端口叠加一个已知频率的电压小信号扰动等待系统进入周期稳态后提取端口处的电压和电流波形通过FFT分解出该扰动频率下的电压电流分量两者相量相除就得到该频率下的阻抗。整个建模仿真的工作流大致分四步第一步搭建VSG双闭环控制的时域电磁暂态模型包括主电路、控制算法和PWM这一步是基础模型精度不够后面扫频结果全是错的第二步在端口注入正序和负序的电压扰动源并配置好扫频范围和步长第三步批量跑不同频率点的仿真工况提取每个频率点下的稳态波形用FFT和后处理脚本算出阻抗幅值和相位第四步把扫频得到的阻抗曲线与电网阻抗做阻抗比分析用奈奎斯特判据或伯德图判据判定系统在各频段的稳定性。这套流程看起来不复杂但每一步都有很多细节。比如扰动源加在哪里、幅值取多少、FFT的窗口怎么选、仿真步长怎么设这些都会直接影响扫频结果的精度。我下面分章节把每个环节的实操细节和参数设计过程展开讲。2. 序阻抗扫频的原理与关键参数设计2.1 序阻抗是怎么“测”出来的要从原理上理解序阻抗扫频先回忆一下最基础的概念在一个三相对称系统中任意一组三相电压或电流都可以分解为正序、负序、零序三组对称分量。对于三线制系统零序电流没有通路一般只需要关注正序和负序。正序分量的三相按A-B-C相序排列负序分量按A-C-B相序排列。测量正序阻抗时在并网点叠加一组按正序排列的电压扰动源例如A相扰动初相位为0°B相为-120°C相为120°角频率为ωp。与此同时控制器内部对扰动频率ωp是“看不见”的它仍然按照基波频率50Hz进行电压电流双闭环控制所以扰动会通过控制环路的调节行为在端口产生相应的阻抗特性。测量得到的端口电流中包含基波分量、扰动分量和其他次谐波分量。用FFT提取角频率ωp下的电压和电流相量计算得到的就是正序阻抗。负序阻抗的测量原理完全一样只是叠加的电压扰动源按负序排列即A相0°B相120°C相-120°。需要注意的是如果控制环路本身在dq坐标系下是完全对称的那么正负序阻抗曲线会完全重合一旦出现不对称环节比如控制延时不完全一致、滤波器三相参数有差异或者电网存在不平衡电压正负序阻抗就会有明显差异。2.2 正序/负序扰动注入的实现方式在仿真中实现扰动注入有两种常见思路。第一种是直接在电网电压源上叠加小信号谐波源。在MATLAB/Simulink中可以在理想电压源的内部串联电压源时用受控电压源把基波和扰动叠加在PSCAD中则可以直接在电压源模块里叠加一个频率可变的谐波分量。第二种思路是在并网点与电网之间串联一个小电压源专门用于注入扰动信号。两者相比我习惯用第二种因为这样可以保证扰动信号的相位可控、幅值精确而且不会污染电网源模型本身的特性。如果用Simulink做我是这样搭的电网模型用三相可编程电压源Three-Phase Programmable Voltage Source把基波电压设为380V/50Hz然后在三相电压源的“Harmonics”选项卡里把需要注入的扰动频率、幅值和相位填进去。扫频时每次仿真只注入一个频率点的扰动跑完一个点修改频率参数再跑下一个点。这样做虽然要跑几十次仿真但胜在结果干净可靠每个频率点的扰动工况完全可控。在PSCAD里面做就更加直观一点直接用一个小的受控电压源串联在并网点与电网之间通过数据记录模块控制扰动电压的幅值和频率。PSCAD的优点是电磁暂态计算精度高、数值稳定性好和FFT模块配合起来很顺手缺点是批量扫频需要写脚本PSCAD的Python接口没有Simulink的MATLAB脚本那么方便。所以我个人的建议是如果是验证控制算法、参数整定阶段用Simulink加MATLAB脚本跑自动化扫频如果是做项目报告需要贴合工程电磁暂态波形用PSCAD补一轮更严谨的数据。关于扰动注入位置有一个细节值得注意。如果扰动源加在逆变器端口和电网之间那么测量得到的阻抗实际上是逆变器输出阻抗和并网线路阻抗的串联你需要通过空载标定扣除线路阻抗的影响如果扰动源直接加在逆变器出线端相当于测量逆变器的端口输出阻抗那就可以直接和电网阻抗做比较。我建议直接测量逆变器出线端这样后处理时不需要额外的线路阻抗补偿稳定性判据也更直接。2.3 扫频范围、步长与扰动幅值怎么定扫频范围的选择依据是控制环路的带宽和可能发生的振荡频率范围。对于工频50Hz的VSG系统振荡问题通常出现在两个区间次同步振荡区间5Hz到50Hz和由LC滤波器引起的谐振区间几百赫兹到1kHz以上。因此我一般把扫频范围设为1Hz到2000Hz低频段覆盖次同步振荡高频段覆盖滤波谐振。如果项目关注的是高频电磁暂态问题可以扩展到5kHz但超过3kHz后数字控制延时对阻抗的影响基本已经衰减到可以忽略的程度工程意义有限。扫频步长的选取更有讲究。线性等间隔扫频效率低而且低频段点数不够高频段点数过多浪费计算资源。我通常采用对数分布扫频在1Hz到20Hz之间取5到8个点20Hz到200Hz之间每10Hz取一个点200Hz到2000Hz之间每50Hz取一个点总共约50到60个频率点。这个密度画出来的伯德图曲线已经足够光滑能捕捉到带宽附近的谐振峰和相位变化。扰动幅值需要控制在额定电压的1%到5%之间。幅值太小FFT提取时信噪比不够测量结果被基波泄漏和开关纹波污染幅值太大系统进入非线性区甚至触发保护测量结果不再反映小信号阻抗特性。我在10kW样机上取的扰动幅值是额定相电压峰值311V的3%大约9.3V实测结果比较理想。如果是100kW甚至MW级的大功率模型扰动幅值比例可以适当降低到1%到2%因为大功率系统对电压扰动更敏感电压波动更容易触发保护逻辑。2.4 提取响应和计算阻抗的几个工程细节扫频仿真跑完后每个频率点会得到一组时域波形处理流程是固定的取扰动加入后、系统进入稳态的0.1到0.2秒波形对三相电压和电流分别做FFT提取扰动频率下的幅值和相位然后计算复阻抗。这里有一个关键细节FFT提取时必须保证取数窗口包含整数个扰动周期和整数个基波周期否则会发生频谱泄漏。比如扰动频率为50Hz时基波周期是0.02秒扰动周期也是0.02秒取0.2秒窗口刚好是10个扰动周期和10个基波周期。但扰动频率为47Hz时扰动周期约为0.02128秒0.2秒窗口内扰动周期数是9.4个不是整数直接FFT就会泄漏。解决办法是调整采样窗口长度使窗口内尽量包含完整的扰动周期或者在FFT之前加汉宁窗。我实际操作中更偏好调整窗长因为计算量小结果也比加窗更干净。另一个细节是三相坐标变换的应用。直接对A相电压电流做FFT得到的是A相序分量阻抗的三倍关系因为要把三相谐波统一换算到正序或负序空间序分量。更标准的方法是把三相电压电流采样值通过对称分量变换矩阵得到正序、负序分量的时域波形再对正序或负序的电压电流波形做FFT。这样得到的阻抗直接就是序阻抗不需要再做系数换算也避免了单相数据受其他相耦合影响的问题。在MATLAB中可以用式V1 (Va a·Vb a²·Vc)/3 计算出正序电压分量其中a e^(j120°)。同理计算电流正序分量两者做除法得到正序阻抗。对负序则用V2 (Va a²·Vb a·Vc)/3。注意这个变换在时域上是对复数形式的瞬时值做运算所以你处理的数据需要是复数形式或者分别对三相波形做FFT后再用相量组合计算两种方式结果一致。我习惯的做法是先把三相波形存成复数相量形式再用对称分量矩阵代码简洁很多。3. 时域下的阻抗稳定性分析与判据应用3.1 时域扫频和频域传递函数的关系很多读者会问既然可以建立小信号模型直接推导阻抗表达式为什么还要费这么大劲在时域仿真里扫频答案很简单VSG这种多环级联控制系统加上PWM调制、采样延时、零阶保持器和饱和限幅之后精确的解析模型极其复杂推导出来也未必准确。时域扫频本质上是一个“黑盒辨识”过程不管系统内部有多少非线性环节我直接在端口加扰动、测响应得到的阻抗曲线就是系统真实的小信号频域特性包含了解析建模时容易遗漏的数字控制延时、PWM死区、饱和限幅等因素的影响。这和高速信号完整性领域用TDR测阻抗、用网络分析仪测S参数是同一个思路都是通过外部激励测量系统的端口特性而不是从内部模型推导。当然时域扫频也有代价就是只能得到离散频率点上的阻抗特性得不到连续的解析表达式。但对于稳定性分析来说离散频率点的阻抗曲线已经足够了。稳定性判断的本质是看逆变器阻抗和电网阻抗的“大小关系”和“相位关系”对数分布下50个频率点足以画出精确的趋势在关键的穿越频率附近加密扫频点即可。3.2 阻抗比判据与奈奎斯特判据怎么用时域阻抗扫频获取了逆变器输出阻抗Z_inv(s)电网侧通常简化为阻抗Z_g(s)。并网逆变器系统的稳定性可以用阻抗比判据来分析系统稳定当且仅当回比矩阵L(s) Z_g(s) / Z_inv(s)满足奈奎斯特判据。简单地说在复平面上画出L(s)的轨迹如果这条轨迹不包围-1点那么系统闭环稳定如果包围-1点则系统不稳定。这条判据在我做过的项目中是非常好用的。扫频得到Z_inv在某个频率点的幅值和相位电网阻抗Z_g可以根据电网短路比SCR和线路参数计算得出然后把二者比值L随频率变化的曲线画出来。重点看两个指标一是L的幅值在哪个频率点穿越0dB这个频率点就是潜在的谐振频率二是穿越0dB时L的相位如果相位接近-180°说明相位裕度很小系统在该频段接近不稳定。工程上更直观的做法是直接画Z_inv和Z_g的伯德图。两条幅频曲线的交点就是谐振点比较该频率下两条曲线的相位差相位差大于180°-60°即相位裕度不足则存在风险。如果Z_g是纯感性电网阻抗通常以感抗为主感抗的相位是90°那么逆变器在谐振点处的相位必须大于-90°以上才能保证足够的相位裕度。VSG双闭环控制下的逆变器输出阻抗在某些频段因为控制环路的负阻特性相位会跌破-90°甚至接近-180°这就是振荡风险所在。3.3 一个实测数据的谐振分析实例我在做某微电网项目时遇到过一次实际的次同步振荡正好可以用来说明这套分析方法的完整应用过程。那是一个500kW级别的VSG储能系统接入的电网短路比较低大约SCR5等效电网阻抗约0.9mH。并网后现场监测到大约125Hz附近有持续功率振荡幅值不大但因为持续不衰减无法正常并网运行。我把系统在Simulink里搭了完整的时域电磁暂态模型扫频范围设为1Hz到1000Hz对正序阻抗进行了完整扫频。扫频结果出来后在125Hz附近看到Z_inv的幅频曲线有一个明显的谐振峰此时相位约为-117°。同时电网感抗在125Hz下呈现90°相位两者相位差达到207°已经超过了180°相位裕度为负值这就说明在该频段系统不满足稳定的相位条件。对比时域仿真中的振荡频率两者高度吻合基本锁定问题根源是逆变器输出阻抗在该频段相位过低。后续排查发现这个相位跌落主要是电压外环的PI参数在中频段引入了一个负谐振峰同时VSG的虚拟惯量参数偏大导致功率外环响应和电压环产生了交互。调整方案是把电压环穿越频率从250Hz压低到150Hz同时把虚拟惯量从20调整为12重新扫频后125Hz处的相位提升到了-62°相位裕度恢复到了28°以上时域波形也验证了振荡被完全抑制。整个过程如果没有序阻抗扫频数据的支撑光靠经验和试错可能需要好几轮改参数加实验的循环时间和成本都高得多。4. VSG与双闭环的建模仿真实操步骤4.1 仿真平台选择与主电路搭建建模仿真平台我常用的有两套MATLAB/Simulink和PSCAD。前者胜在控制算法搭建灵活、和MATLAB脚本配合可以自动化批量扫频后处理工具丰富后者胜在电磁暂态精度高、数值稳定性好接口模型更贴近实际工程。下面以Simulink为例讲一下主电路的搭建过程。主电路部分是标准的三相两电平电压源型逆变器直流侧用理想直流电压源设电压为700V交流侧接LC滤波器L取1.5mHC取10μF再通过一个并网接触器和电网阻抗连接到理想三相电网。电网电压设为380V/50Hz。开关频率设为10kHz采用SPWM或者SVPWM调制均可我习惯用SVPWM因为母线电压利用率高15%在同样的直流电压下能输出更高的交流电压。主电路的搭建有几个细节值得注意。一是变压器或者电感模型的寄生电阻要如实填入不要设成0否则扫频时会在谐振点出现无穷大峰值失真严重。二是电网阻抗模型中纯感性阻抗需要串联一个小电阻来模拟实际线路损耗R/L时间常数一般取0.01到0.05秒之间。三是直流侧如果用的是理想电压源不需要额外加直流电容但如果要模拟真实直流母线动态则要加电容并考虑直流源的内阻。对于LC滤波器设计可以按工程经验估算截止频率f_c 1 / (2π√(LC))用L1.5mH、C10μF计算得到约1.3kHz。这个截止频率通常选择在开关频率的1/10到1/5之间这样既能把开关纹波衰减到足够低又不会对控制带宽内的基波和主要谐波造成太大相移。4.2 电压电流双闭环参数设计电压电流双闭环的参数设计是整个VSG控制的核心因为扫频出来的阻抗曲线直接由这些参数决定。以10kW/380V样机为例我用的参数是电压环PI参数Kp2.2Ki310电流环PI参数Kp3.5Ki1200。下面简单说一下设计和验证的思路。电流内环设计时把电流环对象近似为电感串联电阻即G_i(s) 1 / (Ls R)L为滤波电感1.5mHR为电感串联电阻加开关损耗等效电阻约0.1Ω。用PI控制器校正后穿越频率取1.2kHz相位裕度约60°。电流环的等效传递函数在低频段接近1所以电压环设计时可以把电流内环近似为单位增益处理。电压外环对象是容性负载加电流环等效电流源的并联结构即G_v(s) 1 / (Cs)乘以电流环闭环传递函数。电压环穿越频率取150Hz左右远低于电流环的1.2kHz这样两个环路不会产生相互干扰这是多闭环系统设计的一个基本原则外环带宽要小于内环带宽的1/5到1/10否则外环会激励起内环的谐振。这个设计原则非常关键很多稳定性问题就是内外环带宽比不够导致的。我在一次实验中发现当电压环带宽达到300Hz以上时在600Hz附近阻抗曲线出现了一个尖锐的相位凹陷相位直接跌破-120°和电网感抗交叠后就会出现高频振荡风险。这就是电压外环和电流内环在中频段产生了交互外环带宽过高导致电流环的幅值裕度快速耗尽。4.3 VSG转子方程与惯量参数的工程取值VSG控制器的核心是转子运动方程即J·dω/dt P_ref/ω - P_e - D·(ω - ω_ref)其中J是虚拟惯量D是虚拟阻尼系数P_ref是有功功率指令P_e是实测有功功率ω是VSG输出的角频率ω_ref是额定角频率。转子运动方程的输出ω经积分得到VSG虚拟转子角度θ这个θ被用于坐标变换和生成电压相位指令。同时电压幅值指令由无功电压下垂环节生成即E E_ref n·(Q_ref - Q_e)其中n是无功下垂系数。最终生成的电压指令幅值和相位作为电压外环的参考值输入。虚拟惯量J和阻尼系数D的取值直接影响VSG的固有振荡频率和阻尼比。根据转子运动方程可以推导出VSG的固有振荡频率约为ω_n √(P_ref / (J·ω))阻尼比约为ζ D / 2·√(J·ω/P_ref)。以10kW样机为例取J0.5 kg·m²D20 N·m·s/rad计算得到固有频率约1.6Hz阻尼比约0.25这个参数使得VSG在阶跃响应下能快速恢复稳定又保留了一定的惯性动态。但要注意J和D不仅影响基波功率动态还会通过功率外环耦合到电压环在低频频段改变阻抗特性。J越大VSG的等效惯性越大低频段阻抗幅值越大D越大低频段的阻尼特性越好阻抗相位越接近阻性。扫频时如果发现低频段5Hz到30Hz的阻抗出现负阻特性或相位异常先检查J和D的取值往往比调电压环参数更有效。4.4 扫频脚本实现流程在Simulink中做批量扫频我是通过MATLAB脚本控制的。基本流程先用set_param把Simulink模型中的扰动频率参数修改为当前扫描频率然后调用sim或者simOut方式运行模型仿真结束后从工作区或日志中提取三相电压电流数据调用自己写的函数计算正序和负序阻抗存入结果表循环扫描全部频率点。下面是一个简化版的批处理流程文字描述便于你理解整个过程的代码结构大致是定义频率数组通常在对数坐标下从1Hz到2000Hz生成40到60个点每个频率点运行一次仿真仿真时长为0.6秒第0.2秒时投入扰动源确保前0.2秒是未加扰动的稳态运行仿真结束后截取第0.3秒到第0.5秒的数据作为FFT分析的窗口。按照扰动频率自动调整窗口长度然后计算该频率下的正负序阻抗保存为结果结构体。仿真步长的选择很关键。总步长一般用固定步长取2微秒到10微秒。时间步长太大PWM谐波会污染FFT结果步长太小一次仿真跑50多个频率点仿真时间会非常漫长。我通常用固定步长5微秒对应的奈奎斯特频率是100kHz远高于PWM开关频率10kHz和最高的扫频频率2000Hz精度足够一次仿真大概3到5分钟全部频率点跑完需要两三个小时。5. 实操中的常见问题与排查技巧5.1 扫频结果毛刺多、FFT分辨率差怎么处理我最初做扫频时就碰到过阻抗曲线毛刺特别多、完全看不出规律的问题。后来排查发现原因有三个一是FFT分析窗口没有对准整数个扰动周期导致频谱泄漏二是扰动幅值太小FFT结果被开关纹波淹没三是提取数据时包含了扰动投入瞬间的动态过程这一段是非稳态数据不属于周期稳态。解决办法分别是用前面提到的窗口长度调整法在扫描频率变化时同步调整分析数据窗口长度把扰动幅值从2%提高到3%到5%提高信噪比在数据提取时跳过扰动投入后的前3到5个扰动周期只保留完全进入周期稳态后的数据。这套优化做完后扫频曲线干净了很多不用做平滑滤波就能直接使用。5.2 扰动注入导致过流保护动作怎么办扰动电压虽然只有额定电压的3%到5%但在某些频率点正好遇到逆变器输出阻抗的谐振峰电流响应会被放大好几倍可能触发过流保护模块导致仿真中断或者电流畸变测量自然失效。遇到这种情况处理方法有几种。第一种是减小扰动幅值先把电流控制在保护阈值以内如果信噪比不够可以通过延长FFT分析窗口来弥补而不是直接加大扰动。第二种是暂时提高保护阈值但这个做法要谨慎因为保护限幅会影响控制器的实际行为模型失真反而失去参考意义。第三种是检查该频点的谐振是由什么环节引起的如果是LC滤波器固有谐振可以在仿真里给滤波电感并联一个阻尼电阻模拟实际工程中的阻尼措施不过这会略微改变阻抗曲线需要谨慎处理。我个人的经验是先看保护动作时刻的电流波形确定过流主要来自哪个频段的谐振峰再决定是调整扰动幅值还是先解决谐振问题。如果谐振峰是系统本身存在的那即便你不做扫频实际运行中它也是隐患应该回到控制参数设计层面解决。5.3 正负序阻抗测量相互耦合的问题正序扰动注入时理论上只会在正序通道产生响应。但实际上因为VSG控制内部的坐标变换和不对称的数字控制延时负序通道也会被激起一定的分量。这会导致正序阻抗测量值中混入了负序分量幅值和相位失真。我在实际处理时是通过对称分量变换后再分别对正序和负序电压电流做FFT来降低耦合的但更彻底的办法是采用双扰动法同时注入正序和负序扰动然后利用系统线性的特点通过解耦计算分离出正序和负序的独立响应。这类似于双端口网络测量中的多激励法虽然计算量增加一倍但结果精度明显提升。对于多数工程分析单扰动加对称分量变换已经够用了。我在最大耦合频段通常是电源频率附近的低频段发现正负序结果差异在10%以内说明耦合影响可以忽略但如果你需要非常精确的负序阻抗数据用于质量评估建议直接上双扰动法。5.4 仿真时间和步长怎么选才既准又高效这是整个扫频流程中最容易被低估的一个问题。扫频点数和仿真时间的组合直接决定总计算成本。我的配置是每个频率点仿真0.8秒用固定步长5微秒总点数约55个一台16核工作站跑完需要大约4小时。如果你只有笔记本可以考虑把仿真时间压到0.5秒剔除后面多余的稳态数据步长放宽到10微秒这样总时间能压到1到1.5小时结果精度损失不大。另外一个提升效率的小技巧是并行仿真。MATLAB的parfor循环可以把多个频率点的仿真任务分配到不同核心上并行运行只要注意每个worker的工作目录要独立、中间变量不要互相覆盖基本能获得接近核心数倍的加速比。如果你的机器是8核全流程时间可以从4小时压到1小时以内。仿真步长方面我强烈建议不要用变步长求解器虽然它能自动调整步长但在PWM开关切换瞬间会产生大量小步长计算整体仿真时间反而更长而且结果的可重复性不如固定步长。固定步长配合离散求解器结果稳定也方便批量对比。6. 两点额外想说的实操心得在项目里反复做过几轮VSG序阻抗扫频之后我个人的体会是扫频本身不难难的是让扫频结果能真正指导控制参数修改。很多人拿到阻抗曲线不知道怎么看这其实只需要盯住三个指标谐振峰的频率和幅值、相位最低点的频段和数值、以及和电网阻抗的交点裕度。把这三点和你设计的控制参数对应起来很快就能定位问题环节。最后再分享一个小技巧做扫频分析时尽量把控制环路的数字化实现细节也一起建模进去包括采样保持、PWM延时一拍、控制周期等。很多实际振荡问题都不是连续域设计能解释的而是离散化延时带来的相位滞后。模型里加上这些细节后扫频曲线和实测数据的高度一致性会大幅提升。这个经验是我在一次项目中连续域模型预测稳定但实验振荡后总结出来的之后我所有的稳定性分析都会保留数字化细节几乎没有再失手过。
返回列表