
BQ27542-单节阻抗跟踪电池电量计开发板
简介
基于TI BQ27542 单节阻抗跟踪电池电量计的方案评估板,已验证完毕可以使用;但请注意不带有电池保护功能,最大可计量容量为14500mAh,适用于对单节电池电量有精确计量需求的场景。
简介:基于TI BQ27542 单节阻抗跟踪电池电量计的方案评估板,已验证完毕可以使用;但请注意不带有电池保护功能,最大可计量容量为14500mAh,适用于对单节电池电量有精确计量需求的场景。开源协议
:CC BY 3.0
(未经作者授权,禁止转载)描述
芯片简介:
BQ27542 是德州仪器推出的一款电池侧单节锂离子电池阻抗跟踪(Impedance Track™)电量计,外围电路较为简单;最大可计量容量为14500mAh,不带有电池保护功能;具备I2C/HDQ两种通讯总线协议供用户选择;支持通过通讯总线提供电池剩余电量(mAh)、充电状态(%)、续航时间(分钟)、电池电压(mV) 以及温度(°C) 等信息。该器件还提供针对内部短路或电池端子断开事件的检测功能;带有安全哈希算法(SHA)-1 / 哈希消息认证码(HMAC) 认证,可对电池组进行加密操作。
原理图设计/PCB绘制注意事项:
1.通讯总线上的保护元件,若对成本有限制,只留下TVS二极管及一个100欧保护电阻即可,1M,300欧电阻及电容可忽略。德仪官方EVM中,PACK+到总线有10K的上拉电阻可供选用,在本EVM中省略,需要控制器自行上拉。
2.电流采样线从采样电阻到芯片需要走差分线形式,元件以差分对为对称轴对称分布。
3.如若不想使用电池保护IC,焊接时短接JP1即可。
4,预留了两种电池接口,使用18650电池盒或其它单节锂电池均可。
5.热敏电阻使用10k阻值,B值为3435(根据官方EVM板给出的参考元件查询得知)
电量计配置
(注:以下资料为本人参考官方原始资料和互联网资料得出,为方便大家而尝试的翻译和注解;个人能力有限,难免会出现纰漏或错误,还望各位同好海涵并帮忙指正,感激不尽!!!)
0.电池基础知识(缩写/术语):
(此基础知识部分参考B站 @原同学 在此表示感谢)
以下为通用基础知识:
CEDV(Compensated End of Discharge Voltage):补偿的放电末期电压。指通过算法将带载工况的EDV数据补偿为标准状态的EDV数据,从而确定对应的电量。
IT (Impedance Track™):阻抗跟踪;即阻抗跟踪算法,TI的专利电量计算法。
SOC(State Of Charge,也写作RSOC):电池荷电状态,是电池剩余电量占电池额定容量的百分比。用来反映电池的剩余容量,表示电池继续工作的能力。在完全放电完毕的情况下SOC为0,完全充满电的情况下SOC为1,一般用0~100%来表示。
FCC(Full Charge Capacity):电池满电电量。指电池充满电后能存储的电量,与设计容量不同,该值为容量学习后自动更新,是实测值,设计容量是理论值。
RM(Remaining Capacity,也写作RC):电池剩余电量。与SOC不同的是RM并不是百分比,而是测量测到的原始数据。换句话说,SOC是由RM除以FCC得到的比值。
DOD(Depth Of Discharge):电池放电深度;是用来衡量电池放电量与电池额定容量之间的百分比。同一电池,设置的DOD深度和电池循环寿命成反比,放电深度越深,电池循环寿命越短。因此,重要的是要平衡电池所需的运行时间和延长电池循环寿命的需要。
SOH(State Of Health):电池健康状态,或称电池健康度。一般用百分比表示,指FCC与设计容量之比,用于指示电池的损耗情况。
DF(Data Flash):数据闪存。指电量计内部用于存储配置及日志等信息的硬件部分。
以下为该电量计(亦或阻抗跟踪类型电量计)专有基础知识:
OCV(Open Circuit Voltage 开路电压):即电池开路电压;同种化学ID的电池,其开路电压与剩余电量的曲线一致性极好,于是可以根据已经测量好的开路电压与剩余电量曲线图得到准确的剩余电量。
IR :即IR压降,也就是放电时由于电池内阻存在导致的放电压降,在OCV和其它测量时需要对其进行补偿等措施。
RELAXATION Mode:电量计的静置模式,既电池静止存放,不放电也不充电的模式。
1.配置电量计需要德仪专有的电量计通讯盒-EV2400
可以去某宝或者某鱼买,也可以自己做,我也开源有各种版本,下面以我自己做的EV2400-Standard版本为例。
开源各版本如下,可以根据自己的喜好制作(成本由低到高排列):
[已验证]EV2400-经济型 基于MSP430F5529 - 立创开源硬件平台 (oshwhub.com)
[已验证]基于MSP430F5529的EV2400-Lite - 立创开源硬件平台 (oshwhub.com)
[已验证]EV2400-Lite基于F5528[不推荐复刻] - 立创开源硬件平台 (oshwhub.com)
[已验证]EV2400-标准版 原厂方案带隔离 - 立创开源硬件平台 (oshwhub.com)
2.给开发板上电:
首先给开发板安装一块有电的18650电池(如果你不想使用18650的话,可以焊接接线柱并连接一块电池上去),注意不要接反了:

3.调试器与芯片之间接线:
找三根杜邦线,将SDA,SCL,GND三根线连接到EV2400,将EV2400连接到电脑的USB接口上,打开BQstudio软件;此时软件会在初始化的过程中自动寻找EV2400及挂载在其上且支持的电量计设备,并自动打开相应的界面;如若没有找到调试器或者有调试器但调试器上没有连接设备或数据线连接有误,则会弹出提示框,告知你未自动识别到设备,需要你手动选择设备。所以一旦需要你手动寻找设备,那八成是你没有正确连接好设备,请检查连接。

4.进入调试界面
打开软件,自动进入调试页面,如图所示

