ARTICLE DETAIL

资讯详情

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

低惯量电力系统频率稳定分析与控制策略整定

低惯量电力系统频率稳定分析与控制策略整定 简介《低惯量电力系统频率稳定分析与控制研究综述及展望》是一篇发表于《电力自动化设备》的综述性学术文献面向电力系统规划、运行与控制方向的研究人员、工程师及高校师生。随着新能源大规模并网与直流输电技术发展系统惯量下降引发的频率稳定问题日益突出该资源系统梳理了低惯量场景的成因、对频率稳定的影响以及典型事故案例并重点比较了时域仿真、数学解析、数据驱动三类分析方法的适用性。包体为单文件PDF共1个文件大小2.71MBPDF格式便于在电脑、平板等设备上阅读和标注。目前已有335人浏览学习适合作为该领域的入门综述与参考文献。内容涵盖“源网荷储”调频能力挖掘、多道防线协调配合、储能参与调频及新型控制算法等控制措施并展望了未来研究方向可帮助读者快速建立知识框架、把握研究热点与工程应对思路。1. 低惯量电力系统频率稳定为什么“不缺电”也会因为调频失配而切负荷低惯量电力系统频率稳定这几年从学术议题变成了实际工程问题。最典型的场景是一个区域电网新能源装机占比超过40%等效惯量掉到传统火电时期的一半以下此时一台大机组跳闸频率变化率可能冲到0.6Hz/s以上远高于传统系统的0.10.2Hz/s。频率跌得太快带来的问题不是“不够电”而是从扰动发生到低频减载动作之间只有一两秒常规AGC和一次调频根本来不及把频率兜住。围绕这个标题的综述类工作基本把问题串成四条线等效惯量怎么估计、频率安全怎么评估、虚拟惯量与一次调频参数怎么整定、低频减载与保护怎么配合。这条链路对电网规划、新能源场站涉网性能评估、调频策略整定的从业者最有用可以照着思路在仿真平台上把整个评估流程重做一遍。2. 惯量去哪了低惯量系统的频率动态机理与等效惯量在线辨识2.1 惯量下降让传统功频调节“看不清”什么同步机的转动惯量在电网里的作用本质是一个免费的能量缓冲。功率不平衡发生的瞬间最先响应的不是调速器而是转子的动能频率的变化率由系统等效惯量决定用标幺值表达就是df/dt ΔP·f0/(2H)。这里的H是惯性时间常数2H是系统整体的惯量水平。传统火电、水电为主的电网H一般在48秒量级一台机组跳闸引起的频率变化率被压在0.10.2Hz/s以内留给一次调频和低频减载的时间窗很宽。新能源接入后情况变了。风机和光伏通过变流器并网转子与电网之间没有直接的机电耦合正常工况下电网频率波动根本“推不动”新能源的转子动能。于是系统等效惯量随新能源占比上升而快速下降但扰动的严重程度没有变结果就是同一台机组跳闸RoCoF和频率最低点双双恶化。这里容易产生一个误解低惯量不等于零惯量剩余同步机、同步调相机、储能和具备虚拟惯量功能的风机仍然在提供惯量只是这部分能力受运行方式和控制策略限制不像同步机那样恒定参与。所以分析的第一步是把系统当前真实的等效惯量估计出来而不是直接套用规划阶段的H数据。近年来的综述在机理层面基本达成共识低惯量系统的问题核心是时间尺度压缩。调频动作来不及、保护配合容易错位、不同电源之间的响应速度差异被放大。解决思路也清楚要么想办法补充惯量支撑要么在控制层面让变流器主动模拟同步机的频率响应特性要么在整定层面重新校核低频减载和涉网保护定值。后面的章节按这条主线展开。2.2 从扰动数据反推等效惯量一个可以直接跑的最小流程等效惯量估计有几种常见路径离线仿真、稳态短路比估算、在线辨识。从业者手头最可靠的数据其实是PMU录波或故障录波一次真实扰动发生后的频率动态曲线天然包含了系统惯量的信息。思路很简单发电机组跳闸后的最初0.10.2秒内调速器和AGC还没真正出力频率变化率主要由功率缺额和等效惯量决定所以用初始RoCoF除以功率缺额就能反推2H。下面是这套算法的Python实现数据结构是CSV三列时间、频率、功率偏差。import numpy as np import pandas as pd # 读取PMU/录波数据time(s), freq(Hz), dp_mw(MW扰动功率偏差) df pd.read_csv(disturbance.csv) t df[time].values f df[freq].values dp df[dp_mw].values # 1) 定位扰动开始时刻功率偏差出现明显跳变的位置 i0 int(np.argmax(np.abs(dp) 0.1 * np.abs(np.diff(dp)).max())) # 2) 取扰动后短时窗做线性拟合计算初始RoCoF dt t[1] - t[0] i1 i0 int(0.2 / dt) # 0.2秒窗口 A np.vstack([t[i0:i1], np.ones(i1 - i0)]).T k, b np.linalg.lstsq(A, f[i0:i1], rcondNone)[0] rocof k # Hz/s # 3) 由 df/dt dp_pu * f0 / (2H) 反推2H f0 50.0 s_base 1000.0 # 系统基准容量(MVA) dp_pu dp[i0] / s_base h2 abs(dp_pu * f0 / (2 * rocof)) # 2H秒 print(f初始RoCoF{rocof:.3f} Hz/s, 等效2H{h2:.1f} s)逻辑说明代码先通过功率偏差的突变点定位扰动时刻再用最小二乘拟合扰动后0.2秒内的频率曲线拟合直线的斜率就是初始RoCoF。之后用单机等值的频率动态方程反推2H。这里的核心约束是窗口长度窗口选大了会把一次调频的出力平均进去选小了又会被量测噪声淹没。参数说明窗口0.2秒是经验值低惯量系统建议压到0.10.15秒采样率至少要25Hz以上PMU的帧率通常够用功率缺额要取扰动起始那一拍的跳变值用稳态后的功率差会高估惯量。还要注意扰动方向的判断发电机跳闸时ΔP为正、RoCoF为负公式里取绝对值即可。如果录波数据里多个事件混杂先用低通滤波把工频纹波和高频噪声去掉再做拟合。3. 低惯量系统的频率稳定分析从测试系统搭建到三条安全判据3.1 搭建一个可改造的低惯量测试系统频率稳定分析不能只对着公式推得有可重复的仿真算例。常见做法有两种一是直接改造IEEE 9节点或39节点系统把部分同步机替换成新能源场站二是自己搭一个单区域等值系统把同步机聚合、新能源聚合、负荷聚合到一个母线上。做综述验证时我一般用第二种模型简单、参数透明、复现快而且低惯量场景下首要关心的是系统层面的频率动态母线级电压问题可以放到第二步再说。一个基础算例至少包含一台聚合同步机代表剩余常规电源、一个光伏电站、一个负荷中心、一个扰动开关负荷阶跃或发电机跳闸。同步机参数按典型值给容量300MVA、H4s、调速器调差系数R0.05、再热时间常数T_R8s光伏电站容量200MVA采用跟网型控制有功输出恒定为额定值的80%不主动参与调频。系统基准容量取1000MVA。这样的配置下同步机跳闸一台或等效为300MW功率缺额就能产生明显的频率跌落。下表是我常用的基准参数实际使用时按目标电网容量等比缩放。参数数值说明系统基准容量1000 MVA标幺化基值聚合同步机容量300 MW剩余常规电源聚合同步机H4.0 s惯性时间常数调速器调差系数R0.05 pu一次调频灵敏度光伏场站容量200 MW跟网型变流器负荷功率400 MW恒功率频率调节D1扰动功率100 MW负荷阶跃或电源跳闸3.2 用单区域频率响应模型算频率动态曲线有了测试系统接下来就是算频率动态曲线。这里用一个简化但工程上够用的SFR系统频率响应模型频率偏差方程由惯量、负荷频率调节效应、一次调频功率三项构成调速器简化为带再热时间常数的一阶惯性环节。下面代码可以直接替换参数观察低惯量和高惯量两种工况的差异。import numpy as np from scipy.integrate import odeint def sfr(x, t, H2, D, R, TR, dp): # x[0]频率偏差标幺, x[1]一次调频功率标幺 df, dpm x dp_cmd -df / R if abs(df) 0.00066 else 0.0 # 0.033Hz死区 ddpm (dp_cmd - dpm) / TR ddf (dpm - dp - D * df) / H2 return [ddf, ddpm] # 低惯量工况H23.0s高惯量工况H26.0s for H2, label in [(3.0, low-inertia), (6.0, high-inertia)]: D, R, TR, dp 1.0, 0.05, 8.0, 0.10 # dp10%基准容量功率缺额 t np.linspace(0, 30, 3000) sol odeint(sfr, [0.0, 0.0], t, args(H2, D, R, TR, dp)) df sol[:, 0] * 50 rocof df[0] / (t[1] - t[0]) print(f{label}: nadir{50df.min():.2f}Hz, finitial RoCoF{rocof:.3f}Hz/s, fsettle{50df[-1]:.2f}Hz)逻辑说明odeint对二阶微分方程组做积分x[0]是频率偏差x[1]是一次调频功率。调速器命令做了死区判断频率偏差绝对值小于0.00066标幺对应0.033Hz时不触发一次调频。频率方程里的H2直接控制初始斜率这个参数一改RoCoF和最低频率的变化立刻可见。参数说明D是负荷频率调节系数表示频率下降时负荷自动少取用一部分功率等效给系统提供“阻尼”R是调差系数越小一次调频越灵敏但太小容易引起功率振荡TR是再热时间常数影响调频功率的爬升速度。这套模型可以把死区、限幅、爬坡率逐步加进去做敏感性扫描也可以对接PSASP/PSSE的时域仿真结果做对比验证。3.3 频率安全的三个判据不是只看最低频率低惯量场景下频率安全评估至少要看三个指标初始RoCoF、最低频率、准稳态频率。三者分别对应不同问题RoCoF太大直接威胁新能源逆变器本身频率变化率保护、锁相环失步最低频率决定低频减载和切负荷的程度准稳态频率决定二次调频能不能收得住。只看最低频率是最常见的偷懒做法会漏掉RoCoF保护误动这一层风险。指标物理含义典型工程阈值主要关联风险初始RoCoF扰动后瞬间频率变化率0.5 Hz/s以内视电网标准逆变器RoCoF保护误动、锁相环失步最低频率频率动态最低点不低于49.0 Hz或低频减载首轮值低频减载动作、切负荷准稳态频率一次调频结束后频率49.550.5 Hz区间AGC调节能力不足、联络线过载仿真中提取这三个指标的节点要分开RoCoF在扰动后0.10.2秒窗口内取最低频率在时间轴上取全局最小准稳态频率取扰动后2030秒的均值。低惯量系统里这三个指标经常互相矛盾比如提高虚拟惯量可以压低RoCoF但对最低频率的改善有限因为能量的来源总量没变要兼顾三项就得靠控制参数整定那一层来解决。4. 频率控制策略的参数怎么定虚拟惯量、一次调频与低频减载的整定流程4.1 虚拟惯量与下垂控制的配合变流器参与频率支撑有两条基本路径下垂控制和虚拟惯量控制。下垂控制的本质是静态比例关系有功增量与频率偏差成比例提供的是类似一次调频的功率支撑虚拟惯量控制对频率变化率敏感输出与df/dt成正比提供的是惯量支撑。低惯量系统里只做下垂控制的问题是频率变化率在最初几秒内依然陡峭逆变器电流内环可能被RoCoF冲垮只做虚拟惯量则稳态频率偏移没人管。所以标准做法是两者同时上有功指令写为ΔP -Kp·Δf - Kv·dΔf/dt。整定顺序我一般先定Kv再定Kp。Kv从小往大扫观察两条曲线RoCoF下降曲线和变流器有功超调曲线。Kv给到一定程度后RoCoF不再明显下降但功率超调还在涨那个拐点附近就是上限。Kp则根据一次调频的容量需求来定功率缺额发生后系统需要在最低频率出现之前补上多少有功折算到调差系数上再考虑限幅和备用容量。下面这段代码演示了在给定频率变化率约束下估算Kv初始值的方法。# 给定并网点允许的最大RoCoF估算虚拟惯量系数Kv rocof_limit 0.5 # 并网点允许最大频率变化率 Hz/s f0 50.0 # 额定频率 delta_p_pu 0.10 # 扰动功率缺额标幺 S_base 1000 # 基准容量MVA delta_f_dot rocof_limit / f0 # 转换为标幺RoCoF H_needed delta_p_pu / (2 * delta_f_dot) # 满足RoCoF所需2H H_current 3.0 # 系统当前等效2H Kv_suggest 2 * (H_needed - H_current) / # 虚拟惯量补充量 (S_base / S_base) # 归一到并网点容量基准 print(f所需2H{H_needed:.1f}s, 当前2H{H_current:.1f}s, fKv建议起始值{2*(H_needed-H_current):.2f}pu·s)逻辑说明这段代码把RoCoF约束换算成惯量需求再用需求值和当前值之差得到虚拟惯量补充量。Kv的量纲是秒和惯量时间常数量纲一致实际工程里会把它归一到变流器自身容量基准所以注释里的S_base只是演示归一化方向。这个值只是起始点最终要在时域仿真里微调。参数说明rocof_limit取并网点或电网公司的涉网导则要求一般0.5Hz/s到1.0Hz/sH_current由第2章的方法从录波数据辨识得到仿真场景里则用等值系统的设置值。Kv上限在仿真里通常受两个约束限制一是储能/变流器可用功率容量二是控制器带宽实际取值往往比理论值小一半以上。频率变化率信号容易混入噪声工程实现要在Kv通道上加入高通或带通滤波滤掉稳态偏差和量测噪声只保留动态分量。4.2 一次调频参数的死区、限幅与速率约束一次调频的参数不只是调差系数R。三个经常被低估的参数是死区、限幅和速率约束。死区的作用是避免正常频率波动触发频繁调节但低惯量系统里频率跌落速度极快如果死区定得太大一次调频启动时最低频率已经快触及低频减载线。常见标准是0.033Hz死区这个值放在低惯量系统依然适用关键是验证“启动时刻到最低频率出现时刻”之间的时间差够不够让调频功率建立起来。限幅决定了一次调频的“弹药”总量。火电机组的调频限幅与锅炉蓄热有关新能源场站则受变流器裕度和场站有功管理策略限制。如果场站运行在满发状态一次调频限幅接近零频率跌落时根本没能力增发。这就是为什么涉网导则普遍要求新能源场站预留3%5%备用容量参与一次调频整定仿真时要把这个约束建模成限幅而不是简单的比例环节。速率约束在低惯量系统里是双刃剑。限制爬坡率可以避免大功率阶跃冲击变流器但爬坡太慢意味着频率最低点拖得更深。实际整定时要给三类电源分别建模火电爬坡率约1.5%额定容量/min到3%/min水电机组可以快到10%/min新能源场站受通信和控制链路影响典型全响应时间在几百毫秒到1秒量级。下表给出我常用的控制参数初始值具体数值按现场实测调整。控制参数火电聚合新能源场站备注死区0.033 Hz0.033 Hz需校核启动时间调差系数R0.040.06 pu0.020.05 pu新能源可更灵敏有功限幅5%备用容量3%5%裕度满发时能力为0爬坡率1.53%/min0.51s全响应低惯量场景需测试4.3 低频减载与涉网保护怎么配合低频减载的参数整定在低惯量系统里要重新审视两个问题动作延时和与RoCoF保护的配合。传统低频减载每轮频率定值差0.5Hz左右延时0.20.5秒这套参数在RoCoF为0.1Hz/s时足够从容但RoCoF到0.6Hz/s时频率从49.5Hz跌到48.5Hz只需要不到2秒低轮次之间根本来不及逐级动作。常见整定办法是第一轮动作频率适当抬高比如49.3Hz同时缩短延时把减载的“总时间预算”压缩到1秒内完成首轮。新能源逆变器的涉网保护是低惯量系统里最容易被忽略的一环。很多逆变器内置低频保护和RoCoF保护定值往往按传统系统标准设定比如RoCoF超过1Hz/s跳闸。在低惯量系统中正常工作时的RoCoF就可能达到0.5Hz/s以上雷击、短路切除等暂态过程很容易超过保护门槛导致新能源在系统最需要出力时批量脱网。整定原则是把涉网保护定值放到比低频减载和一次调频更宽松的位置让源网配合而不是源网互相触发。紧急控制的最终目的是在频率跌破低频减载首轮定值之前把功率缺额补上或者减掉。仿真验证时至少要看三类场景单一机组跳闸、新能源批量脱网、负荷突变。每个场景都输出三条曲线——频率、RoCoF、减载量并记录低频减载和涉网保护的动作序列这样整定结果可对比、可回退。5. 低惯量调频分析与控制的避坑清单五条实测踩坑记录5.1 涉及参数辨识与仿真建模的坑第一坑是RoCoF计算窗口选太大。现象用录波数据反推的等效惯量和离线仿真的结果差30%以上偏大的方向很一致。原因窗口取0.5秒或1秒时一次调频已经开始出力频率回升被平均进初始斜率RoCoF被低估反推出来的2H虚高。解决窗口压到0.10.2秒并且要对齐扰动起始时刻如果量测噪声大先做二阶低通滤波再取差分。第二坑是仿真模型漏了调速器死区。现象时域仿真里频率最低点看起来还能接受但实际系统早就在更深的频率上触发了低频减载。原因理想化的比例式调差模型允许一次调频从扰动一开始就出力现实中死区内调速器完全不动调频功率建立的时间被推迟。解决在调速器模型里加死区判断仿真对比“有死区”和“无死区”两组结果把频率最低点的差值纳入裕度评估。第三坑是负荷模型用了恒功率。现象准稳态频率仿真结果比实测偏移大频率一直回不到合理区间。原因恒功率模型忽略了负荷频率调节效应实际负荷在频率下降时会自动少用一些电等效给系统提供一个小阻尼项D。解决把负荷模型改成“恒功率频率调节系数”D取12标幺并做敏感性扫描确认最低频率对D的敏感度不大后再定值。5.2 涉及控制整定与保护配合的坑第四坑是虚拟惯量系数整得过大。现象加上虚拟惯量控制后RoCoF确实降了但并网点有功功率出现0.30.8Hz的持续振荡电流波形也跟着抖。原因Kv过大让频率变化率通道变成一个高增益宽带放大和锁相环、电流内环以及交流电网阻抗形成负阻尼回路。解决先扫Kv从零到上限的功率超调曲线取超调小于10%的最大Kv同时在频率变化率信号路径上加510Hz带宽的低通滤波。第五坑是新能源场站RoCoF保护定值沿用高惯量系统的标准。现象故障仿真里系统发生功率缺额新能源场站反而先跳闸让频率二次跌落。原因场站保护定值按传统电网设计RoCoF门槛1Hz/s没考虑低惯量系统正常运行时的RoCoF就可能达到0.6Hz/s以上保护被高频误触发。解决重新校核RoCoF保护定值把门槛抬高到系统最大允许RoCoF的1.5倍以上或者增加0.20.5秒动作延时让低频减载和一次调频先动作。6. 把综述结论变成算例用录波数据回归一次调频响应模型6.1 从一次真实扰动中同时辨识惯量和调频响应综述里讲了那么多控制策略最终都要落到“我的系统参数到底该设多少”上。一个我常用的收尾验证方法找一次真实的机组跳闸录波先用第2章的方法反推2H再用整段频率曲线反推一个低阶的调频响应模型然后把这个模型当成“现状基线”把要整定的虚拟惯量、调差系数代进去对比频率最低点和准稳态频率的提升量。这样既验证了仿真的可信度也为后续控制参数变更提供了定量依据。import numpy as np from scipy.optimize import least_squares def model_response(params, t, dp): H2, D, R, TR params # 简单欧拉积分实际可用odeint df, dpm, out 0.0, 0.0, [] for i in range(len(t) - 1): cmd -df / R if abs(df) 0.00066 else 0.0 ddpm (cmd - dpm) / TR ddf (dpm - dp[i] - D * df) / H2 df ddf * (t[i1] - t[i]) dpm ddpm * (t[i1] - t[i]) out.append(df * 50) return np.array(out) # 真实录波t_cut, f_meas, dp_meas 由PMU文件读出 t_cut np.linspace(0, 20, 2000) res least_squares( lambda p: model_response(p, t_cut, dp_meas) - f_meas, x0[4.0, 1.0, 0.05, 8.0], bounds([0.5, 0.1, 0.01, 1], [15, 5, 0.2, 30]) ) H2_fit, D_fit, R_fit, TR_fit res.x print(f辨识结果: 2H{H2_fit:.2f}s, D{D_fit:.2f}, fR{R_fit:.3f}, TR{TR_fit:.1f}s)逻辑说明这段代码把SFR模型的四个关键参数一并用最小二乘拟合出来目标函数是模型输出的频率曲线与实测曲线的偏差。欧拉积分只是为了演示求解思路实际使用建议换成odeint避免步长误差。拟合结果里2H和R最可信D和TR在单一扰动下可辨识性弱如果拟合的TR明显偏离合理范围就固定为典型值再重新拟合。参数说明bounds的上下界要按设备物理能力设置比如2H不可能小于0.5秒也不可能大于15秒R的取值范围按调差系数典型值0.010.2 pu。拟合完成后把实测曲线、基线仿真曲线、加虚拟惯量后的仿真曲线画在一张图里对比这是我在项目里最常用的一张交付图既能向电网调度解释现状风险又能量化控制参数改动后的收益。最后说一点个人习惯凡是涉及低惯量系统的仿真我一定会把所有涉网保护先打开再整定控制参数因为保护动作序列往往比控制参数更早决定频率是不是兜得住。低频减载、RoCoF保护、过频保护每一个都要在仿真里可见、可记录。这个习惯救过我一次希望帮到你。本文还有配套的精品资源点击获取
返回列表