电力电子变流器在新能源发电系统中扮演着关键角色,而虚拟同步发电机(VSG)技术通过模拟同步发电机的运行特性,显著提升了逆变器对电网的友好性。但在实际电网中,电压不平衡工况占比高达30%-40%,这给VSG控制带来了三个核心挑战:
我们团队在光伏电站实测中发现,当电网电压跌落30%时,常规VSG控制的电流THD会从<3%骤增至15%以上,严重时触发保护停机。这正是本项目研究PR(比例谐振)控制在VSG中应用的现实意义。
本方案采用分层控制结构,其Simulink实现框图如图1所示(注:实际模型需包含以下关键模块):
code复制[VSG核心算法层]
├── 虚拟惯量模拟模块
├── 功率计算模块(采用p-q理论)
├── 电压电流双环控制
[PR控制层]
├── 正序分量PR控制器(50Hz谐振)
├── 负序分量PR控制器(-50Hz谐振)
├── 谐波补偿PR控制器(150Hz/250Hz)
[电网交互层]
├── 锁相环(增强型SOGI-PLL)
├── 电压不平衡度检测
与传统PI控制相比,PR控制器的传递函数为:
$$
G_{PR}(s) = K_p + \frac{2K_iω_cs}{s^2+2ω_cs+ω_0^2}
$$
其中关键参数设计准则:
实测经验:在Simulink中实现时需将连续域模型离散化,推荐采用Tustin变换,采样周期≤100μs
matlab复制% 转动惯量模拟
J = 0.5; % kg·m² (典型值)
D = 10; % 阻尼系数
s = tf('s');
H_vsg = 1/(J*s + D);
在Simulink中有三种实现方式对比:
| 实现方式 | 精度 | 计算量 | 适用场景 |
|---|---|---|---|
| 离散传递函数 | ★★★ | ★★ | 固定频率 |
| 状态空间模型 | ★★ | ★★★ | 多谐振点 |
| S函数编程 | ★★ | ★★ | 复杂控制逻辑 |
推荐采用离散传递函数实现:
matlab复制% 正序PR控制器示例
Kp = 1.2; Ki = 8; wc = 10; w0 = 314;
num = [2*Kp*wc, Kp*(wc^2+w0^2), 0];
den = [1, 2*wc, wc^2+w0^2];
G_PR_pos = c2d(tf(num,den), 1e-4, 'tustin');
在电网电压源模块中添加负序分量:
matlab复制V_pos = 311*sin(2*pi*50*t); % 正序分量
V_neg = 31.1*sin(2*pi*50*t + pi/3); % 10%负序分量
V_abc = clarke_transform(V_pos + V_neg); % 三相输出
通过扫频法确定最佳惯量值:
实测数据表明,光伏电站推荐值:
采用粒子群算法(PSO)自动整定:
matlab复制% 适应度函数定义
function f = cost_func(x)
Kp = x(1); Ki = x(2);
% 仿真运行并获取指标
THD = simout.THD(end);
settling_time = simout.t_settle;
f = 0.6*THD + 0.4*settling_time;
end
优化目标权重建议:
故障现象:在49.5-50.5Hz范围内控制效果急剧下降
解决方案:
matlab复制w0_actual = 2*pi*getFrequency(PLL);
update_PR_parameters(w0_actual);
触发条件:采样周期>200μs时易出现
处理步骤:
优化路径:
matlab复制P_feedforward = Pref + 0.2*(Pref - P_meas);
针对背景谐波(5/7次)的复合控制策略:
matlab复制% 多谐振点PR控制器
G_PR = G_PR_50 + 0.3*G_PR_250 + 0.2*G_PR_350;
基于在线辨识的调整算法:
math复制K_{neg} = \begin{cases}
0.5ε & ε<10\% \\
0.3ε & ε≥10\%
\end{cases}
推荐使用dSPACE SCALEXIO系统:
我们在2MW光伏逆变器上实测数据显示: