做光伏的人都知道,最难受的不是没有太阳,而是太阳跟你玩“打地鼠”。云一飘过来,功率唰地掉一半,云一过去,又嗖地窜上来。光伏板是不管这些的,它在那边“抖着腿晒太阳”,直流母线上的电压却是最先遭殃的——母线电压一抖,后边的并网逆变器就得跟着调整工作点,弄不好直接触发过压保护。
我这样说吧,所谓的光储并网系统,本质上就是把光伏、蓄电池、超级电容三样东西挂在同一条直流母线上,然后通过控制策略让它们的功率输出“错峰干活”。标题里那句“储能兄弟在后台疯狂抢活”传神得很——蓄电池和超级电容确实在抢,但抢的不是功劳,是“功率份额”。今天这篇文章,我就把这套系统的动态功率分配思路、参数设计、实测坑点都摊开讲一遍,给正在做类似项目或者准备入坑新能源储能的朋友做个参考。
1. 整体架构与储能选型思路
1.1 这对“兄弟”的先天差异
蓄电池和超级电容虽然都叫储能,脾气却完全相反。蓄电池是典型的能量型储能,比能量高,一公斤磷酸铁锂能存大概150到180瓦时的能量,能扛住几十分钟甚至几小时的负荷,但响应速度慢,放电流率一般不超过1C到2C,循环寿命在几千次上下。超级电容是典型的功率型储能,比功率高得吓人,单体功率密度能达到几千瓦每公斤,毫秒级响应,循环寿命能到百万次级别——但比能量只有几瓦时每公斤,连锂电池的零头都不到。
生活里怎么理解?蓄电池像耐力型长跑选手,能跑全马但冲刺能力一般;超级电容像百米短跑运动员,爆发力极强但跑不了几步。光伏波动恰好是个“混合型选手”——云遮挡带来的秒级冲击靠超级电容扛,早晚辐照变化、长达几十秒到几分钟的功率爬坡靠蓄电池平。这两种储能装在一起,不是堆硬件,而是让它们各管一段频率区间。
1.2 只上一种储能的坑
只上蓄电池的方案我也见过不少。系统成本确实下来了,但运行一段时间后问题很明显。云层突然遮住光伏板的那一瞬间,功率跌落速度可能达到每秒几十千瓦,蓄电池的电流环还在慢慢爬坡,母线电压就已经跌出去几十伏。更麻烦的是,这种高频次的瞬态冲击会让蓄电池在浅循环区反复充放,加速内部结构损伤,甚至让BMS频繁报警。一组设计寿命十年的电池,这么折腾可能五六年就得提前退役。
只上超级电容呢?正好反过来。辐照长时间偏低、母线持续缺功率的时候,超级电容那点能量撑不了几分钟就见底了。如果为了撑住时长硬加超容的容量,成本又远超蓄电池。所以混合储能不是“赶时髦”,而是光伏波动的多时间尺度特性决定的合理分工:能量型的活交给蓄电池,功率型的活交给超级电容,各干各的,谁也别越界。
1.3 为什么选共直流母线架构
我当时选的架构是共直流母线,也就是光伏Boost、蓄电池双向Buck-Boost、超级电容双向Buck-Boost全部挂在同一条直流母线上,然后统一通过一台并网逆变器对外送电。这套架构的好处有三个。
第一,系统效率高。整站只有一个DC-AC环节,直流侧所有功率都在直流形态下汇合,少一次逆变就少一笔损耗。第二,控制集中。所有变换器都面对同一个母线电压,母线电压本身就是“功率平衡信号”,谁出力多少,通过电压偏差一目了然。第三,扩展性好。以后再挂一台燃料电池或者风电模拟器,只要在母线上并联一个变换器就行,不用动整体拓扑。
如果选共交流母线,每个储能单元都得配一台独立的逆变器,不仅成本翻倍,多台逆变器之间的并网时序、锁相、环流抑制都会变成新的麻烦。对中小型光储系统来说,共直流母线是性价比和可靠性都更好的首选。
2. 动态功率分配的控制逻辑
2.1 先看波动长什么样
光伏输出功率变化来自两个时间尺度。快尺度是云层移动、局部遮挡,变化周期在几百毫秒到几秒,幅度可以达到额定功率的一半以上。慢尺度是太阳高度角变化、天气系统移动带来的辐照缓慢爬坡,周期在几十秒到几十分钟。还有第三种叫“秒级闪烁”,比如水面反光、飞鸟掠过遮挡,时间更短,幅度小但频率高。
这些波动叠加到直流母线上,最后都会表现为电压的瞬时波动。电网对并网点的功率波动率有明确要求,工程上常用“1分钟最大功率变化率”来考核,比如要求每分钟变化率不超过额定功率的10%。光伏硬扛基本扛不住,全靠一种储能平抑也扛不住。所以控制系统的第一件事,就是把总功率误差按频率拆开,让不同的储能去接不同频段的任务。
2.2 低通滤波把功率一分为二
动态功率分配最常用的方法是一阶低通滤波。先把负荷功率减去光伏功率得到功率缺额 P_err,然后把这个缺额送进滤波器——低通滤波器的输出给蓄电池,高通部分(总缺额减去低通输出)给超级电容。
数学上很简单。一阶低通滤波器的连续域传递函数是:
G(s) = 1 / (1 + τ·s)
τ 是滤波时间常数。离散化之后,比如用一阶后向差分,就变成递推式:
P_batt(k) = α·P_batt(k-1) + (1-α)·P_err(k)
其中 α = Ts / (τ + Ts),Ts 是采样周期。
蓄电池拿到的指令是低频分量,变化平缓,电流不会突变;超级电容拿到的指令是高频分量,正好发挥它快速响应的特长。这个α不是随便取的,τ选多大,直接决定“低频”和“高频”的分界线在哪。
实际调试中,我一般先把τ设在2到5秒,观察P_batt曲线的变化率,再根据蓄电池的允许C率微调。如果蓄电池电流变化率还是太快,就把τ加大,把更多中频分量推给超级电容。
2.3 SOC约束与滞回保护
功率分配只是第一层,第二层是SOC约束。蓄电池最怕过充和欠压,超级电容最怕SOC跑到0%或者100%两端饱和。理论上低通滤波会一直输出正负功率,但如果不加约束,SOC会越跑越偏,最后导致某一台储能失去调节能力。
我的做法是在BMS读到的SOC基础上加一个功率限制系数。简单版本是这样:当蓄电池SOC高于90%时,限制充电功率,逐步降为0;当SOC低于20%时,限制放电功率,逐步降为0;中间区间功率系数为1,完全放开。
但这里有个坑:如果功率突然减到0,母线电压会瞬间失去一个功率支路,导致电压跳变。所以千万别做“硬切”,要做“斜坡渐变”。我给每一项限制都加了5到10秒斜坡,让功率平滑过渡。
超级电容的SOC管理逻辑反而更简单,因为它工作区间大,允许0%到100%运行,但也要防止它卡在饱和区失去调节能力。我在超级电容SOC进入上、下限后,会强制让它进行自恢复充放电,也就是人为注入一个小幅充放电循环,让SOC回到50%附近。这一招在长期运行中特别管用。
2.4 并网逆变器怎么配合
储能兄弟在直流母线上干活,并网逆变器也有一套自己的逻辑。逆变器主要干两件事:第一,维持直流母线电压稳定;第二,把直流侧富余的功率逆变送出电网。
逆变器控制通常采用电压外环加电流内环。电压外环采样直流母线电压,与给定值比较,PI输出作为并网电流的幅值指令;电流内环跟踪这个指令,与电网电压锁相后输出PWM。当母线电压升高,说明直流侧功率有富余,逆变器多送电;母线电压降低,说明功率不够,逆变器少送电。这样“母线电压-并网功率”之间构成一个自然的平衡闭环,储能系统只需要在母线电压偏离过大时才主动出力。
这个配合逻辑想清楚之后,整个系统的控制架构就非常清晰了:光伏只管把功率推上母线,逆变器只管把功率送出去,中间的功率平衡和波动平抑,全部交给蓄电池和超级电容的分频控制完成。
3. 参数设计、仿真与硬件实现
3.1 母线电容容量估算
直流母线电容是这套系统的“蓄水池”。母线电容选小了,高频功率波动就直接体现在电压上;选大了,成本高、启动冲击还大。工程估算公式可以用能量法:
C ≥ P_nom · Δt / (2 · V_bus · ΔV)
举个实例,我做过一套50kW的模拟系统,母线额定400V,允许动态电压波动ΔV取5%也就是20V,要求在10ms内扛住一个阶跃功率冲击,算下来C = 500 / (2·400·20) ≈ 31mF。这个数量级一般用两组电解电容柜并联达成。仿真初始阶段可以用这个值起步,实测再看波形微调,通常还得再并一些高频薄膜电容吸收开关纹波。
3.2 滤波时间常数的确定
τ的选取有几个参考维度。第一是电网考核周期。如果考核1分钟平均变化率,τ取10秒以上能有效平滑;如果只是平抑秒级波动,τ取1到3秒就够了。第二是蓄电池的承受能力。磷酸铁锂持续1C问题不大,瞬时0.5C放电没压力,但如果指令让它在1秒内从0跳到1C,对电化学体系冲击会非常明显。第三是超级电容的能量储备。τ越大,超容分担的瞬时能量越多,它必须有足够的容量支撑。
我的经验是先做一次72小时实测数据回放仿真,把实测的光伏辐照序列喂给系统,统计不同τ下蓄电池的电流平均变化率、超级电容的SOC最低值,然后取折中。某个模拟项目的最终结果是τ=4秒,蓄电池最大电流变化率压在了0.8C/min以内,超级电容SOC最低掉到28%,都还能接受。
3.3 双向变换器的控制环设计
蓄电池和超级电容的变换器都是双向Buck-Boost拓扑。充电时工作在Buck模式,放电时工作在Boost模式。控制上采用电流内环加功率外环。功率外环的输入是上一步低通滤波给出的P_ref,除以当前SOC对应的允许系数,再除以母线电压,得到电流指令,交给内环跟踪。
占空比这块也要算清楚。Buck模式下,占空比D = V_batt / V_bus;Boost模式下,D = 1 - V_batt / V_bus。以400V母线、400V蓄电池为例,Buck和Boost的占空比都在0.5附近,电感电流纹波差不多是满载电流的30%左右,电感量按纹波要求反推就行。
电流内环PI参数的整定我基本靠两步:先把电流环设成带宽约500Hz到1kHz,Kp取电感压降与额定电流的比值,Ki按典型I型系统整定;再把功率外环带宽设成电流环的1/10左右,大概50到100Hz。要注意的是,内环带宽太窄会让蓄电池响应变慢,外环带宽太宽会引入振荡。先整内环,后整外环,顺序别反。
下面给一段离线仿真的Python片段,模拟低通滤波分配和SOC限制:
import numpy as np Ts = 0.001 tau = 4.0 alpha = Ts / (tau + Ts) # 假设已经从数据文件读入光伏功率和负荷功率序列 P_pv = np.loadtxt('pv_power.csv') P_load = np.loadtxt('load_power.csv') P_err = P_load - P_pv P_batt = np.zeros_like(P_err) P_scap = np.zeros_like(P_err) prev = 0.0 for k in range(len(P_err)): prev = alpha * prev + (1 - alpha) * P_err[k] P_batt[k] = prev # 蓄电池承担低频分量 P_scap[k] = P_err[k] - prev # 超级电容承担剩余高频分量跑完之后,把P_batt和P_scap的曲线叠在P_err上,基本一眼就能看出分频效果。蓄电池那条线明显平滑,超级电容那条线则保留了大量毛刺和尖峰。
3.4 状态机与模式切换
系统工况不是永远一样的。夜里光伏不出力,白天出力大,负载跳变,电网故障,等等。每个工况下储能的工作模式不同,我习惯用一个状态机管理。
- 状态0:待机。母线电压正常,储能不动作。
- 状态1:电量平衡。光伏有出力但波动大,蓄电池加超容按分频逻辑出力。
- 状态2:过压抑制。母线电压超过上限,强制超级电容吸收功率,必要时蓄电池也参与。
- 状态3:欠压支撑。母线电压低于阈值,蓄电池优先放电,超级电容提供瞬时支撑。
状态切换最忌讳的是频繁抖动。所以在切换条件上必须加滞回,比如母线电压超过405V进入过压抑制,回落到398V才退出,中间的7V就是滞回带,避免在临界点反复横跳。
4. 实测中的常见问题与排查技巧
4.1 母线电压冲高,超过逆变器保护值
现象:光照突变时,母线电压瞬间冲到430V,逆变器过压报警。
排查思路:先看超级电容是否在承受范围内。如果超级电容SOC已经接近满电,它就失去了吸收功率的能力,高频冲击直接砸在母线电容上,电压自然冲高。我的解决方法是把超级电容的SOC工作上限从95%下调到85%,给“吸收功率”多留15%的能量缓冲空间。同时,在控制逻辑里增加一个母线电压前馈项:当母线电压超过395V时,提前降低蓄电池充电功率,给超级电容让出吸收通道。
4.2 蓄电池电流瞬时过流
现象:P_batt指令变化平缓,但实际母线电容电流尖峰很大,蓄电池电流超过允许的1.5C。
排查思路:问题多半出在电流环PI参数上。电流环响应太快,会把母线电压高频纹波放大成功率指令的抖动;响应太慢,则又跟不上外环指令。我采用了串级滤波:在外环输出到内环指令之间再加一节截止频率10Hz左右的低通滤波,把指令中的高频毛刺滤掉。改完之后,蓄电池电流曲线光滑了很多,过流报警也消失了。
4.3 超级电容SOC越跑越偏
现象:系统连续运行两天后,超级电容SOC从50%漂到了80%,吸收功率的能力明显下降。
原因是滤波分频后,超级电容负责高频分量,其平均功率接近零,但每次充放循环都不是完全对称的,一点点静差长期累积就漂了。我的对策是加了一个SOC恢复环:将超容SOC与目标值50%的偏差,经过一个极低带宽的PI(时间常数几百秒),输出一个微小的补偿功率叠加到超容指令上。这样既不牺牲高频响应,又能把SOC慢慢拉回目标区间。这是实测里我觉得最值得分享的一个小技巧,没有它,超容SOC漂移问题会一直困扰你。
4.4 两台储能变换器之间的环流
现象:蓄电池变换器和超级电容变换器虽然并联在同一母线上,但流经母线的电流在两台变换器之间形成环流,母线电压纹波变大。
原因通常是两台变换器的电压采样点不同、采样零点有偏差。解决办法是让两套变换器共用同一个母线电压采样值作为控制参考,并且校准ADC零点。同时在电流环加入一个很小的虚拟电阻项,也就是对功率变换器输出阻抗做重塑,让两台变换器天然形成均流效果。这个细节在并联系统中非常关键,处理不好,纹波电流会白白增加损耗。
4.5 PI参数振荡实录
有一次我为了追求母线电压响应速度,把电压外环PI的Kp提高了一倍。结果系统在某个工况下出现持续振荡,母线电压以2Hz的频率上下波动,并网电流也一起抖。
后来复盘发现是电压外环带宽与储能功率外环带宽重叠导致的闭环谐振。我把电压外环带宽从100Hz降到40Hz,储能功率外环带宽从80Hz降到30Hz,两者错开,振荡立刻消失。这也印证了一条经验:多台变换器并联时,各级控制环路的带宽要错开设计,尤其不能让两个功率环的交叉频率靠太近,否则就会出现这种“你推我搡”的振荡。
4.6 实测数据与效果
最后展示一组我在模拟平台上的实测对比数据:
| 指标 | 无混合储能 | 混合储能(τ=4s) |
|---|---|---|
| 母线电压最大偏差 | ±40V | ±8V |
| 并网点1分钟功率变化率 | 35% | 6% |
| 蓄电池电流最大变化率 | 瞬时2.3C | 0.8C/min |
| 超级电容SOC跌落谷值 | 无 | 28% |
虽然只是模拟平台的数据,但发展方向很明确:动态功率分配做得好,储能兄弟就不会打架,母线电压稳了,并网质量也自然合格。
5. 一点收尾经验
我最后想说的不是技术,而是调试品味。做这套光储并网系统,最忌讳的是上来就调PI、调τ,脑子里没有整体的功率流概念。先想清楚功率怎么流、谁来平高频、谁来平低频,再动手建模;建模时参数先用经验值,跑通后再用实测回放去校核;校核时重点看蓄电池电流变化率和超级电容SOC边界,这两个指标基本决定了系统能不能长时间运行。
另外,一定要留好调试接口。我在每个储能变换器的控制代码里都保留了一个“指令注入”通道,可以手动叠加任意波形功率指令,这对验证分频逻辑、定位振荡问题帮助巨大。没有这个通道,光靠改代码重编译,调试效率会低一大截。
这套共直流母线光储并网的动态功率分配方案,本质上并不复杂,难就难在每一个环节的细节上都别偷懒。蓄电池和超级电容并不是在“抢活”,是需要有人把活分明白;把低频和高频理顺了,它们自然各司其职,直流母线上的“阳光”也就稳了。