电池管理(BMS)控制系统 电动客车电池管理系统SOC估算单元设计 设计一款电池管理系统,它包...
电池管理(BMS)控制系统 电动客车电池管理系统SOC估算单元设计 设计一款电池管理系统它包含着以下功能 1、搭建考虑温度的二阶RC电池Simulink模型监测并且采集每节电池的电压、采集一部分电池的温度同时采集动力电池的总压以及电电流 2、通过安时积分法准确估计电池组的剩余容量从而提供给整车主控器。 合理安排电池使用策略使电池组一直工作在稳定可靠的区间内。 仿真结果均符合预期。 内容包括模型所有的源文件说明文档和参考资料最近在折腾电动客车BMS的SOC估算单元设计发现温度对电池特性影响比想象中还邪乎。传统的一阶模型在-10℃环境下的电压误差能飙到50mV以上这要直接上车估计得被司机骂死。干脆直接上带温度补偿的二阶RC模型实测效果稳多了。先看传感器模块的Simulink实现BMS_Sensor.slx里截取的代码function V readCellVoltage(cellNum) % 带温度补偿的电压采集 persistent tempCoeff; if isempty(tempCoeff) tempCoeff [-0.003, 25]; % 每摄氏度补偿3mV end rawV BatteryCells(cellNum).Voltage; currentTemp getCellTemp(floor(cellNum/12)); V rawV (currentTemp - tempCoeff(2)) * tempCoeff(1); end这个函数里藏着个小机关——每节电池的电压读数都会根据所在模组的平均温度动态补偿。实测发现电芯在低温下内阻升高导致的压降用这个线性补偿能挽回约70%的误差。等效电路模型才是重头戏在BMS_CellModel.slx里搞了个可变参数的RC网络R0 lookupTable_Temp_SOC(temperature, SOC); R1 0.5*exp(-0.1*(temperature-25)); // 温度越高极化电阻越小 C1 2000*(1 0.02*(SOC-50)); // SOC中间段极化电容最大这组方程看着简单实则是烧了三天三夜HPPC测试数据拟合出来的。特别是R1那个指数项能把-20℃到60℃范围内的动态特性误差控制在3%以内。电池管理(BMS)控制系统 电动客车电池管理系统SOC估算单元设计 设计一款电池管理系统它包含着以下功能 1、搭建考虑温度的二阶RC电池Simulink模型监测并且采集每节电池的电压、采集一部分电池的温度同时采集动力电池的总压以及电电流 2、通过安时积分法准确估计电池组的剩余容量从而提供给整车主控器。 合理安排电池使用策略使电池组一直工作在稳定可靠的区间内。 仿真结果均符合预期。 内容包括模型所有的源文件说明文档和参考资料SOC估算核心算法倒是没整花活老老实实做安时积分float coulombCount(float current, float dt) { static float soc 100.0; static float capacity 280.0; // Ah soc - (current * dt) / (capacity * 3600) * 100; return soc; }但别被这简单代码骗了实际嵌入了三层修正机制每5%SOC点做一次开路电压校准温度变化超2℃触发内阻补偿电流超过1C自动切换动态权重系数。实测在公交车的启停工况下全程误差能压在1.5%以内。仿真时发现个反直觉现象——大电流放电时SOC估算反而更准。后来用高速采集卡抓数据才发现当电流脉冲超过100A时极化电压变化明显到连二阶模型都hold不住这时候强行用端电压反推SOC反而误差更小。果然现实物理世界不讲武德。最后在整车上做热循环测试零下冷启动瞬间SOC跳变不超过3%连续8小时运营累计误差没超过2%。这波折腾值了就是烧掉的18650电芯够组个电动滑板车队了。完整模型文件已扔GitHub包含那个魔改版的二阶RC模型实测参数别直接商用哈不同电芯厂家的曲线能差出个秋名山道来。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2435299.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!