1. 风光储微电网系统概述
风光储微电网是一种集成了光伏发电、风力发电和储能系统的独立供电网络,能够根据负载需求动态调整供电策略。这种系统特别适合偏远地区、岛屿或对供电可靠性要求高的场景。微电网的核心价值在于其能源多样性——晴天依靠光伏,刮风时启用风机,无风无光时则由电池组供电,三种能源互为补充。
在Simulink环境中构建微电网模型,我们可以精确模拟各种运行工况。比如当光伏阵列输出因云层遮挡突然下降时,系统如何快速启动风机或调用储能电池;或者当负载突然增加时,各电源如何协调响应。这种仿真能力对于实际系统设计至关重要,能避免昂贵的试错成本。
2. Simulink建模基础准备
2.1 必备工具箱安装
搭建微电网模型需要以下MATLAB工具箱:
- Simscape Electrical:提供电力电子元件库
- Simulink Control Design:用于设计控制系统
- Optimization Toolbox:参数优化工具
安装后,在Library Browser中可以看到新增的"Renewable Energy"分类,内含光伏阵列、风力涡轮机等现成模块。这些模块已经内置了物理建模方程,比如光伏板的单二极管等效电路模型,用户只需配置参数即可使用。
2.2 基础架构搭建
建议采用分层建模方法:
- 电源层:放置光伏阵列、风机模型
- 转换层:DC/DC变换器、逆变器
- 储能层:锂电池组及其管理系统
- 负载层:可编程负载模块
- 控制层:实现MPPT、能量调度等算法
右键点击模块选择"Mask > Edit Mask"可以创建自定义界面,将复杂的参数设置简化为几个关键输入项。例如为光伏模块创建封装界面,只需输入标称功率、开路电压和短路电流三个参数,内部自动计算其他派生参数。
3. 光伏子系统建模详解
3.1 光伏阵列参数设置
使用"PV Array"模块时,关键参数包括:
- Pmax = 250W (单板标称功率)
- Voc = 37.6V (开路电压)
- Isc = 8.6A (短路电流)
- Ns = 60 (串联电池数)
- 温度系数 = -0.34%/°C
通过右键菜单"Look Under Mask"可以看到内部实现的单二极管模型方程:
code复制I = Iph - Is*(exp((V+I*Rs)/(N*Vt))-1) - (V+I*Rs)/Rsh
其中Iph是光生电流,Is是二极管饱和电流,Rs和Rsh分别是串联和并联电阻。
3.2 MPPT算法实现
常用的扰动观察法(P&O)实现步骤:
- 初始扰动方向设为电压增加
- 测量当前功率P(k)
- 施加小扰动ΔV,测得新功率P(k+1)
- 如果ΔP/ΔV>0,保持原扰动方向;否则反转
- 返回步骤2
在Simulink中用MATLAB Function模块实现:
matlab复制function Vref = mppt_po(V,P)
persistent Vprev Pprev dir;
if isempty(Vprev)
Vprev = V;
Pprev = P;
dir = 0.5; % 初始扰动步长
Vref = V + dir;
return
end
deltaP = P - Pprev;
deltaV = V - Vprev;
if deltaP ~= 0
if deltaP/deltaV > 0
dir = abs(dir);
else
dir = -abs(dir);
end
end
Vref = V + dir;
Vprev = V;
Pprev = P;
end
4. 风力发电子系统建模
4.1 风机特性曲线建模
风力机的机械功率输出由以下方程决定:
code复制Pm = 0.5*ρ*A*Cp(λ,β)*v³
其中:
- ρ:空气密度(kg/m³)
- A:扫风面积(m²)
- Cp:风能利用系数
- λ:叶尖速比 = (ω*R)/v
- β:桨距角(deg)
在Simulink中,使用"Wind Turbine"模块并导入制造商提供的Cp-λ曲线数据。典型的Cp最大值约0.48,出现在λ=8附近。
4.2 双馈感应发电机控制
DFIG模型需要配置:
- 定子直接连接电网
- 转子通过背靠背变流器连接
- 采用矢量控制策略:
- 有功分量控制发电机转矩
- 无功分量调节端电压
关键PI控制器参数:
code复制转速环:Kp=3.2, Ki=0.8
电流环:Kp=0.5, Ki=50
5. 储能系统建模与配置
5.1 锂电池等效电路模型
使用"Battery"模块时选择"Dynamic"模型,包含:
- 理想电压源(OCV)
- 内阻(R0)
- 极化电阻(R1)与电容(C1)
参数设置示例:
code复制Capacity = 100Ah
SOC初始值 = 60%
R0 = 0.01Ω
R1 = 0.005Ω
C1 = 3000F
5.2 充放电管理策略
实现三段式充电控制:
- 恒流阶段:以0.5C电流充电至电压上限
- 恒压阶段:保持电压直至电流降至0.05C
- 浮充阶段:降低电压补偿自放电
在Stateflow中创建状态机:
matlab复制state Charging
en: Battery.V < Vmax -> ConstantCurrent;
en: Battery.V >= Vmax -> ConstantVoltage;
end
state ConstantVoltage
en: Battery.I < Imin -> Float;
end
state Float
// 维持浮充电压
end
6. 可变负载调教技巧
6.1 负载阶跃测试
使用"Variable Load"模块模拟负载突变:
- 设置基础负载为系统容量的30%
- 在t=5s时突增至80%
- 观察各电源的响应时序:
- 光伏/风机:响应延迟200-500ms
- 电池:50ms内快速补偿
- 调整PI参数改善动态响应
6.2 阻抗匹配优化
当负载阻抗与电源输出阻抗不匹配时,会导致:
- 效率下降(最高可达15%)
- 电压波动超标
- 保护电路误动作
优化方法:
- 在DC总线处添加LC滤波器
- L值选择:10-100μH
- C值选择:1000-4700μF
- 使用"Impedance Measurement"模块验证
- 调整直到阻抗比>10:1
7. 系统级联调实战
7.1 典型工作模式切换
- 光储模式:晴天时光伏主供,电池平抑波动
- 风储模式:夜间风力较强时切换
- 混合模式:风光互补供电
- 孤岛模式:电网故障时独立运行
模式切换逻辑通过Stateflow实现,关键判断条件:
matlab复制[PV_power > Load*0.7] -> 进入光储模式
[Wind_power > Load*1.2] && [SOC < 90%] -> 进入风储模式
[Grid_fault == true] -> 进入孤岛模式
7.2 仿真结果分析技巧
重点关注以下信号:
- DC总线电压波动(应<±5%)
- 各电源贡献比例
- SOC变化曲线
- 模式切换瞬态响应
使用Simulink Data Inspector进行对比分析:
matlab复制simout = sim('Microgrid.slx');
runIDs = Simulink.sdi.getAllRunIDs;
run1 = Simulink.sdi.getRun(runIDs(end));
signal1 = getSignalsByName(run1,'DC_Voltage');
signal2 = getSignalsByName(run1,'SOC');
plot(signal1.Values,signal2.Values);
8. 常见问题排查指南
8.1 仿真不收敛问题
现象:仿真卡在某个时间点报错
解决方法:
- 减小步长:Solver配置改为variable-step,最大步长设为1e-4
- 添加缓冲电路:在电力电子器件两端并联1μF电容
- 检查代数环:使用"Algebraic Loop"诊断工具
8.2 MPPT振荡问题
现象:光伏输出功率持续小幅波动
优化方案:
- 调整扰动步长:从2%Vref开始,随ΔP减小而降低
- 添加死区:当|ΔP/P|<1%时暂停扰动
- 改用电导增量法:对dI/dV和-I/V进行比较
在实际微电网调试中,建议先用仿真验证控制策略的有效性。我曾遇到一个案例:现场MPPT响应过慢,后来发现是仿真时未考虑实际传感器的20ms延迟,在模型中加入Transport Delay模块后成功复现问题。这提醒我们,仿真要尽可能还原真实系统的每个细节。
