ML5238电池管理芯片笔记
开发环境:window10系统
开发软件:IAR for STM8S;visual studio 2017;
开发工具:电脑一台;ST_link V2烧录器一个;
ML5238介绍:
ML5283是16节锂电池组二次保护系统的模拟前端IC. ML5283提供电池电压监控, 充放电电流监控功能,并且可以检测每个电池单元充电/放电的过充/过放情况。 ML5238具有短路电流检测功能, 可以主动关断充电/放电的MOS_FET,而无需外部MCU。
上位机介绍:
为了配合电池包的使用,开发的一套上位机对电池包的监控和设置,上位机分两个页面,一个是电池包状态显示页面,另一部分是电池包参数设置页面。http://buy.42iot.com
电池包状态显示页面:

上图中可以显示没个单元的电池电压,电池均衡状态以及其它的状态。
电池包参数设置界面:
这个页面可以根据需求修改电池包的参数以满足自身需求。
电池保护板源码设计:
电池保护板的MCU IC采用的是STM8S105K4T6,ST公司的产品性价比还是很高的,此产品价格比51低性能比51强不少。
MCU与ML5238芯片的通信是采用4线SPI(模式0),MCU与上位机的通信方式是串口(波特率为9600)。
程序流程图:
在程序设计上,读取和保存EEPROM代码如下:
在main函数上加上看门狗防止异常,看门狗代码如下:
在代码设计均衡算法时,要特别注意ML5238使用手册上的说明,我把那部分翻译并截取过来;
欢迎大家关注。
至此,我就介绍到这里
ML5238电池管理芯片笔记的更多相关文章
- exynos 4412 电源管理芯片PMIC 的配置及使用方法
/** ****************************************************************************** * @author Maox ...
- BQ24296充电管理芯片使用过程中的注意事项
BQ24296遇到的一点问题 概述:BQ24296是TI出品的具有窄范围VDC控制.基于I2C通讯的最大支持3A充电电流的开关式电源路径管理芯片.可以轻松实现2A以上的大电流充电,能量转换效率达到90 ...
- C++内存管理学习笔记(5)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- C++内存管理学习笔记(6)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- C++内存管理学习笔记(7)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- Docker Image管理学习笔记,ZT
Docker Image管理学习笔记 http://blog.csdn.net/junjun16818/article/details/38423391
- 浪潮各机型管理芯片BMC IP(智能平台管理接口)设置
NF5240m3/NF5140m3/NF5280m3/SA5212H2/NP5540M3NF5270M3/NF5170M3/NF8420m3 IPMI主板集成管理芯片BMC IP 设置开机按DEL键进 ...
- Android4.4电池管理
一.概述 Android4.4的电池管理功能用于管理电池的充.放电功能. 整个电池管理的部分包含Linux电池驱动.Android电池服务.电池属性和參数.电池曲线优化四个部分. Linux电池驱动用 ...
- 三节锂电池充电管理芯片,IC电路图如何设计
关于三节锂电池供电的产品,在三节锂电池上,需要三个电路系统: 1,三节锂电池保护电路, 2,三节锂电池充电电路, 3,三节锂电池输出电路. 1.三节锂电池保护电路,芯片电路图 控制三节锂电池池的充电电 ...
随机推荐
- 前端之JavaScript:JS之DOM对象一
js之DOM对象一 一.什么是HTML DOM HTML Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 ...
- 滑块QAbstractSlider
继承于 QWidget 抽象类-必须子类化 提供的范围内的整数值 QAbstractSlider import sys from PyQt5.QtWidgets import QApplication ...
- 简单说说JavaBean的使用
一:JavaBean定义 JavaBean是一种可重复使用.跨平台的软件组件.JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean,例如中的那些可视化图 ...
- Java——常用类(StringBuffer)
[StringBuffer] <1>java.lang.StringBuffer代表可变的字符序列. <2>StringBuffer和String类似,但是StringBu ...
- UOJ418. 【集训队作业2018】三角形
http://uoj.ac/problem/418 题解 考虑激活每个节点时,它的每个儿子都是放满的. 那每一次的操作我们可以用一个二元组来表示\((w_i-\sum w_{son},\sum w_{ ...
- 3D Computer Grapihcs Using OpenGL - 05 EBO
本节将采用两种方法绘制两个三角形. 先看第一种方法的代码 MyGlWindow.cpp #include <gl\glew.h> #include "MyGlWindow.h&q ...
- Zookeeper w3cschool教程
1.简介 ZooKeeper是一种分布式协调服务,用于管理大型主机.在分布式环境中协调和管理服务是一个复杂的过程.ZooKeeper通过其简单的架构和API解决了这个问题. ZooKeeper允许开发 ...
- 大数据笔记(一)——Hadoop的起源与背景知识
一.大数据的5个特征(IBM提出): Volume(大量) Velocity(高速) Variety(多样) Value(价值) Varacity(真实性) 二.OLTP与OLAP 1.OLTP:联机 ...
- postgresql源码编译安装(centos)
centos6.8安装postgresql-9.6.8 一.环境 centos6.8 postgresql-9.6.8 二.准备工作 虚拟机可以连接外网 三.先安装make,gcc,gcc-c++,r ...
- Asynchronous module definition
Asynchronous module definition Asynchronous module definition (AMD) is a specification for the progr ...