全面!总结BQ系列阻抗跟踪电量计化学Chemical ID配置和Golden学习方法
BQ系列阻抗跟踪电量计SOC最高能达到1%,功能强大,应用起来也比较复杂。不仅要配置好参数,匹配好化学ID,并且进行好Golden学习和相关测试。本文就讲述ID匹配,Golden学习和测试的终极方法流程。
配置参数主要是配置好容量数据,保护参数等,不在本文讨论之内。cnblogs.com/bmsdb 主要阐述一个科学准确的方法来尽量提高BQ电量计的准确度。
适用阻抗跟踪系列BQ芯片,主要包括:
BQ27Z561, BQ28Z610, BQ40Z80, BQ40Z50, BQ78Z100, BQ34Z100, BQ40Z60, BQ30Z554, BQ34Z950, BQ34Z110, BQ34Z653, BQ34Z651, BQ20Z655, BQ20Z75, BQ20Z65, BQ20Z60, BQ20Z70, BQ20Z90, BQ20Z80A。
一 Chemistry 化学 ID匹配
化学ID匹配的目的是,确定好电池所用电芯的数据模型。TI的电芯数据库中已经包含上千种电芯的模型,我们做好测试,用当前的测试数据匹配TI电芯数据库中的某一款或者几款电芯,确定好ID。
测试准备
- 选择2-3个新量产电芯样品供测试;
- 测试条件,室温(温度25±2℃),自然散热,空调风不能直接吹到电芯;
- 电源和负载一套,也可以采用专门电池测试电源,电压记录精度1mV,电流记录精度1mA;
- 如果保护板已经可以工作,需要EV2300 或 EV2400,用于通信获取电池数据。
- 如果保护板暂时还不能工作,需要测试电源和负载数据记录,或者使用仪表;
- bqStudio或者记录软件;
- 温度传感器一定要和电芯接触好;
化学ID匹配测试过程
- 电池放电,用0.1C负载放空,放电截至电压2.8V;
- 静置2-5个小时;
- 根据电芯规格选择充电电压电流,准备充电。
- 设置数据采集间隔4秒,采集时间、电压、电流和温度,开始记录数据;
- CC-CV充电,推荐充电电流0.2~1C,截止电流0.01C;
- 静置2小时。尽量关闭BMS降低功耗;
- 0.1C恒流放电,放到截止电压2.8V;
- 静置5小时,尽量关闭BMS降低功耗;
- 停止记录数据。
整个测试流程曲线如下图:

测试数据提交
提交的测试数据包括两个文件:

Config.txt
roomtemp_rel_dis_rel.csv
1 config.txt 文件内容
ProcessingType=2
NumCellSeries=1
ElapsedTimeColumn=0
VoltageColumn=1
CurrentColumn=2
TemperatureColumn=3
2 记录的数据格式参考:

打包提交到TI网站生成报告,网址:https://www.ti.com/powercalculator/docs/gpc/gpcUpload.tsp

成功上传后约10分钟, 系统会自动发送邮件至myTI帐号的邮箱上, 计算成功会有⼀个<xxxx-report.zip>的压缩文件。
使用2-3个电芯测试得到多组数据,尽量找出一个符合所有电芯的化学ID,误差在2%以内。

