基于STM32和CAN总线的电动车电池管理系统设计
等的安时积分法,并根据温度,电压,电压-时间梯度等量加以修正。与此同时,实时上报总电压、电流、温度和总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与实际情况也基本吻合,充电时当有电池接近充满时均衡操作能及时启动,且保护过充的效果也较为理想。
- 盘点STM32-NUCLEO开发与仿真平台(03-28)
- 一种基于ZigBee和STM32的室内智能照明系统的设计(05-13)
- 大联大友尚集团推出ST STM32马达控制Nucleo开发工具包,可直接开始运转无刷直流马达(05-27)
- 这些VR设备“内脏”构造大解剖!绝对有你没见过的(02-14)
- 在变频空调风机中永磁同步电机矢量控制方案的运用(04-04)
- 基于STM32和SIM900A的无线通信模块设计(10-07)