1. 储能系统概述:储能技术分类、系统架构与数据采集基础
大家好,我是老张。在储能行业摸爬滚打了十几年,今天咱们来聊聊储能系统最基础的东西。你可能会觉得基础内容没什么好讲的,但我跟你说,很多项目出问题,恰恰是基础没打牢。
我记得刚入行那会儿,带我的老师傅就说了一句话:「搞储能,先搞清楚你存的是什么、怎么存、怎么管。」这句话我一直记到现在。好,咱们开始。
1.1 储能技术分类
储能技术说白了,就是把电存起来,等需要的时候再放出来。但怎么存?方法可就多了。
我个人习惯把储能技术分成三大类:
- 电化学储能:锂电池、铅酸电池、液流电池、钠硫电池等
- 物理储能:抽水蓄能、压缩空气储能、飞轮储能
- 电磁储能:超级电容器、超导磁储能
你可能会问,为什么市面上锂电池最多?嗯,这里有个关键点——能量密度和循环寿命的平衡。锂电池在这两点上表现最均衡,所以成了主流。
核心观点:没有最好的储能技术,只有最合适的应用场景。锂电池适合分布式储能,抽水蓄能适合大规模调峰,飞轮储能适合短时高频响应。
我在项目中遇到过一件事:有个客户非要拿铅酸电池做调频,结果循环寿命不到半年就废了。说白了,技术选型错了,后面全是坑。
1.2 储能系统架构
搞清楚了存什么,接下来就是怎么搭系统。储能系统架构,我习惯把它拆成四个层级:
- 电池堆层:电芯→模组→电池簇→电池堆
- 功率转换层:PCS(储能变流器),负责交直流转换
- 控制管理层:BMS(电池管理系统)、EMS(能量管理系统)
- 辅助系统层:温控、消防、照明、通信等
你想想看,这四个层级缺一个都不行。电池堆是心脏,PCS是肌肉,BMS/EMS是大脑,辅助系统是免疫系统。
下面这张图是我自己画的,把整个架构串起来了:
我的经验:架构设计时,千万别只盯着电池堆。我见过太多项目,电池选得挺好,结果PCS容量不匹配,或者BMS通信协议没对齐,最后整个系统效率打八折。记住,四层架构要一起考虑。
1.3 储能数据采集基础
好,架构搭好了,接下来就是数据采集。为什么数据采集这么重要?因为储能系统的运行状态、健康评估、故障预警,全得靠数据说话。
数据采集,说白了就是「感知」和「传输」两个动作。
1.3.1 采集哪些数据?
我个人习惯把数据分成三类:
| 数据类型 | 具体参数 | 采集频率 | 用途 |
|---|---|---|---|
| 电气量 | 电压、电流、功率、频率、SOC、SOH | 100ms~1s | 运行控制、保护 |
| 状态量 | 温度、湿度、压力、烟感、门禁 | 1s~10s | 安全监控、环境调节 |
| 事件量 | 告警、故障、保护动作、通信状态 | 事件触发 | 故障分析、运维决策 |
你可能会问,SOC和SOH是什么?嗯,这里简单说一下:
- SOC(荷电状态):电池还剩多少电,0%~100%
- SOH(健康状态):电池老化程度,100%是新电池,80%以下建议更换
注意:SOC估算不是简单的电压查表。我曾经在一个项目中,直接用开路电压法算SOC,结果温度一变,误差直接飙到15%。后来改用安时积分+卡尔曼滤波,才把误差控制在3%以内。数据采集的精度,直接影响控制效果。
1.3.2 数据采集架构
数据怎么从传感器到后台?我画了个简图:
数据流从传感器出发,经过采集终端、通信网关,最终到达云平台或本地SCADA。每一步都有讲究:
- 传感器:精度要够,响应要快。我建议电压采集精度不低于0.5%,电流不低于1%
- 采集终端:要支持多协议(Modbus RTU/TCP、CAN、IEC 61850),还要有本地缓存,防止断网丢数据
- 通信网关:要考虑带宽和延迟。实时控制数据走有线,历史数据走无线
- 云平台/SCADA:数据存储要分热数据和冷数据,热数据放内存数据库,冷数据放磁盘
一个小技巧:数据采集时,别忘了打时间戳。我见过一个项目,所有数据都没时间戳,结果故障回溯时根本对不上时间轴,白忙活一场。每个数据点都要带上UTC时间,这是基本功。
1.3.3 数据质量与预处理
数据采回来了,但不一定能用。为什么?因为现场环境复杂,传感器可能漂移、通信可能丢包、干扰可能引入噪声。
我一般会做三步预处理:
- 异常值剔除:电压突然跳到1000V?明显不合理,直接丢掉
- 缺失值填充:短时间缺失用线性插值,长时间缺失标记为无效
- 平滑滤波:用移动平均或中值滤波,去掉高频噪声
举个例子,温度数据经常有毛刺,我习惯用5点中值滤波:
# 中值滤波示例(伪代码)
def median_filter(data, window_size=5):
filtered = []
for i in range(len(data)):
start = max(0, i - window_size//2)
end = min(len(data), i + window_size//2 + 1)
filtered.append(median(data[start:end]))
return filtered
嗯,代码很简单,但效果很好。我曾经在一个项目中,温度传感器被空调直吹,数据波动特别大。用了中值滤波后,曲线一下子就平滑了,BMS的温控策略也正常了。
总结一句话:数据采集是储能系统的「眼睛」和「耳朵」。眼睛看不清,耳朵听不准,后面的分析、控制、优化全是空中楼阁。所以,别嫌基础,把这一步做扎实了,后面的路才好走。