ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

风储并网仿真实战:VSG虚拟同步机与MPPT协同建模详解

风储并网仿真实战:VSG虚拟同步机与MPPT协同建模详解 做风储并网仿真的人多半都遇到过这样一个纠结风机明明接进电网了转速也正常可电网一波动整个功率曲线就开始“荡秋千”严重的时候甚至触发保护脱网。这时候再去翻各种惯量支撑、一次调频的论文行话很漂亮但落到Simulink里就是不知道在哪一层加控制。我前阵子重新搭了一套基于虚拟同步发电机VSG的风储并网系统Simulink仿真把风电最大功率点跟踪MPPT、储能直流母线稳压、VSG并网控制和电磁暂态全过程放在同一个平台里跑通整体效果比单纯用双闭环的PQ控制稳得多。这篇就把整个项目的方案骨架、核心建模细节和调试过程中踩过的坑全部摊开讲适合正在搭风电或微网仿真、想从PQ控制过渡到构网型控制的研究生和工程师参考。仿真这件事最怕的不是模型复杂而是你根本不知道每一块在干什么。VSG的思路其实特别朴素就是让逆变器“装”成一个虚拟的同步发电机把同步电机转子运动方程和调压器特性搬到控制算法里。风储系统里加VSG相当于给原来只能听指令办事的电力电子接口赋予了自动感知频率、自动调整出力的“肌肉记忆”。整套模型我是在Matlab R2020b环境下跑的工具箱只用Simulink和Simscape Electrical基础件没有额外花钱去买风电专用库下面逐步说清楚每一环怎么搭、为什么这么搭。1. 项目背景与整体方案为什么风储能需要VSG1.1 双馈和直驱风机在弱电网下的尴尬风电并网仿真里最常见的风机类型是双馈感应发电机DFIG和永磁直驱同步发电机PMSG。前者转子侧通过背靠背变流器控制后者全功率变流器直接隔离。它们的共同点是变流器把电机和电网之间做了解耦电机转速和电网频率没有物理上的“硬连接”。这本来是个优势风速怎么变电网频率体感不到但反过来也意味着电网频率跌了风机不会像传统火电机组那样天然释放转子动能惯性响应几乎为零。尤其在风力占比高或者电网比较弱短路比低的场景里一个扰动就能让频率变化率RoCoF特别大。如果没有VSG这类构网型控制双闭环PQ控制下的风机还傻乎乎地按指令发着有功频率却已经不可控地往下掉等他调完MPPT去加功率早了。这时候储能就成了调节频率和电压的最直接工具而储能变流器恰好是VSG控制最适合的落点。1.2 整体拓扑与能量管理分层我搭的系统拓扑是“风电储能共直流母线一台VSG变流器并网”而不是风、储各自带一台变流器各自并网。这么设计的原因很实际共直流母线可以让风机侧DC-DC和储能侧DC-DC分别稳压再把功率汇到一条母线上由网侧VSG逆变器统一跟电网互动。做仿真时故障逻辑简单很多也好观察功率流向。风电侧用PMSG整流后接DC-DC Boost主要负责MPPT跟踪把波动功率扔到直流母线上储能侧用双向DC-DC目标是稳定直流母线电压功率波动大了他就充放电兜底母线末端接三相两电平VSG逆变器加LCL滤波将直流能量转为交流并网。控制分三层风机层的MPPT功率控制、储能层的母线电压稳压、VSG层的电机模拟与并网输出。这套结构的好处是调试任一环节时不影响其他模块的算法逻辑故障定位很直观。2. 风电机组建模与MPPT实现方法2.1 气动模型与输出功率公式风机的物理源头是气动模型Simulink里我不会去搭复杂的空气动力学CFD而是直接用简化公式Pm 0.5 * ρ * A * Vw^3 * Cp(λ, β)其中ρ是空气密度A是风轮扫掠面积Vw是风速Cp是风能利用系数。Cp最大化是风机控制的目标而Cp随叶尖速比λ和桨距角β变化。为了模拟度够用又不至于累死我直接采用教材里最常见的Cp拟合函数输入λ和β输出就是0到0.48之间的系数。这个模型搭起来不超过五分钟但能真实复现“低风速时转速不够、高风速时变桨限功率”的运行规律和论文里的风电曲线能对照上。气动模型输出的机械转矩Pm/ω接入永磁同步电机。电机模型我直接用Simscape Electrical里的PMSG模块设置极对数、定子电阻和电感转子运动方程在模块内部自动算好这样不用自己写Park变换。要在仿真结果里看转速、电磁转矩、定子三相电压电流直接从电机测量端拉信号就行Token不麻烦。2.2 MPPT控制的三种做法与我的选择风电MPPT控制算法主流有叶尖速比法TSR、功率信号反馈法PSF和爬山搜索法PO。三种我都试过但Simulink仿真里最稳的是PSF法。原因很简单仿真中的风速是给定序列气动模型输出机械功率Pm可以直接算出来。我提前离线生成一张“不同风速下最优转速-最大功率”对照表仿真实时查表给出转速参考值再通过转速外环、电流内环去跟踪。PO法在真实风机上很流行但仿真里风速一旦加斜坡扰动很容易让搜索方向出现“振荡”调试时间成本高。TSR法需要精确测风速仿真里没问题可它对转速跟踪环带宽要求高实际意义略打折。所以项目里风机侧就用PSF查表法简单直观汇报也好解释。风机侧的DC-DC控制采用双闭环电压外环维持机侧整流输出电容电压电流内环控制Boost电感电流并按MPPT查表结果输出参考功率。需要留意的是Boost的占空比输出不能直接对地饱和否则母线电压会被顶飞我在输出端加了限幅0.1到0.9同时配了一个缓慢的抗饱和积分器避免PI输出卡死在极限位置。2.3 风机侧调试要点风机模块我折腾最久的是转速参考初值。MPPT查表表里给的是转速参考值但在仿真第0秒时风速如果直接从0跳到8m/s大惯性风机根本来不及跟上去转速参考和实际转速偏差一大电流内环容易在初始阶段发散。解决方法是加一个转速爬坡限制器把参考转速变化率限制在每秒钟20rpm以内。另外PMSG整流侧的初始磁链和转子角不能随便给默认0我在电机模块里设了初始机械角保证启动时刻三相电流是平滑过渡而不是一个巨大冲击。这些初值类的坑往往是仿真突然崩溃的元凶而不是控制参数本身。3. 储能侧建模与VSG控制核心3.1 储能为什么必须“托底”纯风电场景里的MPPT只对最大功率负责根本不关心电网侧缺不缺功。风速骤降的瞬间如果储能没有反应直流母线电压就会从额定值往下掉网侧逆变器无法输出正常的交流电压整个系统就会保护性停机。所以储能侧DC-DC的任务就一句话死死稳住直流母线电压让VSG逆变器随时有能量可发。储能电池我用的Simplorer的简化受控电压源串内阻模型SOC在仿真中通过安时积分动态更新。双向DC-DC控制采用传统的电压外环、电流内环外环参考值就是直流母线电压比如800V电流内环根据功率方向自动切换Buck/Boost模式实现充电和放电的连续过渡。注意在Simulink里切换模式时不能直接做逻辑跳变我用一个连续变量去线性过渡模式切换标志否则电流波形会出现电流尖刺数值求解时也容易产生代数环。3.2 VSG的核心算法实现VSG控制是整个项目的大脑核心是模拟同步发电机的二阶转子运动方程J * dω/dt Pm/ω - Pe/ω - D * (ω - ωg)以及无功-电压下垂方程E E0 n * (Qref - Qe)以有功环来说Simulink里实现并不复杂。我搭建时把转子运动方程写进一个自定义的MATLAB Function或直接用积分模块搭建给定Pm参考值与Pe反馈做差除以虚拟惯量J后积分得到转速ω再对时间积分得到电压相位θ。电磁功率Pe从并网电流、电压的d/q轴分量实时算出来然后回带到运动方程这就闭合了“虚拟转子”的回路。这中间一定要加上阻尼项D*(ω-ωg)。我发现很多初学者只保留惯量J结果并网点频率稍微抖一下相位就开始长时间低频摆动整个仿真像得了帕金森。加了阻尼D之后虚拟转子会像一个真实发电机一样有稳定裕度动态收敛快得多。阻尼系数取值可以按“J*D≈临界阻尼”的经验先调再结合有功阶跃响应微调。无功-电压环同样不可省。VSG不仅模拟惯量还要模拟励磁调压。我把Qref给定0Qe从瞬时无功计算得到经过下垂系数n映射为电压偏差叠加在额定电压E0上。这个输出再和电压外环做PI校正最终生成调制波幅值送到PWM发生器。3.3 VSG参数整定与限幅处理VSG参数里最关键的就是虚拟惯量J和阻尼系数D。J太小系统反应飞快但频率波动像刀割J太大虚拟转子“转不动”一次调频响应慢半拍。我最初按同步机时间常数估算给J取了系统总容量的10倍左右功率基准100kWJ大概等于2.5。D则用J内阻比折算初始给20左右。光有这组参数还不够因为VSG在同步过程中相位是积分得到的一旦频率偏差持续时间过长相位就会一路飘功角δ会越过稳定极限。所以我在相位积分环节前面加了相位锁定限制频率偏移超过±1Hz时按1Hz限幅。这个保护动作在真实同步机里叫“失步保护”仿真里不加输出THD和动态波形都会失真。PWM调制波限幅也要盯住。三相两电平逆变器调制比超过1就进入过调制区电压波形开始削顶。我取直流母线800V、交流输出380V调制度自然在0.65左右留有充足裕量。但VSG电压环在无功波动瞬间输出可能会冲高我就在调制波生成前加一个0.8到1.2的限幅保证线性调制区不过调。4. 并网接口、滤波器与电磁暂态仿真设置4.1 LCL滤波器参数计算与仿真加速VSG逆变器输出如果不做滤波高频PWM谐波直接灌进“电网”则电压电流波形没法看。LCL滤波器的参数设计需要同时满足谐波抑制和控制稳定性。我的做法是先按谐振频率在开关频率的1/10到1/5之间估算总电感值然后分配两侧电感比。参考公式是fr 1/(2π√(L1L2Cf/(L1L2)))开关频率设成10kHz时谐振频率取1.8kHz附近保证高频衰减。电容Cf按额定功率的5%左右取无功容量参考值。具体数值我调过三轮最终L11.2mHL20.8mHCf15uF阻尼电阻Rd2Ω。无源阻尼电阻会带来少量损耗但Simulink电磁暂态里远比有源阻尼算法简单稳定。做仿真时强烈建议在LCL滤波器前加一个测量点和滤波电容电流反馈。如果只用网侧电流闭环谐振峰没有被阻尼仿真波形中就会出现高频毛毛刺很难消除。4.2 求解器选择与电磁暂态时间步长Simulink电磁暂态仿真最怕的就是步长选错。用固定步长运行SimscapeElectrical的电力电子模型步长太大会丢失PWM边沿波形假性抖动步长太小又慢得像蜗牛跑一次40秒的风速渐变仿真要一个多小时。我的选择很直接可变步长ode23tb最大步长设为50微秒相对容差1e-3。PWM载波10kHz1/20的载波周期作为最大步长基本可以正常捕捉脉冲。但注意Simscape与Simulink纯代数信号混用后变量求解时间会上升我建议把变流器IGBT使用平均值模型或理想开关模型不追求管级开关损耗细节。这样既能保住电磁暂态的电压电流波形速度会比全开关模型快七八倍。若你还想看到类似实验室暂态录波的陡波头再把开关模型的细节打开但常规项目没必要。电网我直接接了一个理想电压源串阻抗等效弱电网短路比SCR2。为什么这么设置因为强电网下任何控制都能稳定根本看不出VSG的效果。弱电网负载阶跃才是检验VSG惯量支撑和阻尼性能的“试金石”。5. 完整仿真场景与故障暂态分析5.1 风速突变负荷突变组合工况搭好模型后我设计了一个三阶段工况0到10秒风速6m/s10秒时刻阶跃到10m/s20秒时刻并网点负荷突增30%。这个工况同时逼出风机MPPT的动态和VSG的功率跟踪能力。10秒风速阶跃后风机侧机械功率突然升高DC-DC的MPPT查表给出更高的转速参考但风机大惯性导致转速跟不上多余的功率涌向直流母线。储能DC-DC检测到母线电压轻微抬升后马上进入充电模式吸收多余功率。与此同时VSG检测到频率上升通过转子运动方程的阻尼项天然减小输出功率双向平抑最后平滑过渡到新的平衡点。整个过程中母线电压波动控制在小于2%额定值频率最大偏差0.15Hz左右。这就是VSG和储能协同的价值换PQ控制时这一下功率跃迁能让母线电压波动到5%以上。20秒负荷突增时VSG的有功外环看到Pe跌落到小于Pm转子运动方程促使相位提前功角加大逆变器自动多送功。储能则持续放电把频率下坠拉回来。仿真结果中频率在0.8秒左右恢复到49.9Hz附近没有出现持续振荡。我拿这个曲线和纯PI功率外环对比过二者最大的差异不在最终稳态而在中间振荡。PQ控制会先跌后超调一段时间VSG靠虚拟惯量把冲击掰成了平滑阻尼的斜坡。5.2 电压跌落下的VSG动态表现另一个我反复测的工况是电网电压跌落20%持续0.5秒后恢复。这一工况最关键的是无功电压环的动态效果。电压跌落的瞬间并网点无功功率出现缺口VSG无功环立刻抬高虚拟电动势增加逆变器无功输出把并网点电压往回顶。0.5秒故障结束后无功环反向拉低电压指令整个过程无需手动切换控制策略表现和真实同步电机的励磁系统行为非常一致。这里提醒一句电压跌落工况下电流限幅和直流母线电压的维系是联动问题。跌落期间无功加大相应的有功电流峰值会上升如果PI输出幅度太高逆变器会过流跳闸。我在VSG电流参考上加了一个矢量限幅器限制电流矢量幅度不超过1.2倍额定保证故障期间不断流。如果没有这个限幅仿真里不一定看得出问题但一旦做硬件在环IGBT就会当场崩掉。6. 常见问题与调试经验速查表6.1 Simulink仿真中遇到的典型问题调试过程中我把最容易出现的几个问题整理成了速查表每一个都实战过照着排查能省下大量时间。现象可能原因解决办法启动瞬间电流尖峰巨大电机初始角或电容初始电压未设设PMSG和直流母线电容初始条件让逆变器先空载软启动VSG频率持续低幅振荡阻尼D太小或惯量J过大增大D或按临界阻尼公式JD≈2√(KJ)重调风速突变后母线电压飞升储能DC-DC限幅太小或充电模式切换过慢加大电流环限幅并适当降低电压环PI比例系数并网电压THD偏高LCL谐振没有阻尼或调制波过调制检查Rd取值并确认调制度不超过1.0仿真速度慢得离谱开关器件用全细节模型换用理想开关最大步长放宽到50usSimulink报“代数环”错误功率计算和调制波生成在同一步直接反馈在反馈路径增加小惯性环节或离散Memory模块Bus Selector没有可选信号总线里的信号名不对或不匹配在信号源头打开“Signal Name”并重新命名再用Bus Creator同名输出6.2 提高仿真稳定性的几个实操技巧除了上面的排查表我再说几个不写进论文、但实际建模中特别管用的技巧。第一个技巧所有PI控制器输出端都老老实实加限幅而且限幅值要按物理约束算出来不要随手填个整数。电感电流限幅按额定电流1.2倍来调制比限幅按线性调制区0.8到1.2之间来。限幅的参数不匹配会引发控制器积分饱和导致扰动后恢复时间拉长波形出现缓慢“爬坡”。第二个技巧直流母线电容初值必须设。我在储能DC-DC启动前把母线电容预充到额定电压的95%否则启动瞬间逆变器会尝试把电压从0拉上去这动作等于短路仿真的初始步长会小到微秒级跑一分钟都费劲。第三个技巧做扫参或批量仿真时把VSG参数抽成模型回调和MATLAB脚本配合。我用sim函数把J、D、MPPT表、风速序列都作为外部传参一次跑上十组不同惯量配置再自动导出频率特征曲线这样调参不用反复手点示波器效率翻倍。第四个技巧波形观察器的采样率要单独设置。电磁暂态仿真中示波器默认可能每100微秒采一个点但PWM高频细节在5kHz以上就是混叠噪声看起来像是控制不稳定。我把示波器采样时间设为1微秒表的“假毛刺”就全消失了真实高频谐波才看得清楚。第五个技巧整个仿真模型要习惯用子系统封装加注释。风电侧、储能侧、VSG控制、LCL、电网分别用Subsystem包起来内部信号命好中文名Simulink支持之后调试时不用一层层点进去也能看信号流向。这个习惯帮我每次中途暂停都能快速定位问题出在哪一层。7. 后续扩展方向与我对VSG仿真的一组心得这套模型搭完之后我并没有让它停在“能看图”这个阶段。因为我发现VSG控制真正的价值在并网逆变器“离线转在线”的过程中所以我把模型导出C代码在桌面实时仿真机里跑了几个小时的硬件在环测试。当然这是后话单就Simulink仿真本身这台模型已经很能说明问题MPPT负责追风、储能负责稳压、VSG负责模拟同步机性格三者凑在一起才是一个完整的风储并网系统。如果接下来你想继续扩展可以从三个方向入手。第一个方向是让储能SOC参与功率调度把VSG的有功参考值从固定值改成基于SOC自适应调节仿真里加一个简单的模糊逻辑就能模拟储能快充满时减少放电、低电量时限制出力。第二个方向是加二次调频层多机并联时通过通信下发功率指令VSG的虚拟转子方程不变只把Pm输入改掉即可。第三个方向是做故障穿越测试把并网点改成可编程故障观察不同电压跌落深度下VSG的无功支撑表现。我个人的心得是VSG仿真能不能做通关键不在控制框图多漂亮而在参数之间是否互相匹配。虚拟惯量再大没有阻尼去吸收能量依然是白搭储能侧反应再快限幅和模式切换做不好一样会在最需要它的时候失效。每次看到有人卡在“频率稳不住”这一步我的第一反应永远是回去查储能母线的抗饱和限幅八成问题就出在那里。如果这个项目能让你少熬两天夜少改两版控制器参数那我这篇就是值得的。
返回列表