(由于BQ27542仅为电量计,不带有电池保护功能,所以可供调节的选项不多)
5.调试界面基础知识:
下面使用 @XDZZ的部分资料给大家简单介绍软件界面内容,在此表示感谢;原版资料是针对 BQ40Z50的,故部分内容可能不一致,同时原版资料及链接也会在下方放出,希望大家能给大佬捧场。

红色方框的是仪表盘,显示 bqStudio Version Version(软件版本)、通信盒类型和固件版本、电量计型号和固件版本、电池电压电流,在芯片图标的右下角还会显示是否处于Sleep mode(睡眠图标亮起)、是否处于Sealed mode (锁形图标亮起)。
Auto Refresh is ON(绿色)表示软件会自动刷新红色方框内的信息状态,AutoRefresh is OFF(红色)表示关闭,在对芯片进行配置的时候建议关闭,以免对配置有影响,点击文字就可以开启关闭。
灰色为功能区。用来快速打开一些快捷功能窗口,如Data Memory (数据存储器)、Calibration(校准) 、Chemistry(化学ID(仅有阻抗跟踪型电量计有此选项)) 等功能。
黄色为寄存器数值区。可以查看芯片寄存器的具体数值和电池的一些状态信息。
蓝色为寄存器状态区。可以查看相关寄存器的标志位。红色表示1,绿色表示0,RSVD 表示保留位。
绿色为命令区,可以向芯片发送一些常用的指令。
6.德仪电量计锁定模式:
下面简单介绍以下德仪电量计的三种加解锁模式:
SEALED( 加锁 )、UNSEALED( 解锁) 、 FULLACCESS( 全访问 )可以在bqStudio 软件的左侧看到芯片的状态。
(三种模式的图标分别对应下图三种状态)

加锁模式下只能读取部分状态数据,不能读取Data Memory 参数、不能烧录Chem ID 、不能烧录或导出固件。
解锁模式下只能读取部分状态数据,可以读写Data Memory 参数、可以烧录Chem ID 、不能烧录或导出固件。
全访问模式,顾名思义就是可以完全访问读写。芯片出厂就是这个模式。
正常锁住的芯片(也就是进入了SEALED(应当翻译为已售出,也就是产品在消费者手上)模式),若要解锁(也就是进入UNSEALED(应当翻译为未售出,也就是产品在工厂或者售后)模式),点击右边命令栏中的UNSEAL命令,会自动输入默认密码(对于大疆无人机电池等,厂商会修改默认密码);进入UNSEAL模式后,再点击右边命令栏中的UNSEAL_FULL_ACCESS命令,也会自动输入默认密码(对于大疆无人机电池等,厂商也会修改默认密码)。需要注意的是,如果你修改了默认密码,请一定要牢记,否则芯片就会锁死,除了暴力试错以外,没有其它方式能恢复密码。
(另外提一嘴,某宝某鱼某些拆机芯片是从报废电脑或者其它仪器的电池中拆出的,那些设备的生产厂商可能设置了与原厂不同的访问密码,会导致没法用于开发)
7.校准数据调节:
首先进入Data Memory->Calibration(校准)->Data选项,在CC Gain 与CC Delta选项中填写你所使用的采样电阻阻值大小(单位:毫欧);剩下的部分先不用填写,校准时芯片会自动生成并记录数据。

(我的有小数是因为进行了校准,芯片在测量完毕之后会自动计算并保存新的数据,正常先填写整数即可)
输入数值后一定要按回车,不然数据不会写入到芯片。
在Current栏中,有三个选项:
Filter(滤波器):电流采样ADC采集该数量个数据后,计算其平均值,报告给AverageCurrent()(平均电流)寄存器。
DeadBand(死区):电流数据在0周围,正负该范围内,传感器将舍弃该数据并报告为0;默认为5mA,一般不需要做更改,除非没有校准或者PCB周围环境电磁噪声很大。
CC DeadBand(库仑计死区):创建一个滤波器窗口,低于该窗口时测得的库仑计数不会累积。任何低于此值的库仑计数都将被舍弃。对于 5 mΩ 的默认检流电阻值,此参数默认为 34 × 294 nV。根据给定的参考设计,CC Deadband =(Rold/Rnew)x 34 ,对检流电阻值的变化进行缩放。其中Rold为默认检流电阻值(5 mΩ),Rnew为新的检流电阻值。
8.智能充电算法:
接下来是Data Memory->Configuration(配置)->Charge(充电)选项

