
MATLAB/Simulink风光储与电解制氢系统仿真模型:光伏耦合PEM制氢及功率控制研
究
最近在玩一个挺有意思的风光储与电解制氢系统仿真,光伏板追着太阳跑,电解槽吭哧吭哧制氢气
,中间还夹着个储能电池当和事佬。这系统最妙的是母线电压始终稳在800V,就跟焊死了一样。今天咱们
拆开看看这模型是怎么组装的,顺手甩点代码片段出来溜溜。
先看光伏这头,MPPT算法用的是扰动观察法。这玩意儿跟猫捉老鼠似的,电压稍微抖一抖,看看功率
有没有涨,有就继续往那个方向蹭。代码里这个步长参数得调得刚刚好,太大容易窜过头,太小又慢得像蜗
牛:
```matlab
function [V_ref] = MPPT(P_now, V_now, step)
persistent P_prev V_prev;
if isempty(P_prev)
P_prev = P_now;
V_prev = V_now;
end
delta_V = (P_now > P_prev) * step * sign(V_now - V_prev);
V_ref = V_prev + delta_V;
P_prev = P_now;
V_prev = V_ref;
end
```
储能电池这边玩的是双闭环控制,外环控电压内环控电流,跟开手动挡车似的——先踩离合再挂挡。
电流环的PI参数要够猛才能跟上光伏的抽风式波动。注意看这个电压前馈补偿,就是它让母线电压在负载
突变时还能绷得住:
```simulink
% 电池控制子系统结构
Battery_Control/
├── Voltage_Loop (PI控制器, 输出电流指令)
└── Current_Loop (带前馈的PWM生成)
```
电解槽的控制更讲究,功率环在外头定大局,电流环在里头精细操作。这里有个骚操作:把电解槽等
效成可变电阻,功率指令直接换算成电流目标值。当光伏突然暴晒时,这算法能立马把多余功率导给电解
槽,避免电压过冲: