一、介绍
本系统以 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 进行预处理:缺失值清洗与容量异常过滤、容量法计算 SOH(SOH = C_current / C_rated × 100%)、提取 11 维统计特征(电压/电流/温度均值标准差、放电时长等)、Min-Max 归一化(持久化 scaler.pkl)、安时积分法计算 SOC 并 10:1 降采样、基于规则的四级分级预警标记(0正常/1关注/2预警/3报警)。处理完成后由 save_to_db.py 批量写入 MySQL。
2、电池状态监控
选择电池编号(B0005/B0006/B0007)和放电循环次数,使用 ECharts 折线图展示该次放电过程的四条时序曲线:电压-时间、电流-时间、温度-时间、SOC-时间,横轴统一以放电时长(秒)为单位,数据来源于 battery_timeseries 表。
3、SOH 健康状态评估
基于容量法(SOH = C_current / C_rated × 100%)评估电池健康状态,状态阈值:SOH ≥ 80% 正常,70%~80% 关注,< 70% 报废。页面展示健康概览卡片(总数/平均SOH/关注数/报废数)、多电池 SOH 衰减对比折线图(含 80% 报废警戒线)、健康排名柱状图及电池状态列表,数据来源于 battery_data 表。
4、SOH 预测 & RUL 剩余寿命预测
SOH 预测采用随机森林回归(RandomForestRegressor,200棵树,11维特征输入,RMSE≈8.65,R²≈0.97),以 ECharts 双线图对比容量法实际值与模型预测值。RUL 预测采用线性回归拟合 SOH 衰减趋势,外推至 SOH=80% 计算剩余可用循环数,结果写入 battery_health 表并以柱状图展示各电池寿命排名。
5、异常检测与预警
基于规则引擎对放电数据进行四级分级预警(SOH<80% 关注、温度>45℃或电压<2.5V 预警、温度>60℃或SOH<70% 报警),多条件触发时取最高等级。页面展示预警概览卡片、各电池预警分布堆叠柱状图(ECharts),以及支持按电池编号和预警等级双重筛选的预警详细列表。
6、个人信息
用户查看、编辑个人信息。
7、修改密码
用户登录后可修改密码。
8、登录注册
用户登录注册。
9、用户管理
管理员功能,管理用户信息。
三、软件架构
后端
- Python 3.8+
- Flask
- scikit-learn(随机森林 SOH 预测、线性回归 RUL 预测、PCA 降维)
- NumPy / Pandas(数据处理与特征提取)
- joblib(模型序列化与热加载)
前端
- Vue
- ECharts
数据库
- MySQL 5.7+