1. 风光储并网系统概述
风光储并网系统是当前新能源领域的主流解决方案之一,它将光伏发电、风力发电和储能系统有机结合,通过智能控制实现稳定并网供电。这种系统最大的优势在于能够克服单一新能源发电的间歇性和波动性问题,提高电网的稳定性和可靠性。
在实际工程应用中,一个完整的风光储并网系统通常包含以下几个核心部分:
- 光伏发电单元:通过DC-DC变换器和MPPT算法实现最大功率输出
- 风力发电单元:通过AC-DC-AC变换和MPPT控制实现风能高效利用
- 储能单元:采用双向DC-DC变换器实现能量的双向流动
- 并网控制单元:实现系统与电网的同步和稳定连接
2. 光伏发电单元设计与实现
2.1 Boost电路拓扑选择
光伏板输出的电压通常较低(18-40V),而并网需要的直流母线电压一般在600-800V范围。Boost升压电路因其结构简单、效率高的特点,成为光伏侧DC-DC变换的首选拓扑。
Boost电路的关键参数计算:
-
电感值选择:
L = (V_in × D) / (ΔI_L × f_sw)
其中V_in为输入电压,D为占空比,ΔI_L为纹波电流,f_sw为开关频率 -
输出电容选择:
C_out = (I_out × D) / (ΔV_out × f_sw)
需考虑输出电压纹波要求
实际设计中,电感饱和电流应至少为最大输入电流的1.3倍,电容的额定电压需留有20%余量
2.2 MPPT算法实现
扰动观察法(P&O)是最常用的MPPT算法,其核心思想是通过周期性扰动占空比并观察功率变化方向来确定最大功率点。
算法优化要点:
- 变步长策略:在远离MPP时采用大步长快速跟踪,接近MPP时切换小步长减少振荡
- 抗干扰处理:加入采样滤波和突变检测,避免云层遮挡导致的误判
- 启动策略:初始阶段采用扫频法快速定位MPP大致区域
改进型扰动观察法代码示例:
matlab复制function duty = advanced_mppt(v_pv, i_pv, prev_data)
% 参数初始化
persistent prev_power prev_duty direction step_size;
if isempty(prev_power)
prev_power = 0;
prev_duty = 0.5;
direction = 1;
step_size = 0.05; % 初始步长
end
current_power = v_pv * i_pv;
delta_p = current_power - prev_power;
% 步长自适应
if abs(delta_p) < 0.1
step_size = 0.01;
else
step_size = 0.05;
end
% 方向判断
if delta_p > 0
direction = sign(prev_duty - prev_data.duty);
else
direction = -sign(prev_duty - prev_data.duty);
end
% 更新占空比
duty = prev_duty + direction * step_size;
duty = max(0.1, min(0.9, duty)); % 限幅
% 保存当前状态
prev_power = current_power;
prev_duty = duty;
end
3. 储能系统设计与控制
3.1 双向Buck/Boost电路设计
储能系统采用双向DC-DC变换器,可实现电池的充放电控制。拓扑选择需要考虑以下因素:
- 电压转换比
- 功率等级
- 效率要求
- 成本因素
典型参数设计:
- 开关管选择:根据电流电压应力选择MOSFET或IGBT
- 电感设计:需同时满足充电和放电模式下的电流纹波要求
- 散热设计:计算最恶劣工况下的功率损耗
3.2 双闭环控制策略
电压外环+电流内环的双闭环控制是储能系统的核心:
-
电压外环:
- 调节直流母线电压
- 输出作为电流内环的参考
- PI参数整定需考虑系统惯性
-
电流内环:
- 快速跟踪电流指令
- 需要区分充电和放电模式
- 响应速度应比电压环快5-10倍
改进型能量管理策略:
matlab复制function [i_ref, mode] = advanced_ems(soc, v_dc, p_load, p_gen)
% 参数定义
soc_high = 0.9; % SOC高阈值
soc_low = 0.2; % SOC低阈值
v_dc_high = 750; % 母线电压高阈值(V)
v_dc_low = 650; % 母线电压低阈值(V)
% 模式判断
power_diff = p_gen - p_load;
if soc <= soc_low && v_dc >= v_dc_high
mode = 1; % 强制充电
i_ref = -0.2*power_diff/v_dc;
elseif soc >= soc_high || v_dc <= v_dc_low
mode = 2; % 放电模式
i_ref = 0.15*power_diff/v_dc;
elseif abs(power_diff) > 0.1*max(p_gen,p_load)
mode = 3; % 功率平衡模式
i_ref = power_diff/v_dc;
else
mode = 0; % 待机模式
i_ref = 0;
end
% 电流限幅
i_ref = max(-100, min(100, i_ref)); % ±100A限幅
end
4. 风力发电单元实现
4.1 风机特性建模
风机的机械特性由风能利用系数Cp决定,它是叶尖速比λ和桨距角β的函数:
Cp(λ,β) = 0.22×(116/λ - 0.4×β -5)×exp(-12.5/λ)
其中:
λ = (ω×R)/v
ω:风机转速(rad/s)
R:风机半径(m)
v:风速(m/s)
4.2 最大功率跟踪策略
风机MPPT与光伏不同,需要同时考虑转速控制和功率控制:
-
最佳叶尖速比法:
- 保持λ在最优值λ_opt
- 通过调节转速跟踪最大功率点
-
功率信号反馈法:
- 建立最优功率-转速曲线
- 通过转速调节使实际功率接近理论最大值
风机控制代码示例:
matlab复制function [torque_ref, beta_ref] = wind_mppt(omega, v_wind, P_actual)
% 参数
R = 2.5; % 风机半径(m)
rho = 1.225; % 空气密度(kg/m^3)
lambda_opt = 8; % 最佳叶尖速比
% 计算当前叶尖速比
lambda = omega * R / v_wind;
% 桨距角控制(风速过高时启用)
if v_wind > 12
beta_ref = min(30, (v_wind-12)*2);
else
beta_ref = 0;
end
% MPPT控制
if v_wind < 3
torque_ref = 0;
else
if abs(lambda - lambda_opt) > 0.5
% 转速调节模式
omega_ref = lambda_opt * v_wind / R;
torque_ref = 0.1 * (omega_ref - omega);
else
% 功率调节模式
P_max = 0.5*rho*pi*R^2*v_wind^3 * ...
Cp(lambda_opt, beta_ref);
torque_ref = 0.05 * (P_max - P_actual) / omega;
end
end
end
5. 预同步并网控制
5.1 锁相环设计
并网前必须实现电压同步,关键步骤包括:
- 电网电压频率检测
- 相位差计算
- 相位补偿
改进型锁相环实现:
matlab复制function [theta, freq] = enhanced_pll(v_alpha, v_beta, Ts, prev_state)
% 参数
kp = 0.5; % 比例系数
ki = 50; % 积分系数
w_nom = 314; % 额定频率(rad/s)
% 初始化
if isempty(prev_state)
prev_state.theta = 0;
prev_state.x_i = 0;
prev_state.freq = w_nom;
end
% Park变换
v_d = v_alpha * cos(prev_state.theta) + v_beta * sin(prev_state.theta);
v_q = -v_alpha * sin(prev_state.theta) + v_beta * cos(prev_state.theta);
% PI调节
x_i = prev_state.x_i + ki * v_q * Ts;
w = prev_state.freq + kp * v_q + x_i;
% 输出更新
theta = prev_state.theta + w * Ts;
freq = w;
% 角度归一化
theta = mod(theta, 2*pi);
% 抗积分饱和
if abs(x_i) > w_nom*0.2
x_i = sign(x_i) * w_nom*0.2;
end
end
5.2 同步并网流程
- 电压幅值调节:调节逆变器输出电压与电网匹配
- 频率同步:通过锁相环跟踪电网频率
- 相位同步:在电压过零点时闭合并网开关
- 功率调节:并网后逐步增加功率输出
6. 系统集成与仿真技巧
6.1 MATLAB/Simulink建模要点
-
模型分块设计:
- 将光伏、风机、储能、电网等模块分开
- 使用子系统封装提高可读性
-
参数初始化:
- 在Model Properties/Callbacks中预定义参数
- 使用结构体组织相关参数
-
仿真设置:
- 选择ode23t或ode15s求解器
- 最大步长设为开关周期的1/10
- 相对容差设为1e-4
6.2 常见问题排查
-
仿真不收敛:
- 检查是否存在代数环
- 尝试添加小电阻或小电感
- 调整求解器参数
-
波形振荡:
- 检查控制环参数是否合理
- 确认采样时间与开关频率匹配
- 检查传感器模型是否引入延迟
-
效率低下:
- 优化死区时间设置
- 检查开关器件损耗模型
- 评估磁性元件损耗
实际工程中,建议先进行分模块测试,确认各单元工作正常后再进行系统联调。仿真时应保存关键节点波形,便于问题定位。