一、介绍
本系统以 NASA Battery Dataset 为数据源,对锂离子电池的健康状态(SOH)、剩余使用寿命(RUL)和荷电状态(SOC)进行全面评估与预测。系统采用随机森林回归模型预测 SOH(R²≈0.97),线性回归外推 RUL,扩展卡尔曼滤波(EKF)增强 SOC 估算,并通过 Vue.js + ECharts 进行可视化展示,同时提供基于规则的分级异常预警与模型版本管理功能。
二、系统功能
1、数据采集与预处理
通过 kagglehub 自动下载 NASA Battery Dataset(18650 锂离子电池,B0005~B0028 等多块电池),使用 process.py 对原始放电循环 CSV 进行预处理。
(1)缺失值清洗与容量异常过滤。
(2)容量法计算 SOH:
SOH = C_current / C_rated × 100%
(3)提取 11 维统计特征,包括电压、电流、温度均值标准差以及放电时长等。
(4)采用 Min-Max 归一化,并持久化保存 scaler.pkl。
(5)采用安时积分法计算 SOC,并进行 10:1 降采样。
(6)基于规则实现四级分级预警标记(0正常/1关注/2预警/3报警)。
处理完成后由 save_to_db.py 批量写入 MySQL。

2、电池状态监控
选择电池编号(B0005/B0006/B0007)和放电循环次数,使用 ECharts 折线图展示该次放电过程的四条时序曲线。
(1)电压-时间曲线。
(2)电流-时间曲线。
(3)温度-时间曲线。
(4)SOC-时间曲线。
横轴统一以放电时长(秒)为单位,数据来源于 battery_timeseries 表。

3、SOH 健康状态评估
基于容量法:
SOH = C_current / C_rated × 100%
评估电池健康状态。
状态阈值如下:
(1)SOH ≥ 80%:正常。
(2)70%~80%:关注。
(3)SOH < 70%:报废。
页面展示内容如下:
(1)健康概览卡片(总数/平均SOH/关注数/报废数)。
(2)多电池 SOH 衰减对比折线图(含 80% 报废警戒线)。
(3)健康排名柱状图。
(4)电池状态列表。
数据来源于 battery_data 表。

4、SOH 预测与 RUL 剩余寿命预测
SOH 预测采用随机森林回归模型。
(1)模型名称:RandomForestRegressor。
(2)树数量:200 棵。
(3)输入特征:11 维特征。
(4)模型指标:RMSE≈8.65,R²≈0.97。
系统通过 ECharts 双线图对比容量法实际值与模型预测值。
RUL 预测采用线性回归拟合 SOH 衰减趋势,并外推至 SOH=80% 计算剩余可用循环数,结果写入 battery_health 表,并以柱状图展示各电池寿命排名。

5、异常检测与预警
基于规则引擎对放电数据进行四级分级预警。
(1)SOH < 80%:关注。
(2)温度 > 45℃ 或 电压 < 2.5V:预警。
(3)温度 > 60℃ 或 SOH < 70%:报警。
多条件触发时取最高等级。
页面展示内容如下:
(1)预警概览卡片。
(2)各电池预警分布堆叠柱状图。
(3)支持按电池编号和预警等级双重筛选的预警详细列表。

6、个人信息
用户可查看和编辑个人信息。

7、修改密码
用户登录后可修改密码。

8、登录注册
系统支持用户登录与注册。

9、用户管理
管理员可对用户信息进行统一管理。

三、软件架构
后端
(1)Python 3.8+。
(2)Flask。
(3)scikit-learn(随机森林 SOH 预测、线性回归 RUL 预测、PCA 降维)。
(4)NumPy / Pandas(数据处理与特征提取)。
(5)joblib(模型序列化与热加载)。
前端
(1)Vue。
(2)ECharts。
数据库
(1)MySQL 5.7+。