☰
风光储并网协同运行Simulink建模全流程:从架构设计到调试避坑
2026/10/10 4:45:36 网站建设 项目流程

提起风光储并网仿真研究,这几年讨论最多的问题已经不再是单台风机怎么建模,而是永磁风机发电机、光伏阵列和储能系统三套东西接在同一条母线上之后,为什么联合运行的波形就是稳不住。单独跑每个子系统都好好的,合到一起不是初始化报错,就是功率来回倒灌、直流母线电压掉得莫名其妙。这篇内容我想把这一整套风光储并网协同运行Simulink模型的搭建思路、控制策略和调试经验一次说清楚,主要面向正在做新能源并网仿真、写学位论文或者准备实际工程验证的工程师和研究生。

如果你现在刚开始动手,我的第一个建议是:不要一上来就把风机、光伏、储能全部拖进一张原理图。先想清楚模型要回答什么问题。是要看功率波动平抑效果,还是看储能SOC管理逻辑,还是看并网点电压和频率支撑能力?不同目标决定了模型细节做到什么程度。下面我会按实际搭建顺序来讲,先讲总体架构,再分别拆永磁风机、光伏与储能、协同控制,最后讲调试和参数整定。

1. 为什么要把风机、光伏和储能放进同一个模型里

1.1 三种电源天然的时间尺度错配

风机的出力波动以秒到分钟级为主,一阵阵风过去,输出功率可以短时间上下浮动20%到30%。光伏辐照变化相对慢一些,但云层遮挡时也可能在一两分钟内剧烈变化。负荷侧的情况就更复杂,工厂设备启停、家用电器投切,都会造成并网点功率的快速波动。储能系统跟它们都不一样,功率响应可以做到毫秒级,不管是吸收还是释放,都特别快。

这三种时间尺度完全不一致的电源放在同一个系统里,最难的不是单独建模,而是它们之间的功率配合。风机和光伏大多工作在最大功率跟踪状态,没有多少调节余量;储能就是用来填补差额的“缓冲池”。当风、光功率大于负荷时,储能充电;小于负荷时,储能放电;如果储能达到了容量边界,就要直接依靠电网来兜底。这些逻辑听起来不复杂,但在Simulink里要用一套可复现、可调试的模型把它们表达清楚,就需要对每个子系统的控制接口做统一设计。

我把这套模型定位为一个“微观电力系统测试床”:风电场用一台等效永磁风机发电机代表,光伏阵列用一组经过等效聚合的组件阵列代表,储能系统用一台带双向DC-DC变换器的电池组代表。三者先各自经变流器接入直流或交流母线,再通过并网变压器和公共耦合点(PCC)连接到外部电网。整体研究目标,是观察不同工况下系统能不能保持并网点功率稳定、母线电压不越限、储能不过充不过放。

1.2 这套模型最终要回答哪几个问题

在动手之前,我建议你把研究问题写成清单,比如下面这几条:

  • 风速阶跃、辐照阶跃和负荷阶跃同时发生时,并网点功率波动幅度是多少?加入储能后降低了多少?
  • 储能系统什么时候应该充电,什么时候应该放电,什么时候必须停在SOC上下限附近?
  • 风机和光伏都满发、负荷很小,储能也充满电时,系统如何限功率运行,避免向电网反送过多功率?
  • 并网点电压和频率是否始终维持在允许范围内?控制器参数不合格时,最先出现的振荡是在哪个环节?

这些问题听起来像“论文大纲”,但实际上也是建模的验收标准。每完成一版模型,就针对其中一个问题设置典型工况,跑完看波形,能答上来就说明模型基本可用。比起盲目追求模型细节,这个思路能让你更快得到有效结果。很多初学者花了大力气搭了一个非常庞大的模型,最后却因为控制器逻辑没理顺,连“储能到底在平抑谁”都没讲清楚,这就本末倒置了。

2. 永磁风机发电机部分的建模思路与细节

2.1 用PMSG而不是双馈电机的原因

永磁风机发电机(PMSG)在新能源仿真里出镜率很高,根本原因是它采用全功率变流器结构,发电机和电网之间做到了完全解耦。双馈异步电机虽然变流器容量小,但转子侧和电网侧耦合关系复杂,故障穿越控制策略相对繁琐;PMSG这边只要把机侧整流器和网侧逆变器的控制配合好,整个风电机组就可以看成一个可控电流源,这对后续风储协同控制非常友好。

