BQ76940+BQ34Z100-G1+BQ76200+STM32方案的48V BMS设计小结

成品介绍

本科毕设记录,填坑。采用了TI的BQ76940AFE+BQ34Z100-G1电量计+BQ76200高端驱动+mcu的方案,这是根据TI官方那个方案改的,链接如下:
精确监测和 50μA 待机电流、13S、48V 锂离子电池组参考设计
TIDA-010030

mcu由于没用过MSP430我自己改成了STM32F103C8T6,最后除了电量计这块没有进行充放电学习过程外,基本实现要求功能,什么自定义的过流,短路,过放,过温都行。可以自动识别充放电,充电过程进行电池均衡(这里设置了一节),防充电器倒冲(程序存在BUG我最后只做到了10V,如果一上来就低于10V就不管用了),CAN总线传输数据也整上了。BQ7718我买错型号了,所以这个冗余保护部分就没测试过,不过这部分所在的第二块儿PCB很简单,直接改官方的PCB也行,我就是这么干的。
本文只对关键部分进行赘述,能力有限,欢迎大佬分享经验。
上成品图
在这里插入图片描述

在这里插入图片描述

具体方案

在这里插入图片描述
总览原理图

在这里插入图片描述

STM32我是用Cubmx进行的快速开发,配置起来很方便,具体流程我也是根据网上各种Cubemx教程一点一点来的,在此之前完全没用过,软件一直在吃灰。。。。。。配置如下。
在这里插入图片描述

注意事项

1.电流采样部分的PCB布线

这块儿很重要,硬件不行直接影响后面的软件程序设计。电流采用回路没设计好直接导致采集回来的电流老飘,然后误动作,因此我从打了一块板子,唉。
这里分享一个ADI的设计方法,可以借鉴学习Optimize High-Current Sensing Accuracy by Improving Pad Layout of Low-Value Shunt Resistors

第一次给这种板子布线傻傻的,光顾连线了,额。程序开发到一半发现电流怎么都归不了零,明明什么负载都没接,它却处于一个较高的波动,极其蛋疼。没法设计自动识别充放电了。于是第二次我参照官方的PCB进行了以下改进,做出来终于正常了。

所以布线要认真,我这一共弄了三版,第一版直接封装搞错好几个。。。。。。
在这里插入图片描述

2.与BQ76940的IIC通讯

Cubemx的硬件IIC下,我用的BQ7694003的IIC地址是0X08,实际上要写0X10
由于我用的是Cubemx的硬件IIC,所以玩过这个硬件IIC的想必都碰过坑,我还行,做足了前期准备。幸运的是我参考了这篇博文
STM32F103硬件IIC在HAL库下入坑指南

同时我还在网上搜刮到了BQ76940和BQ34Z100-G1的相关程序。
在刚开始测试与BQ76940进行IIC通讯时,发生了无法通讯的问题,其根源在于BQ76940使用的是7位IIC地址:0X08。而STM32的硬件IIC是取8位地址中的前7位(从左往右数),然后直接将其最低位强制改为0(表示写操作)或1(表示读操作),最后最高位补0。这样导致我输入的从机地址是0X08,实际上发送出去的是0X40,BQ76940根本不响应,通过逻辑分析仪才看出来。之后通过将从机地址手动左移一位后变为了0X10,这一次终于正确了,发送出的是0X08。可是,IIC读操作回来的数据仍然对不上。经过逻辑分析仪比对,人工CRC计算,发现CRC校验没过。校验时需要用到从机地址。虽然逻辑分析仪中显示的发送地址是0X08,但从机计算时采用的却是0X10加上读操作1(即0X11)。因此主机在进行CRC计算时就需要手动在原从机地址上+1处理,修改后读操作就能成功通过CRC校验。(PS:读操作即使不进行CRC计算流程也行,不过嘛,带CRC更保险)具体原因可以看BQ76940的官方CRC通讯手册
在这里插入图片描述

在这里插入图片描述
补一张读操作时的图片,用下面的工具选择CRC-8,然后输入“11 FF”即可计算出从机BQ76940返回的CRC值:“B1”
在这里插入图片描述

再分享一个IIC的帖子IIC/I2C从地址之7位,8位和10位详解
CRC计算工具:CRC(循环冗余校验)在线计算

3.与BQ34Z100-G1的IIC通讯

BQ34Z100-G1这款电量计是阻抗跟踪的,比较准,不过对于新手来说也坑,它得预先配置文件,我是咸鱼专门买了个自制的EV2400然后用BqStudio配置的,要不真的很难整。
好在网上程序也好找,直接搬然后改一改就行。我只搬了后续的读取部分,初始化有些麻烦,还是老老实实用BqStudio配置吧
还有它的IIC地址,搞得我很方,在Cubemx的硬件IIC上你写0XAA它实际输出的是0X55,就能用了,和之前那个BQ7694003的0X08你得手动左移一位不一样。
在这里插入图片描述

