做风储并网仿真的人越来越多,但很多初学者一上来就卡在“怎么让风机和储能配合起来”这个问题上。直接搭个PQ控制的风机并网模型倒是不难,可只要电网一弱,变流器就跟着乱抖,频率支撑能力基本为零。我们实验室去年接了风储联合并网的项目,对比过好几个控制方案后,最后我选定基于虚拟同步发电机(VSG)的风储并网系统作为主体架构,用Simulink跑通了全流程仿真。这篇就把整个项目的设计思路、建模步骤、参数整定和踩坑记录都摊开来讲,希望对正在做同类方向的人有点用。
这个仿真项目能解决什么问题呢?核心是让风储系统像传统火电机组一样,主动参与电网的频率和电压调节。风机本身是个“跟网型”设备,靠锁相环去锁电网相位,碰上弱电网容易失稳;而VSG控制能让并网变流器从“跟网”变成“构网”,给系统提供惯性和阻尼。储能在这里充当能量缓冲池,配合VSG算法输出虚拟惯量支撑,在风速波动时平抑直流母线电压,在电网频率跌落时快速释放有功功率。
适合看这篇内容的,主要是做电力电子并网控制、新能源发电方向的研究生,还有在风电、储能行业从事控制策略开发的工程师。基础方面,你至少得懂三相交流电路、dq坐标系下的功率计算、PID控制的基本概念,否则后面看转子运动方程和电压电流双闭环会有点吃力。我会尽量把每个环节的原理和参数依据写透,尽量少留黑箱。
1. 项目整体设计与思路拆解
1.1 为什么风储系统需要VSG控制
先说一个很多人忽略的背景问题:为什么风电非得加储能、加VSG,不能像火电那样直接并网拉倒?电力系统稳定运行靠的是同步发电机转子旋转产生的惯量,也就是说外界负荷一变,系统频率不会瞬间突变,而是靠着转子动能先缓冲一下,然后再由调速器去调。风机呢?满功率变流器把风机转子完全“隔离”出来,电磁功率和机械功率之间没有任何惯量耦合,风机的转动惯量在人看来根本不存在。当电网频率跌落时,传统机组会靠转子动能天然给出几十千瓦到兆瓦级的惯量支撑,而风电机组几乎没有反应。
这时储能的作用就体现出来了:电池或者超级电容能在百毫秒级快速释放能量,从原理上完全可以“再造”一个虚拟惯量。但储能要释放多少、怎么释放,背后需要一个控制策略来决策,这个决策者就是VSG。VSG的核心思想是,把同步发电机的二阶转子运动方程原封不动搬到逆变器控制里,让逆变器输出电压的相位和频率按照同一个微分方程演化:
[ J\frac{d\omega}{dt} = P_{ref} - P_e - D(\omega - \omega_0) ]
其中J是虚拟转动惯量,D是虚拟阻尼系数,P_ref是有功功率参考,P_e是实测输出功率,ω是变流器输出电压角频率。这个方程的作用说白了就是“让变流器像一台有转子质量、有阻尼绕组的同步机那样去响应功率变化”。
学过同步电机的人都知道,转子运动方程决定的是功角——也就是逆变器输出电压矢量与电网电压矢量之间的夹角。用这个夹角去做坐标变换的相位基准,逆变器就不需要锁相环,而是自己“长”出一个功角来。这正是VSG最本质的优势:它把新能源并网从“被动跟随电网”升级成“主动构网”。
1.2 风储并网系统的整体架构选型
结合项目的控制需求,我采用的拓扑结构是:永磁直驱风机通过全功率变流器接入直流母线,储能电池通过双向Buck-Boost变换器并入同一段直流母线,然后直流母线经一台两电平三相逆变器之后,通过LCL滤波器和并网断路器接入模拟电网。整体结构用一句话概括就是——风机只管发电,储能管住母线电压,并网逆变器管电网交互。
这个结构不是随便拍的,有明确的工程逻辑。把风机和储能都挂在同一条直流母线上,意味着风机侧变流器可以只做整流和最大功率跟踪,不需要管电网侧的任何事情,控制策略大大简化。储能的双向变换器负责维持直流母线电压恒定,给后级逆变器提供稳定的输入电压,这比“风机自己稳母线,储能只管充放电”的方案要稳妥得多。最关键的在于,电网侧逆变器用VSG控制以后,储能通过直流母线电压间接参与电网的功率交互,能量路径清晰,控制带宽也容易拉开。
仿真层面,我个人倾向于把风机模型做适度简化:用受控电流源+直流电压外环的方式去等效风轮机侧的整流输出。对于VSG研究来说,重点在变流器和储能控制,风机气动模型够用就行。如果不做简化,风电整机的气动模型、桨距角控制、机侧变流器全部搭进来,仿真步长会被迫压到很小,调试效率太低,没必要在初期阶段把自己困在模型的细节里。
2. VSG核心原理与关键参数整定
2.1 有功-频率控制环的数学基础
VSG控制最核心的模块就是转子运动方程的数字实现。这个方程描述的是虚拟转子角频率ω的动态行为,P_ref与P_e的差值经过积分形成频率变化,频率再积分一次就得到相位角θ。数字实现时通常写成两个串联积分器:第一个积分器输入为机械功率偏差,输出为角频率偏差;第二个积分器对角频率积分,得到电压相位角。
[ \frac{d\theta}{dt} = \omega ]
这里有个细节要特别注意:转子运动方程里的P_e在仿真中必须取瞬时有功功率的低通滤波值,不能直接用瞬时功率。原因是并网逆变器的瞬时功率里含有大量开关频率和电网频率的二倍频分量,如果直接进转子方程,会让虚拟转子速度上下波动,输出的相位角就带上了纹波,三相电压波形会明显劣化。一般低通滤波器截止频率取20到50Hz就行,太低会让有功响应变慢,太高滤不掉纹波。
虚拟惯量J怎么理解?可以把它和储能容量直接挂钩。J越大,虚拟转子储存的“等效动能”越大,转速变化越平缓,电网频率跌落时能释放的功率支撑时间越长。但J也不能无脑取大,因为风机和储能的实际可用功率是有上限的,如果虚拟功角拉得太大,超过90度功角稳定极限,反而会出现暂态失步。仿真调试时先给一个J的初值,比如J=5 kg·m²,描出频率响应曲线,再根据超调量和调节时间来调。
2.2 无功-电压控制环的设计
VSG不能只控制有功,还得管电压。同步发电机的励磁系统通过调节励磁电流来维持机端电压稳定,VSG对应的就是无功-电压下垂控制外环。无功功率偏差经过一个积分环节生成电压幅值偏差,叠加到额定电压上,得到逆变器输出电压幅值的参考值:
[ E = E_0 + \frac{1}{K_q}\int (Q_{ref} - Q_e)dt ]
这里Kq是积分系数,数值上等于无功-电压下垂系数的倒数。工程上无功-电压下垂系数通常取2%到5%的电压降落对应满无功输出,比如100kVar无功功率变化导致端电压偏移不超过3V,那Kq就等于3V/100kVar。积分环节的作用相当于同步机的励磁调节器,能够实现无功负荷的自动分配。
电压幅值参考值E和相位角θ合在一起,就构成了逆变器输出电压参考矢量。后续还需要经过电压电流双闭环控制才能驱动PWM。但要注意,VSG外环生成的电压幅值和相位在仿真里是离散化的信号,必须经过一个带宽足够高的电压内环把变流器实际输出电压拉过去跟踪。原则上VSG外环的带宽在数十赫兹量级,而电压电流内环的带宽应该放在数百赫兹到1kHz量级,两者之间留足频带间隔才能保证系统稳定。
2.3 参数整定方法与实践经验
参数整定是我在整个项目里花时间最多的地方。直接给一组我最终调好的参数供参考,但强烈建议你按自己的系统容量重新走一遍推导,不然复制过去很可能炸机。
系统额定功率我设为50kW,直流母线550V,电网线电压380V/50Hz,开关频率10kHz,滤波电感0.5mH,滤波电容30μF。VSG控制的关键参数为:J=4.5kg·m²,D=12,Kq=200,低通滤波截止频率30Hz,电压电流环PI参数分别为Kp=2.5、Ki=20和Kp=0.8、Ki=8。
调制过程给一点我的体会。先调电压内环,只让逆变器带纯电阻负载运行,用阶跃响应调PI参数;调好以后再闭合外环,此时电压外环和VSG外环同时起作用,先给无功参考阶跃验证输出电压幅值是否稳定;最后才连接电网断路器,观察VSG功角建立过程。很多人习惯一上来就全系统大闭环仿真,一旦发散根本找不到问题出在哪个环节。这种“模块级验证后再联调”的方式,其实是在帮我精准定位是哪一环参数出了问题。
把主要参数对系统响应的影响整理成一张表,方便对照调试时排查方向:
| 参数 | 增大后的影响 | 减小后的影响 | 调试经验 |
|---|---|---|---|
| 虚拟惯量J | 频率变化率更小,功角摆动周期变长 | 响应快,但对高频扰动更敏感 | 先看频率曲线的斜率,符合条件的斜率下再微调 |
| 阻尼系数D | 收敛更快,振荡衰减更明显 | 容易持续振荡 | D太小会看到功角持续等幅振荡,务必检查 |
| 无功积分系数Kq | 电压恢复快,但可能出现电压超调 | 电压响应慢 | 观察母线电压在无功阶跃时的超调量限位在5%内 |
| 功率低通滤波频率 | 有功反馈更平滑,但动态变慢 | 反馈纹波大,相位角抖动 | 低于20Hz时动态明显变慢,高于50Hz时波形纹波明显 |
3. Simulink仿真建模实操步骤
3.1 系统模型的分模块搭建
整个系统我分成五个子系统来搭建:风轮机等效模型、储能系统模型、三相逆变器主电路、VSG控制算法、模拟电网与测量模块。每个子系统独立建、独立验证,最后再用信号线连接,这样做有几个实在的好处:一是某个模块出问题的时候能快速定位;二是Simulink对子系统封装后图标简洁,整体结构一目了然,发布论文里的系统框图直接就能引用。
风轮机等效模型我采用直流电压源串联内阻的方式来模拟直流母线输入,电压源电压设置在风机最大功率点的输出值附近,用Simulink的“Controlled Voltage Source”模块搭建即可。如果你想更真实一点,可以套用风机的功率-风速特性曲线,加一个MATLAB Function模块查表生成直流功率指令。储能系统采用电池等效电路模型和一个双向Buck-Boost变换器,控制策略是电压外环电流内环的双闭环。
并网逆变器主电路用Universal Bridge模块搭建三相两电平VSC,直流侧接母线电容,交流侧通过LCL滤波器接入一个理想三相电压源。值得注意的是,并网变压器的漏抗如果忽略,交流侧阻抗纯由滤波器决定,短路比就会很高,这并不符合实际电网的弱电网特性。建议串联一个额外的线路电感,把模拟电网的短路比压低到5到10之间,这样VSG的功角响应才更有参考意义。
3.2 VSG控制算法在Simulink中的实现方法
VSG控制是项目大脑。我用Simulink标准库模块实现它,没有写S函数,方便其他人看逻辑。流程是:采样三相电压电流→计算瞬时功率→低通滤波→计算有功偏差和无功偏差→求解转子运动方程得到相位角→生成输出电压参考信号→送进电压电流双闭环→输出PWM驱动脉冲。
转子运动方程直接用两个积分器串联实现,积分器的初始条件都要合理设置。第一个积分器初始化角频率为314.159rad/s,也就是50Hz对应的角频率,这样控制器上电时输出的相位是连续变化而不跳变的。第二个积分器的初始相位要与电网初始相位保持一致,否则并网断路器闭合瞬间会有巨大的冲击电流。这一步初始化是最容易被忽略的,很多人第一次闭合断路器时电流仿真值直接爆到上万安培,八成就是这里没对齐。
坐标变换模块采用标准dq变换,相位角用VSG自己生成的θ而不是锁相环输出的角度。这正是VSG“自同步”的关键所在。PWM生成采用三角波比较法,载波频率设为10kHz,调制波幅值限制在±1之间,否则出现过调制。电流内环输出的dq轴电压分量经过反Park变换后作为调制波信号。
3.3 并网控制与直流母线联调
储能双向变换器的控制策略单独说一句。它的外环是直流母线电压PI控制,内环是电感电流PI控制,正常情况下维持母线电压在550V。当VSG检测到电网频率下降、需要输出有功功率支撑时,母线电容能量被快速抽走,母线电压会瞬间跌落,此时储能变换器检测到电压偏差,自动增加放电电流把电压拉回额定值。整个过程中,储能如果动作慢,母线电压就会波动太大导致逆变器过压或欠压故障。
联调阶段重点观察直流母线电压是否恒稳在550V附近,波动控制在±3%以内。如果发现母线电压波动超限,优先检查储能双向变换器的电压外环PI参数。母线电容是电压波动和储能功率之间的桥梁,电容取太小,动态响应虽然快,但电压纹波大;取太大,储能功率变化对母线电压的传播就慢,动态过程中VSG可能无法及时获得能量支撑。项目中母线电容选取了6800μF,配合储能变换器做出来的电压波动不到5V,整个系统联调时没有发生直流侧掉电的问题。
4. 仿真工况设计与结果分析
4.1 三种典型工况的测试设计
仿真做出来最后是要回答“VSG到底管不管用”这个问题的。为此我设计了三个测试工况:风速阶跃扰动、电网频率跌落、电网电压跌落。每个工况都在同一模型上分别用VSG控制和传统PQ控制跑一遍做对比,控制变量只有控制策略本身,主电路和参数完全一致。
第一个工况:风速从9m/s阶跃到12m/s,模拟风能突然增加的场景。主要看VSG控制是否能平滑吸收突然增加的风电功率,直流母线电压和输出功率有没有出现大幅度波动。在这个场景下,我特意把储能初始SOC设置在85%附近,留出足够的吸收空间。
第二个工况:并网点电网侧频率从50Hz跌到49.5Hz,持续1秒后恢复。这是最考验VSG控制效果的场景,目的是看虚拟惯量支撑是否真实存在、支撑功率有多大、频率最跌点是否被抬高。
第三个工况:电网电压幅值跌落15%,持续0.5秒。主要考察无功电压控制环是否能够提供动态无功支撑,把并网点电压托起来,防止系统因为电压过低而脱网。
4.2 仿真结果如何判断VSG是否生效
结果判断有一套经验性的方法。看波形时别只盯着一根曲线看,要几个关键波形联合起来看,才能判断VSG是不是真的在“干活”。
第一个关键波形是VSG输出相位角与电网相位角之差,也就是虚拟功角。频率跌落工况下,如果VSG的虚拟功角在扰动后先变大、然后经过几个振荡周期衰减到新的稳态值,说明虚拟惯量和阻尼都在正常工作。如果功角直接发散或者持续振荡不收敛,说明极性有误或者D值太小,需赶紧停下检查。
第二个关键波形是输出有功功率P_e的响应过程。频率跌落瞬间,VSG应该看到频率偏差,瞬间释放额外的功率支撑。这个支撑功率从0快速上升到某个峰值,然后随着频率恢复逐步回落。峰值功率越大、上升速度越快,说明虚拟惯量支撑效果越明显。一般对比看看,同样的频率跌落幅度下,传统PQ控制的输出功率基本不变,而VSG控制能多产生10%到20%的功率支撑,就已经能直观体现其优越性。
第三个关键波形是储能输出功率和直流母线电压。频率跌落下,当VSG多输出功率时,母线电压本身应该保持平稳,而储能输出功率曲线会出现一个正的尖峰,数值上要跟VSG多输出的电磁功率基本对得上。说明储能在后方切实提供了能量补给。
我随机抽一组典型仿真数据来展示:电网频率从50Hz跌至49.5Hz后,VSG控制下系统最低频率点抬高到49.58Hz,恢复时间约1.2秒;而同一工况下PQ控制最低频率落到49.2Hz,恢复时间超过3秒。这个对比已经很能说明问题——VSG确实给系统“加装”了惯性和阻尼,让电网更抗扰动。
4.3 风储协调的整体表现与物理复现
从整个风储系统层面看,最理想的效果是风速突变而并网点功率几乎不受影响。风速骤升带来多出来的功率被储能吸收,输出到电网的功率保持在一个平滑的设定值附近;风速骤降时储能快速放电弥补缺口,不让电网侧功率出现明显的下垂或尖刺。
物理复现层面,做仿真最重要的一点是将虚拟功角与真实电网相位对应起来。在真实同步发电机中功角是一个机械量,而在仿真中它是纯数字量。为了让仿真结果可信,我把虚拟功角的动态变化录下来和同步电机典型功角摇摆曲线做对比,形状符合教科书上经典的等幅振荡或衰减振荡特征,仿真结果才有说服力。这种“拿到波形要找物理依据对照”的习惯,在电机控制这个方向真的特别重要。
5. 常见问题与排查技巧实录
5.1 仿真发散与初始化问题
我做这套仿真过程中踩到过的坑基本上可以写成一本书了,这里挑几个最典型的列出来,照着排查大概率能省下两三天时间。
第一坑:并网断路器合闸瞬间电流爆表。这个问题九成是VSG输出的电压相位和电网相位没有对齐导致的。解决办法是在并网断路器前面加一个同步检查模块,检测相位偏差小于0.5度才允许闭合断路器。在Simulink里可以用Enabled Subsystem配合一个简单的比较器来实现,也可以用Synchronous Machine相关库里的相位同步逻辑替代。
第二坑:频繁出现“Solver unable to meet accuracy requirements”报错。这是仿真的数值问题,可能的原因包括:步长太大、模型中存在代数环、功率计算模块输出振荡太剧烈。解决办法是先把仿真步长下调一个数量级,比如从20微秒调到2微秒,再看现象有没有好转;同时检查是否有模块直接通过Goto/From形成了代数环,有的话在环里插入一个Memory模块切断代数依赖。
第三坑:逆变器输出电压波形畸变、谐波含量高。检查PWM调制波是否正常,调制幅值是否超过1,如果超过说明VSG生成的电压参考幅值太大了,低压穿越或无功动态期间很容易出现这种情况,这时需要给调制波加一个饱和模块,把幅值钳位在0.95左右,留出5%的线性调制裕量。
5.2 参数匹配与储能协调问题速查
把我在调试中遇到过的参数匹配和储能协调问题整理成速查表格,方便查阅:
| 问题现象 | 可能原因 | 排查方法 |
|---|---|---|
| VSG输出功率持续振荡不收敛 | 虚拟惯量J和阻尼D的比值过大 | 逐步减小J或增大D,看振荡衰减速度是否改善 |
| 储能电池电流频繁过流保护 | 储能双向变换器电流内环PI响应太慢 | 增大电流内环Kp,减小积分时间常数 |
| 直流母线电压在动态中被拉到500V以下 | 母线电容太小,储能响应不及时 | 增大母线电容,或提高储能电压外环带宽 |
| 频率下跌后VSG输出功率没有额外支撑 | 低通滤波器截止频率太低,功率反馈太迟钝 | 把低通截止频率从10Hz提高到30Hz |
| 电网电压恢复后VSG电压幅值不恢复 | 无功积分系数Kq太小,电压恢复时间过长 | 增大Kq,但注意不要引入超调振荡 |
| 并联运行仿真中两台VSG功率分配不均 | 虚拟阻抗参数不一致 | 确认各台VSG的虚拟阻抗和下垂系数一致 |
5.3 仿真效率与精确度权衡技巧
对于项目仿真周期较长、模型较复杂的场景,效率问题必须重视。半实物仿真或者全开关级仿真的耗时往往会爆炸,我通常用模型简化与多速率仿真相结合的手段来处理。风机侧用均值模型替代PWM开关模型,因为风机侧整流器不是研究重点,平均值模型能把仿真速度提升3到5倍;储能双向变换器的开关也做了同样的处理,开关频率带来的纹波直接忽略,把注意力放到功率外环的控制动态上。并网逆变器是核心研究对象,必须在开关级模型下工作。
另外一个常见办法是用离散控制模块实现VSG算法,将采样时间设置为100微秒,而主电路继续采用连续域变步长求解器,变步长最大步长限制在10微秒以内。这样既保证了主电路波形精度,又让控制部分按固定采样间隔逻辑运行,和实际DSP代码行为一致,从仿真到实物移植的平滑性也更好。
说到最后,无论你在做研究生课题还是工程项目,我的个人体会是这套仿真不要只看最终“跑通”的结果,每一步的波形变化都值得停下来对一遍物理原理。比如功率角为什么是这个值、储能电流为什么是那个方向、电压相角差和功角是什么关系。把这些想清楚了,后期写论文、做实物、甚至跑半实物都比别人顺畅太多。仿真模型的真正价值,不在于跑出几条好看的曲线,而在于它逼着我们把控制逻辑中的每一个环节都理解透。