MATLAB/Simulink风光储交直直流混合微电网 直流: 光伏MPPT控制 蓄电池双向DC/DC 直流侧低压700V 交流: 风机MPPT控制 交流负载 连接电网 互联变换器: VSG
最近在搞微电网仿真,发现风光储交直流混合系统是真有意思。尤其是用MATLAB/Simulink搭模型的时候,直流侧700V低压架构和交流侧并网怎么通过VSG互联变换器玩出花活,这里分享几个关键模块的实战心得。
直流侧核心三剑客
光伏阵列的MPPT控制必须上P&O(扰动观察法),但别傻乎乎直接用现成模块。自己搭的话,电压电流采样后加个判断逻辑就有意思了:
function duty_cycle = MPPT(v_pv, i_pv, prev_power) delta_V = 0.5; //扰动步长 current_power = v_pv * i_pv; if (current_power > prev_power) duty_cycle = duty_cycle + delta_V/v_pv; else duty_cycle = duty_cycle - delta_V/v_pv; end end这个实现的关键是扰动步长和电压的比值动态调整占空比,实测发现当光照突变时把delta_V设为变量效果比固定值更稳。
蓄电池的双向DC/DC最怕模式切换震荡。在Simulink里用Stateflow做状态机比纯用模块连线清爽得多。充电时boost模式电压环给电流环喂参考值,放电时buck模式反过来,重点在PI参数要做两套——用Switch块切换时记得加个滞后区间,不然负载突变时控制器能给你整出交响乐。
交流侧玩转虚拟惯量
风机的MPPT和光伏完全是两个路数,咱在PMSG永磁同步电机模型里套了个转矩观测器。重点在于风速曲线输入后要经过移动平均滤波,否则桨距角调节器能抖成帕金森。有个坑爹细节:Simulink的PWM生成模块默认载波频率10kHz,实际用的时候得降到5kHz以下,不然IGBT损耗模型会报玄学错误。
VSG(虚拟同步发电机)是整套系统的灵魂。这个控制算法要模拟同步机的转动惯量,核心是二阶微分方程:
//VSG有功-频率控制部分 J = 0.08; //虚拟惯量 D = 12; //阻尼系数 delta_omega = (P_set - P_measure - D*omega)/(J*s);在实现的时候要注意s域转离散域的方法——Tustin变换比前向差分更稳。实测当电网频率波动时,参数D设为J值的150倍左右动态响应最舒服。有个骚操作:把J值做成随系统惯性实时变化,这样面对冲击性负载时VSG能自动"变硬"。
系统联调玄学指南
直流母线稳压在700V全靠互联变换器的下垂控制。这里有个隐藏技巧:直流电压环的积分项要做输出限幅,否则蓄电池冲到满电状态时会引发雪崩效应。当光伏突然被云层遮挡时,记得在VSG的无功环里加个动态补偿项,不然交流母线电压能掉出10%的国标范围。
最后说个仿真加速诀窍:把变步长求解器改成ode23tb,比默认的ode15s快至少30%。但要注意,当系统出现高频振荡时得手动限制最大步长,否则波形可能漏掉关键细节。模型跑起来后别急着看波形,先在命令行敲power_analyze(bdroot)检查有没有感性元件直接并电容这种作死操作,能省下80%的debug时间。