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匹配测试过程

  1. 电池放电,用0.1C负载放空,放电截至电压2.8V;
  2. 静置2-5个小时;
  3. 根据电芯规格选择充电电压电流,准备充电。
  4. 设置数据采集间隔4秒,采集时间、电压、电流和温度,开始记录数据;
  5. CC-CV充电,推荐充电电流0.2~1C,截止电流0.01C;
  6. 静置2小时。尽量关闭BMS降低功耗;
  7. 0.1C恒流放电,放到截止电压2.8V;
  8. 静置5小时,尽量关闭BMS降低功耗;
  9. 停止记录数据。

整个测试流程曲线如下图:

测试数据提交

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

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,过程:

  1. 提供一些电芯供TI测试,样品数量根据需要而定;
  2. TI拿到电芯测试出新ID,更新ID数据库;
  3. 下载新的数据库,网址:https://www.ti.com/tool/download/GASGAUGECHEM-SW
  4. 更新到bqStudio中。

Golden学习

阻抗跟踪算法的特色就是能根据电池当前特性,自动更新容量和阻抗信息。电池Golden学习是用一套标准工况,来更新Qmax和R_a Table。Golden学习必须要用带保护板的Pack进行测试。这个学习过程不需要记录数据。

学习环境

  • 建议至少测试2pcs 电芯;
  • 充放电环境温度25°C为佳;
  • 配置好的bq系列保护板参数;
  • Chemical ID已经测试完成;

Golden学习过程

  1. 根据实际项目规格配置DF参数,选择正确的CHAM ID烧入;
  2. 对板子进行校正;
  3. 导出这个时候的senc/srec文件备用;
  4. 连接电芯到板子,发送reset命令,得到Golden Pack;
  5. 把电池放空到3.0V,然后静置5个小时;
  6. 发送命令使能IT算法;
  7. 把电池充到饱,确保有效的充电中止(100%,FC置位),然后停止充电;
  8. 静置两个小时;
  9. 把电池以C/5放空到终止电压,然后停止放电;
  10. 静置5个小时,检查update status和Ra flag;
  11. 重复7~10步骤一次。对于bq34Z100-G1:当update status的数值为0x06,Ra flag是0x0055时,说明学习成功。对于bq40z50平台芯片,update status为0x0E为学习成功;
  12. 导出gg文件,手动修改cycle count=0, lifetime, manufacture status=8000等。对于bq34Z100-G1,修改update status=02;
  13. 烧入第3步备份的senc/srec文件;
  14. 导入第12步修改好的文件,得到golden sample;
  15. 生成量产文件,比如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已经烧录

测试步骤

  1. 在室温25°C对电池包进⾏充电,满充到FC置位;
  2. 静置2小时;
  3. 使用0.2C电流进⾏放电,建议放电至电芯电压2.8V;
  4. 静置5小时;
  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测试:

  1. 一些电池经常工作在5℃以下的场景中;
  2. 某些比较老的ID不能自己学习,温度影响误差大;

在这些情况下,温度模型要有所调整才能达到比较好的效果。

测试环境

  • 建议至少测试2pcs 电芯
  • 充放电环境温度25°C为佳
  • 时间纪录4秒钟⼀笔
  • bq系列保护板组成的电池包,Chemical ID已经烧录

测试步骤

  1. 在室温25°C对电池包进⾏充电,满充到FC置位;
  2. 静置2小时;
  3. 使用0.2C电流进⾏放电,建议放电至电芯电压2.8V;
  4. 静置5小时;
  5. 在室温25°C对电池包进⾏充电,满充到FC置位;
  6. 放在0℃的温箱中,静置2小时;
  7. 使用0.2C电流进⾏放电,建议放电至电芯电压2.8V;
  8. 静置5小时;
  9. 整理数据。

测试完成的参数需要整成⼀个压缩文件

压缩文件(.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学习方法的更多相关文章

  1. BQ40Z50固件怎么升级?告诉你BQ系列芯片内部结构和升级方法

    一 BQ芯片初步认识 包括BQ40Z50在内,BQ系列电池管理芯片看起来是一个芯片,其实芯片里面封装了两个die.一个是MCU部分负责计算和控制,其采用的是bqBMP内核的16位处理器:另外一个die ...

  2. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  3. RDLC报表系列(一) 简单的动态数据绑定和配置

    RDLC系列链接 RDLC报表系列(一) 简单的动态数据绑定和配置  RDLC报表系列(二) 行分组 RDLC报表系列(三) 总计和折叠 RDLC报表系列(四) 矩阵 RDLC报表系列(五) 简单的图 ...

  4. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap good

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  5. 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 ...

  6. Mybatis 系列6-结合源码解析节点配置:objectFactory、databaseIdProvider、plugins、mappers

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  7. Jenkins持续集成企业实战系列之Jenkins插件下载及邮件配置-----05

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  8. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap[转]

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  9. 痞子衡嵌入式:原来i.MXRT1xxx系列里也暗藏了Product ID寄存器

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx系列里暗藏的Product ID寄存器. MCU 厂商在定义一个产品系列时,通常是会预先规划产品发展路线的(即会有一 ...

随机推荐

  1. pyQt5设计无边框窗口(二)

    无边框,自定义窗口背景 from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * impor ...

  2. NOI.AC#2139-选择【斜率优化dp,树状数组】

    正题 题目链接:http://noi.ac/problem/2139 题目大意 给出\(n\)个数字的序列\(a_i\).然后选出一个不降子序列最大化子序列的\(a_i\)和减去没有任何一个数被选中的 ...

  3. Dapr + .NET Core实战(七)Secrets

    什么是Secrets 应用程序通常会通过使用专用的存储来存储敏感信息,如连接字符串.密钥等. 通常这需要建立一个密钥存储,如Azure Key Vault.Hashicorp等,并在那里存储应用程序级 ...

  4. 从一个舒服的姿势插入 HttpClient 拦截器技能点

    马甲哥继续写一点大前端,阅读耗时5 minute,行文耗时5 Days 今天我们来了解一下如何拦截axios请求/响应? 这次我们举一反三,用一个最舒适的姿势插入这个技能点. axios是一个基于 p ...

  5. 极简SpringBoot指南-Chapter04-基于SpringBoot的书籍管理Web服务

    仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...

  6. 无法解析的外部符号"void_cdecl caffe::caffe_gpu_dot<double>(int,double........)"

    将源码中的.cu文件添加到项目中即可,即使创建的就是NVIDIA的项目,也需要把这些个.cu文件添加进来

  7. Linux虚拟机配置静态ip地址

    使用VMware搭建的虚拟机ip地址经常变动,在这里记录一下虚拟机设置静态ip地址: 首先通过VMware菜单栏编辑->虚拟网络编辑器->NAT设置查看子网ip地址和网关ip: 例如我这里 ...

  8. go 连接MSSQLServer数据库【遇到的坑】

    前言:项目测试需要用到mssqlserver数据库连接,遇到坑,自己爬直接上代码:       package main import ( "database/sql" " ...

  9. 详解package-lock.json的作用

    目录 详解package-lock.json package-lock.json的作用 版本号的定义规则与前缀对安装的影响 改动package.json后依旧能改变项目依赖的版本 当前项目的真实版本号 ...

  10. 题解 51nod 1597 有限背包计数问题

    题目传送门 题目大意 给出 \(n\),第 \(i\) 个数有 \(i\) 个,问凑出 \(n\) 的方案数. \(n\le 10^5\) 思路 呜呜呜,傻掉了... 首先想到根号分治,分别考虑 \( ...