BMS -TI电量计应用学习笔记(BQ40-xx)

1.什么是BMS?

BMS即电池管理系统(Battery Management System),本文是根据《TI电量计应用指导手册》与实际产品开发流程的部分笔记。

BMS主要用于管理电子设备的电池系统,对电芯进行保护与检测,实时计算容量,使用多种算法智能充放电配置延长使用寿命,目前主要依靠电量计及其外围电路工作。

而电量计算法首要工作是计算锂电池的剩余容量(Remaining Capacity, RM 或 RC)、 满充容量(Full Charge Capacity, FCC)、电量百分比 RSOC (Relative State Of Charge)。 

1.HardWare

BQ40Z50硬件设计部分,按照功能划分为多个区域。如下图所示,电量计标准原理图上包括电芯侦测部分(绿),使用Mos-Fet的开关部分(红),外部通讯部分(蓝)、电流采样部分(紫)以及温度侦测IO口部分(橙),二级保护电路需要搭配其他IC使用,一般以驱动FUSE熔断的动作作为二段保护而存在。 

2.软件

不同的电量计需要搭配对应厂商的上位机进行功能的编辑与设置,不同上位机之间的操作也截然不同(如TI与Renesas)主要就是看data sheet 的设置。注意BQ studio内的BQZ文件,或者上位机版本号是否与硬体相对应,否则无法打开上位机编辑或是地址位因为版本不一致出现错乱的情况。具体先准备EV2400通讯盒与登录TI官网下载BQ studio上位机。

上位机页面一般通过旗标的形式来快速展示电池目前的状态(红色为1开启状态)

FC旗标需满足Taper Window以下4 个条件:(1)电池处于充电状态,即
BatteryStatus[DSG] = 0;(2)电池电压高于设定值,即Voltage > Charging Voltage
– Taper Voltage;(3)充电电流小于设定值Taper Current;(4)累积充进去的电量超
过设定值Min Taper Capacity。

2.产品开发流程笔记

2.1 GG file制作

对目标需求进行评估与配置参数文件,与此同时电气参数也需要与电芯等确认,完成初版的GG file 文件,TI电量计可以通过发送SBS commend来返回checksum来确认校验参数的正确性与版本。BQ40Z50常用的有:Static ID signalture (write 00 05 to 00 word read 00 retun the checksum,注意此操作首位16进制数超过7后需要转化为0~7的数值,确认参数与config部分是否)Static chem ID signalture(write 00 06 to 00 word read 00 retun the checksum,确认chem ID)等等具体可以参考电量计TRM 的commend项。

先确保无负载和充电电流情况下校准CC offset 然后校准 board offset,然后加上2A放电电流通过万用表填写实际电流数值校准Pack current.一般先校准电压后校准电流。

电压和温度校准无先后顺序,需要确保电池或电源电压数值稳定时通过万用表读取实际数值进行校准

初版烧录文件需要注意使用从未锁码的SREC文件制作,清空所有box与lifetime的记录恢复到默认值,部分不体现在Data Memory sheet内的参数需要尤其确认,例如seal password等,通过checksum无法检出。

保护参数与部分功能配置完成后,需要针对电芯的不同化学特性到TI实验室进行Chemical ID的制作申请,亦可登录TI 官网使用PBC文件进行快速匹配得到Quick ID(可能出现偏差较大的情况,测试多个sample取最小误差ID)以获得电芯化学容量、开路OCV与阻抗的曲线,开启Gauge EN后进行Golden learning测试根据阻抗跟踪算法对Qmax容量进行更新,再对电池的ROSC精度进行验证。

对于多个完成Golden learning的样品进行导出GG file ,可将新的GG file烧录到实验前备份的SREC文件当中以更新Ra table,若需要将其制作量产烧录文件则记得修改update status为02(02会消耗大量时间重新学习,后端可以设成0a考虑实际老化占用的资源,直接开启is_Qmax field updated减少cycle时间)、cycle count为0、Qmax cycle count为0.在精度验证中,选取测试中电芯压差较小,Qmax较大(同步检查Ra table内阻值没有太大变异)的样品,在常温与低温不同状态下选用小电流来判别电量计的精度(一般按照常温±3%、低温±5%的标准)。计算方法如下:

C=I∫t(实际放电容量=电流*log时间单位)

计算 Rsoc(%)=C(单位时间积累的实际放电容量)/C(末端总容量)=Y%

误差(%)=Y(Rsoc)-Z(Gauge上报的理论Rsoc)

2.2 Guage IC算法简介

