ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

风光储并网协同运行Simulink仿真模型构建与实现

风光储并网协同运行Simulink仿真模型构建与实现 风光储并网协同运行翻译成人话就是把风、光、储能三个东西绑在一块共同稳定地往电网上送电。这两年做新能源项目的人应该都有感触单独搞风电或者光伏已经不算新鲜了真正的难点在于“协同”——风一停、云一来出力跟着剧烈波动电网那边考核的是并网点功率的平滑度、电压频率的稳定性这活儿单靠某一台设备根本干不了必须让储能出来兜底。所以针对这个场景做一套Simulink仿真模型不光是学术论文里的标配更是工程前期方案验证的刚需。下面我把这套模型从架构设计、单元建模、协同控制到参数整定的完整思路拆开讲全程以实操为主直接照着搭就行。1. 整体设计思路与系统架构1.1 为什么选永磁直驱风机而不是双馈异步机在风光储这个系统里风机选型是第一道选择题。市面上主流的两种方案是双馈异步风机DFIG和永磁直驱同步风机PMSG。我见过不少人一开始习惯性选DFIG理由是比较熟、资料多。但在这个场景下PMSG明显是更合适的第一PMSG没有齿轮箱直驱结构故障率低在仿真里就不用去模拟齿轮箱的机械动态特性模型复杂度直接降一档。第二永磁同步电机通过全功率变流器并网电机侧和电网侧是解耦的电网电压跌落、频率波动对发电机本身的冲击小这在弱电网场景下很有优势。第三也是对于建模最关键的一点——PMSG的控制自由度更高。因为是全功率变流器机侧和网侧可以单独控制机侧管转矩和转速网侧管直流母线电压和无功功率这个天然的解耦结构让后续的协同控制实现起来容易得多。当然DFIG也有它的价值比如容量大、成本低在一些大规模风电基地里仍然是主流。但如果你做的是风光储一体化的示范项目、微电网或者分布式能源系统容量等级一般在几十千瓦到几兆瓦这个区间PMSG的全功率变流器方案在这些场景下适应面更广。1.2 光伏阵列在这个系统中的定位光伏和风电是一个很好的互补组合白天光照强的时候往往是风力较弱的时间段晚上风大的时候又没有光照二者在时间尺度上有天然的错峰效应。所以在风光储系统里光伏不是配角而是和风电平起平坐的主力电源。光伏阵列建模的核心就是那个非线性I-V/P-V特性曲线。要模拟出这个曲线最常用的办法是工程数学模型——通过开路电压、短路电流、最大功率点电压和最大功率点电流这四个厂家铭牌参数反推模型方程里的系数。这个模型的精度满足工程研究完全够了而且不需要去查电池内部物理参数省事得多。需要注意的是光伏组件的温度和光照强度对输出功率的影响是非线性的尤其温度一高开路电压掉得很明显最大功率点电压也会跟着偏移。所以在Simulink里建光伏模型的时候一定要把光照和温度作为可变的输入端暴露出来别做成定值。后面做协同控制的时候光照突变是测试储能响应速度的一个重要扰动源。1.3 储能系统——整个协同的关键操盘手储能系统在风光储里的角色定位不是简单的“备用电源”而是承担着功率平衡和波动平抑的核心职能。风和光都是靠天吃饭的储能是这里面唯一一个人为可控的功率源它能吸收多余功率也能补充缺额功率是让整个系统出力曲线变得平滑的关键。电池储能系统BESS的建模分两层一层是电池本体模型另一层是双向DC-DC变换器及其控制器。电池本体模型在Simulink里最常见的是用受控电压源加内阻的等效电路模型荷电状态SOC通过安时积分法实时估算。这套模型计算量小能够基本反映电池在充放电过程中的电压变化特性对于系统级研究来说够用。如果你想做得更细可以加RC网络模拟极化效应但会在实时仿真时拖慢速度稳定性也会变差这点需要自己权衡。双向DC-DC变换器是储能接入直流母线的主要方案Buck模式给电池充电Boost模式电池放电升压控制上就是一套带前馈的电流内环电压外环双闭环结构。这部分是储能系统建模的核心双闭环PI参数的整定直接决定了母线电压在功率突变时能不能稳住。1.4 系统拓扑共直流母线架构的优势三次能源单元的连接拓扑直接决定了控制策略怎么设计。目前常见的方案有两种一种是共交流母线方案每个单元各带一台逆变器共同挂在一段交流母线上再统一升压并网。好处是各单元物理隔离好故障不容易互相影响缺点是设备多、成本高、系统造价高。另一种是共直流母线方案——光伏阵列通过DC-DC变换器接直流母线储能通过双向DC-DC接直流母线永磁风机通过机侧整流器把交流变成直流也接到同一条直流母线上然后母线统一经一台网侧逆变器并入电网。我强烈建议你做风光储并网研究时采用共直流母线架构。原因有三点只需一台并网逆变器设备成本低、控制对象少、系统运行损耗低。所有单元共享同一个直流母线电压功率协调本质上就变成了“电压跟踪”问题逻辑很清晰:哪个单元该出力多少完全由各自的控制器对母线电压的响应决定。后续做扩展比如加柴油机、加氢燃料电池甚至直流负荷只要再挂一个DC-DC端口就行架构不需要大改。我自己做过的模型就是共直流母线650V母线电压风机额定功率30kW光伏额定30kW储能电池容量按2小时配置也就是可以支持系统满负荷运行2小时后文所有参数都围绕这个来展开。2. 三大核心单元的Simulink建模解析2.1 永磁风机发电机的完整建模风机的模型在Simulink里不是一个单独的模块而是一个由多个子系统拼起来的组合体。整个PMSG发电单元可以拆成四个子系统风速模型、风力机气动模型、永磁同步电机与机侧整流器、网侧逆变器。风速模型一般用四分量模型基本风、阵风、渐变风和随机风。实际仿真时重点考察的是一个叫“湍流风”的分量因为它能产生连续的高频波动是测试储能平抑能力的最佳激励信号。Simulink里实现起来很简单基本风给个常数值阵风和渐变风用时间函数构造随机风用带限白噪声加一阶惯性滤波实现。风力机气动模型的核心是那条著名的功率公式Pm 0.5ρπR²V³Cp(λ,β)其中Cp是风能利用系数λ是叶尖速比β是桨距角。Simulink里需要把这个非线性函数封装成MATLAB Function或者查表模块。最大功率追踪MPPT的本质就是通过控制转速让λ始终保持在最优值附近从而让Cp保持最大值。机侧整流器的作用有两个一个是把永磁电机发出的可变频率交流电整流成直流更关键的是通过控制电机的q轴电流分量来调节电磁转矩进而控制转速实现最大功率追踪。在这里我用的是零d轴电流id0控制策略这是表贴式永磁电机最经典的控制方案实现简单虽然没有充分利用磁阻转矩但对于中小型永磁风机来说完全够用。网侧逆变器在共直流母线结构里其实承担着全系统并网的职责不只是风机自己的。它的控制采用电压外环加电流内环的双闭环结构外环控制直流母线电压内环控制并网电流的d轴和q轴分量前者决定有功功率交换后者控制无功功率。2.2 光伏阵列的工程数学建模与MPPT控制光伏阵列的建模我强烈建议不要直接找Simulink自带的那个“PV Array”模块虽然它能用但它封得太死光照和温度的扰动测试做起来不方便。自己用MATLAB Function写一个工程数学模型反而更好用。工程数学模型的核心就是把I-V曲线方程简化为只需要四个参数的版本这四个参数全部来自光伏组件的铭牌开路电压Voc短路电流Isc最大功率点电压Vmp最大功率点电流Imp在标准工况光照1000W/m²温度25°C下这四个参数是已知的。当工况偏离标准条件时需要根据光照和温度的变化对这四个参数做修正修正系数一般取工程经验值具体在Simulink里就是一组代数运算。MPPT算法我优先推荐扰动观察法PO因为它不需要知道光伏阵列的具体参数通用性极强。但在实现的时候有一个关键细节扰动步长的选择。步长太大稳态时功率振荡幅度会很大导致直流母线电压跟着波动步长太小跟踪慢在光照快速变化时会有明显的功率损失。工程上是建议光伏MPPT的步长取额定电压的1%左右跟踪周期设在0.01秒到0.02秒之间综合效果最好。当你把光伏输出直接接在共直流母线上时MPPT算法算出来的参考电压还要经过一个电压环控制器再去控制Boost变换器的占空比而不是直接用MPPT的输出去控制占空比。有些新手会在这里犯错误占空比直接被MPPT输出接管结果母线电压剧烈振荡根本稳不住。2.3 储能电池模型与双向DC-DC控制细节电池模型的充电状态SOC计算用的就是安时积分法SOC SOC0 - (1/Cap)∫Ibatt dt。这个公式看着简单但如果仿真时长拉得很长积分误差会累积所以要在积分器上加一个上下限限幅器防止SOC超过0到100的范围造成模型跑飞。双向DC-DC变换器的建模有个很有意思的地方它不需要真的做两套变换器模型只需要一个通用模型通过控制开关管的导通顺序来切换工作模式。Simulink里实现方式有两种一种是直接用电力电子开关器件搭建用的是MOSFET和二极管另一种更推荐的地方是用平均值模型用受控电压源和受控电流源来等效补偿变换器的行为特性。如果你的研究重点是风光储的功率协调策略、并网电能质量这些系统级问题完全可以采用平均值模型计算速度快、数值稳定性好。只有在研究DC-DC本身的纹波、开关损耗等细节问题时才需要用详细的开关模型。这一点很多人没有意识到用开关模型跑系统级长时间仿真仿真步长被迫压到微秒级跑一个24小时含秒级风速光照数据的仿真要跑到怀疑人生。储能双侧闭环控制逻辑如下外环直流母线电压给定与实际值比较误差经过PI控制器后生成电池电流参考值。内环电池电流实测值与参考值比较经过另一个PI控制器后生成占空比指令。模式切换逻辑电压低需要放电时运行Boost模式母线电压高需要充电时运行Buck模式。3. 风光储协同运行的核心控制策略3.1 各单元的常规控制策略梳理先理清层次仿真模型里各单元的控制器都是独立的放在一起容易打架。要先给每个单元定清楚它在系统里的角色风机机侧整流器——控制风机转速执行风能最大功率追踪。光伏Boost变换器——控制光伏工作点执行MPPT。储能的DC-DC——控制直流母线电压平抑风光的功率波动。网侧逆变器——控制并网有功/无功功率维持交流侧电网电压和频率稳定。在这个体系里有一个很多人会撞车雷同的关键点在只有一个直流母线的架构里母线电压的稳定必须有一个单元来“挑大梁”。光伏和风机都在做MPPT它们的输出功率完全由外部资源决定不可能也不应该去控制母线电压。所以稳定母线电压这个任务只能落到储能上储能控制直流母线电压风电光伏干自己的MPPT网侧逆变器干自己的并网控制三个角色各司其职。3.2 为什么功率协调比“三个独立控制”更重要你可能会说“三个单元各自控制好了系统自然就稳了。”这个想法在稳态工况下没问题偏偏在动态工况下会出麻烦。典型场景如下光照突然从1000W/m²掉到400W/m²光伏输出功率瞬间掉了60%。如果三个单元各自独立控制储能的外环电压控制器会检测到母线电压下降然后缓慢加大放电电流这个响应过程通常需要上百毫秒。而这期间母线电压已经跌出了允许范围。那怎么办需要在储能控制器里引入功率前馈环节。具体做法是把风电和光伏的实际输出功率实时求和用这个总功率信号来预估母线电压的变化趋势。当检测光伏功率快速下降时储能控制器根据功率变化量提前调整充放电电流参考值母线电压的波动幅度能减少一半以上。这就是为什么系统级协同控制的精髓在于“前馈反馈”的结合而不是简单地把几个独立控制器放在一起。3.3 储能SOC的越限管理与出力调度的两层联动储能系统有一个硬约束就是SOC不能越界。过充会损坏电池过放同样会缩短电池寿命这块在系统级控制里绝对不能忽视。我做的系统里SOC管理分两层实现第一层是本地保护层当SOC高于95%时强制停止充电低于10%时强制停止放电。这个逻辑直接在DC-DC控制器的内部实现保证即使上层协调策略出了故障电池本体也不会出大问题。第二层是协调调度层当SOC接近边界时系统要主动限制风光出力而不是等到越限再保护。举个例子SOC到了85%以上如果光伏还在满功率MPPT运行电池很快就会充满之后多余的能量无处可去直流母线电压就会飙升。这时候要从光伏的MPPT模式切换为恒压限制模式主动降低光伏输出功率给电池留出充电裕量。这种“本地保护兜底、上层协调提前动作”的两层联动结构是实际工程项目里非常主流的做法在仿真模型里也建议按照这个层次去做。3.4 离网切换与并网模式的无缝过渡有些研究课题不只要做并网运行还要考虑电网故障时转入离网运行模式。风光储系统离网运行时网侧逆变器就不能再以电网电压为参考进行PQ控制了而是要切换成V/f控制模式——由逆变器自己撑起交流母线的电压和频率。在Simulink里做这个模式切换需要处理好两件事一是切换信号要干净用Step模块加延迟逻辑生成一个Mode信号切换瞬间要检测交流母线电压的相位角度让逆变器的输出相位在切换后不产生突变否则会产生电流冲击。二是离网运行状态下储能要从“控制直流母线电压”切换为“控制交流母线电压和频率”这相当于储能从直流侧的主导者变成交流侧的主导者。风电光伏的MPPT策略可以继续维持但要在功率盈余接近储能极限时限制它们如果储能容量有限到一定电量就要做甩负荷。我实测过模式切换最容易出问题的地方在于交流侧的电流内环和电压外环在并网和离网两种模式下参数不同切换瞬间PI控制器的积分器里残留的误差会导致电压超调。所以在切换的时候要把PI控制器的积分器清零然后再把输出接入系统。4. 全模型搭建流程与关键参数配置4.1 Simulink模型结构与模块选型建模型之前先规划好层次结构。我的做法是顶层模型分割成四个独立子系统分别命名Wind_Turbine_System、PV_System、Battery_Energy_Storage、Grid_Connected_Inverter每个子系统内部再分控制部分和主电路部分。这样做的好处是调试的时候可以单独打开每个子系统进行局部仿真不用每次都跑全系统。模块选型上建议列表如下风速模型用Signal Builder做曲线也可以用Random Number加低通滤波组合风机气动模型MATLAB Function封装Cp计算函数永磁同步电机Simulink自带PMSG模块参数按实际电机铭牌设置光伏阵列自定义MATLAB Function工程模型电池自带Battery模块选Lithium-ion类型双向DC-DC平均值模型用受控源实现网侧逆变器Universal Bridge选IGBT二极管组合PI控制器用Simulink自带的PID Controller模块启用积分限幅4.2 系统关键参数配置参数设计原则是“从额定功率反推各级参数”不要一个个孤立地设。这里我列一套可以参考的参数体系母线电压方面选定直流母线额定电压650V母线支撑电容C6000μF。电容值的选择要考虑母线电压纹波允许范围母线电容越大电压在功率突变时波动越小但过大又会影响动态响应速度这个需要仿真时做几次调整再确定。风机侧参数方面风机额定功率30kW额定风速12m/s风轮半径5mPMSG额定电压380V极对数20定子电阻0.5Ωd轴电感8mHq轴电感8mH永磁磁链0.8Wb。机侧整流器的开关频率设为5kHz。光伏侧参数方面光伏阵列额定功率30kW每个组件开路电压45V、短路电流5A、最大功率点电压36V、最大功率点电流4.5A采用每串22个组件、并联10串峰值总功率约32kW。Boost开关频率10kHz。储能侧参数方面电池额定电压480V容量按2小时满功率放电配置即60AhSOC初始值设为50%充放电控制器的内环PI参数在Simulink里直接通过自动整定工具生成初值再手动微调。电网侧参数方面电网线电压380V/50Hz并网逆变器交流侧滤波电感2mH滤波电容10μF开关频率5kHz。PI控制器的参数整定思路这里多说一句不要指望一次就能设好。先做内环再做外环内环用带宽法初定一个比较保守的数值外环带宽比内环低一个数量级左右。然后在阶跃扰动下逐步增大比例系数观察系统响应速度最后再加积分系数消除稳态误差。这个顺序在实际工程里是通用的。4.3 联合调试的标准流程联合调试别一上来就全系统一起跑出了问题很难定位。我建议按以下顺序分步走第一步单独调试风机子系统。给一个恒定的12m/s风速检查风机的输出功率是不是接近额定值30kW机侧整流器能不能在0.5秒以内稳定住直流母线电压。第二步单独调试光伏子系统。用恒定光照1000W/m²和25°C温度把光伏Boost输出接到一个阻性负载上验证MPPT是否收敛到最大功率点附近观察稳态功率波动是否小于2%。第三步单独调试储能子系统。只接储能和直流母线给母线电压一个阶跃扰动看储能控制器能不能在0.2秒以内把母线电压拉回650V的参考值。第四步把风机和光伏接入记录总的功率波动曲线看看波动有多剧烈。第五步接入储能观察功率波动是否被明显平抑直流母线电压波动幅度是否从原来的±30V缩小到±5V以内。第六步接入电网逆变器观察并网电流的谐波含量和功率因数是否满足要求。这套流程看起来很笨但恰恰是最稳妥的。我见过太多人把整个模型搭完一跑结果波形发散根本不知道是哪个环节的问题最后只能一点点拆开排查白白浪费大量时间。5. 典型问题与排查技巧实录5.1 Bus Selector选不到信号这是新手在地级和以下建模时最经常遇到的问题。Bus Selector弹出后列表是空的选不到任何信号也很容易让人在联合仿真时卡壳。出现这个问题的情况说简单也简单在Bus Selector前面那条信号线上没有成功创建Bus对象。很多人在连接模块时信号线是普通的线缆线样式并不带Bus属性于是Bus Selector自然看不到内容。排查方式如下先确认上游模块的输出端口是否设置为Bus类型输出检查信号线是否显示为粗线样式也就是Bus信号线。如果确实需要可以用Bus Creator模块手动把信号打包成Bus再接Bus Selector就能看到可用信号列表了。5.2 系统接入储能后直流母线电压低频振荡我先遇到过一次很典型的现象单独带光伏或单独带风机都很正常一接上储能母线电压开始以0.5Hz左右的频率振荡。后来排查定位到是储能外环PI参数出了问题更准确地说是比例系数取得过大、积分系数又偏小导致电压环的动态响应过快、产生振荡。处理办法是将母线电压外环的比例系数下调到原来数值的50%左右积分系数适当上调让响应频率错开与直流母线电容形成的二阶谐振频率。另外一个有效办法是给电压反馈通道加一个低通滤波器截止频率设在100Hz左右滤掉高次谐波后环路稳定性明显改善。5.3 光照突变时母线电压瞬间崩溃这个故障一般出在MPPT追踪速度跟不上光照变化速度的场景里。光照从800W/m²突降到200W/m²光伏电流骤然下降如果储能控制器没有快速补偿母线电容能量被逆变器抽干电压就会一路下跌最终断开连接。解决这个问题的办法我之前已经提到过加功率前馈。在储能控制器里引入光伏和风机的实时总功率信号当检测到功率下降速率超过设定阈值时直接给储能电流参考值加一个补偿量不用等电压跌落再反应。实测下来加了前馈之后母线电压的暂态跌落深度能降低50%以上。5.4 安时积分法SOC漂移带来的模型精度问题SOC计算用的安时积分法在长时仿真中会出现积分漂移这个在Simulink里表现成SOC涨到100多或者跌到负数后面算法一看SOC不对就直接限制了输出功率。解决办法主要有两种一是给积分器加限幅器把SOC限制在0到100之间还有一种更讲究的做法是每隔一段时间对SOC进行校准模拟真实BMS里根据开路电压修正SOC的逻辑这样模型长时间运行的精度会明显好一些不过仿真里第一种办法已经够用了。5.5 仿真速度过慢的优化系统模型包含多个电力电子变换器如果用详细开关模型仿真步长会被限制到1微秒以下跑10秒仿真场景耗时可能超过十分钟长时研究根本做不了。优化方案分几个维度能用平均值模型的地方就不用开关模型储能DC-DC和逆变器的研究场景足以用平均值模型代替。把载波频率的采样步长放宽Simulink求解器选择离散求解器固定步长设在50微秒对于几十赫兹的电压电流控制环路来说精度已经完全够用。考虑把高频电力电子开关器件替换成受控源等效模型运行速度可以提升10倍以上代价是放弃纹波分析能力。取舍原则是先跑通系统级指标需要细节分析时再切换回详细模型单独研究。5.6 光伏与风机功率极低时段储能SOC越限系统长时间运行中可能遇到连续阴天加无风天气风光出力几乎为零储能持续放电SOC一路跌到下限。这个场景是实际工程中很常见也很棘手的问题在仿真里会表现为SOC到10%后被强制切断放电系统母线电压失稳。处理这个情况需要通过上层能量管理系统来配合当预测到储能SOC低于30%且风光资源都不足时要对负荷侧发出降功率请求或者从电网侧汲取功率补充。在Simulink模型里这个逻辑可以做成一个状态机正常运行模式、SOC告警模式、SOC越限模式不同模式切换不同的控制策略。6. 实操中的几个细节习惯最后分享几个我做这类模型时积累下来的习惯虽然看着都是小事但它们能够在关键时刻省下不少调试时间建议把每一组PI参数都以参数变量的形式在Model Workspace里定义把它们集中在一个脚本里管理。这样改参数不需要打开模型去逐个寻找模块而且可以对比不同参数组的仿真结果。配合Simulink的SimInput可以批量跑参数扫描一次性比较不同整定方案的响应曲线。模型的每个子系统都要做引脚标注。一开始省时间不标注后面改模型找不到端口变量的时候就得按模块找反而更浪费时间。关于版本兼容如果之前是R2020a及以下版本建的模型在更新版本的Simulink中打开经常出现模块替换提示最典型的是部分旧版本电力电子模块在新版本中被重构了。处理办法是先做一个最小系统做兼容性测试确认无误再迁移完整模型不要直接打开就埋头继续往下开发否则很可能要花大量时间处理模块兼容问题。在我实际做下来的整体感受是风光储并网协同运行的Simulink模型如果你把每个单元当成独立的小项目来做难度并不高但如果你把它当做一个各单元紧密关联的系统来做难度就会体现在协调层的设计和动态响应性能的优化上。储能不是独立的一块而是整个系统功率平衡的腰眼子控制好了储能整个系统就稳了一半。这套模型跑通后你后续想往多场景扩展比如把柴油发电机加进来做混合能源微电网、把电动汽车充电桩当成灵活负荷加进来做有序充电仿真都只是在现有骨架上“多挂设备”的事架构不用推倒重来——这也就是前期把协同控制想清楚的长期价值所在。
返回列表