直驱或半直驱PMSG的机械部分也很适合做风储协同研究。永磁体励磁、没有励磁绕组,转子磁链恒定,电磁转矩与q轴电流成正比,控制直观。仿真里你不必过多纠结齿轮箱结构,可以简化为单质量块或两质量块传动模型,重点放在最大功率跟踪和并网电流控制上。如果课题更关注发电机的内部损耗、谐波或者变流器开关特性,再把电机和电力电子器件换成更精细的开关模型,否则用平均值模型性价比更高。

2.2 风机、机侧变流器与MPPT怎么配合

风轮机输出的机械功率可以用一个典型公式表示:

P = 0.5 * ρ * π * R² * v³ * Cp(λ, β)

这里ρ是空气密度,R是叶轮半径,v是风速,Cp是风能利用系数,λ是叶尖速比,β是桨距角。Cp最大值一般在0.4到0.48之间,对应一个最佳叶尖速比λopt。MPPT控制的本质,就是让风机转速跟随风速变化,始终保持在λopt附近。

具体到Simulink模型,我一般把风轮机封装成一个子系统,输入是风速和发电机转速,输出是机械转矩。然后把这个转矩作为PMSG的输入。机侧变流器采用转速外环加电流内环的双闭环控制结构:转速误差经过PI调节器生成q轴电流指令,d轴电流指令设为零,保持“id=0”控制。PMSG的电磁转矩方程是Te = 1.5 * p * ψf * iq,所以控制iq就相当于控制电磁转矩,从而调节转速。

网侧变流器负责维持直流母线电压稳定,并把有功功率送往电网。它用电压定向矢量控制,d轴控制直流母线电压,q轴控制无功功率或电压。整个背靠背变流器里,机侧只负责风机的转速和功率跟踪,网侧只负责直流母线平衡和并网电流质量,两条控制链路互不干扰,这正是全功率变流器的最大优势。

在实际搭模型时,我强烈建议把机侧和网侧的控制器分别封装,并把PI参数放在模型工作空间里,不要直接写在模块内部。这样后续做参数扫描或批量仿真时,不需要一个一个打开模块修改。

2.3 机侧参数整定的几个关键数值

机侧电流内环的PI参数一般按照带宽法整定。简单说,电流环带宽取到开关频率的1/10到1/20,在这个范围内,电流跟踪速度足够快,噪声又不至于被放大。转速外环带宽要比电流环低一个数量级,通常是5到20 rad/s。这样内外环时间尺度拉开,系统不容易发生振荡。

直流母线电压等级需要根据电网侧电压来选。比如并网电压是380V交流,直流母线通常取600V到750V;如果并网电压是690V,直流母线就取1100V到1200V。直流母线太低会导致网侧逆变器无法向电网输出足够有功,太高则电容耐压成本上升。仿真里常见的问题是把直流母线电压设得过低,风机满发时直流电压直接跌落,看起来像“系统不稳定”,实际上是参数选型没匹配。

还有一个容易踩的坑是转矩单位和标幺值混用。Simulink的电机模块如果选择国际单位制,转矩单位是N·m,转子惯量是kg·m²;如果选标幺值,那所有PI参数都要按标幺体系转换。最稳妥的做法是全模型统一使用国际单位制,只在电网侧变流器的坐标变换里使用标幺值概念。

3. 光伏阵列与储能单元的建模关键点

3.1 光伏阵列的等效电路和参数注入

光伏阵列的建模有两种常见路径:一是用Simulink自带的PV Array模块,二是自己搭单二极管等效电路。自带模块省事,但它本质上是基于厂商参数查表或解析公式生成I-V特性,你要知道每块组件的开路电压、短路电流、最大功率点电压和电流。自己搭单二极管模型则有利于研究更细的问题,比如局部阴影、温度不均匀或组件故障,但参数标定工作量更大。

单二极管模型的方程为:

I = Iph - Io * (exp((V + IRs)/(nVT)) - 1) - (V + I*Rs)/Rsh

其中Iph是光生电流,Io是反向饱和电流,Rs是串联电阻,Rsh是并联电阻,n是二极管理想因子,VT是热电压。温度升高时,开路电压明显下降,短路电流略升;辐照降低时,短路电流基本正比下降,开路电压变化不大。实测曲线和仿真曲线对不上时,先查温度,再查串联电阻。