Chemistry ID对于阻抗跟踪系列芯片很重要,如果误差都比较大,就要考虑测试新化学ID。
测试新化学ID的方法
如果测试的报告结果,误差比较大,在3%以上,说明数据库里面的模型没有匹配的电芯。此时首先要确认测试方法是不是有问题,如果温度、电压电流不正常的,要重新测试。
如果确认测试方法没有问题,或者电芯得确是新配方电芯,那么要与TI沟通送样测试出新ID,过程:
- 提供一些电芯供TI测试,样品数量根据需要而定;
- TI拿到电芯测试出新ID,更新ID数据库;
- 下载新的数据库,网址:https://www.ti.com/tool/download/GASGAUGECHEM-SW
- 更新到bqStudio中。
二 Golden学习
阻抗跟踪算法的特色就是能根据电池当前特性,自动更新容量和阻抗信息。电池Golden学习是用一套标准工况,来更新Qmax和R_a Table。Golden学习必须要用带保护板的Pack进行测试。这个学习过程不需要记录数据。
学习环境
- 建议至少测试2pcs 电芯;
- 充放电环境温度25°C为佳;
- 配置好的bq系列保护板参数;
- Chemical ID已经测试完成;
Golden学习过程
- 根据实际项目规格配置DF参数,选择正确的CHAM ID烧入;
- 对板子进行校正;
- 导出这个时候的senc/srec文件备用;
- 连接电芯到板子,发送reset命令,得到Golden Pack;
- 把电池放空到3.0V,然后静置5个小时;
- 发送命令使能IT算法;
- 把电池充到饱,确保有效的充电中止(100%,FC置位),然后停止充电;
- 静置两个小时;
- 把电池以C/5放空到终止电压,然后停止放电;
- 静置5个小时,检查update status和Ra flag;
- 重复7~10步骤一次。对于bq34Z100-G1:当update status的数值为0x06,Ra flag是0x0055时,说明学习成功。对于bq40z50平台芯片,update status为0x0E为学习成功;
- 导出gg文件,手动修改cycle count=0, lifetime, manufacture status=8000等。对于bq34Z100-G1,修改update status=02;
- 烧入第3步备份的senc/srec文件;
- 导入第12步修改好的文件,得到golden sample;
- 生成量产文件,比如senc/srec文件或者DFI文件。
注意事项
• 确保参数配置正确并严格按照指南进行充放电;
• 确保充电结束和放电结束的静置时间要足够;
• 充电停止之前确保FC标志位已经置位;
• 整个过程温度在10~40度范围内。
三 Golden Ra测试
Golden Ra测试主要是学习容量Qmax,Ra表和温度因数。在Golden学习后,Ra阻抗表是一般会自动更新,所以对于一般应用来说,Ra测试不是必需的。但在下面情况下,是要考虑做Ra测试:
• 个别电芯特性不符合阻抗跟踪学习条件,会导致Golden学习不成功;
• 某些比较老的化学ID,缺少Ra0_charge值,此时也会导致Golden学习不成功;
在这两种情况下为了提高准确度,可以主动测试Ra值。TI网站上提供了一套工具,帮助我们完成测试工作。
测试环境
- 建议至少测试2pcs 电芯
- 充放电环境温度25°C为佳
- 时间纪录4秒钟⼀笔
- bq系列保护板组成的电池包,Chemical ID已经烧录
测试步骤
- 在室温25°C对电池包进⾏充电,满充到FC置位;
- 静置2小时;
- 使用0.2C电流进⾏放电,建议放电至电芯电压2.8V;
- 静置5小时;
- 将测试数据整理成csv格式,准备好压缩包。
压缩包内容

Config.txt 文件内容
ProcessingType=3
ChemID=2002
NumCellSeries=1
ElapsedTimeColumn=0
VoltageColumn=1
CurrentColumn=2
TemperatureColumn=3
gg.csv内容
使用bqSTUDIO 读出参数
sysrate_rel_dis_rel.csv内容
需要包含时间/温度/电压/电流的纪录数值
⼀定要按照该文件名储存成CSV
提交计算
提交到TI网站计算Ra结果,网址https://www.ti.com/tool/GPCRA0

提交几分钟后,会收到邮件通知计算结果。
打开邮件中xxx-report.zip文件

找到gg_out.csv文件,可以发现Qmax/updatestatus/ Ra参数均已经更新。
后续需要将该gg_out.csv重新写入电池包的电量计中。
四 Golden Rb测试
同Ra测试一样,Rb测试也不是必需的。在以下应用场景才要考虑做Golden Rb测试:
- 一些电池经常工作在5℃以下的场景中;
- 某些比较老的ID不能自己学习,温度影响误差大;
在这些情况下,温度模型要有所调整才能达到比较好的效果。
测试环境
- 建议至少测试2pcs 电芯
- 充放电环境温度25°C为佳
- 时间纪录4秒钟⼀笔
- bq系列保护板组成的电池包,Chemical ID已经烧录
测试步骤
- 在室温25°C对电池包进⾏充电,满充到FC置位;
- 静置2小时;
- 使用0.2C电流进⾏放电,建议放电至电芯电压2.8V;
- 静置5小时;
- 在室温25°C对电池包进⾏充电,满充到FC置位;
- 放在0℃的温箱中,静置2小时;
- 使用0.2C电流进⾏放电,建议放电至电芯电压2.8V;
- 静置5小时;
- 整理数据。
测试完成的参数需要整成⼀个压缩文件

压缩文件(.zip)需要包含
Config.txt
gg.csv
lowtemp.csv
roomtemp.csv
Config.txt 文件内容
ProcessingType=4
ChemID=2002
NumCellSeries=1
ElapsedTimeColumn=0
VoltageColumn=1
TemperatureColumn=3
CurrentColumn=2
gg.csv
使用bqSTUDIO 读出参数
lowtemp.csv/roomtemp.csv内容
需要包含时间/温度/电压/电流的纪录数值
⼀定要按照该文件名储存成CSV格式
提交计算
提交到TI网站计算Rb结果,网址 https://www.ti.com/tool/GPCRB

打开邮件中xxx-report.zip文件,可以找到gg_out.csv和chemdat12_IDxxxx文件,打开csv文件可以发现Qmax/ TRise/ Ra参数均已经更新。后续需要将该gg_out.csv和chemdat12_IDxxxx重新写入电池包的电量计中。

