光伏储能虚拟同步发电机VSG并网仿真模型C 光伏阵列搭建的光伏电池模型 光伏:采用扰动观察法最大功率点MPPT跟踪控制 储能:蓄电池充放电控制,双向Buck/Boost变换器,采用直流母线电压外环控制稳定直流母线电压,电池电流内环。 逆变器控制:采用虚拟同步发电机(VSG)控制,有功频率控制,无功电压控制,电压电流双环PI控制 可以看到光伏MPPT可以最大功率跟踪10KW,储能双闭环可以稳定直流母线电容电压700V,VSG控制的有功功率可以无静差跟踪给定值。 各方面波形都完美
今天咱们聊聊光伏储能虚拟同步发电机(VSG)并网仿真这个硬核话题。最近手头搭了个挺有意思的模型,光伏阵列、储能电池、VSG控制三件套配合得那叫一个丝滑,特别是看到MPPT追着太阳跑得欢快,储能稳如老狗,VSG并网波形比德芙还丝滑的时候,真想来杯冰阔落庆祝下。
先看光伏部分,核心就是那个扰动观察法的MPPT。这玩意儿说白了就是让光伏板当个"追光少年",代码写起来也够直男:
function [D] = PnO(Vpv, Ipv, D_prev, step) P_prev = Vpv_prev * Ipv_prev; % 记住上次的功率 P_now = Vpv * Ipv; % 当前功率 if P_now > P_prev D = D_prev + sign(Vpv - Vpv_prev) * step; % 往功率增加方向走 else D = D_prev - sign(Vpv - Vpv_prev) * step; % 反向试探 end end这算法就像蒙眼走路——每次迈一小步,感觉功率涨了就继续这个方向,跌了就调头。实测在标准光照下能稳稳锁住10kW输出,跟牛皮糖似的甩都甩不掉。
储能这边玩的是双闭环控制,重点在双向Buck/Boost变换器。外环稳700V直流母线,内环控电池电流,代码里最骚的是这个抗饱和PI:
typedef struct { float Kp; float Ki; float integral; float out_max; float out_min; } PI_Controller; float PI_Update(PI_Controller *pi, float error) { pi->integral += error * Ts; // 积分项累加 float out = pi->Kp * error + pi->Ki * pi->integral; // 抗饱和处理 if(out > pi->out_max) { out = pi->out_max; pi->integral -= error * Ts; // 回退积分 } else if(out < pi->out_min) { out = pi->out_min; pi->integral -= error * Ts; } return out; }这个积分分离设计让电池在充放电切换时稳得一批,实测母线电压波动不超过±5V,强迫症看了都说舒服。
重头戏VSG控制,精髓在模仿同步发电机的机械特性。看看这个微分方程的实现:
def vsg_control(P_set, Q_set, V_set, f0): J = 0.2 # 转动惯量 Dp = 5 # 阻尼系数 delta = integrate(omega - omega0) # 功角 # 有功-频率控制 Pm = P_set / (V * V) # 机械功率 Pe = (E * V * sin(delta)) / Xs # 电磁功率 d_omega = (Pm - Pe - Dp*(omega - omega0)) / (2*J*pi*f0) omega = integrate(d_omega) # 无功-电压控制 Eq = Kq*(Q_set - Q) + V_set # 电压调整 ...这个实现把VSG的惯性特征拿捏得死死的,并网时功率跟踪零静差,调频特性跟真发电机似的。实测切负荷时频率过渡过程平滑得就像抹了黄油,完全不像传统逆变器那种"啪"一下硬切换的愣头青。
整套系统跑下来,最惊艳的是各模块配合:光伏追着MPPT浪,储能默默当备胎稳住电压,VSG则装成传统发电机骗过电网。三者在直流母线上演三角恋却和谐得一匹——这大概就是现代电力电子的浪漫吧?下次准备试试加个风机组成风光储全家桶,应该更带劲。