阻抗跟踪算法(DOD为放电深度,可将曲线微分成多个单位)在golden learning中需要放出 37%的容量以上,更新Qmax容量,并根据计算不同段的阻抗更新到Ra table 中,pack利用golden sample中学习阻即可到的阻抗数据即可完成同一电芯一类产品烧录文件的制作。

CEDV算法(库伦积分计算,电压查表补偿)配置要求较为麻烦而且精度低,有明显缺点,在系统低电压断电时,电量计无法正常工作,或者在异常情况下库仑计无计算下,需要提前更新FCC,EDV根据负载和温度等条件对 7%进行修正,产线需要每一个都老化,总而言之不太适用大批量生产。

3.备注测试

1.Quick ID 测试,需要记录时间、电压、电流、温度四列数据,具体上传参考应用手册

条件:

(1)电芯在常温下静置2h以上

(2)使用电芯规格的电流充满,CCCV截至电流为0.01C

(3)静置2h(锂电池)

(4)0.1C放到电芯截至电压

(5)静置5h

以上的log的数据保存下来用MATHCAD程序计算CHEM_ID,链接GPCCHEM Application software & framework | TI.com

2.Golden Learning测试,需要设定产品充放电的参数

拿到电池后(常用0.5C)先将电池充满,确保支起FC条件,静止2h

按照0.2C放电到截止电压,,静止5h,

cycle 3次(完成后检查“update status就会从最开始的0x04到0x0E)

4.使用指令快速修改信息

使用单片机对Gauge进行修改(参考USB转IIC协议)

WriteSendValue01234+5n
Field NameModeDevice AddressCommand AddressLengthPhysical AddressDataCRC
Description0x00: 普通发送模式
0x01: TI单字节校验发送模式
0x02: TI包校验发送模式
例:
1. 界面数据读取及解锁时,使用0x00写入指令
2. 40Z453 ManufacturerAccess()数据读写时,使用0x02写入指令
3. 40Z453 DF指定参数写入时,使用0x02包校验模式
目标设备通讯地址,最低位取0表示发送
例:
1. 如设备地址为0x17,则该位写0x16
2. 如设备地址为0xaa,则该位写0xaa
目标设备寄存器地址
例:
1. 界面SOC读取时,填0x0d
2. BQ40Z453 ManufacturerAccess()数据读写时,填0x44
3. BQ40Z453 DF指定参数写入时,填0x44
该位仅TI模式有效,普通模式忽略
长度=物理地址长度+数据长度
例:
1. BQ40Z453 ManufacturerAccess()数据读写时,填0x02
2. 40Z453 FET Option写0x45时,填0x03
该位仅TI模式有效,普通模式忽略
目标设备DF物理地址
例:
40Z453 FET Option写0x45时,填0x4e 0x48(小端)
待写入数据与TI标准相同的CRC8校验
ReturnValue01     
Field NameError CodeCRC     
Description0x00: 从机无ACK
0x01: 正常
0xAA: 发送数据有误(校验未通过等)
与TI标准相同的CRC8校验     
ReadSendValue0123+4n  
Field NameModeDevice AddressCommand Address/LengthPhysical AddressCRC  
Description0x10: 定长读取模式
0x11: TI单字节校验读取word模式
0x12: TI包校验读取word模式
0x13: TI单字节校验读取Block模式
0x14: TI包校验读取Block模式
例:
1. 界面数据读取时,写入指令后立即使用0x10读取数据
2. 40Z453 ManufacturerAccess()数据读取时,写入指令后立即使用0x12读取指定地址数据
3. 40Z453 指定物理地址数据读取时,使用0x14包检验模式
目标设备通讯地址,最低位取1表示发送
1. 如设备地址为0x17,则该位写0x17
2. 如设备地址为0xaa,则该位写0xab
1. 定长读取模式下为读取长度,不得超长
2. TI模式下为地址
该位仅TI读DF模式有效,普通模式忽略
目标设备DF物理地址
例:
40Z453 读取FET Option时,填0x4e 0x48(小端)
与TI标准相同的CRC8校验  
ReturnValue01n   
Field NameError CodeLengthDataCRC   
Description0x00: 读取值校验失败
0x01: 读取值校验成功
0xAA: 发送数据有误(校验未通过等)
该位仅TI读DF模式有效,普通模式忽略
返回数据长度
若校验失败则不反回数据,则该位为校验与TI标准相同的CRC8校验   

如上例子:0016发送指令 00为默认指令 输入密码 0414 延时200

                   0016发送指令 00为默认指令 输入密码 3672延时200

修改步骤:  02 16发送指令 44为指令 ,04为指令集byte长度(包括地址与指令),4a90为地址,使地址位改为0000延时100

校验:12 17为读取指令,读取地址位4a90地址位信息,00为校验码。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值