微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于STM32和CAN总线的电动车电池管理系统设计

基于STM32和CAN总线的电动车电池管理系统设计

时间:04-21 来源:测控网 点击:

等的安时积分法,并根据温度,电压,电压-时间梯度等量加以修正。与此同时,实时上报总电压、电流、温度和总SOC共4个参数给一级控制器,充电时如果有单节电池电压过高,则开启相对应的MOS管,以均衡充电。出现过温,过流或达到放电终点时,断开该串电池,并将断开时的所有数据均上报一级控制器,否则主程序继续判断是否有指令,循环上述过程。

  

  2.2 一级控制器软件流程

  (1)接收二级控制器上传的数据,这里主要有两种数据:一是时刻上传的每串电池的电流、电压、温度,剩余电量;二是当某串电池因故停止工作时上传的完整数据和停止原因。

  (2)SOC计算,这里计算的SOC是根据实时上传的电流、电压和温度计算整串电池的剩余电量,因为STM32F107芯片运算能力强于C8051F5 00,所以这里的计算模型采用模糊神经网络法。

  (3)对二级控制器下达指令,这里的指令有两种:一是要求其上传目前工作情况的完整数据,主要是停车前保存历史数据或手动要求查看;二是在其充放电时SOC明显高于/低于其他电池串时,让该电池串暂停工作一段时间,有利于在使用中尽量抹平电池间的不一致性。当上传的SOC和所计算的SOC之间有较大差异时,则上传该情况,方便检查并修正模型系数。

  (4)向主控制器上传数据,这里的数据除了主动或应主控制器要求上传的包括电池包整体电压、电流和SOC,相应电池串乃至相应电池的电压、电流、温度和SOC等一系列工作情况以外,还有各种意外情况的汇报。

  2.3 主控制器软件流程

  主控制器的任务是向整车控制器汇报电池组的工作情况,并根据要求向一级控制器传达指令,与一级控制器相似,但由于各电池包可能会切断某条电池串,造成SOC的突变,所以没有计算各电池包SOC的操作。

  3 结束语

  本文提出了一种以STM32F107为核心控制器,通过CAN总线与以 C8051F500为核心的子控制器互联的电池组监控管理系统,可以高效地管理电池,为驾驶员提供剩余动力信息,延长电池的使用寿命。文章从硬件和软件两个方面详细描述了系统的实现过程和各项功能。本系统在用电压源和电流源进行检测时,所测量的电压误差不超过0.01 V,电流误差不超过0.05 A,对于模拟的过压、过流、过温、放电终止等情况,控制板均能迅速做出反应,验证了系统的测量精度、实时控制和良好畅通的CAN通信网络,在使用锂电池进行充放电实验时,所估算的SOC与实际情况也基本吻合,充电时当有电池接近充满时均衡操作能及时启动,且保护过充的效果也较为理想。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top