ML5238电池管理芯片笔记

      根据公司需要开发了以ML5238电池管理芯片+STM8S为核心的电池管理系统。由于前期对BMS系统还是了解甚少,开发起来也遇到了不少困难。再开发管理系统的同时,我也开发了管理系统的上位机,上位机用C#开发我也是第一次。经过自己一个月我开发,终于把管理系统和上位机开发完成了。今天特写篇文章来写下心得以记录自己的成果。

        开发环境:window10系统

        开发软件:IAR for STM8S;visual studio 2017;

        开发工具:电脑一台;ST_link V2烧录器一个;

        ML5238介绍:

        ML5283是16节锂电池组二次保护系统的模拟前端IC. ML5283提供电池电压监控, 充放电电流监控功能,并且可以检测每个电池单元充电/放电的过充/过放情况。 ML5238具有短路电流检测功能, 可以主动关断充电/放电的MOS_FET,而无需外部MCU。

        上位机介绍:

        为了配合电池包的使用,开发的一套上位机对电池包的监控和设置,上位机分两个页面,一个是电池包状态显示页面,另一部分是电池包参数设置页面。http://buy.42iot.com

电池包状态显示页面:

        上图中可以显示没个单元的电池电压,电池均衡状态以及其它的状态。

        电池包参数设置界面:

BMS电池管理系统介绍

        这个页面可以根据需求修改电池包的参数以满足自身需求。

        电池保护板源码设计:

        电池保护板的MCU IC采用的是STM8S105K4T6,ST公司的产品性价比还是很高的,此产品价格比51低性能比51强不少。

        MCU与ML5238芯片的通信是采用4线SPI(模式0),MCU与上位机的通信方式是串口(波特率为9600)。

        程序流程图:

BMS电池管理系统介绍

        在程序设计上,读取和保存EEPROM代码如下:

BMS电池管理系统介绍

BMS电池管理系统介绍

BMS电池管理系统介绍

BMS电池管理系统介绍

BMS电池管理系统介绍

BMS电池管理系统介绍

        在main函数上加上看门狗防止异常,看门狗代码如下:

BMS电池管理系统介绍

BMS电池管理系统介绍

        在代码设计均衡算法时,要特别注意ML5238使用手册上的说明,我把那部分翻译并截取过来;

BMS电池管理系统介绍

欢迎大家关注。

至此,我就介绍到这里

 

posted @ 2019-01-04 15:47  三七鸽  阅读(5415)  评论(3编辑  收藏  举报