Charging Voltage(满充充电电压)设置电池的满充充电电压,按照你的电池满电电压选择,默认4200(注意单位是mV)
->Charge Termination(充电终止)选项栏:
此选项栏主要配置究竟处于何种情况下,电量计将认为电池已满电。
Taper Current(充电末期电流):满充时电流,一般设置比充电器停止充电时电流略大25mA左右,当充电电流小于该值时,允许芯片尝试进入满电模式。
Min Taper Capacity(充电末期最小容量变化):当进入充电末期,每个充电电流末期窗口充入电池的容量大于该值时,允许芯片尝试进入满电模式。(官方对此条的解释很多都是这么写的,但是我不明白为什么是大于而不是小于)
Taper Voltage(充电末期电压):用于判断电池符合满充的条件,一般设置为100或者150mV,即比满充充电电压小100-150mV;当进入充电末期,并且电池电压大于(满充充电电压-充电末期电压),允许芯片尝试进入满电模式。
Current Taper Window(充电电流末期窗口):充电电压进入充电末端后,充电电流低于末端充电电流,持续该时长后且其它限制条件满足时,芯片将认为电池已充满,电池容量将报告为100%。
TCA Set %(终止充电警报设置):用于设置向控制器指示停止充电的指示位,使控制器停止充电的的电量阈值,有以下设定情况:
当TCA Set %=-1时,只有进入满充模式,才会向充电器报告停止充电。
当TCA Set %≠-1且SOC(充电状态,在TI的数据手册中通常表示电池电量)>TCA Set %时,将向充电器报告停止充电。
TCA Clear %(终止充电警报清除):用于清除向控制器指示停止充电的指示位,使控制器开始充电的的电量阈值。
FC Set %(充满标志位设置):用于设置向控制器指示已充满的指示位,但是只会影响标志位[FC],设定情况同上。
FC Claer %(充满标志位清除):用于清除向控制器指示已充满的指示位,但是只会影响标志位[FC]。
DOD at EOC Delta T :表示由于温度变化而更新 Qstart 和 RemainingCapacity() 的温度变化阈值。在休息期间和充电开始时,剩余容量的计算公式为 RemainingCapacity() = FullChargeCapacity() – Qstart。随着温度的降低,Qstart 可能会变得比旧的 FullChargeCapacity() 值小得多,从而导致 RemainingCapacity() 的高估。为了提高精度,自上次 FullChargeCapacity() 更新以来,每当温度变化大于 DODatEOC Delta T × 0.1°C 时,FullChargeCapacity() 就会更新。
->JEITA(JEITA充电算法)选项栏:
JEITA(Japan Electronics and Information Technology Industries Association),日本电子信息技术产业协会,为了提高锂离子电池充电的安全性,JEITA和日本电池协会于2007年4月20日发布了新的安全指南。他们的指导方针着重强调了在某些低温和高温范围内避免高充电电流和高充电电压的重要性。更多有关信息:JEITA-CSDN博客
总的来说就是在电池充电时,对于不同的温度区间,向主机报告不同的充电电流和满充充电电压,使主机在不同温度段为电池提供不同的充电电流和满充充电电压,从而使对电池充电的过程中更加安全,减小电池可能发生的安全隐患。(我愿称之为查表充电算法ヾ(≧▽≦*)o)
如此一来,里面的选项就已经很清晰明了了,T1-T5分布对应不同的温度区间,下面的就是不同温度区间下要对主机报告的充电参数,方便主机调整,有一个选项需要说明一下:
Temp Hys(温度区间缓冲):温度区间切换时的滞后缓冲区(向低温缓冲),用于防止在某个温度界限附近来回震荡,导致充电器在不同的参数之间来回跳变的参数。默认1℃。
9.功能设置寄存器:
Data Memory->Configuration(配置)->Registers(寄存器)选项

此段寄存器是电量计配置寄存器,用于配置电量计的各种功能,点击值后会跳出比特位供你配置,红色为1,绿色为0,有两条注意事项:
1.RSVD为保留选项,按照打开时的默认状态即可,不要自己改,可能导致电量计出错。
2.更改完毕后,一定要点按“Write to Data Memory Memory”,写入配置,并且建议读回一下确保写入了配置。
先看第一行:

(从左往右,从上往下解释,RSVD不解释)
INTPOL:设置中断引脚极性,用于系统发生问题时使用中断引脚向主机报告问题,详见技术手册,在此不做赘述。
INTSEL :中断引脚选择: 0 = SE 引脚, 1 = HDQ 引脚
HOSTIE:使能中断: 1 = 使能从Flags() 发送的中断; 0 = 失能从Flags() 发送的中断.
SOCHOLD99:电量计将阻止 StateofCharge(电池荷电状态,可以简单理解为电量) 报告为 100%(即保持为99%),直到Flags()[FC]为1。设置为 1 以启用。
IWAKE, RSNS1, RSNS0 = 这些位配置电流唤醒功能,详见数据手册。
GNDSEL:ADC 接地选择。当设置为0时,选择 VSS (GND引脚) 作为接地参考;设置为1时,选择电流采样线正端。
RFACTSTEP : 在禁用 Ra(阻抗表) 更新之前,启用 Ra 步长增/减到最大/最小分辨率因子。
SLEEP:电量计是否可以进入休眠模式;0为否,1为是。
RMFCC:RM (剩余容量)在有效充电终止时使用 FCC (Full Charge Capacity满充容量)的值进行更新;0为否,1为是。
RSOCHOLD1:电量计将阻止 StateofCharge() 报告 0%(即保持为1),直到 Voltage(电池电压) 小于或等于 Terminate Voltage(放电终止电压)。设置为 1 以启用。
RMHOLD100/SOCHOLDOVRCHG:在过度充电的情况下,电量计将 StateofCharge() 保持在 100%,并且在电荷剩余均衡之前不会递减。设置为 1 以启用。
RMHOLD0/SOCHOLDOVRDSG:在过放电情况下,电量计将 StateofCharge() 保持在 0%,并且在电荷赤字相等之前(也就是没补偿过放电的部分)不会递减。设置为 1 以启用。
TEMPS : 对于 Temperature() 参数的温度,使用外部热敏电阻传感器而非使用内置传感器;0为否,1为是。
然后是第二行:

CHGDODEOC:仅在充电期间在 EoC(充电结束) 重新计算时启用 DoD(电池放电深度)。0为否,1为是。建议使用默认设置。
SIMCONTROL:电压一致性的动态模拟:0:启用动态仿真步骤;1:启用电压一致性。
SE_ISD:启用内部短路检测;0为否,1为是。
LFPRELAX:启用 LiFePO4 (磷酸铁锂电池)长 RELAXATION 模式;0为否,1为是。
DODWT:启用测量算法的 DoD 加权功能。此功能可以提高电压曲线平坦部分弛豫期间的精度,尤其是在使用 LiFePO4 (磷酸铁锂电池)化学成分时;0为否,1为是。
FOCNVEN:启用快速收敛算法;0为否,1为是。建议使用默认设置。
然后是第三行:

FASTQMAX:使能快速QMAX测量功能。
FCONVYEMPEN:在 FAST RESISTANCE SCALING (快速阻抗缩放,此功能在低温大电流放电时具有较好的容量预测效果)模式下启用热建模。设置为 1 以启用。建议使用默认值 0。
RLXSMEN:剩余电量平滑功能在电池 RELAXATION 状态下启用。设置为 1 以启用。
SMOOTHEN:启用 SOC 平滑算法。设置后为 True。
SLEEPWKCHG:启用对从 SLEEP 模式唤醒时错过的通过电量的补偿。
BTP_EN:BTP(电池跳变点) 中断在 HDQ 引脚上启用。启用后,所有其他中断都将被禁用。设置为 1 以启用。
最后是第四行:

SE_POL:SE 引脚的上拉使能。设置 (push pull) 时为 True。
SE_PU:SE 引脚的极性位。SE 在设置时为高电平有效(当仪表准备关闭时使 SE 为高电平)。
SE_EN:关闭功能是否启用,0为否,1为是。
SMSYNEN:relax 中的 SOC 平滑将立即平衡真实 SOC 与报告的 StateofCharge() 的差异,而不是随着时间的推移逐渐收敛容量(RM 和 FCC)差异。
AMB_PRED:在测量时是否开启环境温度适应性;0为否,1为是。
IMAXRESRVEN:允许在 Imax() 计算中使用 Reserve Capacity。
IMAXEN:启用在 Imax() 中报告最大允许放电电流。
10.HDQ总线设置:
Data Memory->Configuration(配置)->HDQ(HDQ总线)选项:

Host Interrupt Tries :主机中断尝试次数,有中断事件时,在HDQ总线上尝试发起中断以下次数后,若主机未应答,则放弃发起中断。
11.电源选项:
Data Memory->Configuration(配置)->Power(电源)选项:

Flash Update OK Voltage(内存允许更新电压):低于此电压后,芯片不会实时更新内存的数据以节省电力消耗,防止进一步消耗电池能量,导致电池进一步损坏。
Sleep Current(进入休眠模式时的电流):电池端电流低于此电流后,芯片进入休眠状态。
Hibernate Current(进入冬眠模式时的电流):电池端电流低于此电流后,且电池电压低于冬眠电压后,芯片将进入冬眠状态。
Hibernate Voltage(进入冬眠模式时的电压):电池电压低于此电压后,且电池电流低于冬眠电流后,芯片将进入冬眠状态。
(注:冬眠模式不会做电量统计,所以尽量减少冬眠模式期间的电量消耗,否则电量统计不准确)
FS Wait(深度睡眠模式等待时间):指芯片进入睡眠模式之后等待该时间段后,无唤醒动作时,芯片将进入深度睡眠模式;此时芯片将会每20秒更新一次数据。
11.Data Memory->Configuration(配置)->Lifetime Data(生命周期数据)选项:

这个选项是记录该电池组在生命周期(即从出厂通电开始,到被使用调试器连接的这段时间内)内的各种极限数据,需要启用 IT_ENABLE 子命令(命令 0x0021)才能激活生命周期数据记录功能。电量计记录 Lifetime Data 和 Lifetime Temp Samples 数据闪存子类中指定的寿命数据。数据日志记录由 Lifetime Resolution data flash 子类控制。
这个选项里面的数据已经很清晰了,会用翻译软件应该就知道是什么意思了,我就不赘述了
->Lifetime Temp Samples 选项:
LT Flash Cnt(生命周期闪存计数):记录生命周期闪存被更新过多少次的计数器,生命周期闪存每被更新一次(即新的极限值出现),该计数器的值加一。
->Lifetime Resolution(生命周期更新) 选项:
此选项控制生命周期记录器的各种运行参数。
LT Temp Res(生命周期温度缓冲):生命周期温度记录器的缓冲区,防止微小的参数变化导致生命周期记录闪存不停刷新,导致闪存寿命损失。
LT V Res(生命周期电压缓冲):生命周期电压记录器的缓冲区,防止微小的参数变化导致生命周期记录闪存不停刷新,导致闪存寿命损失。
LT Cur Res(生命周期电流缓冲):生命周期电流记录器的缓冲区,防止微小的参数变化导致生命周期记录闪存不停刷新,导致闪存寿命损失。
LT Update Time(生命周期更新间隔):此参数设置两次生命周期参数更新之间的最小时间间隔,单位为秒,默认为60。
12.安全选项:
Data Memory->Configuration(配置)->Safety(安全)选项:

OT Chg(充电过温):传感器温度高于此温度并持续一定时间后,电量计充电过温指示位有指示。
OT Chg Time(充电过温时间):传感器温度高于一定温度并持续该时间后,电量计充电过温指示位有指示。
OT Chg Recovery(充电过温恢复):触发充电过温后,传感器温度低于此温度后,电量计取消充电过温指示。
后面的三个同上,不过是放电过温保护。
13.制造商选项:
Data Memory->Configuration(配置)->Manufacturer Data(制造商数据)选项:

顾名思义,这里面的数据是制造商数据,可以根据自己的情况更改,也可以不用动。可以以此为识别选项,识别电池是否为原装电池。
Pack Lot Code(包装批次代码):就是这个意思,四位十六进制数据。
PCB Lot Code(PCB批次代码):就是这个意思,四位十六进制数据。
Firmware Version(软件版本):就是这个意思,四位十六进制数据。
Hardware Revision(硬件版本):就是这个意思,四位十六进制数据。
Cell Revision(电芯版本):就是这个意思,四位十六进制数据。
Data Flash Configuration Version(数据闪存版本):就是这个意思,四位十六进制数据。
14.数据完整性校验:
Data Memory->Configuration(配置)->Integrity Data(完整性数据)选项:

此项也是用于加密和数据校验使用的。
All Data Flash Checksum (所有数据闪存校验和):验证所有非包特定的参数。
Static Data Flash Checksum (静态数据闪存校验和):静态数据 Flash 校验和验证所有静态参数(某些大疆无人机改电池设计容量不识别,应该就是依靠的这个选项)。
Static Chem Data Flash Checksum(静态化学数据闪存校验和):验证化学特定数据。此校验和使用 IT_ENABLE 子命令执行。如果校验和操作失败,则禁用 Impedance Track 算法。
15.常规数据:
Data Memory->Configuration(配置)->Data(数据(这里应该是指常规数据,或者说应该叫数据手册里的系统设计参数))选项:

Design Voltage(设计电压):或者应该叫标称电压,单位毫伏,是芯片报告给主机的标称电压。
Cycle Count(循环计数):记录电池经历的循环次数。当累积放电≥ CC Threshold时,将出现一个循环。
CC Threshold(循环计数阈值):放电能量达到多少%时,认为电芯经过了一个循环,通常设置为电芯标称容量的90%。
Design Capacity(设计容量):这是电池供应商指定的电池组的原始化学容量。这在 Impedance Track 算法中用于剩余和完全充电容量(RM 和 FCC)计算。该值应根据电池规格进行设置。
Design Energy(设计能量): 类似于设计容量,但以能量单位表示。设计能量 = 设计容量 × 设计电压 该参数的实际单位取决于设计能量标度。
SOH Load I(StateOfHealth Load I,也就是计算电池健康度时使用的负载电流):StateOfHealth() 是使用 FullChargeCapacity()(FCC) 和 DesignCapacity() 的比率计算的。SOH 计算中使用的 FCC 是使用固定温度 (25⁰C) 和负载(由 SOH Load I 定义)进行模拟的。使用的 FCC 值不一定与 FullChargeCapacity() 数据 RAM 寄存器相同,因为数据 RAM 寄存器中报告的值会根据当前系统负载和温度而变化。默认值为 –400 mA。建议将此值设置为典型的系统电流(也就是系统大多数时间下消耗的电流)。
TDD SOH Percent(TDD(电池连接线断开检测)的SOH比值触发阈值):电量计将检测这次测量到的SOC值与上次检测到的SOC值相比较,一旦该比值低于此阈值,将认为与电池的连接线断开或故障,并触发TDD( Tab Disconnect Detection,电池连接线断开检测),并根据设置向主机发送中断信号。默认为80%。
ISD Current((Inner Short Detection)内部短路检测电流):电池每小时的自放电电量与设计容量的比率;如果电池组配置 B 中的 [SE_ISD] 位设置,电量计可以指示检测到电池内缓慢发生的短路或微短路。该仪表将基于 RELAXATION 模式计算的自放电电流与系统中测量的 AverageCurrent() 进行比较。自放电率每隔 1 小时测量一次。当电池 SelfDischargeCurrent(自放电电流) 小于预定义的 –Design Capacity/ISD Current 阈值时,Flags() 的 [ISD] 设置为高电平。Flags() 的 [ISD] 可以通过启用 INTERRUPT 模式来控制中断引脚(HDQ 或 SE)。
ISD I Filter(内部短路检测电流滤波器):为了帮助避免误报,可以过滤 SelfDischargeCurrent() 寄存器中允许的变化量。如果电量计读取的最近电流值与之前的读数明显不同,则 ISD I Filter 的值较大时,会限制 SelfDischargeCurrent() 值的大幅波动。较小的 ISD I Filter 值允许 SelfDischargeCurrent() 的值更新为更接近仪表读取的最新值的值。当电量计上的负载完全消除时,SelfDischargeCurrent() 最准确。
Min ISD Time (最小内部短路检测延时):定义了在 RELAXATION 模式下进行初始 DOD 测量后,仪表在将 SelfDischargeCurrent() 与计算的阈值进行比较之前需要等待的时间 (hrs)。
Design Energy Scale (设计能量比例):选择一组数据闪存参数的比例和单位,其值可以是 1 或 10。对于大于 6 Ah 的电池容量,建议使用设计能量比例 = 10。
16.放电选项:
Data Memory->Configuration(配置)->Discharge(放电)选项:

SOC1 Set Threshold(剩余电量低初始警告阈值):SOC1 Set Threshold 通常用作低电量预警告。如果 SOC1 Set Threshold 设置为 –1,则 [SOC1] 位将不起作用。SOC1 Set Threshold 通常设置为 Design Capacity 的 10%。SOC1 清除阈值通常设置为比 SOC1 设置阈值高 5%;即 Design Capacity 的 15%。
SOC1 Clear Threshold(剩余电量低初始警告清除阈值):定义及使用方法见上文。
SOCF Set Threshold(剩余电量耗尽警告阈值):SOCF Set Threshold 通常用作电量即将耗尽警告。如果 SOCF Set Threshold 设置为 (–)1,则 [SOCF] 位将不起作用。SOCF Set Threshold 通常设置为 Design Capacity 的 2%。SOCF 清除阈值通常设置为比 SOCF 设置阈值高 3%,即设计容量的 5%。
SOCF Clear Threshold(剩余电量耗尽警告清除阈值):定义及使用方法见上文。
BL Set Volt Threshold(Battery Low Set Voltage Threshold 电池电压低警告阈值):当电池电压低于此值时且经过一段时间后,将位 [BATLO]设为1;设备不得处于 SLEEP 模式。建议将 BL 设置电压阈值配置为低于 BL 清除电压阈值,以提供适当的电压滞后。
BL Set Volt Time(Battery Low Set Voltage Time 电池电压低警告延时时间):在电池电压低于BL Set Volt Threshold之且经过此时间后,位 [BATLO]将被设为1。
BL Clear Volt Threshold(Battery Low Clear Voltage Threshold 电池电压低警告清除阈值):当位 [BATLO]被设置,电池电压回升到此值后,位 [BATLO]将被清零;设备不得处于 SLEEP 模式。建议将 BL 设置电压阈值配置为低于 BL 清除电压阈值,以提供适当的电压滞后。
BH Set Volt Threshold(Battery High Set Voltage Threshold 电池电压高提示阈值):当电池电压高于此值时且经过一段时间后,将位 [BATHI]设为1;设备不得处于 SLEEP 模式。建议将 BH 设置电压阈值配置为高于 BH 清除电压阈值,以提供适当的电压滞后。
BH Set Volt Time(Battery High Set Voltage Time 电池电压高提示延时时间):在电池电压低于BH Set Volt Threshold之且经过此时间后,位 [BATHI]将被设为1。
BH Clear Volt Threshold(Battery High Clear Voltage Threshold 电池电压高提示清除阈值):当位 [BATHI]被设置,电池电压下降到此值后,位 [BATHI]将被清零;设备不得处于 SLEEP 模式。建议将 BH 设置电压阈值配置为高于 BH 清除电压阈值,以提供适当的电压滞后。
17.电量计配置电流阈值:
Data Memory->Gas Gauging(电量计)->Current Thresholds(电流阈值)选项:

Dsg Current Threshold(Discharge Current Threshold 放电电流阈值):当放电电流大于该阈值时,电量计认为电池进入放电模式,此时标志位[DSG] 将被设置为1。
Chg Current Threshold(Charge Current Threshold 放电电流阈值):当充电电流大于该阈值时,电量计认为电池进入充电模式,此时标志位[DSG] 将被设置为0。
Quit Current (Quit Current 退出电流):当充放电电流在该阈值之内时,且经过相应的充放电延时时间后,电量计认为电池进入静置模式,此时标志位[DSG] 将被设置为1。【退出电流】参数设置应始终小于【Chg 电流阈值】设置的当前阈值的幅度,并且小于【Dsg 电流阈值】设置的当前阈值的幅度。
Dsg Relax Time (放电退出延时):当放电电流在Quit Current之内,且经过该时间后,电量计认为电池进入静置模式,此时标志位[DSG] 将被设置为1。
Chg Relax Time (充电退出延时):当充电电流在Quit Current之内,且经过该时间后,电量计认为电池进入静置模式,此时标志位[DSG] 将被设置为1。
Max IR Correct(允许的IR矫正最大值):如果在 OCV 测量期间检测到 AverageCurrent() > Deadband,则在使用 IR 校正计算新 DOD 之前使用 IR 校正来补偿该值。Max IR Correct 中编程的值根据检测到的充电电流确定允许的最大校正电压。如果检测到放电电流,则不应用电容。Max IR Correct 仅适用于在仪表需要建立容量基线但电流已经流动时,使用检测到的充电电流唤醒后的 OCV 查找。如果在用于查找初始 DOD 的电压测量期间有电流流动,则 IR 校正可消除 IR 压降对电池阻抗的影响,并获得真正的 OCV。Max IR Correct (最大 IR 校正) 是使用的 IR 校正的最大值。这是为了避免在充电过程中由于低 DOD 值下的非常高的电池内阻阻而导致的OCV伪影。(这段比较长,于是几乎把机翻原文复制过来了)
18.电量计状态参数:
Data Memory->Gas Gauging(电量计)->State(状态)选项:

Qmax Cell 0(电芯0的最大容量):作为单节电池电量计,此为单节电芯的最大容量,为电量计经过校准,循环学习后的实时数据;若没有经过校准,则此为默认数据。(数据手册原文(有部分润色)):Qmax 包含电芯的最大化学容量,通过比较施加负载前后的电荷状态与通过的电荷量来确定。它们还对应于低排放速率下的容量,例如 C/20速率(即0.05C放电)。为了获得高精度,仪表在运行期间会定期更新该值。根据电池容量信息,应在 Qmax 字段中输入化学容量的初始值。Impedance Track 算法会更新并维护此值。在运行优化周期(即上方工具栏的Goldenizing(部分资料称之为Golden Learning))之前,将此值设置为电池单元数据表容量。运行优化周期并创建黄金设置后,将其设置为学习的值。默认值为 1000 mAh。
Update Status(更新状态):指示电量计内部算法是否学习了针对当前电芯的电量计算参数;由于这是电池侧电量计,因此 Update Status 寄存器可以用下面的位表示:


此寄存器中的三个位很重要:
• 位 2 (0x04) 表示是否启用了 Impedance Track 算法。
• 位 1 (0x02) 表示电量计在学习周期内学习了 Qmax 和 Ra 表的优化值。
• 位 0 (0x01) 表示电量计在学习周期的充电部分后学习了 Qmax 的初始值。
V at Chg Term(Voltage At Charge Term 充电完毕电压):该电量计还记录电池充电终止时的电压,并将其存储在此寄存器中。电量计使用它来了解给定系统的完整电池的放电深度 (DoD)。每次充电终止后,电量计都会更新此电压,考虑到系统之间的差异和不同的温度,其默认为 4200 mV,但可以初始化为系统的标称充电电压。
Avg I Last Run(Average I Last Run 上次运行时的平均电流):上次系统运行时(静置模式->充电或放电->静置模式)期间的平均电流(正值为充电,负值为放电)。
Avg P Last Run(Average P Last Run 上次运行时的平均功率):上次系统运行时(静置模式->充电或放电->静置模式)期间的平均功率(正值为充电,负值为放电)。
Delta Voltage(电压变化):为了处理脉冲负载情况,电量计使用其他参数。Delta Voltage 是 Voltage() 在短负载尖峰和正常负载期间的最大差值,因此 Impedance Track 算法可以计算脉冲负载的剩余容量。在运行期间,当检测到电压尖峰时,仪表会自动更新增量电压值。如果系统通常存在较大的峰值,则可以将其初始化为更高的值。允许的值受 Max DeltaV 和 Min DeltaV 的限制。
T Rise :这是在单次时间常数加热-冷却热建模中使用的热上升因子。如果设置为 0,则禁用此功能,并且 IT 算法中的仿真不会考虑电池单元的自热。T Rise 的值越大,IT 模拟的温升估计值就越高。
Thermal Time Constant:这是用于单时间常数加热-冷却热建模的热时间常数。可以使用默认设置,如果测试显示模型与实际性能不匹配,则可以修改该设置以提高低温精度。T Time Constant 默认为 1000。这对于许多应用程序来说已经足够了。但是,如果需要在低温下获得更好的预测准确性,则可以对其进行修改。
19.阻抗跟踪算法参数:
(这下面的大部分数据都不需要自己写或者更改,校准及循环容量学习完毕后软件会自动根据结果写入相应参数,在此仅作释义)