不过,芯片调试这里TI官方可是给了现成的调试软件,BQ76940有专门的上位机程序,BQ34Z100-G1有BqStudio,建议咸鱼卖个便宜的EV2400一步到位,省很多麻烦。

最后的成品我只进行过短路测试,没有进行过长期的实际使用。能力一般,水平有限。肯定有很多漏洞,还有改进空间。我看这类程序网上不多,如果有相关资料需求可以评论区要。

补:消息不灵通,直接上云盘吧:
链接:https://pan.baidu.com/s/1uFPzSfluFmVcDx28JPsbgw
提取码:n2zo

  • 45
    点赞
  • 176
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
### 回答1: BQ34Z100-G1是一款集成电池管理和保护功能的芯片。它具有高精度的电池电量计算和电量估计功能,可以准确地监测电池的电量和使用情况。该芯片支持多种电池类型,包括锂离子电池、镍氢电池和铅酸电池等。 BQ34Z100-G1还具有智能充电控制功能,可以根据电池的充电需求和特性,自动调整充电电流和电压,确保充电效率和电池寿命最大化。除此之外,它还支持电池温度监测和保护,可以及时检测并防止电池过热和过充。 该芯片的中文手册提供了详细的功能介绍、使用指南和编程接口等信息,方便开发者进行开发和集成。手册中详细介绍了芯片的硬件连接和配置,以及软件编程和命令的使用方法。同时,手册还提供了一些示例代码和测试方法,帮助开发者快速上手和测试。 总之,BQ34Z100-G1是一款功能强大的电池管理芯片,具有高精度的电量计算、智能充电控制和温度监测等功能。中文手册为开发者提供了全面的技术支持和使用指导,有助于快速了解和应用该芯片。 ### 回答2: bq34z100-g1是一款电池管理芯片,可用于电池包的监控和管理。它具有高度集成的特点,旨在提供可靠的电池保护和控制。 bq34z100-g1中文手册详细介绍了该芯片的功能、特性和使用方法。手册分为多个章节,便于用户理解和操作。首先,手册介绍了芯片的基本参数和引脚功能,用户可以根据需要将芯片与其他器件连接。 手册还解释了芯片的内部结构和工作原理。它详细介绍了芯片内部的各个模块,包括电流和电压测量模块、温度测量模块和存储器模块等。通过理解这些模块的功能,用户可以更好地了解芯片的工作流程和性能。 此外,手册还提供了使用该芯片所需的软件和编程指南。用户可以根据手册中的指示,选择合适的软件工具和开发环境,以便对芯片进行编程和配置。手册还提供了示例代码和应用案例,方便用户参考和实践。 最后,手册还包括了常见问题解答和故障排除等内容。用户可以在遇到问题时参考手册中的解答,快速解决遇到的困难。手册还提供了对常见故障的分析和处理建议,帮助用户更好地维护和保护电池。 综上所述,bq34z100-g1中文手册提供了详细的产品介绍、使用指南和故障排除等内容,帮助用户更好地了解和使用这款电池管理芯片。通过阅读和研究手册,用户可以更好地应用该芯片,并确保电池包的安全和稳定运行。 ### 回答3: BQ34Z100-G1是一款先进的单芯片电源管理解决方案,用于电动汽车和储能系统等应用中的电池管理。BQ34Z100-G1具有丰富的功能和高度集成的特性,能够提供高度准确的电池容量测量、充放电控制和温度监测等功能。 BQ34Z100-G1中文手册是一份详细的用户指南,为用户提供了有关BQ34Z100-G1芯片的详细信息和使用示例。手册中包含了对芯片功能的详细介绍、硬件和软件设计指导、接口和寄存器配置、通信协议等内容。 在手册中,用户可以找到关于BQ34Z100-G1如何工作的详细说明,包括电源管理、充电和放电控制、温度监测和保护等方面的知识。手册中还提供了一些使用案例和示例代码,帮助用户更好地理解和应用BQ34Z100-G1。 通过阅读BQ34Z100-G1中文手册,用户可以了解到BQ34Z100-G1芯片的各种功能和特性,并学会如何正确地配置和使用这款芯片。手册内容详尽且易于理解,是用户学习和使用BQ34Z100-G1的重要参考工具。 总而言之,BQ34Z100-G1中文手册为用户提供了关于BQ34Z100-G1芯片的详细介绍和使用指南,帮助用户更好地理解和应用这款芯片,为其电动汽车和储能系统等应用提供可靠的电池管理解决方案
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值