仿真中整个光伏阵列可以聚合为单一等效阵列,即串联数Ns和并联数Np的乘积。光伏侧Boost变换器负责把光伏组件电压调节到最大功率点电压附近。对风储协同来说,光伏模型不需要做得特别精细,重点是输出功率曲线要符合实际光伏电站“早晚低、午间高、云遮时波动”的特点。测试时常用标准测试条件(STC:辐照1000W/m²,温度25°C)作为基准,再叠加阶跃变化云层遮蔽工况。

3.2 储能双向变换器:Buck/Boost模式切换逻辑

储能电池侧用双向DC-DC变换器接入直流母线。放电时Boost模式把电池电压抬升到直流母线电压,充电时Buck模式把直流母线电压降压给电池。实际仿真中最忌讳的是“模式切换生硬”——上一瞬间还在Boost放电,下一瞬间突然转Buck充电,电流方向突变会引起较大的电压尖峰和数值振荡。

正确的做法是给模式切换加滞环。比如设定电流指令大于某个阈值才切到放电模式,小于某个阈值才切到充电模式,中间区域维持上次状态。这个滞环宽度不需要太大,但能明显提升仿真稳定性。电池模型可以用一个电压源加串联内阻,也可以用带开路电压-SOC查表的戴维南等效模型,后者能更准确反映SOC变化对端电压的影响。

储能系统还有一个必须处理好的量:SOC(荷电状态)。仿真里SOC通常通过对电池电流积分再除以容量得到。积分器初值要跟电池初始SOC一致,否则一跑就出现莫名其妙的“系统一直充电太久”或者“几分钟就放完了”。我在实际调试中就会把SOC初值设成50%或60%,给储能留足上下调节空间,避免启动阶段就顶到边界。

3.3 荷电状态保护与协调优先级

储能电池不能过充,也不能过放。过充会导致电池内部副反应加剧,过放会加速寿命衰减。所以协调控制里必须有保护逻辑:SOC接近上限时,限制充电功率;SOC接近下限时,限制放电功率。这个保护优先级要高于平滑控制的目标。

优先级顺序我按“安全优先、稳定其次、经济最后”来排。具体在Simulink里可以用一个简单的状态机实现:

  • SOC > 90%时,充电功率指令强制限制为0,只能放电;
  • SOC在50%到90%时,正常执行平滑或削峰指令;
  • SOC在20%到50%时,正常执行平滑或削峰指令,但放电功率开始限幅;
  • SOC < 20%时,放电功率指令强制限制为0,只能充电。

这样安排的好处是,储能永远不会因为过度参与功率平抑而退出系统。实际电站里出现过储能SOC到边界后,功率指令和SOC保护逻辑互相打架、导致系统功率来回振荡的案例。仿真模型里如果不提前处理这个逻辑,后面做长时域仿真时大概率也会遇到。

4. 并网协同运行的控制架构与功率分配逻辑

4.1 公共耦合点电压/频率支撑策略

并网型风光储系统大多数情况下连接到足够强的电网,PCC电压和频率主要由电网支撑,不需要微电网自己建立电压和频率。但即便如此,功率分配依然很重要,因为并网点功率波动会直接影响上一级电网的调度压力。研究场景经常是“弱电网”或“长线路末端”,这时候PCC电压跌落明显,就需要储能或网侧变流器提供无功支撑。

对于强电网场景,我建议把PCC作为功率平衡点来设计控制。设Pload是本地负荷功率,Pwind是风机出力,Ppv是光伏出力,Pbatt是储能出力(放电为正),Pgrid是从电网吸收的功率。功率平衡关系就是:

Pgrid = Pload - Pwind - Ppv - Pbatt

如果Pgrid基本为0,说明本地风光储自给自足;如果Pgrid稳定在一个设定值,说明系统在按调度指令向电网输出功率。储能的作用就是让Pgrid尽可能平直,而不是让Pgrid随机波动。

对于弱电网场景,可以给储能或网侧变流器增加一条调频/调压回路。频率偏差经过下垂系数生成附加有功指令,电压偏差生成附加无功指令。这就是所谓的P-f下垂和Q-V下垂控制。在Simulink里实现起来并不复杂,但要注意下垂系数不能太大,否则系统可能因为功率指令变化过快而振荡。

4.2 三种运行模式与切换条件

我在模型里设计了三种典型运行模式,分别对应不同研究需求。

