1. 单级式光伏并网系统概述
单级式光伏并网系统是一种直接将光伏阵列产生的直流电转换为交流电并入电网的发电系统。与传统的两级式系统相比,它省去了中间的DC-DC升压环节(Boost电路),通过逆变器直接实现直流到交流的转换和并网控制。这种结构最大的优势在于减少了功率变换环节,理论上可以提升系统整体效率1-3个百分点,同时降低了硬件成本和系统复杂度。
在实际工程应用中,单级式系统需要解决两个核心问题:一是如何在不使用Boost电路的情况下满足电网电压要求;二是如何实现高效的最大功率点跟踪(MPPT)。第一个问题通常通过合理设计光伏阵列的串联数量和逆变器的调制比来解决,而第二个问题则需要通过精确的并网电流控制算法来实现。
2. 系统架构与工作原理
2.1 无Boost电路的系统结构
典型的无Boost单级式光伏并网系统主要由以下几个部分组成:
- 光伏阵列:由多个光伏组件串联组成,输出电压通常在200-600V范围,具体取决于并网电压等级
- DC-AC逆变器:通常采用全桥拓扑结构,将直流电转换为交流电
- LCL滤波器:用于滤除高频开关谐波,保证并网电流质量
- 控制系统:包括MPPT算法、并网电流控制、锁相环(PLL)等
与传统两级式系统相比,这种结构省去了Boost变换器及其控制电路,系统结构更加简洁。但这也带来了一些技术挑战:
- 光伏阵列输出电压必须始终高于电网电压峰值(考虑调制比)
- MPPT需要通过调节并网电流来实现,控制复杂度较高
- 系统动态响应速度相对较慢
2.2 并网电流控制实现MPPT的原理
在无Boost系统中,MPPT功能是通过控制并网电流来实现的。其基本原理是:通过调节逆变器输出的并网电流幅值,间接改变光伏阵列的工作点,使其工作在最大功率点附近。
具体实现过程如下:
- MPPT算法计算出当前应提取的功率Pmpp
- 根据电网电压有效值Vgrid,计算出目标并网电流幅值Iref = Pmpp / Vgrid
- 电流控制器跟踪Iref,调节逆变器开关状态
- 光伏阵列输出电压自动调整到与当前功率匹配的工作点
这种控制方式的关键在于精确的电流控制和快速的MPPT算法响应。在实际系统中,通常采用PI控制器或PR控制器来实现并网电流的精确跟踪。
3. 扰动观察法MPPT实现
3.1 算法原理与实现
扰动观察法(Perturb and Observe,P&O)是最常用的MPPT算法之一,其基本思想是通过周期性地扰动光伏阵列的工作电压,并观察输出功率的变化方向,从而确定下一步的扰动方向。
算法具体步骤如下:
- 在当前工作点施加一个小的电压扰动ΔV
- 测量扰动后的输出功率Pnew
- 与扰动前的功率Pold比较:
- 如果Pnew > Pold,保持相同方向的扰动
- 如果Pnew < Pold,反转扰动方向
- 重复上述过程,使工作点不断向最大功率点靠近
在MATLAB中实现该算法时,需要注意以下几个关键参数的选择:
- 扰动步长ΔV:通常取光伏阵列开路电压的1%-2%
- 采样周期:一般为电网周期的整数倍(如10ms)
- 功率计算:需要采用适当的滤波处理,避免噪声影响
3.2 MATLAB代码实现与优化
以下是改进后的扰动观察法MATLAB实现代码:
matlab复制% 扰动观察法MPPT实现
function [Vref, Pmax] = P_O_MPPT(Vpv, Ipv, Vref_old, Pold, deltaV)
% 输入参数:
% Vpv - 当前光伏电压
% Ipv - 当前光伏电流
% Vref_old - 上一周期参考电压
% Pold - 上一周期功率
% deltaV - 扰动步长
% 计算当前功率
Pnew = Vpv * Ipv;
% 判断功率变化方向
if (Pnew > Pold)
Vref = Vref_old + sign(Vpv - Vref_old) * deltaV;
else
Vref = Vref_old - sign(Vpv - Vref_old) * deltaV;
end
% 更新最大功率
Pmax = max(Pnew, Pold);
% 电压限幅保护
Vref = max(min(Vref, Vpv_max), Vpv_min);
end
这段代码相比基础版本增加了以下改进:
- 采用函数封装,便于系统集成
- 增加了电压限幅保护,防止超出安全工作范围
- 通过sign函数自动判断扰动方向,逻辑更加清晰
- 输出最大功率值,便于系统监控
在实际应用中,还需要考虑以下问题:
- 在光照快速变化时,传统P&O算法可能会误判
- 在最大功率点附近会出现振荡现象
- 步长选择需要权衡跟踪速度和稳态精度
针对这些问题,可以采用变步长策略或结合其他MPPT算法进行优化。
4. 全天候光照与温度模拟
4.1 环境参数建模
为了真实模拟光伏系统在一天中的工作情况,需要建立光照强度和温度随时间变化的模型。在实际环境中,这两个参数通常呈现类似正弦曲线的变化规律。
改进后的环境模拟代码如下:
matlab复制% 全天候光照与温度模拟
function [G, T] = EnvironmentalModel(time)
% 输入参数:
% time - 当前时间(小时)
% 输出参数:
% G - 光照强度(W/m²)
% T - 温度(℃)
% 日出和日落时间(可根据季节调整)
sunrise = 6;
sunset = 18;
% 光照强度模型
if time >= sunrise && time <= sunset
% 正弦变化,正午达到峰值
solar_noon = (sunrise + sunset)/2;
G = 1000 * sin((time - sunrise) * pi / (sunset - sunrise));
% 考虑天气随机波动
weather_factor = 0.95 + 0.1*rand; % 随机波动5%
G = G * weather_factor;
else
G = 0;
end
% 温度模型
if time >= sunrise && time <= sunset
T = 25 + 10 * sin((time - sunrise) * pi / (sunset - sunrise));
% 温度随机波动
T = T + 2*(rand-0.5); % ±1℃波动
else
T = 20 + 5*(rand-0.5); % 夜间温度
end
end
这个模型相比基础版本增加了以下特性:
- 考虑了天气随机波动因素
- 增加了夜间温度模型
- 参数可调,适应不同季节和地区
- 输出更加平滑连续
4.2 光伏阵列特性模拟
光照和温度变化会直接影响光伏阵列的输出特性。根据光伏电池的单二极管模型,其I-V特性可以表示为:
I = Iph - I0[exp((V+IRs)/aVt) - 1] - (V+IRs)/Rsh
其中:
- Iph为光生电流,与光照强度G成正比
- I0为反向饱和电流,受温度T影响
- Rs为串联电阻
- Rsh为并联电阻
- a为理想因子
- Vt = kT/q为热电压
在MATLAB中实现该模型时,可以采用迭代法求解非线性方程。以下是简化实现:
matlab复制function [I, V] = PV_Model(G, T, Vref)
% 光伏电池参数
Isc = 8.5; % 短路电流(A)
Voc = 37; % 开路电压(V)
Ns = 10; % 串联电池数
% 温度系数
ki = 0.05; % 电流温度系数(%/℃)
kv = -0.3; % 电压温度系数(%/℃)
% 标准测试条件
Gstc = 1000; % 1000W/m²
Tstc = 25; % 25℃
% 计算实际条件下的Isc和Voc
Isc_act = Isc * (G/Gstc) * (1 + ki*(T-Tstc)/100);
Voc_act = Voc * (1 + kv*(T-Tstc)/100);
% 简化模型计算
Vt = 1.38e-23 * (T+273) / 1.6e-19 * Ns;
Iph = Isc_act;
I0 = Isc_act / (exp(Voc_act/Vt) - 1);
% 迭代求解工作点
V = Vref;
tol = 1e-3;
max_iter = 100;
for iter = 1:max_iter
I = Iph - I0*(exp(V/Vt)-1);
Vnew = Vref;
if abs(Vnew - V) < tol
break;
end
V = Vnew;
end
end
5. 系统仿真与结果分析
5.1 MATLAB/Simulink仿真模型搭建
完整的单级式光伏并网系统仿真模型应包括以下部分:
- 光伏阵列模型
- 逆变器及其控制系统
- LCL滤波器
- 电网模型
- MPPT算法模块
- 环境条件生成模块
在Simulink中搭建模型时,建议采用以下配置:
- 使用离散仿真模式,步长设置为开关频率的1/50~1/100
- 逆变器采用平均模型或详细开关模型,根据需求选择
- 控制系统采用离散PID控制器
- 添加适当的测量和显示模块,便于观察系统性能
5.2 典型仿真结果与分析
在模拟全天运行的仿真中,可以观察到以下典型现象:
-
早晨和傍晚时段:
- 光照强度较低,光伏输出电压较小
- 系统工作在升压模式,调制比较大
- MPPT扰动步长应适当减小
-
正午时段:
- 光照强度达到峰值
- 光伏输出电压接近最大值
- 系统效率最高
- 需注意防止过调制
-
快速云遮情况:
- 光照强度突然下降
- 传统P&O算法可能出现误判
- 系统需要快速调整工作点
通过仿真可以验证以下关键性能指标:
- MPPT跟踪效率:通常可达98%以上
- 并网电流THD:应小于5%
- 系统整体效率:一般在95%-97%范围
- 动态响应时间:从光照变化到稳定跟踪约需100-200ms
5.3 实际工程中的注意事项
在实际工程应用中,还需要考虑以下问题:
-
启动过程:
- 需要软启动策略,避免电流冲击
- 初始工作点设置接近预期MPP
-
保护功能:
- 过压、欠压保护
- 过流保护
- 孤岛效应检测
-
电网适应性:
- 适应电网电压波动
- 满足低电压穿越要求
-
效率优化:
- 死区时间优化
- 开关频率选择
- 滤波器参数设计
6. 常见问题与解决方案
6.1 MPPT振荡问题
问题现象:在稳态时光伏工作点持续小范围振荡,导致功率损失。
解决方案:
- 采用变步长策略,接近MPP时减小步长
- 增加滞环比较,减少不必要的扰动
- 结合其他算法如电导增量法进行优化
6.2 并网电流谐波超标
问题现象:并网电流THD超过5%,可能引发电网兼容性问题。
解决方案:
- 优化LCL滤波器参数
- 改进电流控制策略,如采用重复控制
- 增加谐波补偿环节
- 检查PLL性能,确保电网同步准确
6.3 动态响应慢
问题现象:光照快速变化时,系统跟踪速度跟不上。
解决方案:
- 优化MPPT算法采样周期
- 采用预测控制策略
- 结合短期辐照预测信息
- 调整控制系统带宽
6.4 夜间反送电问题
问题现象:夜间光伏不发电时,可能出现电网向光伏阵列反送电。
解决方案:
- 设置合理的停止工作阈值
- 增加防反二极管
- 完善系统启停逻辑
在实际调试过程中,建议采用以下步骤:
- 先验证开环特性,确保各模块基本功能正常
- 逐步闭环,先调试电流环,再加入MPPT
- 从静态工况开始测试,逐步过渡到动态变化
- 记录关键波形和数据,便于分析优化