1. 光伏MPPT-VSG并网系统概述
光伏发电系统与电网的稳定并网一直是可再生能源领域的关键技术挑战。传统光伏逆变器采用电流源控制策略,缺乏必要的惯性和阻尼特性,难以直接参与电网的频率和电压调节。虚拟同步发电机(VSG)技术通过模拟同步发电机的转动惯量和阻尼特性,使光伏逆变器具备类似传统发电机的电网支撑能力。
本系统采用两级式结构设计:
- 前级:光伏阵列通过Boost电路实现最大功率点跟踪(MPPT)
- 后级:三相逆变器采用VSG控制策略
- 中间环节:直流母线电容作为能量缓冲
这种架构特别适合分布式光伏并网场景,既能最大化光伏发电效率,又能为电网提供必要的惯性支撑。在实际工程中,我们通常需要处理以下几个核心问题:
- 如何实现快速准确的MPPT控制
- 如何通过VSG控制实现功率动态平衡
- 如何设计合理的参数保证系统稳定性
提示:系统设计时需特别注意前级MPPT与后级VSG控制的动态响应匹配,两者时间常数差异过大会导致系统振荡。
2. 扰动观察法MPPT实现细节
2.1 基本算法原理
扰动观察法(P&O)是最常用的MPPT算法之一,其核心思想是通过周期性扰动光伏阵列的工作点并观察功率变化方向来确定最大功率点位置。算法流程如下:
- 施加一个小的占空比扰动ΔD
- 测量当前光伏阵列输出电压V_pv和电流I_pv
- 计算当前功率P_now = V_pv × I_pv
- 与前一时刻功率P_prev比较
- 根据功率变化方向调整扰动方向
python复制# MPPT核心算法实现
delta_D = 0.01 # 扰动步长(典型值1%-3%)
P_prev = 0 # 上一周期功率
D_prev = 0.5 # 初始占空比
while True:
V_pv = read_voltage() # 读取光伏电压
I_pv = read_current() # 读取光伏电流
P_now = V_pv * I_pv # 计算瞬时功率
if P_now > P_prev:
# 功率增加,保持原扰动方向
D = D_prev + delta_D
else:
# 功率减少,反转扰动方向
delta_D = -delta_D
D = D_prev + delta_D
apply_duty_cycle(D) # 更新Boost电路占空比
P_prev = P_now # 更新功率记录
sleep(0.1) # 控制周期(典型100ms)
2.2 参数设计与优化
扰动步长ΔD的选择需要权衡跟踪速度和稳态精度:
- 较大步长(如3%):跟踪速度快,但稳态振荡大
- 较小步长(如0.5%):稳态精度高,但响应慢
实际工程中建议采用自适应步长策略:
python复制# 自适应步长改进
if abs(P_now - P_prev) < 0.02*P_prev: # 功率变化小于2%
delta_D = 0.005 # 小步长精细调节
else:
delta_D = 0.02 # 大步长快速跟踪
采样周期T_s的选择原则:
- 应大于Boost电路的动态响应时间(通常>10ms)
- 应小于云层移动等环境变化的时间常数(通常<1s)
- 典型值在50-200ms范围内
注意:实际部署时需加入电压/电流滤波处理,避免测量噪声导致误判。建议使用移动平均滤波,窗口大小3-5个采样点。
3. VSG控制策略实现
3.1 VSG基本原理
虚拟同步发电机通过控制算法模拟同步发电机的三个关键特性:
- 转动惯量(J):决定频率响应的惯性
- 阻尼系数(D):抑制功率振荡的能力
- 调差系数:实现有功-频率下垂控制
VSG的机械方程模拟:
$$
J\frac{dΔω}{dt} = P_{ref} - P_e - DΔω
$$
其中:
- J:虚拟转动惯量(kg·m²)
- ω:角速度(rad/s)
- P_ref:参考功率(W)
- P_e:电磁功率(W)
- D:阻尼系数(N·m·s/rad)
3.2 控制环路设计
本系统采用双环控制结构:
- 外环:直流母线电压控制
- 内环:VSG功率控制
直流电压外环实现:
c复制// 直流电压控制环路
float vdc_error = vdc_ref - vdc_actual;
float vdc_integral += vdc_error * dt;
// 功率补偿量计算
float power_comp = kp_vdc * vdc_error + ki_vdc * vdc_integral;
VSG功率环核心代码:
matlab复制function [omega, theta] = vsg_control(P_ref, Q_ref, V, dt)
persistent J D omega_n P_prev theta;
% 初始化参数
if isempty(J)
J = 2.5; % 转动惯量(kg·m²)
D = 5; % 阻尼系数(N·m·s/rad)
omega_n = 314; % 额定角速度(rad/s)
P_prev = 0;
theta = 0;
end
% 惯性环节计算
P_delta = P_ref - P_prev;
omega = omega_n + (P_delta/(J*omega_n) - D*(omega - omega_n)) * dt;
% 相位积分
theta = theta + omega*dt;
% 电压控制(简化版)
V_out = V + k_q*(Q_ref - Q_actual);
% 更新状态
P_prev = P_ref;
end
3.3 参数整定方法
-
转动惯量J:
- 典型范围:0.5-10 kg·m²
- 太小:系统响应过快,易振荡
- 太大:响应迟钝,电压调节困难
- 推荐初值:2.5 kg·m²
-
阻尼系数D:
- 典型范围:1-20 N·m·s/rad
- 整定步骤:
a) 设D=0,逐渐增大J直到系统出现等幅振荡
b) 记录临界J值(J_c)
c) 取D = 2sqrt(J_cK) (K为系统刚度系数)
-
PI参数整定:
- 先调kp,后调ki
- kp初始值:从0开始逐渐增大至系统开始振荡
- 取振荡临界值的1/3作为kp
- ki初始值:kp/T_i,T_i取系统时间常数的3-5倍
4. 系统集成与动态平衡
4.1 功率流动分析
系统功率平衡方程:
$$
P_{pv} = P_{load} + P_{grid} + C_{dc}\frac{dV_{dc}}{dt}
$$
其中:
- P_pv:光伏发电功率
- P_load:本地负载功率
- P_grid:并网功率
- C_dc:直流母线电容
动态调节过程:
-
当P_pv突然增大(如云层移开):
- 直流电容电压V_dc开始上升
- VSG增加P_ref使P_grid增大
- 最终V_dc恢复设定值
-
当P_load突然增大(如负载接入):
- V_dc开始下降
- VSG减少P_ref使P_grid减小
- 更多功率供给本地负载
4.2 关键器件选型
-
直流母线电容:
- 容量计算:
$$
C_{dc} \geq \frac{ΔP \cdot Δt}{V_{dc} \cdot ΔV_{dc}}
$$
其中:- ΔP:最大功率阶跃(如从50%到100%额定功率)
- Δt:VSG响应时间(通常0.1-0.5s)
- ΔV_dc:允许电压波动(通常5%-10%)
- 示例:30kW系统,Δt=0.2s,ΔV_dc=10%,则C_dc ≥ 4700μF
- 容量计算:
-
功率器件选型:
- 电压等级:≥1.2×最大直流电压
- 电流容量:≥1.5×最大工作电流
- 推荐:IGBT模块(如Infineon FF300R12KT4)
5. 工程实践与问题排查
5.1 常见问题及解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 直流电压振荡 | VSG参数不匹配 | 重新整定J和D参数 |
| MPPT效率低 | 扰动步长不当 | 采用自适应步长策略 |
| 并网冲击大 | 预同步不准确 | 改进锁相环(PLL)算法 |
| 过压保护触发 | 电容容量不足 | 增大直流母线电容 |
| 系统响应慢 | 控制周期过长 | 优化代码执行效率 |
5.2 调试技巧
-
分阶段调试:
- 先测试MPPT单独工作
- 再测试VSG带阻性负载
- 最后进行并网测试
-
示波器监测点:
- 光伏端电压/电流
- 直流母线电压
- 并网电流波形
-
参数调整顺序:
a) 固定MPPT参数,调VSG
b) 固定VSG参数,优化MPPT
c) 微调两者配合
5.3 实测波形分析
典型工作波形特征:
-
稳态时:
- 光伏电压:小幅三角波(MPPT扰动)
- 直流电压:纹波<2%
- 并网电流:正弦度良好(THD<3%)
-
动态过程:
- 光照突变:直流电压波动<5%
- 负载投切:频率变化<0.2Hz
- 电网故障:能在100ms内实现孤岛保护
在实际项目中,我们通过合理选择电容容量(最终采用5600μF薄膜电容)和优化VSG参数(J=3.5,D=8),实现了在80%负载阶跃时直流电压超调<7%的性能指标。MPPT效率在动态光照条件下仍能保持98.5%以上。
