ARTICLE DETAIL

资讯详情

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

风储VSG并网系统Simulink仿真:惯量支撑、参数整定与调试

风储VSG并网系统Simulink仿真:惯量支撑、参数整定与调试 上周帮一位研二师弟调试“风储VSG并网”的Simulink模型折腾到后半夜。模型整体并不复杂——永磁直驱风电场、锂电池储能、一台用虚拟同步发电机VSG算法控制的网侧逆变器再挂一段交流线路到10kV电网——但每次按下启动按钮直流母线电压就开始振荡并网瞬间电流能冲到额定值的3倍把IGBT的电流保护屡屡触发。后来发现问题并不是出在某个孤立的环节而是整个模型从拓扑到控制结构再到参数整定的耦合关系没有捋顺。这也是我想把“风储VSG——基于虚拟同步发电机的风储并网系统Simulink仿真”这个题目彻底讲透的原因。这篇文章适合三类人刚接手风电/储能并网仿真任务的研究生、想搞懂VSG控制环路的电气工程师、以及所有在Simulink里被代数环、预同步、参数调优折磨过的同路人。我会把VSG到底补了什么、经典风储拓扑怎么分模块搭建、核心的摇摆方程在Simulink里怎么落地、参数为什么要那样取以及我调试模型时见过的典型翻车现场都过一遍。1. 风电并网缺了什么VSG要补的“惯量课”1.1 风机为什么甩不开电网这个“大转子”传统同步发电机之所以能扛住负荷突变靠的是转子这坨实实在在的质量。你往电网里扔一个有功扰动所有同步机的转轴会一起“吃力”转速缓慢变化系统频率因此有了惯性——变化率RoCoF被转子质量硬生生压住。频率变化太快低频减载就会误动这是电力系统最不想看到的事。风电一上来问题就出现了。双馈风机和直驱风机的转子转速与电网频率之间隔着电力电子变换器机械转速被变流器完全“解耦”掉了。电网频率波动时风机转子几乎不参与惯量响应。更直白的说法是风机側的动能被变流器隔离在电网之外电网失去了这批本来可以帮忙“刹车”的旋转质量。高风电渗透率电网最怕的就是频率跌落太快、低频减载切负荷根因就在这里。1.2 储能与VSG的组合逻辑储能的作用很好理解它响应快既能吸收多余功率也能短时顶出力正好平抑风电的波动。但电池本身没有旋转部件接上逆变器之后逆变器依然是一个“没有惯量”的电压源电网依然握不住它。VSG做的事情就是让逆变器在控制算法里“长出一个虚拟转子”。它在控制环路中植入同步发电机的转子运动方程让逆变器对外表现出惯量、阻尼和下垂特性。储能负责提供短时功率缓冲VSG负责提供“同步机式”的外特性风电场负责注入能量三者各司其职。这里要纠正一个常见误解VSG没有改变风机的物理惯量它改变的是并网变流器的控制外特性——虚拟惯量来自算法而不是来自任何真实的旋转质量。2. 仿真架构与模块划分哪些必须详细哪些可以简化2.1 常用风储拓扑与Simulink主电路实现我见过的大部分“风储VSG”论文模型拓扑都长这样风电机组用直驱永磁同步发电机PMSG机侧整流器先把变频交流整成直流锂电池储能通过双向Buck/Boost变换器挂在直流母线上负责功率差额和母线稳压直流母线再经一台三相两电平逆变器用VSG控制算法并网逆变器出口接LC滤波器、升压变压器、线路阻抗最后接无穷大电源或真实电网模型。在Simulink里这套东西对应的模块很明确PMSG在Simscape Electrical的Specialized Power Systems里可以直接调用整流器和逆变器用Universal BridgeLC滤波用串联RLC分支变压器和断路器都有现成模型。储能电池建议用Thevenin等效模型受控电压源内阻别一上来就上电化学全阶模型没必要。另一种常见拓扑是双馈风机DFIG储能储能接在交流侧或直流侧网侧变流器加VSG控制。DFIG的优势是变流器容量小但模型复杂度高牵引计算多。对刚起步的仿真来说我更推荐先从直驱PMSG干起控制对象集中调试路径短。2.2 简化原则先让VSG站起来再给风机装翅膀这是我最想强调的建模思路。第一版模型千万不要把风速模型、桨距角控制、最大功率跟踪、电池SOC管理等全部塞进去。全塞进去的后果是模型跑不动、仿真速度极慢、出了问题根本不知道是哪个环节引起的。我建议这样做第一版用受控功率源代替风机用一个“风速阶跃→功率阶跃”的简化逻辑模拟风功率变化电池先用受控直流源代替只保留直流母线电容的真实动态。整个模型重点保留直流母线以下的环节——逆变器、LC滤波器、VSG控制、变压器、电网。这样你要验证的VSG惯量支撑、一次调频、并网稳定性全部都在而干扰因素也被暂时隔离开。先把控制环跑通再逐步换回真实风机模型、加入电池DC/DC、引入风速序列。这种从简到繁的过程和做实验时“分离变量”的逻辑完全一致——每一步只引入一个新变量出问题才能精准定位。3. VSG控制链路逐级拆解从摇摆方程到PWM脉冲3.1 有功-频率环与虚拟惯量的数学落点VSG的核心是同步发电机的转子运动方程也叫摇摆方程。机械侧写成[ J\frac{d\omega}{dt} T_m - T_e - D_p(\omega - \omega_0) ]两边同时乘以电气角速度并近似用额定角速度代替就变成功率形式[ J\omega_0\frac{d\omega}{dt} P_{ref} - P_e - D_p\omega_0(\omega - \omega_0) ]实际仿真建模时我更喜欢用标幺形式[ 2H\frac{d\omega_{pu}}{dt} P_{ref,pu} - P_{e,pu} - D_{pu}(\omega_{pu} - 1) ]这里的H就是惯性时间常数单位是秒物理含义是“虚拟转子在额定功率下从静止加速到额定转速所需的时间”。H取2到10秒都是合理范围取值越大虚拟惯量越大频率变化越平缓但恢复也越慢。在Simulink里实现这个环节本质是搭一个一阶惯性加积分有功指令 (P_{ref}) 减实测有功 (P_e)得到失衡功率失衡功率除以 (2Hs D_{pu})得到角频率偏差角频率偏差叠加上额定频率再积分就得到VSG的输出相位 (\theta)。这个 (\theta) 就是三相参考电压的角度直接拿去合成三相正弦波。整个VSG算法里这个积分出来的角度是“自产”的不需要锁相环PLL。这一点和普通PQ并网逆变器有本质区别——VSG是电压源型控制它自己定义相位而不是跟着电网相位跑。3.2 无功-电压环与双闭环电流内环有功-频率环管住了 (\theta)无功-电压环管电压幅值 (E)。典型做法是把无功指令 (Q_{ref}) 与实测无功 (Q_e) 的差经过一个下垂系数或者PI调节器输出叠加到额定电压上[ E E_0 k_q(Q_{ref} - Q_e) ]如果想让电压稳态误差更小就把下垂换成PI如果想让系统更像同步机就保留下垂关系。得到电压幅值 (E) 和相位 (\theta) 之后三相参考电压就是[ v_a^* E\sin\theta, \quad v_b^* E\sin(\theta - \frac{2\pi}{3}), \quad v_c^* E\sin(\theta \frac{2\pi}{3}) ]但只给一个电压参考就完事了吗不够。逆变器出口通常接LC滤波器带LC的电压源如果不加电流内环动态响应会软、短路电流没法控制。所以工程上普遍加一层电压外环电流内环——电压外环把参考电压变成电容电压指令电流内环用PI快速跟踪电感电流最后输出调制波信号去生成PWM脉冲。电流内环在dq坐标系下做解耦控制典型参数先设PI比例系数在0.5~2之间、积分系数在50~200之间后面细调。这里有个经验电流内环带宽要比电压外环高3到5倍否则环路会互相纠缠。3.3 相位、Park变换与预同步的处理很多第一次搭VSG的人习惯性地去电网侧取一个PLL角度来做Park变换这是错的。VSG控制里的Park变换角度必须取自VSG自己那个积分出来的 (\theta)因为参考电压相位就是它你反馈的dq电流、dq电压也必须在同一个坐标系下。并网之前还有一个躲不掉的环节——预同步。VSG空载运行时自己输出一个电压电网也有一个电压两个电压之间往往存在相位差。如果断路器直接合闸相位差会等效成一个巨大的电压差砸在连接电感上瞬间电流冲击值可能到额定值的5倍以上。预同步的做法是检测VSG输出电压与电网电压之间的相位差通过一个PI调节器输出频率修正量 (\Delta\omega)叠加到VSG的频率给定上慢慢把相位拉到和电网一致然后才允许合闸。4. 参数整定与调参一组合格初值加一套调参顺序4.1 从惯量常数反推虚拟惯量J与阻尼系数D参数最怕瞎给。给你一个可操作的推导路径。假设系统基准容量 (S_B 1)MVA额定频率50Hz想要惯性时间常数 (H 2)s那么虚拟转动惯量[ J \frac{2HS_B}{\omega_0^2} \frac{2 \times 2 \times 10^6}{(2\pi \times 50)^2} \approx 40.5 \ \text{kg·m}^2 ]阻尼系数 (D_{pu}) 按下垂率定。如果希望频率偏差1%就对应100%功率调节那么[ D_{pu} \frac{\Delta P_{pu}}{\Delta \omega_{pu}} \frac{1}{0.01} 100 ]如果按传统调速器常规的5%速度下垂率那就取20。初值建议20~100之间具体看你要的调频硬度。D太小频率振荡压不住D太大静态下垂太软频率偏差一大功率就饱和。下面这组参数是我调试多个模型后认为可以直接当起点的初始值参数取值备注基准容量 (S_B)1 MVA全系统标幺基准惯性时间常数 (H)2~4 s越大越“重”阻尼系数 (D_{pu})20~50对应2%~5%下垂LC滤波电感0.5 mH电流纹波和带宽折中LC滤波电容30 μF谐振频率避开载波边带电流环PI(Kp/Ki)1 / 100按样机调电压环PI(Kp/Ki)0.5 / 50带宽低于电流环PWM开关频率8 kHz兼顾损耗与纹波4.2 调参顺序与观察指标调参有顺序别一上来就J、D、电压环、电流环一起动。我的顺序是先调下垂稳态再调惯量动态最后修电压环。具体操作时盯四个量频率偏差、逆变器有功输出、直流母线电压波动、并网冲击电流。常见问题和调参方向整理成表现象可能原因修改方向频率振荡衰减慢阻尼D太小或H太大增大D或适当减小H有功响应太慢H过大减小H但保持RoCoF可接受并网瞬间电流尖峰预同步没做好或合闸太早检查预同步延迟合闸直流母线电压波动大储能功率分配滞后加快DC/DC控制增大母线电容电压波形带毛刺步长太大或LC谐振缩小仿真步长加阻尼电阻5. Simulink搭建实录我踩过的坑和拆坑方法5.1 并网合闸冲击预同步失败的典型现场回到开头那个案例。师弟的模型启动瞬态电流冲到3倍额定我让他把VSG输出电压和电网电压放在同一张示波器里看合闸前两个波形的相位差大约是30度。这个角度对应的电压差加在几毫亨的电感上冲击电流当然大。拆坑方法分三步。第一步给VSG频率给定叠加预同步环的输出用电网电压q轴分量做PI反馈让相位差逐渐收敛到零。第二步把断路器合闸时间设置到预同步完成后比如增加一个“相差小于1度才允许合闸”的逻辑。第三步如果需要更平滑可以在VSG电压幅值上做软启动斜坡让E从额定值的0.7倍慢慢爬到1.0倍。做完这三步启动冲击电流基本可以压到额定值附近。5.2 代数环与数值稳定性两个容易劝退新人的问题Simulink报“Algebraic loop”警告时很多人第一反应是上网搜“怎么消除代数环”其实关键在于理解为什么会产生。VSG控制里瞬时功率 (P_e 1.5(v_d i_d v_q i_q)) 的计算依赖当前时刻的电压电流而电压参考又由 (P_e) 参与生成——这就在一个仿真步长内形成了闭环依赖。解决方法是打碎这个环要么在瞬时功率计算后面加一阶低通滤波让反馈通道带上惯性要么在关键反馈路径上放一个Memory或Unit Delay模块。实际模型里我更推荐加低通滤波因为功率测量本身就应该滤波一举两得。数值稳定性问题通常来自LC滤波器和线路阻抗构成的高频谐振。模型在默认变步长下出现类似“锯齿”的波形时不要急着怀疑控制参数先看步长够不够小。PWM载波8kHz仿真步长至少要低于载波周期的十分之一也就是 (1 \times 10^{-5}) 秒量级。建议在仿真设置里直接指定固定步长 (1 \times 10^{-5})比变步长跑起来更稳定也更容易复现。5.3 直流母线电压失控风储系统的特有坑只做单纯的VSG并网通常不会碰到直流母线失控问题。但一旦把风机接进来就会出现一个新情况风机侧整流器输出的功率大于VSG逆变器送去电网的功率多余的功率就会灌进直流母线电容母线电压持续爬升最后保护动作或者设备损坏。这时候储能的角色就关键了。双向DC/DC变换器要实时检测母线电压电压偏高就转入充电模式吸收多余能量电压偏低就转入放电模式补足功率。在模型里做这个逻辑一点都不复杂但很多人第一版模型忽略了这个功率平衡环节结果怎么调VSG参数母线电压都在飘。记住风储系统里VSG管交流侧频率和电压DC/DC管直流侧功率平衡两个控制环必须同时健康系统才能稳。5.4 理想开关器件的“假象”过流保护必须主动做Simulink里用Universal Bridge配合IGBT做仿真时如果电气参数设置不当仿真算出的电流可以把器件“烧穿”但模型照样继续跑因为仿真不会自动停下告诉你器件坏了。初学者很容易在这里被误导以为自己的控制很稳健。我的习惯是在第一版模型里就加上电流限制器在电流内环输出之后、调制波生成之前加一个饱和环节同时在有功指令 (P_{ref}) 前面也加斜坡限制器防止阶跃指令把电流顶上去。做完这一步之后你再看到任何大电流才能确定是真实动态问题而不是数值爆炸这能为你省下大量debug时间。6. 从基准仿真往哪走进阶扩展与实用经验6.1 参数自适应与混合储能论文热点的两个方向基准模型稳定跑通之后大部分研究型工作会往两个方向延伸。一是虚拟惯量和阻尼参数自适应频率偏差大的时候增大虚拟惯量J提供强力支撑频率偏差接近稳态时恢复较小J避免持续振荡。在Simulink里实现非常直接用一组查表或分段函数根据实时频率偏差调整J就行不需要改控制结构。二是混合储能电池加上超级电容并联在直流母线上。电池负责长期功率平抑超级电容负责VSG瞬态过程中的高频功率冲击。这样既能减小电池的循环应力又能让VSG的虚拟惯量支撑更“有底气”。在做分层能量管理之前先把两个储能支路的DC/DC控制分别跑稳再叠加协调策略。6.2 从仿真到工程验证C代码生成与外部模式的意义如果你后面要接实验平台Simulink模型还有两条关键路径。一条是Embedded Coder把控制算法生成C代码部署到DSP或FPGA。这里有一个必须提前养成的习惯模型从第一天就用离散求解器所有积分环节换成离散积分器因为C代码生成要求全模型离散化连续积分器是无法直接部署的。另一条是Simulink外部模式模型运行在硬件上时可以在宿主机实时调节VSG参数、在线看波形调参效率和纯离线仿真完全不一样。做硬件在环的同学则要把整个主电路放到实时仿真机里跑控制板跑真实代码步长通常在10微秒量级这对模型离散化程度要求更高。6.3 关于结果对比与论文表述的实在建议最后说点写论文或做汇报相关的体会。做仿真验证时一定要有控制变量意识。同一套模型至少跑三组对照电网故障/负荷突变下无VSG的PQ控制、有VSG控制、VSG参数改变后的响应。记录三个指标频率最大变化率RoCoF、频率最低点、频率恢复时间。这三组数据放在一张图里VSG的惯量支撑作用一目了然审稿人或导师也能最快抓到你的贡献点。如果你也正被导师安排做风电或储能并网的仿真任务我的建议是从一个简化但完整的风储VSG模型开始——风机用功率源代替、储能用直流源代替、控制环只保留VSG核心和电流内环先把它跑稳再一步步往里面加真实模型。这个路径我走过也帮几位师弟走过虽然慢但每一步的坑都能看清楚、拆得掉最后拿到手的模型才是真正属于你自己的。
返回列表