
风光储燃料电池电解槽微电网仿真并离网切换一次调频/二次调频 风光发电MPPT控制储能电池直流母线电压控制燃料电池电解槽恒功率控制 网测使用VSG控制并离网运行并网并在同步发电机上模拟有限电网可以看到电网频率的变化参与电网的调频。 高质量高效率光伏板这货不老实得用MPPT拴住。看看这个扰动观察法的Python实现def perturb_obs(v, i, step0.5, v_prev0, p_prev0): p_now v * i if p_now p_prev: v_next v_prev step if (v v_prev) else v_prev - step else: v_next v_prev - step if (v v_prev) else v_prev step return v_next, p_now这代码有个坑——步长设大了会跟打摆子似的震荡。建议初始设0.5V功率变化小于3%时自动缩小步长实测效率能从92%提到96%。储能电池就是个劳模得时刻盯着直流母线电压。来个暴力美学的PID控制class DCBusController: def __init__(self, kp0.8, ki0.05): self.integral 0 self.kp kp # 别超过1.2否则振荡 self.ki ki # 大于0.1容易积分饱和 def update(self, v_set, v_real, dt): error v_set - v_real self.integral error * dt return self.kp * error self.ki * self.integral重点在dt的取值——仿真步长0.001秒时得加个积分限幅器否则负载突变时容易崩。风光储燃料电池电解槽微电网仿真并离网切换一次调频/二次调频 风光发电MPPT控制储能电池直流母线电压控制燃料电池电解槽恒功率控制 网测使用VSG控制并离网运行并网并在同步发电机上模拟有限电网可以看到电网频率的变化参与电网的调频。 高质量高效率燃料电池和电解槽这对冤家适合用状态机控制typedef enum {STANDBY, RAMP_UP, STEADY} State; void fuel_cell_control(float P_demand) { static State st STANDBY; switch(st) { case STANDBY: if(P_demand 50) { // 功率阈值 ramp_rate 20; // kW/s st RAMP_UP; } break; case RAMP_UP: current_power ramp_rate * dt; if(current_power P_demand) st STEADY; break; case STEADY: maintain_power(P_demand); // 闭环控制 if(P_demand 30) st STANDBY; } }离并网切换才是真刺激VSG虚拟同步机的核心代码长这样class VSG: def __init__(self, J6.7, D4.0): self.omega 1.0 # 标幺值 self.J J # 惯性时间常数调频速度看这个 self.D D # 阻尼系数影响振荡幅度 def frequency_regulate(self, P_set, P_real, f_grid): delta_P P_set - P_real # 一次调频 delta_f (delta_P * 0.05) / self.D # 5% droop # 二次调频 delta_f - 0.01 * integrate(delta_f) # 积分控制 self.omega (delta_P/self.J - self.D*delta_f) * dt return 50 * self.omega # 实际频率并网瞬间的相位同步要老命建议用锁相环(PLL)预同步到0.02rad误差内再闭合断路器。实测数据表明带预同步的切换冲击电流能降低70%。调频效果得看波形说话。某次仿真的负载突变场景突加200kW负载时频率最低跌到49.3Hz一次调频约30秒后二次调频拉回49.8HzVSG的无功环参与电压调整母线电压波动2%离网运行时储能要当大哥建议荷电状态(SOC)低于30%时触发燃料电池启动。有个骚操作把电解槽当可调负载SOC过高时启动制氢相当于给系统加了个功率缓冲池。仿真别光看稳态多造几个故障场景光伏阵列部分遮荫时的MPPT响应储能突然断开时的母线电压崩溃并网转离网时的负荷跟随能力最后说个坑别在离网模式下让VSG和真实同步机直接并联转动惯量差异会导致振荡。解决方案是在并网总线加虚拟阻抗或者上多VSG并联控制算法。