2. 为什么混合储能方案会优于单一储能——先说清楚原理逻辑
做混合储能并网仿真之前,得先弄明白一个问题:已经有蓄电池了,为什么还要加超级电容?很多初学者一上来就搭模型,蓄电池并网也好、超级电容并网也好,都能跑,但混合到一起反而不知道怎么控制。这里把道理讲透,后面搭模型心里才有底。
风电、光伏这类新能源出力天然带有波动性,而且波动不是一个频率,是多尺度叠加的。拿风电来说,秒级的湍流变化、分钟级的阵风变化、小时级的气团变化,这些分量叠加在一条出力曲线上,看起来就是“毛刺+低频摆动”混合在一起。如果只用蓄电池消化所有这些波动,问题就来了:蓄电池擅长的是“慢充慢放”,也就是低频分量,给它吃高频的毛刺,会加速循环衰减,发热严重,寿命打折,而且响应速度跟不上,控制器会反复饱和。超级电容正好相反,功率密度高、循环寿命几十万次、响应在毫秒级,适合吃高频分量,但能量密度低,扛不住长时间的低频大能量吞吐。所以最简单的思路就是:让擅长低频的干低频,让擅长高频的干高频,這就是低通滤波分配策略的出发点。
再说说并网侧的控制目标。混合储能系统接入电网,核心任务有两个:一是平抑波动,让并网功率尽量平滑,这是“低通滤波”的天然特质;二是维持直流母线电压稳定,保证储能单元和逆变器之间能量传递顺畅。前者靠功率分配策略实现,后者靠变流器控制实现,两者叠在一起,才是完整的混合储能并网仿真。单纯做一个DC/DC变换器仿真不算难,难点在于把功率分配和并网控制整合到一个模型里,让它们协调工作。
一个很常见的误区是:把低通滤波当成了一个“硬件”,实际上低通滤波在这里是一个算法角色,通过一阶惯性环节或者 Butterworth 滤波器把混合功率拆成低频和高频两部分。低频部分给蓄电池参考功率,高频部分给超级电容参考功率。这个滤波时间常数的选取直接决定两个储能单元的分工比例——时间常数大,低频分量被滤得更多,蓄电池承担更多;时间常数小,超级电容承担更多。很多论文里直接拍一个时间常数,比如5s或者10s,但实际选多少要结合储能容量和出力曲线的时间尺度来定,后面会具体说计算方法。
下面这个图就是混合储能系统的整体结构逻辑:新能源出力经过低通滤波得到平滑后的并网参考功率,储能总需求等于原始出力减平滑出力,再经过低通滤波拆成蓄电池和超级电容各自的参考功率,然后两个DC/DC变换器跟踪各自的参考值,最后通过逆变器并网。整条链路清晰了,建模的时候才不会乱。
3. Simulink建模前的准备工作——模型架构与参数选择要提前定
很多人打开Simulink就直接拖模块,拖到一半发现结构不对,删了重来,浪费时间。我建议建模前先在纸上把架构画清楚,哪怕只是草稿级别的框图,也能省下大量调试时间。混合储能并网仿真模型的架构可以分为三个层级:功率分配层、储能变流层、并网层。
功率分配层负责接收新能源出力信号,输出蓄电池和超级电容的功率参考值,基础模块就是低通滤波器。储能变流层由两个双向DC/DC变换器构成,分别连接蓄电池、超级电容和直流母线,核心控制是电流内环和电压外环,具体用Buck/Boost模式切换还是其他拓扑,取决于储能端电压和母线电压的相对关系。并网层就是三相逆变器与LCL滤波器,负责把直流母线能量馈入交流电网,采用PQ控制或V/f控制,仿真里一般用PQ控制,因为研究的重点是功率平抑效果,不是孤岛运行。
参数选择是建模中最容易出错、也最影响结果真实性的环节。以一组参考参数为例:
| 参数 | 数值 | 参数 | 数值 |
|---|---|---|---|
| 蓄电池额定电压 | 400V | 蓄电池容量 | 200Ah |
| 超级电容额定电压 | 300V | 超级电容容量 | 15F |
| 直流母线参考电压 | 800V | 滤波电感L1 | 3mH |
| LCL逆变侧电感 | 2mH | LCL网侧电感 | 0.8mH |
| LCL滤波电容 | 4.7μF | 开关频率 | 10kHz |
| 电网相电压峰值 | 311V | 电网频率 | 50Hz |
这里要解释两个选择逻辑:直流母线电压取800V,高于电网线电压峰值(380V乘以根号二约等于537V),这是为了让逆变器有足够的调制裕度,避免过调制而产生谐波失真。LCL滤波器的谐振频率选择在开关频率的0.1到0.5倍之间,也就是1kHz到5kHz范围内,这样既能有效衰减开关频率附近的高次谐波,又不会因为谐振频率太低而与电网基波发生交互。
还有一个细节容易被忽略:蓄电池和超级电容的初始SOC设置。仿真初始时刻,如果SOC设置得太高,比如蓄电池接近满电,那充电时很容易触顶,控制效果会显得很差;设置得太低,放电时又容易欠压。一般推荐蓄电池SOC初始设为60%到70%,超级电容初始电压设为额定电压的70%左右,这样留出双向调节空间,仿真动态范围比较理想。
4. 低通滤波功率分配策略的Simulink实现与时间常数整定
低通滤波功率分配的实现在Simulink里并不复杂,核心是一个一阶惯性环节,传递函数是1/(Ts+1)。原理按下理解:对输入信号做拉普拉斯变换后,高于截止频率的分量被衰减,低于截止频率的分量基本上无损通过。应用到储能场景中,假如新能源原始出力是P_raw,低通滤波后得到P_smooth,那储能系统需要吸收或释放的总功率就是P_storage = P_raw - P_smooth。接下来,再对P_storage做一次低通滤波,就能把储能内部的高频和低频分量分开:第一次滤波后的输出给蓄电池作为参考功率,差值P_storage - P_batt给超级电容作为参考功率。
这里关键点是两次低通滤波的时间常数取值。第一次滤波的时间常数决定了并网功率的平滑程度,取大了并网曲线更平滑,但储能需要承担的能量更大;取小了平滑效果不明显。第二次滤波的时间常数决定了蓄电池和超级电容的分工比例,取大了低频部分给蓄电池更多,超级电容只管最尖的毛刺;取小了超级电容会承担更多中频分量,储能容量可能不够用。
在Simulink里搭建的时候,有两种方式:直接用Continuous库里的Transfer Fcn模块,搭建出1/(Ts+1),这种方式直观,适合学习;或者用Discrete库里的Discrete Transfer Fcn,把滤波器离散化,这种方式更贴近实际控制器实现,因为DSP里跑的都是离散算法。我个人的建议是:在验证控制策略阶段用连续模块,理解回路更直观;到了和实际控制器对接的阶段再用离散模块,采样时间设置成和开关频率一致,比如开关频率10kHz对应采样周期100μs。
时间常数的整定有一个基础计算方法:功率谱分析。先对新能源出力数据做FFT,看功率谱能量集中在哪个频段。假设分析发现主要波动周期在60秒以上,那截止频率就可以选为1/60约等于0.017Hz,对应时间常数约等于1除以2π乘以0.017约等于9.4秒。如果不方便做频谱分析,也可以用经验值:风电场景中第一次滤波时间常数取5到15秒,光伏场景取1到5秒,因为光伏的波动相对风电更平缓一些。第二次滤波时间常数一般取第一次的0.1到0.5倍,也就是1到5秒之间,具体看超级电容容量和蓄电池响应速度。
自己动手搭的时候,一个容易犯的错是:将两个滤波器的输出直接接到DC/DC变换器的功率参考端,但忘了加限幅。蓄电池和超级电容都有最大充放电功率限制,不加限幅的话,参考功率超限会让控制器饱和,实际仿真里会看到功率波形在参考值附近发散,或者SOC异常变化。正确做法是在滤波输出后串联Saturation模块,把参考功率限制在储能单元的允许范围内,同时把限幅后的实际值反馈到SOC计算环节,保持仿真闭环一致。
5. 蓄电池与超级电容DC/DC变换器的建模与闭环控制
蓄电池和超级电容接入直流母线,必须经过双向DC/DC变换器,因为储能端电压和母线电压一般不匹配,而且充放电方向要能切换。常用的拓扑是双向Buck/Boost变换器:蓄电池放电时工作在Boost模式,把低压侧电压抬升到母线电压;充电时工作在Buck模式,把母线电压降压给蓄电池充电。超级电容支路可以采用半桥式双向DC/DC,本质上也是Buck/Boost的变体。
搭建这个变换器模型的时候,我建议用平均模型先跑通控制算法,再用开关模型验证细节。平均模型用受控电压源和受控电流源替代开关管,仿真速度快,控制参数整定效率高;开关模型用MOSFET或IGBT模块加PWM驱动,仿真速度慢但能观察纹波和谐波。很多人在一开始就上开关模型,结果仿真跑得极慢,控制器参数又没调好,恶性循环。正确顺序是平均模型快调,开关模型慢验。
蓄电池支路的控制通常采用双闭环:外环是直流母线电压环,内环是电感电流环。电压环的PI输出作为电流环的参考值,电流环PI输出作为占空比。这套结构的逻辑是:母线电压反映了系统功率平衡状态,电压下降说明母线缺功率,需要增加储能输出;电压上升则相反。超级电容支路因为主要承担高频分量,不需要承担母线电压调节职责,一般直接采用功率跟踪模式:以低通滤波分配得到的功率参考值除以超级电容端电压,得到电流参考,然后进入电流内环控制。
到这里就需要解释一个对称性的问题:为什么蓄电池承担母线电压控制,而超级电容只跟踪功率?因为母线电压本质上是低频量,是系统级功率平衡的体现,由能量型元件(蓄电池)来调节最合理。超级电容如果也参与母线电压控制,两个电压环会互相竞争,控制耦合严重,可能出现功率振荡。当然也有文献采用主从控制,超级电容做主、蓄电池做从,也能实现,但参数协调难度更大,不适合初学者入门。
Boost升压模式下,电感电流连续时,占空比D和电压关系是:V_out = V_in除以(1-D)。Buck模式下,V_out = D乘以V_in。在做PI参数初值估算时,可以用这个关系把电流环控制对象近似为一阶惯性环节,先粗略整定,然后通过仿真细化。一个速算经验:开关频率10kHz,电感3mH,蓄电池侧电压400V,额定功率50kW时,额定电流约125A,电流环PI比例项可以先取0.5到2之间,积分项取50到200之间,具体值用试凑法在阶跃响应里调整,以超调量不超过10%、调节时间不超过20ms为目标。
6. LCL滤波与并网逆变器控制——混合储能输出能量的最后一道关口
直流母线电压稳定之后,还需要逆变器把直流电转换成交流电并入电网。逆变器控制如果不做好,前级储能做得再漂亮,并网电流谐波超标、功率因数不达标,整个系统也是失败的。混合储能并网采用三相两电平逆变器作为主电路拓扑,配LCL滤波器做并网接口,控制策略用PQ控制或者直接功率控制。
PQ控制是并网逆变器最常用的控制方式,核心思想是把逆变器输出电流分解到d-q坐标系下,有功电流id和无功电流iq解耦控制。d轴方向与电网电压矢量对齐,那么有功功率P等于1.5乘以Ud乘以id,无功功率Q等于-1.5乘以Ud乘以iq,这样控制功率就转化为控制两个电流分量,各用一个PI环就能完成。电流环的输出经过Park反变换得到三相调制波,再通过SPWM或SVPWM驱动IGBT。
LCL滤波器相比单L滤波器,对高频谐波的衰减能力更强,同样的滤波效果下体积更小。但LCL滤波器是三阶系统,存在谐振峰,控制不当容易产生振荡。工程上常用的做法:一是无源阻尼,在滤波电容支路串联电阻,牺牲一点效率换取稳定;二是有源阻尼,在控制算法里引入电容电流反馈,等效出阻尼效果,不增加损耗。仿真阶段我建议先加无源阻尼,把阻尼电阻设在谐振频率阻抗的0.3到0.5倍,跑通系统后可以再试有源阻尼,对比波形差异。
并网逆变器的dq变换中有一个容易搞混的点:电网电压矢量定向依据。仿真里通常用三相锁相环(PLL)锁定电网A相电压相位,作为Park变换的角度来源。如果PLL参数没调好,锁相有偏差,d轴定向不准,那有功和无功计算就会串扰,控制效果会很奇怪。PLL参数一般比例项取10到50,积分项取50到200,仿真时观察锁相输出角度是否平滑跟随电网电压相位,如果出现抖动或周期振荡,优先加大积分项。
逆变器直流侧必须保持电压稳定,才能保证调制不过调制。前级蓄电池已经通过DC/DC控制住了母线电压,逆变器侧只负责把直流功率转化为交流功率送出,相当于一个功率执行环节。所以整个系统的功率协调逻辑是:先由低通滤波策略决定储能总出力,再由DC/DC控制维持母线电压,逆变器把直流侧功率传递到交流侧。理解了这个层级关系,仿真模型里各模块的控制目标就不会搞混。
7. 完整仿真模型的分步搭建流程——按顺序操作不容易出错
前面原理和控制逻辑讲了不少,这节给出一个可以直接照着操作的搭建流程。我以Simulink R2022b版本为例,模型文件在MATLAB/Simulink环境下运行,模块库路径以实际版本为准,操作思路是通用的。
第一步,搭新能源出力与功率分配层。在Simulink中新建模型,用Signal Builder或者From Workspace模块导入新能源出力数据。如果手头没有实测数据,可以用一个可调速的阶跃加正弦叠加信号来模拟,比如幅值100kW、频率0.01Hz的低频正弦波叠加幅值20kW、频率0.5Hz的高频正弦波。然后拖入两个Transfer Fcn模块,第一个设为1/(10s+1)作为并网功率平滑滤波器,第二个设为1/(2s+1)作为蓄电池和超级电容的分频滤波器。用加法器计算P_storage = P_raw减P_smooth和P_sc = P_storage减P_batt,再接Saturation模块限幅。
第二步,搭蓄电池支路。蓄电池模型可以不用Simscape电池模型,直接用受控电压源加内阻的简化模型就够用,重点是控制环路验证。拖入一个可控电压源,设置电压为400V;再拖入一个电感L为3mH,一个Buck/Boost变换器模型。变换器控制子系统中,电压外环PI输入是800V参考减实际母线电压,输出作为电流参考;电流内环PI输入是电流参考减电感电流,输出经PWM发生器得到开关管驱动信号。这里用Universal Bridge模块搭建全桥结构,要设置好开关器件和缓冲电路参数。
第三步,搭超级电容支路。超级电容模型里面是RC串联结构,用串联电阻加大电容,设置电容值为15F,等效串联电阻0.01Ω。双向DC/DC结构和蓄电池支路类似,但控制目标不同:参考功率值除以超级电容端电压得到电流参考值,与实测电流比较后过PI环节,输出PWM波。
第四步,搭逆变器与LCL并网。三相逆变器用Universal Bridge三臂模块,直流侧接800V母线,交流侧依次接LCL滤波器和三相电压源模拟电网。LCL滤波器的三个元件参数在第三节表格里已经给出。逆变器控制子系统内部包好PLL、Park变换、电流PI环、反Park变换和SVPWM生成模块。这部分是整个模型里最复杂的,建议先单独搭建一个逆变器并网测试模型,验证好并网电流波形质量,再接回混合储能主模型,这样排查问题会容易很多。
第五步,连接所有模块并设置仿真参数。仿真时间设置为100秒,用变步长ode23tb求解器,最大步长不超过10毫秒,这样既能保证波形分辨率,又不会因为步长太大而忽略高频细节。用Scope模块观察母线电压、蓄电池功率、超级电容功率、并网功率、电网电流等关键信号。如果仿真速度太慢,可以把开关模型切换为平均模型,或者调整PWM载波频率从10kHz降到5kHz,观察结果趋势是否一致。
整个搭建过程最怕的是“一步到位”——一次性把所有模块接好再运行,报错了根本不知道问题在哪。我习惯的做法是分模块独立验证:功率分配层单独跑一遍,看滤波输出波形是否符合预期;蓄电池DC/DC单独接电阻负载跑一遍,看母线电压能否稳在800V;逆变器单独并网跑一遍,看并网电流是否正弦。每个模块验证通过后再整合,总装后的问题定位范围就小很多。
8. 仿真调试中的常见问题与排查技巧
实际调试中会遇到不少问题,这里按高频到低频的顺序列出来,每一条都是我自己的排查经验。
第一个问题:母线电压控制不稳定,出现低频振荡。这种情况大概率是电压外环PI参数设置不当,积分项过大导致相位裕度不足,或者电流内环带宽不够高,导致外环控制被内环拖累。排查方法:先把电压环PI积分项调小一个数量级,观察振荡是否消失;如果振荡频率在几十赫兹级别,重点看蓄电池支路电流环的跟随性,用阶跃信号测试电流环的响应速度,确保电流环调节时间在10毫秒以内。
第二个问题:蓄电池电流纹波过大。高频纹波超标说明电感量偏小或者开关频率偏低。检查电感L两端波形,如果电流纹波峰峰值超过额定电流的30%,就需要增大电感或者提高开关频率。当然电感增大也有代价,动态响应会变慢,所以这个要平衡。仿真里还有一个常见现象是:PWM载波和仿真步长设置不匹配,造成波形出现非真实的高频毛刺,这时把仿真最大步长设置到开关周期的十分之一以下,症状就会消失。
第三个问题:超级电容支路没有按预期承担高频功率,观察功率波形发现它和蓄电池承担了几乎相同的曲线。出现这个情况,先检查第二次低通滤波时间常数,如果取的和第一次一样大甚至更大,那分频效果自然不明显。时间常数取1秒以下,才能让超级电容照顾到周期在秒级以下的高频分量。另外检查超级电容支路的限幅是否太紧,如果参考功率被限幅卡住,那波形自然跟实际需求对不上。
第四个问题:并网电流谐波大,THD超标。这种问题先看LCL滤波器谐振峰有没有被有效阻尼,如果在谐振频率附近有明显放大,需要通过增大无源阻尼电阻来压制。另外PLL锁相质量也值得检查,锁相角抖动会直接把相位偏差引入电流环,导致低次谐波增大。还有一个容易被忽略的坑:电网电压源内阻设置。Simulink中Three-Phase Source默认内阻很小,如果设置成0,仿真中可能出现电流突变和数值振荡,适当设置内阻值能显著改善仿真稳定性。
第五个问题:SOC越界或仿真中途变量变成NaN。SOC越界通常是功率分配未加限幅导致的,前面已经提过;NaN问题则多源于代数环或者控制系统触发信号冲突。比如电压环和电流环形成了代数环,Simulink会报错提示,解决方法是在反馈路径中加一个Memory模块或者单位延迟断开代数环;如果是使用Schmitt Trigger之类的逻辑模块引起触发冲突,简化逻辑结构即可。
最后一个经验之谈:调Simulink模型不要一上来就追求高保真。第一版模型能体现策略核心逻辑就好,元件模型能用理想化处理就尽量理想化,控制参数能跑通就行。先把整体框架验证到“逻辑顺畅、结果符合预期”,再逐步加损耗、加寄生参数、加实际工况,这种从简到繁的过程反而能在更短时间内得到可信结论。
9. 仿真结果的分析方法——怎么判断这个模型好不好
模型跑完之后,不能只看波形好看了事,还要看数值指标是否合格。一套规范的混合储能并网仿真验证,至少要检查以下四个层面。
第一层:并网功率平滑度。把新能源原始出力曲线和低通滤波后的并网功率曲线画在同一个图里,计算并网功率的标准差或者最大波动率。具体指标可以用波动率公式:波动率等于功率最大值减最小值除以额定功率,按1分钟时间窗计算。风电场景下,如果原始波动率是30%,经过混合储能平抑后能降到10%以下,说明策略有效。这个指标是整套模型的核心价值体现,写在报告里最有说服力。
第二层:储能功率分配合理性。把蓄电池和超级电容的功率曲线叠加对比,蓄电池功率曲线应该呈现缓慢变化,超级电容功率曲线应该有明显的快速起伏,同时两条曲线的功率绝对值都应该在额定范围内。如果两条曲线形状高度相似,说明分频策略没生效;如果两条曲线都剧烈波动,说明蓄电池在吃高频分量,长期运行对电池寿命不利。
第三层:母线电压质量。观察直流母线电压围绕800V参考值的偏差,稳态偏差最好控制在正负5%以内,动态偏差在功率突变瞬间允许达到正负10%。母线电压波动过大,说明DC/DC控制环路的动态响应不够,可能是PI参数偏慢,也可能是因为储能功率限幅值设得太紧,无法快速响应功率缺额。
第四层:并网电能质量。测量并网电流的总谐波畸变率THD,按照并网标准,单机并网电流THD应低于5%。如果THD超标,返回第六节的排查思路处理LCL谐振和PLL问题。同时观察并网功率因数,理想状态下无功功率接近于零,功率因数接近1。
结果分析这里我特别想强调一件事:仿真不能只看某一个指标,要把四层指标联合起来看。比如滤波时间常数取大了,并网功率平滑度会很好看,但蓄电池承担的功率会很大,可能超出额定容量,这是以牺牲储能容量为代价换来的平滑,工程上未必可行。所以判断模型好坏,要建立一个多目标视角:平滑效果、储能容量利用率、母线电压质量、并网谐波水平,四个都要在合理范围。
10. 模型扩展与后续研究思路——仿真模型的生命力在于迭代
基础模型搭好并验证通过后,可以沿着几个方向扩展,这也是很多项目从开题到结题不断深入的过程。
第一个扩展方向:控制策略升级。低通滤波是静态分配策略,存在一个天然局限:不能根据储能SOC实时调整功率分配。比如蓄电池SOC偏高时,应该多分配给超级电容一些功率;超级电容电压接近上限时,应该限制它的充电功率。可以引入模糊逻辑控制或模型预测控制来动态调节滤波时间常数或功率分配比例。模糊控制的好处是不需要精确数学模型,规则可以基于经验设定;模型预测控制效果好,但计算量大,仿真时间会明显增加。
第二个扩展方向:工况丰富化。目前模型用的是理想化新能源出力曲线,可以换成真实的风电场或光伏电站实测数据。用实测数据时要注意数据分辨率,至少要达到1秒级别的采样才能体现高频波动特征。还可以加入电网电压跌落工况,测试混合储能在低电压穿越过程中的支撑能力,这时候逆变器控制需要从PQ控制切换为电压支撑控制,整个模型会更加复杂,但也更贴近工程实际。
第三个扩展方向:硬件在环验证。Simulink模型验证控制算法后,可以把控制算法生成C代码,下载到控制器中,与真实的物理仿真平台连接,进行硬件在环测试。这个方向需要额外的设备和软件支持,但能验证控制器实际运行表现。如果条件不具备,退而求其次,可以用Simulink Desktop Real-Time在普通电脑上做准实时仿真,虽然比不上专业硬件在环设备,但也能发现一些纯离线仿真看不到的问题。
我在实际做混合储能仿真的最大体会是:不要过度追求模型的复杂程度,关键是每一条控制链路都要真实有效。模型再漂亮,如果里面蓄电池功率分配不合理、逆变器谐波超标,那论文和报告里写的结论也是站不住脚的。从这个意义上说,一个严谨、可复现、指标清晰的仿真模型,价值不亚于一套硬件实验平台。希望这篇记录能帮到正在做新能源储能方向的朋友们。