模式名称判据功率指令
模式1MPPT平滑运行系统正常,SOC在允许范围内风机、光伏MPPT运行,储能补偿Pgrid与调度指令的差额
模式2限功率运行风电光伏总出力大于负荷与调度上限之和,或SOC接近上限优先降低光伏出力,其次降低风机出力,储能转为充电
模式3计划充放电运行调度下达定时指令储能按计划时间充电或放电,PCC功率按计划曲线执行

模式切换用的是滞环状态机,切换条件带上下限窗口,不能只看瞬时值。例如从模式1切换到模式2的条件是“SOC超过88%且持续0.5秒”,而不是“SOC超过88%”一瞬间就切。这样做是为了防止在边界附近反复跳模式,导致波形抖动。

这套模式切换在Simulink里用Stateflow会比较直观,但如果你不想引入额外工具箱,也可以用带累积计时的延时模块和逻辑判断实现。关键是“从哪个模式切过来”这个信息要记录下来,否则同样的条件可能产生冲突。状态枚举变量配合条件判断,是最稳妥的做法。

4.3 通信或本地控制:仿真里怎么模拟

真实风光储系统往往需要后台调度系统通过通信下发功率指令,通信延迟和丢包都会影响控制效果。Simulink仿真里如果直接把指令发到子模块,不做任何延迟模拟,结果会偏乐观。尤其是在做控制策略研究时,别人会问你“如果通信延迟200ms,你的策略还成立吗”。

建议做法是:把能量管理模块的输出经过一个延时环节再送给储能变流器。通信延迟取50ms到500ms,并在两组参数下各跑一轮,看系统稳定性。对于本地控制部分,比如各变流器内部的电流环和电压环,仍然认为它们在同一机柜内通过硬接线或现场总线通信,延迟可以忽略。

还有一个常见简化:把能量管理模块的采样周期设为100ms或1s,而不是让控制器每个仿真步长都刷新指令。这样做既能模拟调度指令的离散特性,又能大幅减少仿真中的高频交互。我在很多版本里都用这种“慢管理、快控制”的分层结构,效果非常好。

5. 仿真调试中踩过的坑与排查思路

5.1 初始化失败与代数环问题

Simulink里搭电力电子模型,最怕的报错之一就是“Initialization failed”或者“Algebraic loop”。这种情况大部分出现在两种节点:一是受控电流源或电压源直接并联接入物理电网,缺少缓冲元件;二是控制信号和物理信号交叉时,连续反馈路径上没有离散状态。

排查思路首先是定位回路。双击报错提示里的模块,看它处于哪条信号链上。常见解决办法是在反馈路径上加入一个很小的延时(比如单位延时Unit Delay)或一阶惯性环节,打断代数环。另一种办法是把模型配置成离散求解器,电力电子部分用固定步长,电气部分用离散等效模型,这样代数环出现的概率会降低很多。

初始化失败还跟状态变量初值有关。PMSG、光伏电容、电池积分器的初值如果跟稳定工作点相差太远,仿真一开始就进入剧烈调整。解决方法是先跑一个“空载启动”工况,让系统从零功率缓慢加载,而不是一上来就同时给满负荷。

5.2 光伏突然辐照变化时的数值振荡

光伏MPPT的扰动观察法在辐照突变时特别容易出问题。如果你用的是步进辐照,功率指令会突然跳变,导致Boost占空比大幅波动,直流母线电压跟着抖。这不是模型原理错,而是控制策略对环境变化过于敏感。

我的处理方法是给MPPT的电压参考值加一个斜坡限制,比如辐照突变时每秒钟最大调整5V,而不是瞬间跳变。同时加一小段低通滤波,滤掉高频扰动。另一个有效手段是在光伏输出端并联一个较小的支撑电容,在辐照突变时提供瞬时电流缓冲,防止直流母线突然塌陷。实测下来,波形振荡幅度能减小一半以上。

5.3 储能SOC进入边界后系统失稳的处理

储能SOC靠近边界时,系统最容易出现“负反馈变正反馈”的现象。比如SOC已经95%,能量管理系统还在下大功率充电指令,电池保护模块又强制把充电电流砍到零,结果电网侧看到储能出力突然丢失,PCC功率瞬间跳变,系统振荡。

正确做法是把SOC保护放在功率指令计算之前,而不是放在电流环里硬限幅。也就是说,能量管理系统先查SOC状态,再决定允许的最大充电或放电功率;电流环只是执行这个功率指令。这样指令本身是连续的,不会出现执行端突变。为了更平滑,可以在SOC接近边界时提前线性限功率,而不是等到临界点一刀切。比如SOC到85%就开始把充电功率按比例往下调,到90%时完全归零。

