1. 风光储并网系统建模概述
风光储并网系统作为新能源发电的重要组成部分,其建模与仿真一直是电力电子领域的热点课题。这类系统通常由光伏发电、风力发电、储能装置和并网逆变器四大模块组成,通过合理的控制策略实现稳定运行和最大功率输出。
在实际工程应用中,我们常使用MATLAB/Simulink进行系统建模和仿真验证。从2018a到2021a版本,Simulink在电力系统仿真方面的功能不断增强,特别是Simscape Power Systems工具箱(原SimPowerSystems)提供了丰富的电力电子元件和控制系统模块,大大简化了建模过程。
2. 系统核心模块详解
2.1 光伏与风电的最大功率跟踪(MPPT)
2.1.1 扰动观察法原理与实现
扰动观察法(Perturb and Observe, P&O)是最常用的MPPT算法之一,其核心思想是通过周期性地扰动工作点并观察功率变化趋势,来确定下一步的调整方向。
算法具体步骤如下:
- 对系统施加一个小扰动(通常是改变DC-DC变换器的占空比)
- 测量扰动后的光伏阵列输出电压和电流
- 计算新的输出功率并与前一次功率比较
- 根据功率变化方向决定下一步扰动方向
在Simulink中实现时,我们通常使用MATLAB Function模块封装算法逻辑。以下是改进后的代码实现:
matlab复制function duty_cycle = PnO_MPPT(V_pv, I_pv, delta_V)
persistent P_prev V_prev duty_prev;
% 初始化
if isempty(P_prev)
P_prev = V_pv * I_pv;
V_prev = V_pv;
duty_prev = 0.5;
duty_cycle = duty_prev;
return;
end
P_now = V_pv * I_pv;
if abs(V_pv - V_prev) < 0.001 % 防止测量噪声导致的误判
duty_cycle = duty_prev;
return;
end
if (P_now > P_prev)
duty_cycle = (V_pv > V_prev) ? duty_prev - delta_V : duty_prev + delta_V;
else
duty_cycle = (V_pv > V_prev) ? duty_prev + delta_V : duty_prev - delta_V;
end
% 限制占空比在合理范围内
duty_cycle = min(max(duty_cycle, 0.05), 0.95);
% 更新历史值
P_prev = P_now;
V_prev = V_pv;
duty_prev = duty_cycle;
end
2.1.2 参数选择与调试技巧
扰动步长(delta_V)的选择至关重要:
- 步长过大:会导致系统在最大功率点附近持续振荡,降低稳态效率
- 步长过小:跟踪速度变慢,无法快速响应光照变化
经验值:
- 对于典型的光伏系统,步长取0.005-0.02
- 对于风电系统,由于风速变化较慢,步长可适当增大到0.01-0.03
调试建议:
- 先单独测试MPPT算法,确保其能正确跟踪变化的IV曲线
- 在实际系统中加入低通滤波器,消除测量噪声的影响
- 对于快速变化的光照条件,可考虑自适应步长策略
2.2 蓄电池的双闭环控制
2.2.1 控制架构设计
蓄电池作为系统的能量缓冲单元,需要实现双向能量流动。典型的双向DC-DC变换器采用Buck-Boost拓扑,其控制策略采用电压外环和电流内环的双闭环结构。
电压环:
- 维持直流母线电压稳定
- 响应较慢,带宽通常设置在10-100Hz
电流环:
- 快速跟踪电流指令
- 带宽通常在1-5kHz
控制框图如下:
code复制电压指令 → 电压控制器 → 电流指令 → 电流控制器 → PWM生成
↑ ↑
母线电压反馈 电感电流反馈
2.2.2 PI参数整定方法
- 先设计电流内环:
- 忽略电压环影响
- 根据变换器等效模型推导传递函数
- 使用零极点对消法或频域法设计PI参数
典型参数范围:
- Kp_i: 5-20
- Ki_i: 100-500
- 再设计电压外环:
- 将电流环视为理想跟踪环节
- 考虑直流母线电容和负载特性
- 带宽设为电流环的1/10左右
典型参数范围:
- Kp_v: 0.1-1
- Ki_v: 1-10
2.2.3 模式切换处理
充放电模式切换时的注意事项:
- 积分复位:切换瞬间清零PI控制器的积分项
- 限幅处理:设置合理的输出限幅,防止积分饱和
- 平滑过渡:可加入过渡算法,避免电流突变
Simulink实现技巧:
- 使用Enabled Subsystem区分充放电模式
- 利用Reset端口实现积分复位
- 加入Rate Transition模块处理不同采样率
2.3 并网逆变器的P/Q控制
2.3.1 控制策略概述
P/Q控制是通过调节逆变器输出的有功功率(P)和无功功率(Q)来实现并网控制。核心是通过坐标变换将三相交流量转换为旋转dq坐标系下的直流量。
控制流程:
- 通过锁相环(PLL)获取电网电压相位
- 将三相电流变换到dq坐标系
- 分别控制d轴和q轴电流
- 生成PWM信号驱动逆变器
2.3.2 解耦控制实现
在dq坐标系下,d轴和q轴电流存在耦合项,需要通过前馈补偿实现解耦控制。
电压方程:
code复制Vd = (R + sL)Id - ωLIq
Vq = (R + sL)Iq + ωLId
解耦控制算法:
matlab复制% 电流环解耦控制
Vd = (Kp + Ki/s)*(Id_ref - Id) - ω*L*Iq + Vd_grid;
Vq = (Kp + Ki/s)*(Iq_ref - Iq) + ω*L*Id + Vq_grid;
关键参数:
- L:实际电感值的1.1-1.3倍(考虑参数不确定性)
- ω:通过PLL获取的电网角频率
- Vd_grid/Vq_grid:电网电压前馈补偿
2.3.3 PLL设计与调试
锁相环是并网控制的关键,常用SRF-PLL结构:
调试要点:
- 带宽选择:通常为电网频率的1/10(5Hz左右)
- 相位裕度:建议45°以上
- 动态响应:能快速跟踪频率变化(<100ms)
常见问题及解决:
- 锁相抖动:降低PLL带宽或加入滤波
- 锁相失败:检查输入信号幅值是否足够
- 动态响应慢:适当提高比例增益
3. Simulink建模实践
3.1 模型架构设计
推荐的分层建模方法:
- 顶层:系统整体架构
- 中间层:各功能子系统(光伏、风电、储能、逆变器)
- 底层:基本控制算法和电力电子元件
建模技巧:
- 合理使用Subsystem和Model Reference提高可读性
- 对关键信号添加Scope和Display实时监控
- 使用Bus Creator组织相关信号
3.2 参数设置指南
关键仿真参数:
-
求解器选择:
- 刚性系统:ode23t或ode15s
- 最大步长:50μs(开关频率20kHz时)
-
开关器件:
- 使用理想开关加快仿真速度
- 需要研究开关损耗时使用详细模型
-
采样时间:
- 控制算法:50-100μs
- PWM生成:与开关频率一致
3.3 分步调试方法
推荐调试流程:
- 单独测试各电源模块
- 测试储能系统充放电
- 单独测试并网逆变器
- 逐步连接各子系统
- 全系统联调
调试工具:
- Powergui:用于电力系统分析
- Impedance Measurement:分析系统稳定性
- FFT Analysis:检查谐波含量
4. 常见问题与解决方案
4.1 仿真收敛性问题
问题现象:
- 仿真速度极慢
- 报错"代数环"或"收敛失败"
解决方案:
- 检查是否有纯代数环(如直接连接电压源和电流源)
- 在适当位置加入小电阻或小电感
- 尝试不同的求解器
- 减小仿真步长
4.2 系统振荡问题
问题现象:
- 电压/电流持续振荡
- 功率波动大
排查步骤:
- 检查各控制环带宽是否合理(内环>外环)
- 验证PI参数是否合适
- 检查解耦补偿是否准确
- 分析系统阻抗特性
4.3 并网失败问题
常见原因:
- PLL未正确锁相
- 电流环响应太慢
- 直流母线电压不稳定
- 电网电压异常
调试方法:
- 先开环运行,检查PLL输出
- 逐步增加功率指令,观察动态响应
- 检查电流跟踪性能
- 验证保护逻辑
5. 实际工程经验分享
5.1 参数敏感性分析
重要发现:
-
电感参数误差对解耦效果影响显著
- 误差>20%可能导致系统不稳定
- 建议保留10-20%设计裕度
-
PI参数存在最优区间
- 过大:系统振荡
- 过小:响应迟缓
- 建议使用PID Tuner工具辅助整定
5.2 硬件在环测试建议
HIL测试准备:
- 模型简化:保留控制算法,简化电力电子部分
- 采样同步:确保仿真步长与硬件时钟同步
- 信号调理:匹配接口电平(如±10V到0-3.3V)
测试技巧:
- 先进行开环测试验证信号通路
- 逐步增加控制复杂度
- 记录关键波形用于分析
5.3 不同版本Simulink的兼容性
版本差异处理:
-
2018a到2021a主要变化:
- Simscape Electrical替代了SimPowerSystems
- 新增了更多电力电子元件
- 增强了实时仿真能力
-
模型迁移建议:
- 使用Export to Previous Version功能
- 检查被替换的模块
- 验证关键仿真结果
在长期使用中发现,虽然新版本功能更强大,但对于基础的风光储系统仿真,2018a版本已经足够,且对硬件要求更低。建议根据实际需求选择合适的版本,不必盲目升级。