全面!总结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 厂商在定义一个产品系列时,通常是会预先规划产品发展路线的(即会有一 ...
随机推荐
- python处理权限关系一些注意事项
在模型类中多对多的关系(必须是对象) 如果要获取多对多表中的值,必须使用对象进行搜索,不能直接输入名称 例:这样才能查找到(下面例子是针对,组设置多对多关到用户,现在要根据用户获取相应的组) user ...
- jmeter旅程第一站:Jmeter抓包浏览器或者抓取手机app的包
学习jmeter?从实际出发,我也是一个初学者,会优先考虑先用来做一些简单的抓包.接口测试,在实践的过程中学习jmeter用途.那么接下来,这篇文章我会以jmeter抓包开启我的jmeter旅程. 这 ...
- P2350-[HAOI2012]外星人【线性筛】
正题 题目链接:https://www.luogu.com.cn/problem/P2350 题目大意 给出\(N\)质因数分解之后的结果,求每次\(N=\varphi(N)\),多少次后\(N=1\ ...
- Python3入门系列之-----看完这一篇文章我终于学会了类
前言 类顾名思义,就是一类事物.或者叫做实例,它用来描述具有共同特征的一类事物.我们在Python中声明类的关键词是class,类还有功能和属性,属性就是这类事物的特征,而功能就是它能做什么,也是就是 ...
- c#中多线程间的同步
目录 一.引入 二.Lock 三.Monitor 四.Interlocked 五.Semaphore 六.Event 七.Barrier 八.ReaderWriterLockSlim 九.Mutex ...
- MySQL初步学习——2021.09.27每日总结,第四周周一
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了SQL语句的分类: SQL语句很多,分为 1.DQL:数据查询语言(凡是带有select关键字的都是查询语句) 2 ...
- FastAPI 学习之路(十三)Cookie 参数,Header参数
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...
- GAN实战笔记——第二章自编码器生成模型入门
自编码器生成模型入门 之所以讲解本章内容,原因有三. 生成模型对大多数人来说是一个全新的领域.大多数人一开始接触到的往往都是机器学习中的分类任务--也许因为它们更为直观:而生成模型试图生成看起来很逼真 ...
- 【UE4 C++】 获取Actor、Controller、Pawn、Character
获取 Actor TActorIterator 遍历 可以用于遍历 Actor,也可以用于遍历 Component for (TActorIterator<AStaticMeshActor> ...
- 【数据结构与算法Python版学习笔记】图——强连通分支
互联网 我们关注一下互联网相关的非常巨大图: 由主机通过网线(或无线)连接而形成的图: 以及由网页通过超链接连接而形成的图. 网页形成的图 以网页(URI作为id)为顶点,网页内包含的超链接作为边,可 ...