还有一个容易忽略的点:储能退出平抑时,差额功率要有“接棒者”。如果储能充满电不能再充电,此时光伏和风机必须主动限功率,或者让电网吸收这部分功率。所以协同模型里必须定义好备用控制通道,不能只靠储能硬扛。

6. 参数配置参考与运行结果解读

6.1 一套可参考的仿真参数表

下面是我实际测试过的一组缩比参数,适合在普通台式机上跑,兼顾速度和精度。单位统一为国际单位制。

子系统参数数值
风轮机额定风速12 m/s
风轮机叶轮半径10 m
风轮机最大Cp0.44
风轮机最佳叶尖速比8.1
PMSG额定功率100 kW
PMSG极对数20
PMSG永磁磁链1.2 Wb
直流母线额定电压750 V
光伏阵列额定功率60 kW
光伏阵列开路电压480 V
光伏阵列短路电流160 A
储能电池额定容量100 kWh
储能电池额定电压480 V
储能电池初始SOC60%
并网电压PCC380 V / 50 Hz
控制周期电流环1e-4 s
控制周期能量管理0.1 s

如果要做更大容量的研究,把这些参数整体缩放即可,但要注意直流母线电压和支持电容也要同步调整。风机额定功率从100kW改成1MW,叶轮半径和额定风速基本不变,发电机的永磁磁链和电流等级按比例变化。

模型里我会用一段初始化脚本定义这些参数,避免在模块里手填。脚本风格大致如下:

% 风轮机与发电机参数 rho = 1.225; R = 10; rated_v = 12; Cp_max = 0.44; lambda_opt = 8.1; p = 20; psi_f = 1.2; % 直流母线 Vdc_ref = 750; Cdc = 0.02; % 光伏阵列 Ppv_rated = 60000; Voc_arry = 480; Isc_arry = 160; % 储能系统 Ebatt_cap = 100 * 3600000; % 100 kWh 换算为焦耳 Vbatt_rated = 480; SOC_init = 0.6;

脚本放在模型的InitFcn回调里,每次仿真开始自动运行。这样修改参数时只要改一个地方,所有下游模块自动更新,不容易漏改。

6.2 怎么看仿真曲线验证协同有效性

跑完仿真后,我习惯把六条关键曲线放在同一张图里观察:风速、辐照、PCC有功功率、储能有功功率、储能SOC、直流母线电压。这组曲线基本能判断模型是否正常。

正常现象是:风速或辐照突变时,PCC有功功率仍然比较平缓;储能功率曲线出现反向补偿;SOC在允许范围内变化,不在某一侧持续顶死;直流母线电压围绕750V波动,波动幅度不超过5%。如果你看到的曲线是PCC功率跟着光伏一起剧烈波动,说明储能没有正确响应,问题大概率出在功率指令正负号上。

储能充放电方向我建议统一规定:放电为正,充电为负。这是微电网领域最常见的惯例,也方便后续写文章和分析。很多人初始建模时为了凑控制环把方向定义反了,结果储能功率曲线和PCC功率曲线变化方向一致,怎么调都调不好。

6.3 下一步扩展方向

这套模型目前是单机等效结构,下一步有两个方向值得做。一是把单台等效风机改成多机等值,研究风电场内部尾流和分散式出力差异对协同控制的影响;二是在能量管理层加入优化算法,比如根据日前预测和实时电价制定24小时储能充放电计划,让风光储系统不仅“稳”,而且“经济”。

还有一个很实用的扩展,是把并网变压器和馈线阻抗加进去,研究长距离输电下PCC电压的波动和变流器无功支撑能力。很多实际项目的问题不是系统容量不够,而是线路压降太大,导致末端变流器频繁报低电压穿越故障。仿真里把这个场景复现出来,对于理解现场运维数据非常有帮助。

最后想说的是,这套模型真正难的不是那些模块的拖拽,而是你是否清楚每一个控制器在什么条件下做什么事。把风机、光伏、储能当成一个有分工的团队,而不是三个独立发电单元的拼盘,仿真结果自然就对了。我在调完这个模型之后最大的感受是:风光储协同不是让每一台设备都跑在自己最优状态,而是让整个系统的功率平衡、电压安全、储能寿命三者之间找到合理折中。理解到这一步,模型才算真正从“能跑”变成了“能用”。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询