Load Select(负载选择):定义用于在 Impedance Track 算法中计算负载补偿容量的功率或电流模型类型。默认情况下,Load Select 设置为 1,这意味着 IT 算法使用当前放电周期的移动平均值。放电停止后,算法会将平均值作为 Avg I Last Run 和 Avg P Last Run 变量存储在数据闪存中。对于 RELAXATION、CHARGE 和 DISCHARGE 开始时的仿真(因为尚未收集到新的平均值),它将使用数据闪存值进行仿真。放电持续 500 秒后,仪表使用新的运行平均值重新模拟。此后,在放电期间,它将连续运行平均值用于任何后续模拟。(详细内容建议参考技术参考手册的6.3节,对于一般应用,默认值即可获得较好的精度)
Load Mode(负载模式):Load Mode 参数通过支持与 power 而不是 current 相关的相同选项来进一步扩展这一点。Load Mode 为 Load Select 中使用的 Impedance Track 算法选择恒流或恒功率模型。当 Load Mode 为 0 时,使用恒流模型(默认)。当 Load Mode 为 1 时,使用恒定功率模型。CONTROL_STATUS [LDMD] 位反映 Load Mode 的状态。如果 Load Mode = 0 (恒流模型),则使用表6-5(详见数据手册)
Max Res Factor(最大阻抗变化因数):阻抗表增加最大值限制器;即每次测试电池阻抗,构建新的阻抗表时,新的阻抗表值遵循以下函数: 对于 Ra_new > Ra_old; 新 Ra = min(Ra_new, Ra_old × Max Res Factor ÷ 10);可以看到,该系数除以10,即限制了每次阻抗表增长,新值相对于旧值最大可以增加的百分比。即新值最大是旧值的(100+Max Res Factor*10)%
Min Res Factor(最小阻抗变化因数):阻抗表增加最小值限制器;即每次测试电池阻抗,构建新的阻抗表时,新的阻抗表值遵循以下函数: 对于 Ra_new < Ra_old ;新 Ra = max(Ra_new,Ra_old × Min Res Factor ÷ 10);可以看到,该系数除以10,即限制了每次阻抗表增长,新值相对于旧值至少增加的百分比。即新值最小是旧值的(100+Max Res Factor*10)%
Ra Filter(阻抗加权因数):这个因数用于确定在新一轮的电池阻抗测试中,新测得的电池阻抗数据与旧的电池阻抗表数据占据新的电池阻抗表的比例,1000为100%,即阻抗表永远为旧的阻抗表,不会改变,800则表示对于新制得的阻抗表中,每个数据都是由过去数据的80%与新测得数据的20%加权平均后得到的。
Res V Drop(满足阻抗测量的压降):当电池进入放电模式并尝试进入阻抗表更新时,必须满足电池压降大于此压降或者放电电流至少为0.1C; 它是在电池放电期间用于确定测量和存储电池阻抗值的充分条件。它适用于低速率放电或频繁使用低温的应用,这些应用通常难以实现一致的阻抗更新。即使电流较低,如果电池阻抗足够,仍可以满足压降要求。
Fast Qmax Start DoD%(快速Qmax测量放电深度起始值)//直译,没有说明只有定义。
Fast Qmax End DoD%(快速Qmax测量放电深度结束值):当满足DOD > Fast Qmax End DOD%条件及另一个并列条件时,快速Qmax算法在放电结束时限定并保存基于放电的快速 Qmax DOD 点。
Fast Qmax Start Volt Delta(快速Qmax测量允许电压变动):当电池电压大于终止电压+Fast Qmax Start Volt Delta时,允许每 30 秒获取一次新的基于放电的快速 Qmax DOD 点。
Fast Qmax Current Threshold(快速Qmax测量允许放电阈值):在确定Qmax的DOD测量中,允许的最大电池放电电流,需要电池端满足以下关系式:(Design Capacity/Fast Qmax Current Threshold),才可以进行用于快速Qmax测试的DOD测量。
Qmax Capacity Err(Qmax容量累计误差限制):此参数限制了在确定Qmax的两次OCV测量之间,最大允许的累计误差。该参数通过下列函数:Qmax取消资格时间 = Design Capacity × Qmax Capacity Err ÷ (offset current × 100)
其中 offset current = CC Deadband ÷ sense resistor;也就是说,由于CC死区的存在,可能有微小的放电电流被电量计的库仑计部分忽略,而其可能由于两次用于Qmax确定的OCV测量时间间隔过长导致误差累积,从而导致测得的Qmax偏大;于是使用此参数设置一个两次OCV测量的最长允许时间间隔,超过此间隔即认为QMax由于误差过大而失效。
Max Qmax Change(最大Qmax变化):限制Qmax的最大变化量,以确认新得到的Qmax是否可信;其计算方法满足下式: abs(先前的Qmax – 新测得的Qmax)/先前的Qmax ≤ Max Qmax Change。若满足,则电量计将认为新的Qmax可信并更新Qmax。
Terminate Voltage(放电截止电压):电池开路电压低于此电压后,即表示电池已经完全放空了电量。电池开路电压低于此值并超过一定时间后,参数:RemainingCapacity() 与 StateOfCharge()将被设置为0,即电池完全没电。
Term V Delta(电压变化限制):用于阻抗缩放算法,当电池电压低于截止电压+Term V Delta,则启用该算法。
Res Relax Time(阻抗缓冲时间):Res Relax Time 或 resistance relaxation time 表示内部电阻完全饱和所需的时间。电阻从 0 增加到由 Ra 表确定的最终值,该值由放电仿真期间时间常数 Res Relax Time 的指数定义。这样,电量计在计算电池在负载下的瞬时电压时,不会立即模拟很大的 IR 压降。默认值为 500 秒,这对于大多数应用程序来说已经足够了。
User Rate-mA(用户指定电流):在Load Select的选项所对应的可用负载选项与实际应用条件不匹配的情况下,也可以为电量计提供自定义电流或功率曲线。电量计的阻抗跟踪算法将使用该参数作为负载参数以计算剩余容量。
Uesr Rate-Pwr(用户指定功率):在SHUTDOWN State = 1且Load Select = 6时,电量计的阻抗跟踪算法将使用该参数作为负载参数以计算剩余容量。
Resrerve Cap-mAh(保留容量):当SHUTDOWN state = 0时,该参数负责告知电量计,当剩余容量到达0%后,电压到达放电截止电压之前时,之间剩余多少保留容量,方便电量计进入受控关机。
Reserve Energy(保留能量):当SHUTDOWN state = 0时,该参数负责告知电量计,当剩余容量到达0%后,电压到达放电截止电压之前时,之间剩余多少保留能量,方便电量计进入受控关机。
Max Delta V(最大电压变化):Max DeltaV 是放电期间,遇到脉冲负载时(即会在短时间内消耗大量电流,导致电压短时间内大幅度下降的负载)保存的最大电压变化。
Min Delta V(最小电压变化):Min DeltaV 是放电期间,遇到脉冲负载时(即会在短时间内消耗大量电流,导致电压短时间内大幅度下降的负载)保存的最小电压变化。
Max Sim Rate(最大仿真参数比例):电量计在Impedance Track™算法中,对电池模型进行仿真时,需要使用电流或功率作为参数, 具体的参数类型由SHUTDOWN state位决定:
当为0时:–Design Capacity/Max Sim Rate ≤ Simulation Current ≤ –Design Capacity/Min Sim Rate(其中Simulation Current为模型仿真时使用的电流)
当为1时:–Design Energy/Max Sim Rate ≤ Simulation Power ≤ –Design Energy/Min Sim Rate(其中Simulation Power为模型仿真时使用的功率)
Min Sim Rate(最小仿真参数比例):作用同上,但其限制的是最小值。
Ra Max Delta (阻抗最大变化值):在更新 Ra 值期间,将执行筛选过程以消除更新的 Ra 值中的意外波动。Ra Max Delta 将 Ra 值的变化限制为每次 Ra 更新的绝对幅值。该值应设置为 Ra[4] 值的 15%。该值需要在化学变化后手动调整。应用此过滤器后,将进行最终检查,以确保新电阻同时满足 Max Res Factor 和 Min Res Factor。
Trace Resistance(走线电阻):在电池和电量计或电量计和系统负载点之间走线长度过长的系统中,可以通过分别在走线电阻或下游电阻中设置标称值,进一步提高剩余容量仿真的预测精度。电量计增加了 走线电阻 和下游电阻;容量仿真中使用的电池电阻值,以便在给定电池组设计中面对非同寻常的走线寄生电阻时,在模拟放电中获得更真实的负载电压降。同样,在存储到数据闪存中之前,从放电期间进行的任何电阻测量中去除走线电阻。走线电阻是给定应用中电池和库仑计数器测量点之间的标称电阻。PCB 本身的柔性布线和长走线会导致这种电阻,并为 SOC 预测增加误差。电量计将用此值抵消电池电阻,以改进对 RemainingCapacity()的估计。
Down StreamResistance(下游电阻):Downstream Resistance (下游电阻) 是给定应用中库仑计数器测量点和系统电压节点之间的标称电阻。PCB 本身的长铜走线会导致这种电阻,并为 SOC 预测注入误差。电量计将使用此值抵消电池电阻,以改进对RemainingCapacity()的估计。
Qmax Max Delta%(最大Qmax增量):当新的Qmax满足Max Qmax Change后,电量计将使用以下函数限制Qmax的改变量:若:Abs(当前 Qmax – 新过滤的Qmax)/设计容量 > Qmax Max Delta %,则:新的Qmax = 当前 Qmax ± 设计容量 × Qmax Max Delta % ÷ 100。
Qmax Bound%(Qmax限制):电量计新习得的Qmax不会超过由以下函数确定的Qmax上限:新的 Qmax > Qmax Bound× 设计容量 ÷ 100。
DeltaV Max Delta(电压变化的最大变化):DeltaV Max Delta 变量提供了 Delta Voltage 在一次网格更新中增长或收缩的程度(以 mV 为单位)的限制。
Max Res Scale(最大阻抗缩放比例):在快速阻抗缩放算法启用时,该值/1000即为允许的最大阻抗缩放值。
Min Res Scale(最小阻抗缩放比例):在快速阻抗缩放算法启用时,该值/1000即为允许的最小阻抗缩放值。
Fast Scale Start SOC(快速阻抗缩放启动SOC):在低温和非常高的放电速率下,使用插值阻抗法收敛到 0 的 SOC 会导有较高的误差。快速电阻缩放通过缩放容量预测模拟中使用的阻抗值,而不是按原样使用插值阻抗表值,将 SOC 收敛性提高到 0%(即终止电压)。一旦满足StateofCharge() ≤ Fast Scale Start SOC条件,即可启用快速阻抗缩放。
Fast Scale Load Select(快速阻抗缩放负载选择):选择快速阻抗负载缩放算法所使用的负载类型。
Charge Syh V Shift(充电电压滞后偏移):可帮助电量计避免充电后电压平坦区域的 Qmax 更新,以避免 OCV 滞后效应。如果 OCV(以 mV 为单位)<平坦区域上限(通常为 ~3800 mV)+ Charge Syh V Shift,则不允许更新 Qmax,以防止出现较大的Qmax误差。
Ra Scl OCV Rst Temp Thresh(快速阻抗缩放OCV测量重置温度):当电池温度大于此温度后,且进行OCV测试时的温度大于该温度,适用于低温的快速阻抗缩放将被重置。
Max Allowed Current(最大允许电流):对于需要在各个操作点进行智能负载限流的系统,Imax 功能有助于确定最大电流脉冲持续时间可以施加多少电流负载,而不会导致电池端电压立即下降到截止电压以下。Max Allowed Current 是系统预期在 Max Current Pulse Duration 内施加在电池上的最坏情况下的电流脉冲,也就是一定时间内允许最大的电池电流。
Max Current Pulse Duration(最大电流脉冲持续时间):Max Current Pulse Duration 指定在给定系统中预期应用 Max Allowed Current 的最长时间。也就是在最大电池电流的情况下,电池可以坚持的最长时间。
Max Current Interrupt Step(最大电流中断):当电池端电流增量每达到该值一次,即会触发一次中断。如设置为500mA,则每500mA负载电流增量会产生一次中断。
Predict Outside Temp Time(外部温度测量等待时间):Predict Outside Temp Time 确定算法开始测量充电/放电期间环境温度之前的等待时间,
Termination Voltage Valid Time(放电截止电压有效时间):电池开路电压低于放电截止电压,且经过此时间后,即表示电池已经完全放空了电量;参数:RemainingCapacity() 与 StateOfCharge()将被设置为0,即电池完全没电。
电量计校准:
(这部分实在是忙,最近没有时间了,以后看啥时候有空了补一下,大家先参考下@XDZZ的教程吧:
使用电量计让你的电量显示更准确-基于BQ40Z50_哔哩哔哩_bilibili
(非常感谢!!!))
(此校准方法部分通用于阻抗跟踪电量计,但与CEDV电量计不同,请酌情参考)
0.为何校准:
1.校准前准备:
仪器准备:
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论