风光储结合并网仿真模型 光伏:拓扑采用Boost电路、应用最大功率跟踪(MPPT)算法实现光伏...
风光储结合并网仿真模型 光伏:拓扑采用Boost电路、应用最大功率跟踪(MPPT)算法实现光伏板的最大功率输出 储能:拓扑采用双向buck/boost电路,控制采用双闭环控制,能够很好实现双向充放电功能 风机:采用最大功率跟踪,风机经过DC-DC-AC与光储并联为负载和电网提供能量 预同步:网侧采用预同步并网控制 2018b及其以上版本都可以
搞风光储并网仿真这事儿,得先拆明白各个模块怎么搭。光伏板这玩意儿天生电压低,直接上Boost电路最实在。重点在于那个MPPT算法,我习惯用扰动观察法,简单暴力。直接看代码:
function duty_cycle = mppt_po(v_pv, i_pv, prev_power, prev_duty) delta = 0.01; % 扰动步长 current_power = v_pv * i_pv; if current_power > prev_power duty_cycle = (v_pv > 0) ? prev_duty + delta : prev_duty; else duty_cycle = (v_pv > 0) ? prev_duty - delta : prev_duty; end end这代码就是个典型的扰动观察法实现,每次计算当前功率和上次功率对比,决定是增大还是减小占空比。注意加了电压正负判断,防止光照突变时抽风。实际仿真时得调delta值,太大了会在最大功率点附近震荡,太小了跟踪速度又跟不上。
储能部分的双向buck/boost才是真·技术活。双闭环控制里电压外环用PI调节器没啥说的,电流内环得注意极性切换。看这个并网时的控制逻辑:
function i_ref = energy_management(soc, v_dc) if soc < 0.2 && v_dc > 700 i_ref = -50; % 强制充电 elseif soc > 0.8 || v_dc < 600 i_ref = 30; % 放电模式 else i_ref = 0; // 待机状态 end end这管理策略简单粗暴但有效,SOC和直流母线电压双条件判断。注意负号表示充电方向,实际工程中得加滞回比较防止频繁切换。仿真时记得给电池模型加内阻,不然SOC变化曲线平滑得像假数据。
风光储结合并网仿真模型 光伏:拓扑采用Boost电路、应用最大功率跟踪(MPPT)算法实现光伏板的最大功率输出 储能:拓扑采用双向buck/boost电路,控制采用双闭环控制,能够很好实现双向充放电功能 风机:采用最大功率跟踪,风机经过DC-DC-AC与光储并联为负载和电网提供能量 预同步:网侧采用预同步并网控制 2018b及其以上版本都可以
风机部分最坑的是机械特性模拟,别看代码就几行:
Cp = @(lambda,beta) 0.22*(116/lambda -0.4*beta -5)*exp(-12.5/lambda);这个Cp公式是经典的风能利用系数计算,lambda是叶尖速比,beta是桨距角。仿真时得搭配个变步长求解器,不然风速突变时分分钟算崩。建议在PMSG电机模型里勾选"Enable flux leakage"选项,否则转矩计算误差能差出10%去。
预同步控制才是并网的大招,锁相环的代码看着简单:
[~, phase_error] = pll(grid_voltage, 50, 0.01); sync_signal = sin(2*pi*50*t + phase_error);但实际调参能让人怀疑人生。关键在PI参数设置,比例系数太大容易超调,积分时间太长跟踪不上频率漂移。建议先用扫频法测出电网阻抗特性,再上零交叉检测做二次校准。
模型搭完后别急着点运行,先把仿真步长改成变步长ode23t,不然开关频率10kHz以上的电路分分钟算到地老天荒。最后提醒一句:2018b版本开始有专门的Renewable Energy库,但自己搭模型更灵活。仿真结果记得对比实测数据,别整出个理论上的完美曲线——那玩意儿连导师都不信。
