不绕弯子,先说清楚今天要聊什么。光伏储能加VSG控制,这个组合在微电网圈子里确实是顶流话题。VSG全称Virtual Synchronous Generator,虚拟同步发电机,说白了就是把电力电子变换器“伪装”成一台同步发电机,让微电网在逆变器渗透率越来越高的情况下,还能保住频率和电压的“性格”。这次我用Simulink搭了一套光伏储能VSG系统的仿真模型,重点解决两个事:一是功率无缝跟踪,也就是负载突变或功率指令跳变时,有功无功能不能平滑过渡、不切机;二是直流母线稳压,也就是光伏波动、储能充放电切换时,母线电压能不能稳定住。这篇文章就把这套模型的拓扑、控制链路、参数计算和调参踩坑过程完整拆出来,给正在做微电网仿真或者储能逆变器控制的朋友一个能直接参考的样板。
1. 为什么微电网非要上VSG:不是赶时髦,是缺“惯性”
1.1 传统逆变器控制的短板在哪
微电网里逆变器是绝对主力,光伏、储能、风电变流器基本都是电力电子接口。电力电子器件的响应速度极快,毫秒级就能完成功率调节,这是优点,但也是问题根源。传统PQ控制(恒功率控制)只认电流指令,电网频率跌了、电压晃了,它不闻不问;下垂控制稍微好一点,能按有功频率P-f和无功电压Q-U曲线参与调节,但本质上是个比例控制器,没有惯量支撑。什么叫没有惯量?就是系统里突然缺了一台发电机,频率变化率会非常猛,可能在几百毫秒内就触发低频减载甚至孤岛保护。
拿同步发电机做对比就好理解了。同步机有实实在在的转子,转子有转动惯量,电网频率变化时转子会短时间“扛”住这个变化,靠吸收或释放动能来平滑频率曲线。而逆变器背后是电容电感,几乎没有动能储存,如果只做快速跟踪,等于系统里人人都是“急脾气”,一出事大家同时抢功率,频率和电压就剧烈振荡。
1.2 VSG的控制思想:给逆变器“装”一个虚拟转子
VSG的思路非常直接:在逆变器的控制算法里加入一个虚拟转子模型,用同步发电机的转子运动方程来计算逆变器输出的相位和幅值。核心数学模型就是经典的二阶摇摆方程:
J * dω/dt = Pm - Pe - D * (ω - ω0)
其中J是虚拟转动惯量,单位kg·m²;ω是虚拟角速度;Pm是机械功率指令(对应有功指令);Pe是电磁功率(对应实际输出有功);D是阻尼系数;ω0是额定角速度。
这个方程在控制系统里扮演的角色,就相当于一个二级滤波器。当外部负载突然增加,Pe瞬间增大,右边变为负值,ω会以受限的变化率下降,而不是瞬间跌到底。J越大,频率变化越平缓,但恢复时间变长;D越大,稳态频率偏差越小,但动态阻尼变强,超调变大。这跟给汽车装了大飞轮一个道理,飞轮转起来之后,冲击载荷传到发动机曲轴上就柔和多了。
1.3 VSG、功率跟踪和直流稳压三者的关系
标题里说的“功率无缝跟踪”和“直流稳压”,其实正好对应VSG控制的两个侧面。交流侧,VSG算法负责输出稳定的电压幅值和相位,让逆变器在不同工况下都能平滑输出功率,不产生冲击和振荡;直流侧,逆变器交流输出功率的变化会直接反映在直流母线上,光伏、储能和逆变器三者之间必须维持功率平衡,母线电压才能稳住。所以这套系统本质上是双向“牵手”:VSG管交流侧的质量,储能变换器管直流侧的稳定,两者通过母线电容耦合。
2. 系统总体架构:Simulink建模前的顶层规划
2.1 拓扑选型:两级式结构是微电网里的主流
搭建模型之前,第一步是定拓扑。光伏并网逆变器有单级式和两级式两种思路。单级式就是光伏阵列直接接逆变器,结构简单、损耗低,但MPPT工作点与母线电压耦合,要兼顾逆变器直流侧电压范围,控制不灵活。两级式在光伏和逆变器之间加一级Boost变换器,母线电压独立控制,储能也通过双向变换器接在母线上,整体控制解耦程度高,更适合做VSG这种复杂控制策略的载体。
我这次选的就是两级式加储能的结构,具体是:光伏阵列接Boost升压电路,储能电池接双向Buck-Boost电路,两者共同汇入直流母线电容,再经过三相VSG逆变器接LCL滤波器并入电网。这种拓扑的好处在于,光伏和储能各管各的,光伏负责MPPT和限功率,储能负责母线稳压,逆变器负责并网功率控制,三个环节互不干扰,调试时可以分层逐个验证。
2.2 Simulink模型的分层设计:不怕模型大,就怕一团麻
仿真模型最忌讳一个窗口里堆满模块。我建模时严格按功能分层封装,主层只保留三大块:
- 主电路层:光伏阵列、Boost、双向Buck-Boost、三相桥、LCL滤波器、电网模型
- 控制层:MPPT控制、储能直流稳压控制、VSG算法、电压电流双闭环、PWM发生器
- 观测层:功率计算、THD分析、母线电压监测、示波器与数据导出模块
每一层都用Subsystem封装,输入输出端口定义清楚,控制信号用Goto/From标签传递关键量,避免连线杂乱。母线电压、三相电流、有功无功这些关键量在观测层汇总到Scope里统一查看。这样做的好处是调VSG参数时,只要动控制层里的常数模块,不用去碰主电路,效率高很多。
2.3 关键参数设定:仿真跑得稳不稳,70%靠参数
模型能否收敛、波形是否真实,参数设置是第一关。以下是这套模型的核心参数,按实际经验整理的参考值:
- 直流母线额定电压:750V
- 电网线电压有效值:380V,频率50Hz
- 逆变器额定容量:50kW
- 光伏阵列:最大功率50kW,MPPT电压范围450~700V
- 储能电池:额定电压480V,容量100Ah
- LCL滤波器:逆变器侧电感0.5mH,网侧电感0.15mH,滤波电容30uF
- 直流母线电容:5000uF
- PWM开关频率:10kHz
- 仿真求解器:离散变步长,采样时间1e-5s
有一点特别提醒:Powergui模块一定要设置成离散仿真模式,这样和PWM发生器、控制环路的时间步长才能对齐。连续模式在电力电子仿真里容易出现收敛困难,尤其是在带IGBT开关管的情况下。
3. 功率无缝跟踪核心链路:VSG控制环的完整拆解
3.1 VSG算法层:功率到相位的“翻译官”
VSG算法是整个模型的大脑。它接收外部给的有功指令Pref和无功指令Qref,再结合本地测量到的实际输出功率P和Q,通过转子运动方程和励磁方程得到三相电压的相位θ和幅值E。
详细拆分,VSG算法内部包含四个环节:
有功频率控制环:把Pref与P做差,经过比例积分环节后生成虚拟机械转矩Tm,代入摇摆方程求得角速度ω,再积分得到电角度θ。
无功电压控制环:把Qref与Q做差,经过积分环节得到虚拟励磁电动势E。这个环路的PI参数决定了无功调节的响应速度,一般比例系数取0.5~2,积分系数取20~50。
虚拟阻抗环节:在E上减去虚拟阻抗的压降,模拟同步发电机的同步电抗。虚拟阻抗太小,环流抑制差;太大,电压降落明显,需要合理折中。
限幅环节:对θ和E做限幅,防止启动瞬间过流。E的限幅范围一般在0.9~1.1倍的额定电压。
Simulink里实现这个算法,不需要太花哨的模块。用Fcn或MATLAB Function模块写那几步数学计算,然后离散积分器Integrator来接,配置好初始角度和初始角速度,就完成了核心算法。
3.2 从VSG输出到PWM:电压电流双闭环怎么协作
VSG算法给出了电压幅值和相位,但直接用这个电压做开环PWM,负载扰动时输出电压会跌落,动态根本不行。实际工程中,VSG通常是作为外环,后面还要级联电压外环和电流内环。这个结构跟传统的电压型PWM整流器控制是一致的。
电压外环控制逆变器输出电压跟踪VSG生成的参考电压Uref,输出是电流指令;电流内环控制电感电流跟踪电流指令,输出是调制波。电压环带宽一般取1kHz以下,电流环带宽取2~5kHz,两级串联保证响应速度从内到外递减,这是经典的多环控制设计原则,能最大程度避免环路之间的振荡。
我在模型中用的是同步旋转坐标系下的双闭环,d轴控制有功和电压d分量,q轴控制无功和电压q分量。PI参数通过仿真逐步整定,先整定电流环,再整定电压环,每一环都单独验证阶跃响应。
3.3 并离网切换与预同步:真正考验“无缝”的瞬间
功率无缝跟踪最大的难点不在稳定工况,而在模式切换。微电网并网运行和孤岛运行,VSG的控制状态完全不同。并网时VSG的相位被电网“锁住”,离网时VSG要自己维持电压和频率。切换瞬间,如果逆变器输出电压和电网电压存在幅值、相位差,就会产生巨大的冲击电流。
解决思路是预同步控制。当微电网准备并网时,VSG先检测电网电压的幅值和相位,通过一个锁相环得到电网相位θg,然后调节虚拟转子角速度,让VSG的输出相位θ逐渐逼近θg。相位差缩小到一定范围(比如小于0.01rad)后再闭合并网开关。这个环节在模型里可以用一个Fcn模块实现,检测到并网信号后切换VSG的参考相位源即可。
还有一种更简单的无缝切换思路是“相位锁定”。切换时直接从电网相位θg作为VSG的初值,这样一来切换瞬间相位差为零,冲击电流最小。这种方式在仿真里极易实现,如果是做工程样机验证,建议用预同步加锁相的组合方案。
3.4 有功频率参数J和D的取值逻辑
虚拟转动惯量J和阻尼系数D是VSG算法里最核心的两个参数,直接决定频率动态特性。这两个参数怎么取,是有明确公式可循的。
稳态时转速偏差由D决定。根据下垂特性,当有功功率变化ΔP时,频率偏差Δf与D存在关系:Δf = ΔP / D(折算到标幺值)。假设允许微电网频率偏差0.5Hz,有功变化50kW,那么D = 50kW / 0.5Hz = 100kW/Hz,折算到角频率域再做单位换算。
动态调节时间由J和D共同决定。把二阶系统特征方程拉出来,可以解得自然振荡频率和阻尼比。工程中常用经验:取J = 0.5 ~ 2倍的D,这样保证系统有足够的阻尼比,频率超调量控制在允许范围内。我这套模型里,最终取J = 2.0 kg·m²,D = 100,频率变化率限制在0.8Hz/s以内。
仿真验证时,我做了这么几个工况测试:
- t=0.5s时,有功指令从30kW阶跃到50kW
- t=1.0s时,电网侧投入20kW负载
- t=1.5s时,无功指令从0跳到10kVar
从录波结果看,有功功率在0.2s内完成过渡,无超调,频率最大偏差0.3Hz;无功调节稍微慢一点,约0.3s稳定,母线电压基本不跌。这就是VSG参数整定到位后的表现。
4. 直流侧稳压:储能和光伏的能量平衡艺术
4.1 直流母线不是一个“稳压源”,而是一个“天平”
很多人容易产生一个误解,觉得直流母线电容够大,电压自然就稳。实际上母线电容只是一个缓冲池,它的电压变化完全由功率不平衡决定,数学关系就是i_c = C * dUdc/dt。光伏多发的功率进不来或者逆变器抽走的功率太多,母线电压就会涨或者跌。所以直流稳压的本质不是电容的功劳,而是功率平衡控制的功劳。
交流侧功率突变时,VSG输出功率瞬间上升,母线电容放电,电压跌落;储能还没来得及响应,母线电压就会跌一截。这也是为什么储能变换器的稳压环带宽必须高于VSG功率环带宽,否则直流电压会在动态过程中失稳。
4.2 储能双向变换器的双环控制:电压环和电流环的分工
储能侧双向Buck-Boost变换器负责直流母线稳压,控制策略采用电压外环电流内环。电压外环采样母线电压,与750V参考值做差,经过PI后生成储能电流参考值;电流内环控制储能电感电流跟踪这个参考值,输出PWM驱动双向变换器。
这里有一点要注意:电压外环的PI输出同时承担“功率平衡指令”的作用。当母线电压低于750V,说明直流侧缺功率,电压环输出为正,储能放电;当母线电压高于750V,说明直流侧功率过剩,电压环输出为负,储能充电。通过这种方式,储能自动分担了光伏和逆变器之间的功率差额。
电压环PI参数的整定经验是:比例系数不能太大,否则母线电压会出现低频振荡,建议取0.5~2;积分系数取50~200,保证稳态无差。电流环带宽至少要达到1kHz,才能有效抑制电压环的波动传递。
4.3 光伏侧Boost与MPPT的配合
光伏侧Boost变换器的职责是最大功率点跟踪和限功率控制。正常情况下MPPT算法(我选了扰动观察法,实现简单、稳定)实时调整占空比,让光伏输出功率保持在最大功率点附近。
但在微电网储能SOC偏高或孤岛负载较轻时,光伏满发会造成直流母线过压。这时候MPPT必须让位给限功率控制,否则储能充到上限,母线电压就会失控。我的方案是在MPPT模块输出和占空比生成之间加一个母线电压保护环,母线电压超过780V时,保护环输出干预占空比,主动限制光伏输出功率。这个保护环是硬件保护思想的软件化,在实际工程里叫“直流母线过压降功率”,非常实用。
4.4 直流侧功率平衡的整体逻辑
把直流侧三个环节放在一起看,就是一个功率平衡的闭环。光伏Boost的MPPT给定的是“上限功率”,储能变换器给定的是“差额功率”,VSG逆变器给定的是“负荷功率”。正常工作时,储能自动填补光伏输出和逆变器需求之间的缺口;储能SOC到达边界时,系统再通过限功率或切负载来维持平衡。
仿真中我在母线电压测量点接了一个Band-Limited White Noise模块模拟测量噪声,验证PWM控制在这种干扰下是否还能正常工作。结果显示,电压环对高频噪声的抑制效果不错,母线电压纹波控制在±1%以内,这说明储能变换器的电流内环带宽够高,能够快速抑制扰动。
5. 踩坑复盘:Simulink仿真中的高频问题与排查思路
5.1 仿真发散和慢得要死的常见原因
Simulink电力电子仿真最常见的三个坑,我按踩中概率排序:
第一个是代数环问题。控制模型里,如果反馈信号直接经过一个没有状态变量的传递环节回到输入端,就会出现代数环。Simulink求解器能处理代数环,但会大幅降低仿真速度,严重时直接不收敛。排查方法是观察模型编译时是否提示“Algebraic Loop”警告,或者在控制回路里加入Memory或Unit Delay模块切断代数环。
第二个是变步长求解器在开关切换瞬间的不连续问题。IGBT或二极管导通切换时,电流变化率极大,变步长求解器会不断缩小步长来满足容差,结果仿真速度慢到没法看。解决办法是改用固定步长离散求解器,步长设1e-6或2e-6秒,虽然每一步计算量大了,但总体速度反而快很多,也更稳定。
第三个是参数数量级不一致导致的控制性能异常。比如VSG算法里的虚拟角速度用rad/s标幺值,而其他模块用rpm或者Hz,一旦换算不一致,整个环路就跑飞。我调试时专门用一个Gain模块把所有单位统一到标幺值体系,问题立刻消失。
5.2 常见异常现象速查表
我在调试这套模型过程中,把遇到的异常现象和解决方向整理成了表格,直接对照排查:
现象:PWM波生成正常,但逆变器输出电流为零 可能原因:IGBT触发信号没连对,或者上下桥臂互补信号错误 解决方向:检查PWM发生器的脉冲类型和死区设置,用Multimeter检测桥臂电流
现象:直流母线电压持续上升,达到850V以上 可能原因:储能变换器未参与稳压,或者光伏限功率未触发 解决方向:检查储能电压环PI是否饱和,确认MPPT限功率模式是否正常切换
现象:有功功率跟踪出现等幅振荡 可能原因:虚拟转动惯量J取值过小,或阻尼D取值过大 解决方向:增大J减小D,或者结合二阶系统阻尼比公式重新计算
现象:并网瞬间电流冲击大 可能原因:预同步未完成,相位差过大 解决方向:检查锁相环输出是否已跟踪到电网相位,延长预同步等待时间
现象:仿真速度极慢,一分钟仿真要跑十几分钟 可能原因:变步长求解器遇到开关切换点 解决方向:改成固定步长离散求解器,步长设1e-6s,关闭过零检测
现象:储能SOC充电超过100%仍然在充 可能原因:SOC限幅模块未接入功率控制环 解决方向:在MPPT限功率环节增加SOC使能逻辑
5.3 调参顺序和几个实用技巧
调VSG模型的参数,顺序特别重要。我的经验是“从内到外、从简到繁”,绝对不能一上来就全系统联调。
第一步,先把储能直流稳压环调通。给一个直流负载,只验证母线电压能不能稳住,这一步过关了,才有后面的故事。
第二步,把逆变器的双闭环调通。断掉VSG算法,用固定的幅值和相位作为参考,验证PWM输出和电流跟踪是否正常。
第三步,接入VSG算法,做离网逆变验证。此时储能和光伏先断开,逆变器带一个固定电阻负载,验证VSG是否能够自己建立电压并维持频率。
第四步,接上储能和光伏,做完整的并网联调。先给固定功率指令,验证稳态功率输出精度,再做负载阶跃和模式切换测试。
还有几个小技巧可以分享。第一,用Simulink的Signal Logging功能把关键信号导出到MATLAB工作区,然后用plot命令绘制多条曲线对比,比在Scope里看图直观得多。第二,把VSG的功角、频率、功率画在同一张图上,能直接看到功率振荡和频率变化之间的相位关系。第三,调参时每次只改一个参数,用MATLAB的batch仿真功能批量跑不同J和D的组合,把所有结果图叠加对比,选择最优参数组合。
6. 这套模型后续还能怎么扩展
模型搭完不是终点,留几个扩展方向供参考。如果是为了毕业设计或者科研发论文,建议在这个模型基础上加通信延时环节,研究多台VSG并联时的功率分配问题。如果是为了工程应用验证,可以换成硬件在环HIL仿真,把VSG算法部署到控制器上,用实时仿真器跑主电路,这样更接近实际样机。
储能侧也可以加入SOC均衡策略,在多机组微电网里,各储能模块的SOC必须均衡,否则有的充满、有的放完,系统就崩溃了。这部分我在另一个项目里做过,用的是带SOC下垂系数修正的控制策略,本质上是让SOC更高的储能多放电、少充电。
我个人做这套模型下来最大的体会是,VSG不是简简单单把同步发电机方程塞进控制器就完事,它是一个需要和系统能量管理深度耦合的控制策略。交流侧的动态性能和直流侧的能量平衡互为前提,调参时要有全局观,不能只盯着一侧波形好不好看就收手。