GG文件配置就不多说了。写Rb文件chemdat12_IDxxxx在下面位置:

五 总结
本文完整介绍了BQ阻抗跟踪系列电量计的所有学习过程。在大多数应用中,只需要执行化学ID匹配和Golden学习过程。作者在很多项目中使用,也是这样就能达到比较好的结果。
BQ各款芯片会有一点差异,应用时需要理解+发挥,不可死守教条。如果对BQ芯片内部结构有兴趣,可以查看cnblogs.com/bmsdb我的历史文章。
全面!总结BQ系列阻抗跟踪电量计化学Chemical ID配置和Golden学习方法的更多相关文章
- BQ40Z50固件怎么升级?告诉你BQ系列芯片内部结构和升级方法
一 BQ芯片初步认识 包括BQ40Z50在内,BQ系列电池管理芯片看起来是一个芯片,其实芯片里面封装了两个die.一个是MCU部分负责计算和控制,其采用的是bqBMP内核的16位处理器:另外一个die ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- RDLC报表系列(一) 简单的动态数据绑定和配置
RDLC系列链接 RDLC报表系列(一) 简单的动态数据绑定和配置 RDLC报表系列(二) 行分组 RDLC报表系列(三) 总计和折叠 RDLC报表系列(四) 矩阵 RDLC报表系列(五) 简单的图 ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap good
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- 10.翻译系列:EF 6中的Fluent API配置【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/fluent-api-in-code-first.aspx EF 6 Code-Firs ...
- Mybatis 系列6-结合源码解析节点配置:objectFactory、databaseIdProvider、plugins、mappers
[Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...
- Jenkins持续集成企业实战系列之Jenkins插件下载及邮件配置-----05
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap[转]
上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...
- 痞子衡嵌入式:原来i.MXRT1xxx系列里也暗藏了Product ID寄存器
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx系列里暗藏的Product ID寄存器. MCU 厂商在定义一个产品系列时,通常是会预先规划产品发展路线的(即会有一 ...
随机推荐
- GIS应用|快速搭建REST地图服务
SuperMap Online云存储作为您的"在线GIS云盘",除了可以在云端存储GIS数据,还可以将数据直接发布多种REST服务,为您节省购买和部署SuperMap iServe ...
- 痞子衡嵌入式:MCUBootUtility v3.4发布,支持串行NAND
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.3.0)发布过去 4 个多月了,这一次痞子衡为大家带来了版本升级 v3.4.0,这个版本主要有几个非常重要的更新需 ...
- Loj#6247-九个太阳【单位根反演】
正题 题目链接:https://loj.ac/p/6247 题目大意 给出\(n,k\)求 \[\sum_{0\leq i\leq n,i|k}\binom{n}{i} \] 对\(998244353 ...
- P4640-[BJWC2008]王之财宝【OGF,Lucas定理】
正题 题目链接:https://www.luogu.com.cn/problem/P4640 题目大意 \(n\)种物品,其中\(t\)种物品是有个数限制的,第\(i\)种限制为\(b_i\),求选出 ...
- asp.net core使用identity+jwt保护你的webapi(一)——identity基础配置
前言 用户模块几乎是每个系统必备的基础功能,如果每次开发一个新项目时都要做个用户模块,确实非常无聊.好在asp.net core给我们提供了Identity,使用起来也是比较方便,如果对用户这块需求不 ...
- jupyter 快捷命令
-- https://www.jb51.net/article/199930.htm#:~:text=Jupyter notebook命令和编辑模式常用快捷键汇总 1 Enter %3A 转入编辑模式 ...
- Django整理(一) - 项目和应用创建及运行
一.项目组织结构 · 一个Project包含有多个App · 一个App就是一个Python包,就代表一个功能模块,比如: 用户模块,商品模块等 .各个功能模块间可以保持相对的独立 . ...
- 初探计算机网络之TCP/IP网络协议
网络协议 在计算机诞生以来,从最原始的单机模式到现在多台计算机协同工作,形成计算机网络,从前很难想象的信息共享.多机合作.大规模计算在今天也早已成了现实.在早期,计算机网络需要解决的痛点,就是怎样 ...
- $hadow$ocks与Privoxy基础原理
$hadow$ocks与Privoxy基础原理 以下所有提到$hadow$ocks的均以ss指代 为什么要用ss呢? 在早期(如今绝大多数也是),对于互联网的访问流程是及其简单的:浏览器(或其他客户端 ...
- vue 动态菜单以及动态路由加载、刷新采的坑
需求: 从接口动态获取子菜单数据 动态加载 要求只有展开才加载子菜单数据 支持刷新,页面显示正常 思路: 一开始比较乱,思路很多.想了很多 首先路由和菜单共用一个全局route, 数据的传递也是通过s ...