尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

光伏储能微电网Simulink建模与仿真:从拓扑到控制策略

光伏储能微电网Simulink建模与仿真:从拓扑到控制策略 这两年问光伏储能微电网Simulink模型的人特别多有学生、有同行甚至还有做设备选型的工程狗。问的人一多问题反而集中了直流母线电压怎么稳光伏和储能的控制器各管哪一段并网切离网那一瞬间波形为什么总跳这些问题拿实物去验证成本太高也危险所以一套结构清晰、可复现的Matlab/Simulink仿真模型就成了研究微电网运行特性最实在的起点。如果你已经会用Simulink的基本模块但真要搭一套“光伏储能交直流混合母线”的完整微电网模型时容易遇到几个坎不知道从哪里开始搭、控制器参数怎么调、模型一跑就发散。这篇文章我不讲基础操作只讲一套能跑的、带控制逻辑的仿真模型是怎么从零搭起来的以及搭的过程中哪些地方容易翻车、翻车了怎么修。1. 交直流混合微电网的总体架构与仿真需求拆解1.1 为什么选交直流混合拓扑纯交流微电网的文献一堆纯直流微电网也很好搭但实际工程里两个都存在工厂里变频器、LED照明、服务器设备都是直流负荷传统电机、空调压缩机又必须用交流。如果只用一条交流母线直流负荷得一个一个加AC/DC变换器如果只用直流母线交流设备也得挂逆变器。与其两头受罪不如做成交直流混合母线——直流设备接直流侧交流设备接交流侧中间用一台双向AC/DC变流器做能量交换。这个拓扑的好处是减少一次变流环节系统效率高控制上也灵活是这几年微电网研究里很主流的方向。1.2 模型的顶层结构设计我搭这套模型时采用典型结构直流母线电压设为800V交流母线电压380V/50Hz。光伏阵列通过Boost变换器进入直流母线锂电池组通过双向Buck/Boost变换器接入直流母线直流母线再经过三相双向AC/DC变流器连接交流母线交流母线上挂交流负荷和并网开关。直流母线侧挂直流负荷。这套结构里的关键设计选择是800V直流母线电压它对应380V三相交流系统整流后的电压等级既能满足双向变流器的正常工作范围又给Boost留出了足够的升压空间。如果母线电压选得太低双向变流器在逆变模式时输出会畸变选得太高功率管耐压和电容成本又上去。模型参数我常用这套稳定性和动态响应比较均衡组成部分关键参数/模型连接位置光伏阵列260W×20块串联总功率5.2kWVmp约628VBoost输出至直流母线Boost变换器开关频率10kHzPV→直流母线锂电池组额定电压360V容量50AhSOC初始80%双向DC/DC→直流母线双向DC/DCBuck/Boost两象限开关频率10kHz电池→直流母线双向AC/DC三相两电平VSCLCL滤波直流母线↔交流母线交流负荷三相RL负荷3kW1kVar交流母线直流负荷恒功率负荷2kW直流母线并网开关三相断路器交流母线→电网1.3 这套模型能回答哪些研究问题不是所有微电网问题都需要这套模型但它至少能支撑三类研究第一类是光伏出力波动对母线电压的影响例如云层遮挡导致光照骤降时储能如何补功率差第二类是负荷投切时的动态响应比如直流侧突然甩掉一个大负荷交流侧有没有电压闪变第三类是并网转离网和离网转并网的暂态过程模式切换时功率震荡怎么抑制。如果说你重点关注的是电池SOC管理策略、下垂控制系数优化或是故障穿越特性也可以在这个框架上扩展。总之一开始就把模型搭成模块化结构后面改哪一块都方便不至于牵一发动全身。2. 光伏单元建模PV阵列数学模型与BoostMPPT闭环2.1 光伏电池数学模型的选择光伏阵列在Simulink里有两种搭法一种是直接用Simscape Electrical里的PV Array模块参数面板会列一串厂商数据表你填开路电压、短路电流、最大功率点电压电流就行另一种是自己写单二极管方程用MATLAB Function块或Simscape语言建数学模型。我推荐用现成的PV Array模块但前提是你得懂它背后的单二极管模型方程不然设置参数时很盲目。单二极管模型的核心方程如下[ I I_{ph} - I_0 \left[ \exp\left(\frac{V IR_s}{aV_t}\right) - 1\right] - \frac{V IR_s}{R_{sh}} ]其中( I_{ph} ) 是光生电流随光照强度线性变化( I_0 ) 是反向饱和电流随温度变化( R_s ) 是串联电阻主要反映接触电阻和体电阻( R_{sh} ) 是并联电阻反映漏电流路径( a ) 是二极管理想因子( V_t ) 是热电压等于 ( kT/q )。不同光照和温度下I-V曲线就从这个方程演化出来。PV Array模块内部就是这个模型你只需要填写标况下的参数模块会根据光照和温度自动计算新工况下的特性。2.2 MPPT控制算法的实现细节MPPT最大功率点跟踪是光伏侧的核心。最常用的算法是扰动观察法PO和电导增量法INC。我在模型里用扰动观察法居多因为它实现简单、计算量小、在稳态光照下跟踪精度足够。逻辑是这样的周期性地给光伏电压一个微小扰动如果扰动后功率增大说明MPP在这个方向继续同方向扰动如果功率减小就反向扰动。用MATLAB Function块实现时代码的核心逻辑大概是function D mppt(Vpv, Ipv, D_prev, P_prev, V_prev, step) P Vpv * Ipv; deltaP P - P_prev; deltaV Vpv - V_prev; if deltaP 0 if deltaV 0 D D_prev step; % 继续增大占空比 else D D_prev - step; % 反向减小占空比 end else if deltaV 0 D D_prev - step; % 功率下降反向 else D D_prev step; end end end这里有几个工程细节值得注意。步长step的选择很关键步长太大MPPT会在最大功率点附近持续震荡功率波动明显步长太小跟踪速度慢光照快速变化时光伏响应跟不上。我实测常用的步长在0.001~0.005之间对应占空比扰动。Boost开关频率设在10kHz时MPPT采样周期给0.01s比较合适既能跟上光照变化又不会和高频开关噪声混在一起。实际运行时还要对占空比做限幅通常限制在0.1~0.9之间防止光照很低或开路时占空比失控导致Boost输出过压。2.3 串并联设计与MPPT的局限性光伏阵列的组串设计要和直流母线电压匹配。以260W组件为例Vmp约31.4V20块串联后Vmp约628VBoost正常运行占空比约 ( D 1 - V_{PV}/V_{bus} 1 - 628/800 ≈ 0.215 )这个占空比处于Boost效率较高的区间。如果串联数太多导致Vpv接近甚至超过母线电压Boost就失去升压能力了。这里必须提一下MPPT的一个常见认知误区它只在光伏阵列输出电压在允许范围内时有效。当部分遮挡导致I-V曲线出现多峰时传统的单峰MPPT算法容易陷入局部最大值会损失10%~30%的发电量。如果研究场景涉及遮阴需要改用粒子群等全局搜索算法或者把阵列设计成多个组串每串独立MPPT。如果只是做常规并网/离网工况仿真单峰扰动观察法足够了不需要一上来就上复杂算法。3. 储能单元建模电池模型与双向DC-DC的充放电管理3.1 电池模型选型与参数设置储能侧的建模核心是电池模型。Simulink自带的Battery模块支持锂离子、铅酸、镍氢等类型我用锂离子最多。模块内部是基于Shepherd模型输出电压由开路电压和内阻压降构成同时考虑了SOC和温度修正。电池组参数要根据直流母线电压和系统功率来定母线800V电池组额定电压360V再通过双向DC/DC升压到800V。容量50Ah对应系统功率5~10kW等级的微电网能支撑半小时以上的满载运行。SOC初始值我一般设为80%给后续充放电都留出裕量。有一个参数我反复强调电池内阻设置不能太理想化。默认值有时候给得很小仿真波形会很漂亮但真实电池内阻会随SOC变化。你如果发现直流母线电压在负荷突变时纹波特别小、几乎没动态过程先别高兴很可能是内阻值太小掩盖了问题。我一般会在电池参数里手动填入合理的等效内阻值锂离子电池组大约在0.1~0.3欧姆左右具体看DOD状态。3.2 双向DC-DC变换器的控制策略储能变换器的控制逻辑是母线电压稳定性的核心。双向Buck/Boost变换器工作在双向电流模式电池放电时变换器工作在Boost模式能量从电池侧流向母线侧电池充电时工作在Buck模式能量从母线侧流向电池侧。控制策略采用传统的双闭环结构外环是直流母线电压环输出是电池电流的参考值内环是电流环控制电池电流跟踪参考值。实际操作中我的控制器调试顺序是先整定电流内环再整定电压外环。电流内环的PI参数直接影响响应速度Kp取0.5~2Ki取50~200标幺值体系通常能保证几个毫秒内完成电流响应。电压外环的带宽要低于电流内环一般为电流环的1/5到1/10所以Kp取2~10Ki取50~500具体看母线电容大小。3.3 SOC管理策略SOC管理的目的很直接防止电池过充和过放延长电池寿命。我的做法是在控制逻辑中加入SOC区间判断SOC区间控制行为SOC 20%强制禁止放电电池只允许充电20% ≤ SOC ≤ 90%正常充放电由母线电压外环决定功率SOC 90%限制充电电流逐渐切到恒压充电SOC 95%强制禁止充电防止过压这些判断逻辑可以用Stateflow状态机实现也可以用MATLAB Function块的if-else分支实现。我倾向于用Stateflow因为在后面加并网/离网切换状态时会统一管理所有运行模式状态之间的转换条件和时序一目了然。要提醒的是SOC的累计积分需要小心处理Simulink的积分器在仿真初始时刻会有偏差建议先稳定运行几秒再让SOC管理逻辑生效否则初始条件可能导致误判。4. 双向AC/DC变流器控制并网PQ与离网V/f的切换4.1 三相两电平VSC的基本建模双向AC/DC变流器是交直流母线的桥梁也是整个微电网控制里最讲究的一块。Simulink里搭建采用三相两电平VSC六个IGBT反并联二极管组成三相桥臂交流侧通过LCL滤波器连接交流母线直流侧直接接800V直流电容。dq旋转坐标系下的数学模型是控制器设计的基础。经过Park变换后交流侧电流在dq轴上的动态方程为[ L\frac{di_d}{dt} -Ri_d \omega Li_q v_{d_PCC} - u_d ][ L\frac{di_q}{dt} -Ri_q - \omega Li_d v_{q_PCC} - u_q ]其中 ( u_d )、( u_q ) 是变换器输出的dq轴电压( v_{d_PCC} )、( v_{q_PCC} ) 是并网点电压。从公式可以看出d轴和q轴之间存在耦合项 ( \omega Li_q ) 和 ( -\omega Li_d )所以实际控制器的电流环会加前馈解耦项来消除耦合同时把并网点电压也作为前馈。4.2 并网模式下的PQ控制并网运行时微网电压和频率由大电网支撑双向变流器只需要控制从电网吸收或注入的功率即可。PQ控制采用功率外环和电流内环的级联结构有功外环输出d轴电流参考值无功外环输出q轴电流参考值电流内环跟踪这两个参考值输出PWM调制波。PLL锁相环是并网模式的命脉。它的作用是把并网点电压的相位锁出来作为所有dq变换的参考角度。如果PLL参数没调好d轴和q轴会互相污染导致有功无功解耦失效。我常用的PLL带宽设在十几到几十赫兹用PI控制器来调。调PLL有个技巧先在空载并网状态下看dq轴电压波形如果d轴电压稳定在一个常数附近、q轴电压接近零说明锁相正确如果q轴电压有低频震荡多半是PLL带宽过高或PI参数过冲。4.3 离网模式下的V/f控制离网运行时交流侧是大电网断开的孤岛双向变流器必须自己建立电压和频率这时控制策略切换为V/f控制。V/f控制本质是两个回路电压外环维持PCC点电压幅值恒定内环电流环保证负载电流跟随。频率则直接由内部参考信号决定通常给定50Hz正弦波参考。离网模式下负载变化时变流器需要快速跟踪负载电流所以电流环带宽要足够高。我这里用PI参数整定公式估算电流环带宽取开关频率的1/10到1/20如果开关频率是10kHz电流环带宽约500~1000Hz电压环带宽再降一个量级约50~100Hz。4.4 模式切换与预同步模式切换是整个微电网模型里最容易出问题的地方。从并网切离网时如果直接断开并网开关交流母线电压会瞬间失去电网支撑如果没有提前准备好离网控制电压会塌掉。反过来从离网切并网时如果变流器输出电压与电网电压不同步直接合闸会产生很大的冲击电流轻则触发保护重则跳过仿真。我的做法是设计一个预同步模块。离网转并网时先检测电网电压幅值、频率和相位然后调整变流器输出电压的幅值和相位使两者的差逐渐减小到允许范围内再发合闸指令。简单实现的话用PLL分别锁出两边电压的相位差经过PI调节器输出一个频率修正量加到V/f控制的频率参考上。这个过程的调节时间一般控制在0.1~0.2秒左右太快容易超调太慢则影响系统响应。5. 运行模式切换逻辑与全系统仿真结果验证5.1 模式切换逻辑的状态机设计整套微电网系统至少要包含两个主状态并网模式Grid Connected和离网模式Islanded。考虑到光伏和储能的出力逻辑在不同模式下要求不同我建议在Stateflow里再细分几个子状态状态名说明光伏控制储能控制双向变流器Grid_Nomal并网光伏满发MPPT母线电压稳定/平滑光伏波动PQ控制定功率Grid_SOC_Low并网SOC过低MPPT从电网吸收功率充电PQ控制功率参考为负Island_Nomal离网光伏满足负荷MPPT多余光伏给电池充电V/f控制Island_SOC_High离网电池满电降功率运行停止充电V/f控制切换条件主要看三个信号并网开关状态、SOC边界、光伏出力是否大于本地负荷。一个容易忽略的细节是并网切离网的瞬间V/f控制器应该接管交流电压但此时交流母线电压相位还是电网断开前的相位所以V/f控制的初始相位应该从切换前的PLL相位读取而不是从零开始。很多模型跳变也是从这里来的——相位跳变会导致交流电压波形突变进而引发电流冲击。5.2 典型仿真工况与结果分析我建议做模型验证时至少跑三个工况覆盖最核心的动态行为。工况一恒光照条件下投入/切除交流负荷。光伏输出5.2kW不变初始交流负荷3kW直流负荷2kW。t5s时切掉交流负荷1kW观察直流母线电压和交流母线电压波动。正常的控制效果是直流母线电压波动控制在±5V以内交流电压幅值变化小于2%恢复时间在几十毫秒以内。工况二光照突变。光伏光照从1000W/m²降到600W/m²光伏出力从5.2kW掉到3kW左右。此时储能自动放电补足功率差直流母线电压不应出现持续跌落应该短暂下坠后回到800V附近。这个工况重点观察储能电流响应速度和母线电压恢复时间理论上应该在0.2s内恢复。工况三并网转离网再转并网。t10s发出并网断开指令系统切换到离网模式此时双向变流器接管交流电压t15s发出合闸指令预同步开始t15.2s合闸。观察点包括切换瞬间交流电压的暂态深度、系统频率偏移、恢复时间。从结果图里判断控制策略是否有效的几个点直流母线电压稳态误差、动态波动范围和恢复时间交流电压的THD储能电流是否平滑、有无振荡并网切换时是否存在长时间的大电流冲击。如果这些指标都在合理范围那这套模型的运行特性就基本可接受。6. 建模过程中踩过的坑与调试经验6.1 仿真速度慢的根源与对策整套系统如果用全IGBT细节模型加上LCL滤波器和线缆寄生参数仿真步长会被迫压到微秒级一个20秒的工况可能要跑一个晚上。解决思路有两个第一个是把电力电子开关全换成平均模型Average Model。对于研究系统级控制的场合你并不关心开关纹波只关心母线电压和功率流动平均模型完全够用。Simscape Electrical里有平均模型VSC直接把三相桥臂等效成受控电压源仿真速度能提升数十倍。第二个是把步长从连续积分改成离散积分。在Powergui里设置Discrete模式采样时间设为2e-6秒对应10kHz开关频率的50倍以上既能保留开关动态又不至于让仿真慢到无法接受。我一般根据研究侧重点选做控制策略验证用平均模型做波形质量分析才用全模型。6.2 代数环与数值发散问题代数环是Simulink仿真里最折磨人的问题之一尤其是控制器输出直接反算到输入时。光伏侧MPPT模块、双向变流器的电流内环如果信号路径中同时存在直接用输出计算输入的分支就会形成代数环。表现就是仿真报错或者初始化时提示无法求解。最简单的处理是在反馈通道上串联一个Memory模块或单位延迟Unit Delay把信号的时序打破。要注意的是加延迟会影响控制带宽所以延迟时间要尽量短通常是一个仿真步长比如1e-5s就够了。数值发散则常见于LC滤波器参数和步长设置不匹配时表现为波形出现锯齿或NaN这时候先检查步长是否过小再检查是否有状态量超过模型定义范围比如SOC超过100%。6.3 PI参数整定的参考方向控制参数的整定是互相关联的我给出我常用的一套初始参考值注意这是给你起步用的不是万能解。实际跑出来以后要根据波形微调控制器位置KpKi整定思路MPPT步长0.001~0.005—根据稳态震荡幅度微调储能电流内环0.8~2.0100~300先保证电流响应速度再降Ki防超调储能电压外环2~1050~200带宽要低于电流环1/5以下并网电流内环1~3200~500以PLL带宽为上限防止交互震荡并网功率外环0.1~0.510~50外环要明显慢于电流环V/f电压外环5~20200~500兼顾动态响应和电压恢复一个很重要的调试原则从内环往外环调从慢到快调。先把电流环调通再上电压环最后才联调整机。如果一上来全开波形乱成一锅粥你根本不知道是哪里出了问题。6.4 LCL滤波器参数匹配与阻尼策略LCL滤波比单L滤波在抑制高频谐波上更有效但带来一个副作用谐振峰。如果控制带宽和LCL谐振频率重叠系统会产生高频振荡。设计时一般让LCL谐振频率远大于基波频率小于开关频率的一半我常用的范围是1~2kHz。缺乏阻尼时可以在电感旁并联RC阻尼支路或者在控制器里加有源阻尼算法后者在实际模型里调整更方便。直流母线电容的容量也是一个容易被忽略的细节。电容太小负荷突变时母线电压波动大电容太大电压外环响应又变慢。工程经验值是按照母线电压纹波要求反算系统功率越大、允许纹波越小电容越大。我常用2000~4000μF这个量级去匹配10kW以内系统实测在负荷突变时电压跌落控制在可接受范围内。6.5 一个容易忽略的启动时序问题微电网模型的启动时序很重要但很少有人在初学阶段注意到。直接给光伏和储能同时投运初始时刻电压建立会非常混乱。正确做法是分阶段启动第一步储能先通过双向DC/DC以恒压模式建立直流母线到800V第二步双向AC/DC变流器以V/f模式建立交流母线电压第三步光伏Boost启动MPPT慢慢爬升功率第四步并网开关闭合切换为PQ控制。这个时序可以在Stateflow里实现也可以通过定时器逻辑控制。很多模型一开机就报错就是因为初始母线电压还没建立光伏却已经开始升压了。最后再分享一个体会这套模型搭通之后你会发现后面很多研究都变得顺了——想研究下垂控制就把PQ/Vf切换改成两种下垂模式想研究能量管理就把储能控制替换成策略调度逻辑想研究故障穿越就加入故障模块。框架搭对了一次后续的基本都是往里填东西。对我来说最有成就感的是把一个看起来复杂的微电网系统用一个清晰的模型讲明白——这个过程本身就是对微电网运行逻辑最好的理解。
返回列表