1. 项目背景与核心挑战
虚拟同步发电机(VSG)技术作为新能源并网的关键接口,其阻抗特性直接决定了系统稳定性。传统单序阻抗模型在弱电网场景下已无法准确反映VSG的动态行为,正负序阻抗分离建模成为解决这一问题的突破口。去年参与某风电场振荡事故分析时,我们实测发现VSG在5-15Hz频段存在明显的负序阻抗谐振峰,这与单序模型仿真结果偏差达40%,直接促使我深入研究序阻抗建模方法。
扫频法作为阻抗测量的黄金标准,其实现过程涉及多个技术难点:如何设计宽频带激励信号?怎样处理并网点的电压电流耦合?序分离算法在低信噪比条件下如何保证精度?这些问题的解决直接关系到模型的可信度。我通过复现IEEE Trans. on Power Electronics上的经典论文《Sequence Impedance Modeling of VSG-Based Inverters》,逐步构建了一套完整的解决方案。
2. 正负序阻抗建模原理
2.1 序分量分离的数学基础
采用对称分量法将三相变量分解为:
code复制[V+] 1 [1 α α² ][Va]
[V-] = - [1 α² α ][Vb]
[V0] 3 [1 1 1 ][Vc]
其中α=e^(j2π/3)。在dq坐标系下,正序分量表现为直流量,负序分量表现为2ω频率交流量。实际实现时需要特别注意:
提示:Park变换后的2ω分量会与控制器带宽产生交互,建议在锁相环后级联二阶广义积分器(SOGI)进行序分离
2.2 VSG的小信号模型构建
建立包含虚拟惯量环节的传递函数框图:
code复制P_ref ──▶[1/(Jvs+D)]─▶[功率计算]─▶[电流环]─┬─▶[LCL滤波器]
↑
电压反馈◀────────────────────────────┘
通过线性化处理得到阻抗表达式:
code复制Z+(s) = [Kp + Ki/s]·[1/(Jvs+D)]·Gfilter(s)
Z-(s) 需额外考虑频率耦合项的影响
3. 扫频法实现细节
3.1 激励信号设计
采用幅值渐变的chirp信号作为扰动源:
matlab复制fs = 10e3; % 采样率
t = 0:1/fs:10;
f0 = 1; f1 = 1000;
A = 0.02*Vnom*(1-exp(-t/2)); % 幅值缓启动
x = A.*chirp(t,f0,t(end),f1,'logarithmic');
关键参数选择依据:
- 幅值:≤2%额定电压(避免触发保护)
- 频带:1Hz-1kHz(覆盖控制器带宽)
- 持续时间:≥10s(保证低频分辨率)
3.2 实时数据采集方案
python复制# 使用RT-LAB实时平台采集
config = {
'sampling_rate': 10e3,
'channels': ['Va','Vb','Vc','Ia','Ib','Ic'],
'trigger': {'type': 'software', 'pre_samples': 1000}
}
data = rtlab.acquire(config, duration=12)
注意事项:
- 同步采集电压电流信号(时延误差<10μs)
- 预触发存储避免丢失初始瞬态
- 每个频点至少包含5个完整周期
4. 数据处理与阻抗计算
4.1 频域分析方法
采用Welch算法改进频谱估计:
matlab复制[Pxx,f] = pwelch(Va, hann(4096), 2048, 4096, fs);
[Pxy,f] = cpsd(Ia,Va, hann(4096), 2048, 4096, fs);
Z = Pxy./Pxx; % 阻抗估计
窗函数选择对比:
| 窗类型 | 频率分辨率 | 幅值精度 |
|---|---|---|
| 矩形窗 | 高 | ±3dB |
| 汉宁窗 | 中 | ±0.5dB |
| 平顶窗 | 低 | ±0.1dB |
4.2 序分离算法实现
c复制// 基于二阶广义积分器的实时处理
void SOGI_Update(SOGI *s, float input) {
s->v0 = s->v1;
s->v1 = input - s->v2 - s->k*s->v3;
s->v2 = s->v1 * s->T * s->omega;
s->v3 = s->v0 * s->T * s->omega;
s->alpha = 0.5f * (s->v1 + s->v3);
s->beta = 0.5f * (s->v1 - s->v3);
}
参数整定经验:
- 品质因数Q=√2时带宽最优
- 中心频率ω需跟踪实际电网频率
- 离散化采用Tustin变换避免频率畸变
5. 实测问题排查实录
5.1 典型故障现象
某次测试出现的异常阻抗曲线:
| 频率段 | 现象 | 根本原因 |
|---|---|---|
| <10Hz | 相位突变180° | 锁相环动态响应滞后 |
| 50Hz | 幅值凹陷 | 工频干扰未充分抑制 |
| >500Hz | 数据离散 | 抗混叠滤波器截止 |
5.2 解决方案优化
- 改进锁相环参数:
matlab复制pll = PLL_Design(...
'type', 'SRF', ...
'bandwidth', 2*pi*30, ... % 提升至30Hz
'damping', 1.0);
- 增加预滤波环节:
simulink复制 +---------+
Vabc_in ────▶| Notch @50Hz |───▶
+---------+
- 采用多速率采样:
- 基波区:10kHz采样
- 高频区:50kHz采样+8阶椭圆滤波器
6. 模型验证与工程应用
6.1 阻抗比对方法
建立三层次验证体系:
- 仿真验证:在PLECS中注入理想扰动源
- 台架测试:采用chroma 61845电网模拟器
- 现场实测:通过PRBS信号激励
某2MW VSG的验证结果:
| 频点 | 仿真阻抗 | 实测阻抗 | 误差 |
|---|---|---|---|
| 10Hz | 5.2∠85° | 4.8∠82° | 8% |
| 100Hz | 3.1∠72° | 3.0∠70° | 5% |
| 500Hz | 1.5∠45° | 1.6∠48° | 10% |
6.2 稳定性判据应用
采用奈奎斯特判据分析:
matlab复制Zgrid = Zline + Z[transformer](https://taotoken.net/?utm_source=general); % 电网阻抗
L = Zvsg ./ (Zvsg + Zgrid); // 环路增益
nyquist(L);
工程经验值:
- 相位裕度≥45°
- 幅值裕度≥6dB
- 谐振峰<3dB
在弱电网场景下(SCR<3),建议:
- 降低虚拟惯量Jv值30%-50%
- 增加阻尼系数D至临界值的1.5倍
- 在电流环前馈中加入相位补偿
通过三个月现场运行验证,振荡发生率从17次/月降至2次/月,证明模型有效性。这套方法现已扩展应用到光伏、储能等多种VSG拓扑,关键是要根据具体控制策略调整线性化工作点。