第 06 讲 / 共 09 讲 · 建模与仿真

VSM 与虚拟惯量

虚拟惯量究竟改变了什么?

90 分钟案例 · 图解 · 推导 · 实验本讲练习 ↗

从一个实际问题出发

虚拟惯量究竟改变了什么?

设计评审提出“把虚拟惯量加倍,可以改善响应”。要判断这一建议,必须先区分初始变化率、振荡表现、稳态功率,以及设备真实的能量供给能力。

学完本讲,你应该能够…
  • 理解 VSM 摆动方程及其静态下垂关系。
  • 区分请求的支撑与实际输出功率。

06.01 机理与推导

给速度增加明确的演化方程

VSM 用 Mω̇ = P* − P_f − D(ω − 1) 替代代数频率 droop,保留 δ、ω、P_f、Q_f。电气电压源与无功规律沿用 droop 实验,因此能单独比较同步规律。

M 的单位为秒,取 D = 1/m_p。在本摆动方程约定下 M = 2H,默认 M = 4 s 对应 H = 2 s。源仓库区分调速器与显式阻尼贡献,教学模型使用两者合计系数。

相同稳态斜率,不同频率动态
机理图解 相同稳态斜率,不同频率动态 左右滑动查看全图 放大图示 ↗
M\dot\omega=P^*-P_f-D(\omega-1),\qquad D=\frac1{m_p},\qquad M=2H

06.02 机理与推导

把初始变化率与稳态分配分开

P* 刚发生阶跃时,速度与滤波功率仍为旧稳态值,因此加速功率为 ΔP*,得到 ḟ = f_bΔP*/M。在同一初始条件下,M 加倍会使初始变化率减半。

稳态满足 ω̇ = 0、ω = ω_g。当 D = 1/m_p 时,功率—频率斜率与 droop 相同,并不依赖 M。更大惯量会通过与 0.1 s 功率滤波的交互改变振荡与收敛,但不能普遍保证轨迹更好。

\dot\delta=\omega_b(\omega-\omega_g),\qquad P_{\infty}=P^*-\frac{\omega_g-1}{m_p}
\dot f(1^+)=f_b\frac{\Delta P^*}{M}

06.03 机理与推导

把控制规律转成证据要求

虚拟惯量描述的是控制规律。要真正提供所请求的功率,还需要直流能量来源、可用电流与可实现的变流器电压。实验假设理想直流电源和无限制实现,因此无法证明这些硬件能力。

基于 PLL 的 GFL 也可以加入滤波 RoCoF 功率支撑,同时保持跟网同步;其结构与 VSM 内部速度状态不同。源仓库 GFL-VI notebook 保留了一个固定参数下不稳定的案例,说明名称中有“惯量”并不能建立稳定性。

把推导变成数量判断

把案例算清楚

在稳态施加 +0.03 pu 功率指令阶跃,取 M = 4 s、基频 50 Hz,计算初始 RoCoF。

  1. 速度导数为 0.03/4 = 0.0075 pu/s。
  2. 乘 50 Hz,转换为实际频率变化率。
  3. 若 M = 8 s,初始变化率减半。

初始 RoCoF 为 0.375 Hz/s。这一局部预测本身不能确定收敛时间或真实能量供给能力。

从预测走向证据

相同斜率不等于相同暂态

droop 与 VSM 使用相同源、滤波与斜率,本图仅频率规律不同;4 s 窗口未必足以观察收敛。

增加频率状态,改变暂态轨迹
求解器计算 增加频率状态,改变暂态轨迹 左右滑动查看全图 放大图示 ↗
  1. 两种模型收到相同功率指令,源、滤波与稳态斜率也相同。
  2. VSM 速度不能突变,新增状态改变了早期轨迹与振荡响应。
  3. 4 s 曲线终点只是末次采样,不自动等于稳态值。

你的实验任务

  1. M = 4 s 时,预测 +0.03 pu 阶跃后的初始频率导数。
  2. 固定 m_p、SCR,再分别用 M = 1、8 s 运行。
  3. 用频率阶跃实验,对比 droop GFM 的稳态斜率。

实验室 · Python 在浏览器内运行

预测 → 运行 → 检查

先预测响应,再修改参数并点击运行。初始曲线是由同一求解器生成的基准结果。首次计算需要联网加载 Python,之后无需重新下载。

正在读取基准结果…

数值检查与采样结果

低频教学模型:额定频率代数网络、理想电流 / 电压实现。50 Hz,10 kVA,400 V;PCC 初始总 P = 0.6、Q = 0;X/R = 10。τᵢ = 0.02 s,τₚ = 0.1 s,τq = 0.05 s,nq = 0.0325;GFM 源阻抗 0.00625 + j0.1 pu。未保留 LCL、内部 PI、直流动态或限流。

检查推理,再形成判断

你能解释,也能算对吗?

计算练习 · 使用题目给定值

Hz/s

概念判断

固定 D 和运行点,M 加倍后,同样 P* 阶跃对应的初始响应如何变化?

本讲的工程判断

在斜率与滤波参数相同的条件下,比较 M = 1、4、8 s,报告初始变化率、峰值,以及是否观察到收敛。判断稳态前将窗口延长至 20 s;若振荡增长,也应保留结果。

复现与拓展

把证据带回你的模型

核心方程速查
M\dot\omega=P^*-P_f-D(\omega-1),\qquad D=\frac1{m_p},\qquad M=2H
\dot\delta=\omega_b(\omega-\omega_g),\qquad P_{\infty}=P^*-\frac{\omega_g-1}{m_p}
\dot f(1^+)=f_b\frac{\Delta P^*}{M}
打开 Python 实验与模型源码

代码读取上方实验参数,结果独立绘制。修改实验或展开模型源码,检验自己的预测。下载实验可得到含参数、完整求解器与实验的单个 .py 文件,本地只需 Python 3。

case 是点击运行时的参数快照。调用 solve(case),将最终解赋给 result,即可绘制代码结果。

下载求解器

首次运行需联网下载 Python 环境。计算在浏览器内完成,求解器只用 Python 标准库。

准备运行。

输出将在这里显示。
查看并编辑模型源码(进阶)

修改源码影响下次 Python 实验;上方实验继续使用原始教学方程。

对应的源仓库材料与模型范围

基于 PINN-IBR 本地材料整理,审阅日期 2026-10-03。网页采用独立教学实现;低频模型保留额定频率代数网络与理想执行器。下列材料用于继续研究完整模型。

  • Coding/Modeling/src/ibrsim/models/vsm_gfm.py
  • Coding/Modeling/Single-IBR-Infinite-Bus/06_VSM_GFM_Infinite_Bus.ipynb
  • Coding/Modeling/Single-IBR-Infinite-Bus/04_GFL_PLL_Virtual_Inertia_Infinite_Bus.ipynb
PINN-IBR ↗

下一步

现在已有两种同步机制。下一讲把它们同时接入同一个 PCC,控制器之间的交互也随之进入模型。

全部九个模块
  1. 系统边界与模型表示
  2. 坐标变换与标幺约定
  3. 平均变流器与 LCL 电路
  4. PLL 与跟网型控制
  5. 下垂构网型控制
  6. VSM 与虚拟惯量
  7. GFL–GFM 并联混合模型
  8. 模式切换混合模型
  9. 平衡点、扰动与公平比较