光储一体化系统Simulink仿真:VSG构网型控制与直流母线稳压策略
1. 项目定位与整体架构思路先交代一下这个模型解决的实际问题。光伏和储能单独做大家都会光伏那边是MPPT加Boost储能那边是双向Buck-Boost加并网逆变器两边独立建模仿真各跑各的看不到多少交互。但真正在现场跑起来光伏出力一波动储能来不及补偿直流母线电压就会抖严重的直接触发保护跳机。所以光储一体化的价值用一句话说就是把光伏、电池和逆变器看成一台设备来设计让光伏出力多余的电充进电池光伏出力不足时电池顶上来同时对外呈现一个稳定的电压源特性。这个模型的核心配置是典型的两级式结构光伏经单向DC-DC变换器、储能经双向DC-DC变换器两者共同挂到一条直流母线上最后通过一台三相DC-AC逆变器并入交流电网。逆变器采用虚拟同步机VSG控制说白了就是让逆变器玩出同步发电机的脾气——有转子惯量有阻尼输出阻抗呈感性能自主提供频率和电压支撑。这正好对应目前行业里常说的构网型grid-forming控制思路跟传统的跟网型grid-followingPQ控制完全是两条路线。适合谁来学我觉得两类人最受用。第一类是刚入门微电网仿真、想搞明白光伏储能逆变器这条完整链条怎么建模的研究生这个模型能帮你把主电路和控制链路一次串起来第二类是做光储电站方案设计或产品验证的工程师可以直接把调节参数改到自己的工况上省掉从零搭模型的时间。模型整体框图我不想画得花里胡哨按功能分四块来看就够清楚光伏子系统光伏阵列 单向Boost变换器 电压/电流双环MPPT控制储能子系统电池模型 双向Buck-Boost变换器 恒压或恒功率控制直流母线母线电容、负载接口、限压保护逻辑逆变并网子系统三相全桥逆变器 VSG控制 并网开关逻辑有一点必须先讲清楚VSG控制测的是并网点的电压和电流但它调节的对象本质上是逆变器开关管的调制波角度和幅值。所以模型的内部逻辑是——VSG算法根据输出功率偏差算出虚拟转子角速度再积分得到虚拟相位然后把这个相位送到调制环节去生成PWM波。这套逻辑理解到位了后面调参数时就不会被波形绕晕。2. 光伏侧与储能侧的变换器拓扑及控制配套2.1 光伏侧单向DC-DC的选型理由光伏组件的输出特性大家都知道一条I-V曲线拐点处对应最大功率点温度和辐照一变化拐点就跑。经典做法就是Boost电路加MPPT。用一个MOSFET开关管控制电感电流的断续和连续状态实现升压。Boost拓扑在当前任务里几乎是必然选择原因有两条光伏阵列输出电压范围一般在200V到600V之间按行业惯例母线电压取750V甚至更高必须先升压Boost的电感电流连续模式CCM下纹波小对MPPT扰动信号的干扰低。仿真模型里光伏面板建议用厂家参数表做整块建模而不是用理想电流源。用理想源虽然跑得快但MPPT的动态过程测不出来后续一旦加入辐照突变光伏输出电流跟不上真实响应储能调节量也会失真。我在模型里用的是一块250W峰值功率的光伏板20块串成一条支路形成5kW的阵列规模用来验证控制策略完全足够。MPPT方面我选扰动观察法PO。原因很朴素它实现最简单仿真模型里稳定性和收敛速度都不错。电导增量法精度稍高但在Simulink里需要额外算电压变化率的门限判断参数没调好反而容易在最大功率点附近抖。PO的采样周期在0.001到0.005秒之间步长取基准电压的0.5%到1%实测下来跟踪速度与稳态纹波都比较理想。2.2 储能侧双向DC-DC的工作模态储能侧的电路拓扑是个双向Buck-Boost本质上两个开关管Q1和Q2串联配合电感完成升压放电和降压充电两种模态。放电时Q1斩波控制、Q2始终关断等效为Boost充电时Q2斩波、Q1关断等效为Buck。这个拓扑的优势是功率管少、效率高且能量双向流动的切换只靠改变占空比方向不需要附加机械触点或外部换流电路。仿真模型里电池用等效戴维南电路模型一个电压源加内阻就行想要更精细的SOC估计可以叠加一个RC网络模拟扩散极化但对控制策略验证来说内阻模型已经完全够用。储能侧的底层控制我采用的是标准的电压外环加电流内环策略母线电压外环采集直流母线电压跟750V参考值比较误差进PI调节器输出电流参考值。母线电压高于750V时电流指令为负表示电池在充电吸收功率低于750V时电流指令为正电池放电补功率。电感电流内环电流参考值跟实际电感电流比较误差进PI调节器后生成占空比。内环带宽要远高于外环一般取电流环带宽2kHz左右电压环带宽100300Hz。这套里藏着很多初学者容易翻车的地方。第一PI调节器里面有积分饱和问题。母线电压偏差大时电流指令超限积分项会一直积累等到母线电压回到参考值附近电流还在那傻顶仿真波形会出现一个长长的超调尾巴。解决办法是给PI调节器输出加限幅同时做积分抗饱和处理——Simulink里直接用单环节那段带限幅的PI子系统比手工搭积分模块加限幅要省事得多。第二电池电流方向性判断必须通过SOC来限制不要只靠电压差。电池SOC低于20%时即使直流母线电压偏低也必须把放电电流限住否则仿真里电池模型会因为过放直接报错。2.3 直流母线电容取值逻辑直流母线电容不是拍脑袋取的它承担着稳定母线电压、缓冲光伏和逆变器两端功率瞬时差值的任务。电容取小了电压纹波大储能电流环被迫频繁动作电容取大了动态响应慢光伏功率突变时母线电压半天回不去VSG的功率外环也会跟着振荡。母线电容的理论估算按能量守恒做一次假设允许母线电压波动范围为ΔU功率突变量为ΔP持续时间Δt则有C约等于2乘以P乘以Δt再除以(Umax平方减Umin平方)。算一遍5kW功率突变母线电压允许波动2%按这一句话的经验值容量取3到5mF基本合适。换个思路更直接并网逆变器前面母线电容行业里常用的比例是每千瓦对应600到1000微法5kW装置取3至5毫法跟计算结果能对上。电容的等效串联电阻ESR建模时可以忽略但硬件调试时要注意测温升。3. 逆变器与VSG控制的原理拆解3.1 为什么要引入虚拟同步机算法传统逆变器跟网型控制核心是PLL锁电网相位然后按功率指令输出电流。这在电网强度较高时工作得很好但换成弱电网——比如短路比低、线路阻抗大的场景——PLL的动态特性就可能被电网扰动带着跑容易失稳。VSG思路正好反过来逆变器自己产生一个相位和幅值都受控的三相电压电网向量只是通过功率计算间接影响这个虚拟电压源。于是逆变器在电网看来就像一台有惯性的电压源这正好是构网型控制的基本形态。虚拟同步机的数学基础其实就两条方程第一条是机械运动方程用来模拟转子惯量[ J\frac{d\omega}{dt} \frac{P_{ref}}{\omega_n} - \frac{P_e}{\omega_n} - D_p(\omega - \omega_n) ]第二条是无功电压调节方程[ Q_{ref} - Q_e K_q (U_{ref} - U_m) ]看着挺唬人拆开讲并不复杂。J是虚拟转动惯量约等于决定这台虚拟发电机的惯性有多大Dp是功频阻尼系数代表频率偏差对应的有功响应力度Pe是逆变器实际输出的有功功率。有功功率高于指令时电磁转矩大于机械转矩虚拟转子减速频率下降输出功率回落形成闭环调节。整个回路就是同步发电机的调速器行为只是把物理转子换成了软件里的积分器。3.2 VSG控制环路层级划分我在模型里把VSG算法拆成三层每一层只管一件事联调时非常方便。第一层是功率计算层。采集逆变器输出三相电压和电流按瞬时功率公式算出有功和无功再用低通滤波器滤掉开关纹波和电网谐波分量。滤波器截止频率一般选50Hz以下比如25Hz避免滤波太狠把功率动态压得太钝。第二层是虚拟机械层。有功参考值Pref加频率下垂项跟实际有功Pe做差送到由J和Dp构成的二阶运动方程输出虚拟角速度ω。接着积分得到虚拟相位θ。无功参考值Qref与实际无功Qe做差经过无功-电压下垂得到输出幅值指令Um。这一层是VSG的灵魂所在调试时的三个核心参数都在这里转动惯量J、阻尼系数Dp、无功下垂系数Kq。第三层是电压电流双闭环层。由虚拟相位θ和电压幅值Um合成三相参考电压进逆变器的电压外环和电流内环最后生成PWM。这里用LC型滤波器L一般在0.1至1毫亨C在10至50微法。电压环带宽取150Hz左右电流环带宽取1至2kHz。因为VSG的输出阻抗主要是LC滤波器决定的L的阻抗跟电网之间呈感性功率解耦条件成立这个前提不满足的话有功无功会互相搅和。3.3 VSG核心参数计算参数是整个VSG调试里最让人头疼的部分直接给一组我调过、能出好波形的基准值并附计算思路。转动惯量J物理上有条经验规律J太小则频率响应太快跟网型没区别J太大则频率恢复慢功率阶跃后要荡好几个周波。模型里5kW容量参考频率50HzJ取0.5kg·m平方比较合适。换算成时间常数概念来理解当有功功率阶跃1000W虚拟角速度偏移大约2rad/s相当于频率偏移0.3Hz在可接受范围内。阻尼系数Dp按同步发电机的功频特性来设计频率允许偏差1%有功功率对应100%变化则Dp等于Pref除以2π乘以0.5代入5kW、50Hz算出来约等于31.8。Dp调大时振荡衰减快但频率稳态误差也变大实际在20到50之间都能工作先用40起步再微调。无功下垂系数Kq无功功率从零到额定值变化时电压幅值偏差控制在2%以内。额定无功按2kvar算额定相电压幅值311VKq 2%乘以311除以2000约等于0.003。如果现场对电压质量要求高可以再调小但过小会导致无功环响应太慢。这三组参数不是独立存在的J和Dp共同决定功率环的自然振荡频率和阻尼比。二阶系统特征方程写出来振荡频率大约为sqrtPref除以J乘ωn阻尼比为0.5乘以Dp除以sqrtJ乘Pref除以ωn。按上面的数代进去振荡频率在3.2Hz左右阻尼比接近1临界阻尼状态动态响应属于利落型。4. 仿真模型分模块搭建实录4.1 Simulink模型顶层结构打开Simulink我习惯按子系统把模型分五块每一块用不同颜色标注导线命名规范到能一眼看出物理量。PV子系统黄色光伏阵列加Boost电路加MPPT控制器Battery子系统橙色电池模型加双向变换器加双环控制器DC Bus灰色母线电容、直流负载和限压逻辑VSG Inverter子系统蓝色三相全桥、LC滤波器、VSG算法、PWM生成Grid子系统绿色三相电压源、线路阻抗、并网开关仿真步长方面PWM载波频率取10kHz电路部分用ode23tb变步长求解器最大步长限制在5微秒。这里要提醒一个新手容易踩的坑如果把变步长上限设得太松求解器为了赶速度会跳过PWM开关动作的细节导致电流波形失真功率计算跟着出错。固定步长也行步长直接取PWM周期的十分之一1微秒模型跑起来非常慢但波形特别漂亮适合最终出图用。4.2 光伏与储能子系统的搭建细节光伏阵列的搭建传统思路是查表建模用厂家提供的I-V曲线数据生成二维表再用二维查表模块根据当前辐照和温度查电流。这种方法精度高、速度快推荐直接使用。如果只有等效电路参数也可以搭单二极管五参数模型但牛顿迭代解电流方程在Simulink里需要写成MATLAB Function代码不到二十行但仿真速度会明显下降。可视化对比下来查表法更适合整套系统联调。Boost电路直接照拓扑搭功率管用MOSFET模块二极管选续流二极管模型电感紧挨着光伏输出端接。MPPT控制引脚输出的占空比命令需要通过一个限幅模块约束在0.1到0.9之间。光伏母线侧并联一个电容作为输入稳压用推荐取几百微法级别。储能子系统的电池模型Simulink自带的Battery模块足够参数设置成锂离子、额定电压360V、额定容量100Ah。控制回路接成上面说的电压外环加电流内环。电压环PI参数最初给Kp2、Ki100的起始值电流环PI给Kp0.5、Ki20。需要留意的是两个环必须都由外部使能信号控制防止模型初始阶段状态未稳定时控制器提前乱动作。4.3 VSG逆变器子系统的搭建细节逆变器主电路用Universal Bridge模块选三相两电平桥功率管为IGBT加反并联二极管。LC滤波器参数按3kW容量级别设计L0.5mHC30μF滤波效果足够电流环带宽和开关频率的比值也合适。VSG算法部分在Simulink里用连续模块搭建运算瞬时功率计算模块三相电压电流过乘积加和得到有功和无功低通滤波器一阶低通截止频率25Hz二阶运动方程两个积分器串联反馈回路形成J-Dp结构无功电压调节增益Kq加一阶惯性环节输出幅值指令电压合成幅值与相角合成三相正弦参考波电压电流双环控制用dq坐标系实现Park变换的相角直接取自虚拟相位θ。电压外环PI给Kp0.6、Ki100电流内环PI给Kp10、Ki200。仿真跑起来如果发现电流响应慢优先检查电流环比例增益而不是去动VSG的J参数——这是很多新手调混的地方分层不到位整个环路牵一发动全身。5. 参数整定与关键工况仿真结果5.1 参数整定的先后顺序这个模型有几十个可调参数但如果调参顺序不对很容易陷入调了A好一点、B又坏了的死循环。我的经验是分五步走第一步先把PWM和求解器跑通主电路空载无控制时波形正常。第二步调储能双向变换器让直流母线电压稳态在750V动态偏差不超过±10V。第三步调VSG空载运行逆变器输出端不并电网带一个小阻性负载看输出电压幅值稳定在311V左右。第四步并电网让VSG与电网之间有功交换为零。第五步才是同时叠加光伏功率突变、负载投切、VSG参数联合微调。每一步都有明确的过检标准不通过就停在那一步排查绝不带病往下走。5.2 辐照突变工况仿真验证来说一个最有代表性的工况初始辐照1000W/m²光伏输出5kW第2秒时辐照突降为400W/m²光伏输出降到2kW左右第2.5秒恢复。这期间直流母线电压的响应就是光储配合好不好的一张试卷。在参数设置正确的情况下仿真结果应该是辐照突降瞬间光伏电流骤减直流母线电压立刻出现往下掉的趋势储能双向变换器检测到母线电压下降迅速切到放电模式电池电流从-5A左右反转到15A左右维持母线电压稳定电压波动被限制在740到760V之间。VSG的有功输出从2.5kW平稳过渡到2.2kW再回升频率波动不超过0.2Hz。如果此时发现母线电压抖动过大要先检查储能电流环带宽是否足够再检查母线电容值是否偏小最后才考虑VSG功率外环有没有跟储能电压环发生耦合振荡。耦合振荡的具体表现是母线电压和VSG有功功率同频率振荡振幅缓慢变大这种情况大概率是储能电压环带宽跟VSG功率环带宽靠得太近一般把储能电压环带宽压到100Hz以下能解掉。5.3 并网/孤岛切换工况仿真验证构网型最大的价值在孤岛运行。第3秒时并网断路器断开系统进入孤岛运行此时电网电压突然消失逆变器不能再以电网频率为锚点。VSG由于自身有虚拟惯量输出频率不会瞬间掉下去而是平滑过渡到由本地负荷决定的新的平衡频率上。如果负荷跟出力刚好匹配频率就在50Hz附近稳住如果负荷小于出力频率抬升大于出力频率下降。储能侧的母线电压环会跟进调节功率差值本质是一个功率平衡的自适应过程。孤岛切换的相角保护是在断路器断开前VSG的相位跟锁相环测到的电网相位保持同步断开瞬间虚拟相角不发生跳变。这个功能在Simulink里的实现方式是并网模式时让VSG相角追踪电网锁相环相位锁定之后即可平滑切到VSG自持状态。6. 常见问题排查表与避坑经验我把调试过程中遇到最多的七类问题整理成一张速查表方便你在仿真卡壳时直接对照排查。故障现象可能原因排查方法解决措施启动瞬间直流母线电压过冲超过800V储能电压环PI过激或启动前电池未预充观察启动阶段电压环输出电流指令减小Kp增加启动斜坡参考值光伏输入电压波动剧烈Boost电感参数不合适或MPPT步长过大看电感电流是否存在断续增大电感或减小步长逆变器输出电流畸变严重LC谐振或PWM死区时间设置不合理频谱分析输出电流谐波增大L或增加阻尼电阻VSG频率振荡不收敛J或Dp参数不匹配看有功功率阶跃响应按二阶系统公式重新计算阻尼比孤岛模式下频率持续爬升本地负荷小于光伏出力看电池是否已充满限制放电增加可控直流负载或降低光伏出力并网时冲击电流过大并网时刻VSG相位与电网相位不同步看并网瞬间电流包络增加软并网逻辑相位锁定后再合闸仿真运行速度极慢固定步长过小或PWM载波过高检查求解器统计的步数改用变步长且最大步长不超过开关周期的十分之一另外再分享三条独家心得属于踩过坑之后才明白的那种。第一模型里所有的PI调节器尽量做成子系统或封装模块并且把Kp、Ki参数暴露成对话框参数、用变量名命名。这样后面调参时只需要改MATLAB工作区变量靠脚本批量跑参数扫描效率翻几倍。第二VSG的虚拟角速度信号不要直接用来生成三相相位中间一定加一个低通滤波器。因为功率计算含开关纹波角度带毛刺会导致电压参考波形不干净电流环再好也白搭。滤波时间常数取0.01到0.05秒。第三光伏侧与储能侧在直流母线处的功率平衡要想清楚再写逻辑。母线电压环本质上是一种能量管理策略光伏优先输出储能填差额逆变器负责把总功率送出去。三者之间不需要额外通信只要直流母线电压稳定整体功率自然平衡这就是直流母线电压作为系统能量平衡中心的优势所在。这套模型后续扩展的方向也很明确把单台VSG改成多台并联检验虚拟惯量和阻尼参数在并联系统中的均流特性或者把储能电池模型换成更精细的温升和老化模型研究循环寿命对控制策略的影响再往上走就是跟能量管理系统EMS结合让上层调度直接下发功率指令验证一次调频和二次调频的协同逻辑。光储构网这块的技术迭代非常快先把手头这套仿真玩透后面接任何新需求都会顺手很多。