调试TI的BQ40Z50库仑计

在这里我使用的库仑计型号为bq40z50R4,个人建议是对低版本的库仑计进行一次升级操作,TI的新固件包含了更多功能参数以及对已知的软件问题的修复,可以点击此进行下载 sluc704a.zip

bq40z50R4

BQ40Z50调试步骤

第一步,准备好电量计硬件板子,对电量计供电。

电池串 数1N(VSS) ~ 1P(VC1)1P(VC1) ~ 2P(VC2)2P(VC2) ~ 3P(VC3)3P(VC3) ~ 4P(VC4)
1连接第 1 节电芯短接短接短接
2连接第 1 节电芯连接第 2 节电芯短接短接
3连接第 1 节电芯连接第 2 节电芯连接第 3 节电芯短接
4连接第 1 节电芯连接第 2 节电芯连接第 3 节电芯连接第 4 节电芯
多串电量计不同串数连接方式

第二步,连接通讯盒子

根据电量计所用的通信协议连接到通信盒EV2400,bq40z50使用的协议是SMB,将它接到SMBUS接口上即可通讯(调试器设备内部自带了上拉电阻)。这里推荐使用EV2400,因为该调试器接入电脑后会自动安装驱动

第三步,打开BQSTUDIO 进行通信及参数配置

如果没有安装BQSTUDIO ,可以去TI官网进行下载对应软件。

首先,检查通讯信已连上。在 bqStudio 左边的仪表盘 Dashboard 上,USB 图标能够显示 EV2300 或 EV2400 即说明通信盒已识别,否则请回到第二步检 查通信盒;芯片图标能够正确显示电量计名字即说明电量计通信已建立,否则请回到第一步检查电量计板子。

检测通讯是否连接成功

然后,在 Data Memory 页面配置参数。点击 Read All 把电量计参数读出来,如果读回是全0或提示无法访问的错误,则电量计可能已加锁,需要先对它解锁才可以 继续读写参数。解锁方法是先点击右边 Commands 的 Unseal 命令,等它完成后再点击 Full Access Unseal 命令。

至于其他参数请参考技术参考手册 bq40z50-寄存器 来配置。

基本参数配置

  • Charge Voltage 单节电芯充电电压 【这里可以设置的比正常电池电压高20~50mV,确保断开充电器时不会掉电】
    • BQ40Z50-R2 >> “Advanced Charge Algorithm”,”Standard Temp Low Charging”,”Voltage”
    • BQ40Z50-R2 >> “Advanced Charge Algorithm”,”Standard Temp High Charging”,”Voltage”
    • BQ40Z50-R2 >> “Advanced Charge Algorithm”,”Rec Temp Charging”,”Voltage”
  • Taper Current 判断充满的电流条件,要设置高于充电器截止电流【例如充电截止电流为300mA,那么这里可以设置350mA】
    • BQ40Z50-R2 >> “Advanced Charge Algorithm”,”Termination Config”,”Charge Term Taper Current”
  • Taper Voltage 判断充满的电压条件,一般设置 50~100mV 【例如锂电池电压为4.2V,那么设置参数可以为4.25V,这样防止在CV状态下电池电压虚高问题】
    • BQ40Z50-R2 >> “Advanced Charge Algorithm”,”Termination Config”,”Charge Term Voltage”
  • Terminate Voltage 系统关机电压,也是 RSOC 0%相对电压。RSOC 是相对的概念,RSOC=0% 是说电池电压降到 Terminate Voltage 了,而不是电芯的过放保护电压点,也不是电芯能放电的最低电压。【可以理解为保电,提前关机】
    • BQ40Z50-R2 >> “Gas Gauging”,”IT Cfg”,”Term Voltage” 多节电池
    • BQ40Z50-R2 >> “Gas Gauging”,”IT Cfg”,”Term Min Cell V” 单节电池
  • Design Capacity 电池标称容量
    • BQ40Z50-R2 >> “Gas Gauging”,”Design”,”Design Capacity mAh”
  • Design Energy 电池标称能量
    • BQ40Z50-R2 >> “Gas Gauging”,”Design”,”Design Capacity cWh” 【1cWh=10mWh】= Design Capacity x Design Voltage
  • Dsg Current Threshold 判断是否处于放电的电流阈值,一般低于系统最小负载 电流,但要高于 Quit Current
    • BQ40Z50-R2 >> “Gas Gauging”,”Current Thresholds”,”Dsg Current Threshold”
  • Chg Current Threshold 判断是否处于充电的电流阈值,一般低于最小充电电流, 但要高于 Quit Current
    • BQ40Z50-R2 >> “Gas Gauging”,”Current Thresholds”,”Chg Current Threshold”
  • Quit Current 判断是否处于静置的电流阈值,一般小于 0.05C
    • BQ40Z50-R2 >> “Gas Gauging”,”Current Thresholds”,”Quit Current”

以上参数设置完之后基本就可以使用库仑计了,高阶的一些用法如下:

对充电标志位的设置

  • SOC Flag Config A 库仑计标志位设置寄存器A【用于设置不同电压或SOC状态下库仑计对外的充电或放电表现】

    • BQ40Z50-R2 >> “Settings”,”SOC Flag Config A”
  • SOC Flag Config B 库仑计标志位设置寄存器B【用于设置不同电压或SOC状态下库仑计对外的充电或放电表现】

    • BQ40Z50-R2 >> “Settings”,”SOC Flag Config B”
  • FD 指示系统电量处于危险状态,需要执行正常关机操作【这里我使用了 置位使用SOC、清除使用SOC】

    • BQ40Z50-R2 >> “Gas Gauging”,”FD”,”Set % RSOC Threshold”
    • BQ40Z50-R2 >> “Gas Gauging”,”FD”,”Clear % RSOC Threshold”
  • FC 指示系统容量为99%或接近充满【这里我使用了 置位使用SOC、清除使用SOC】【同时配置SOC Flag Config不执行主充电终止标志】

    • BQ40Z50-R2 >> “Gas Gauging”,”FD”,”Set % RSOC Threshold”
    • BQ40Z50-R2 >> “Gas Gauging”,”FD”,”Clear % RSOC Threshold”
  • TD 指示终止放电的位置,此时电池已经处于没有电量的状态【这里我使用了 置位使用SOC、清除使用SOC】

    • BQ40Z50-R2 >> “Gas Gauging”,”TD”,”Set % RSOC Threshold”
    • BQ40Z50-R2 >> “Gas Gauging”,”TD”,”Clear % RSOC Threshold”
  • TC 指示的是电池已经充满,也是终止充电的标志【这里我使用了 置位使用电池电压、清除使用SOC】【同时配置SOC Flag Config执行主充电终止标志】

    • BQ40Z50-R2 >> “Gas Gauging”,”TD”,”Set % Voltage Threshold”
    • BQ40Z50-R2 >> “Gas Gauging”,”TD”,”Set % RSOC Threshold”
  • Term Voltage 设置电池截止电压,这里也可以理解成电池的保电参数,一般设置比最低电压高500mV

    • BQ40Z50-R2 >> “Gas Gauging”,”IT Cfg”,”Term Voltage”
TI Chip Understanding

对温度的设置

  • Temperature Enable 对温度的启用【这里我没有外接温度传感器,所以就使用库仑计内部的温度传感器作为数据来源】
    • BQ40Z50-R2 >> “Settings”,”Configuration”,Temperature Enable”
  • Temperature Mode 对不同温度来源的定义【这里我只用到了芯片内部的温度,由于缺少了电池温度的监测传感器,这里就先设置芯片内部温度设置为电池温度】
    • BQ40Z50-R2 >> “Settings”,”Configuration”,”Temperature Mode”
  • Enabled PF D 设置一下温度检测管脚的使能
    • BQ40Z50-R2 >> “Settings”,”Permanent Failure”,”Enabled PF D”

电池单元数设置

  • DA Configuration 对电池的一些设置,这里有电池数量的设置
    • BQ40Z50-R2 >> “Settings”,”Configuration”,”DA Configuration”

第四步,校准电压、电流、温度

如果看到电压、温度、电流测量不准,那么请点击 bqStudio 的 Calibration 校准页 面进行校准

  • 校准电压
    • 电压校准在电压稳定、无负载的情况下进行。 单串电量计只需要测量 PACK+, PACK-填写到 Applied Voltage,然后勾选 Calibrate Voltage 选项,点击 Calibrate 按钮即可。
    • 多串电量计需要测量第一节电压(VC1)、最高节正极对地电压(VC4)、端口 PACK+对地电压(PACK),分别填写到 Applied Cell1 Voltage, Applied Battery Voltage, Applied Pack Voltage,然后勾选旁边的 Calibrate Voltage 选项,点击 Calibrate 按钮即可。
    • 要注意这个 Battery Voltage 不是指电量计 BAT 引脚的电压,而是最高节正极 (VC4)对地电压。
  • 校准温度
    • 温度校准在温度稳定的情况下进行。填写实际温度,勾选 Calibrate External Temperature 点击 Calibrate 按钮即可。
  • 校准电流
    • 电流校准分为空载校准和带载校准。 空载校准即零电流校准,不接负载、无电流时点击 Board Offset 和 CC Offset。 带载校准一般是放电 1A 或 2A,填写 Applied Current,然后点击 Calibrate 按 钮即可。有些电量计出厂前已经做好零电流优化,在使用中不需要手动进行零 电流校准,比如 BQ40Z50。对于开启 CC Auto Offset 的电量计,在做带载校准 之前先把”Calibration”,”Current Offset”,”CC Auto Config”参数配置为”03”,即把 OFFSET_TAKEN 置为 0,然后才可进行带载电流校准。
    • TI 电量计有两个 ADC 可以实现电压和电流同步采样,所以在多串电量计里除了 有 Current()还有 Cell Current(),即为对应采 Cell Voltage 的电流。
    • CC Auto Offset 的目的是提高在不同温度场景下 Cell Current 精度。CC Auto Offset 的工作方式是在进入 sleep mode 时把 SRP/SRN 短接来校准 Auto CC Offset,完成后会自动把 OFFSET_TAKEN 置为 1,即 CC Auto Config 自动从 03 变为 07。CC Auto Offset 的条件是 AUTO_CAL_EN=1,然后进入 sleep mode,10 个小时内只做一次。如果在带载电流校准前 CC Auto Config=07 则 很难校准电流的。
校准界面

第五步,使能电量计

在 bqStudio 的 Commands 页面点击使能电量计算法的命令(BQ27542 的使能命 令是 IT_ENABLE,BQ40Z50 的使能命令是 GAUGE_EN)即可让电量计正式运行 计算电量。对于多串电量计 BQ40Z50,仍需要置位 Operating Status [PRES]旗标、 使能充放电管控制命令(FET_EN)才能够打开充放电管。GAUGE_EN 和 FET_EN 命令具有翻转特性,点击一次置 1,再点击一次清 0,所以要看 IT Status [QEN]或 Manufacturing Status [GAUGE_EN]是否为 1,红色代表 1,绿色代表 0。

  • 到这里,电压、电流、温度、电量 RSOC 等信息都正常显示了,充放电都可正常进 行了。你已经成功地让电量计工作起来啦!后面就可以做化学 ID 匹配、Golden Learning 以及其他测试了。
  • 如果完成了化学ID的匹配,那么在设置一下Update Status 为 0x02 来激活库仑计正常工作即可

第六步,导出生产文件

在调试软件中,选择工具栏中的Firmware,点击界面中的Read Srec/FS from device进行固件的读取。

  • 需要注意的是路径中不得有中文存在,否则会导致软件烧录/读取失败

第七步,烧录一块新的库仑计芯片

在调试软件中,选择工具栏中的Firmware,点击界面中的Program进行固件烧录,同时打钩上Execute after programming以便在烧录完成后自动执行。

  • 需要注意的是路径中不得有中文存在,否则会导致软件烧录/读取失败

这里是我配置的一个固件包以及参数表格,电池参数为:三节锂电池电芯

库仑计的一些单词简单介绍

  • QMax:电池的总的化学容量

  • OCV:Open Circuit Voltage,电池输出的开路电压

    • 通常认为电池耗电处于Relaxation状态(此时的电流很小)下的电池电压也是OCV电压
  • DOD:Depth of Discharge,放电深度

    • 电量计内部包含有放电深度DOD与电池开路电压OCV之间的查找表,在电池无负载即开路的状态下通过查这个表可以得到比较准取的电池放电情况
    • 电量计算法计算得到的DOD,决定了是否应该更新当前的电池内阻参数,以及开始计算和更新RC/FCC的时机
  • OC:State of Charge,实际上也就是当前剩余电量的百分比

    • 具体的计算公式为SOC=Q/QMax=RM/FCC
  • RM:Remaining Capacity,剩余的电池容量

    • 在放电开始后、每次电阻更新时以及进入松弛模式后立即进行剩余容量计算
  • FCC:Full-Charge Capacity,满充情况下的电池可以实际使用的容量

    • FCC实际上是电池在满充状态下,以一定的放电速度放电到截止电压的情况下,电池释放出来的总的容量,实际上此时电池内部仍然残留部分容量,也就是Reserve Capacity
    • 与放电速度和当前温度有关,放电速度越快,温度越低的情况下,FCC越小,因为在这种情况下电池内阻的存在导致电池更快到达截止电压
  • Ra:电池内阻参数

    • 电池内阻在不同的放电深度情况下不同,电量越低电池内阻越大,在接近电池截至电压时达到最大
    • 电量计在校正过程中会根据电池的情况自动计算出来的15组电池内阻参数Ra0-Ra14,同时这些内阻参数在Impedance Track算法运行的过程中动态更新
    • 电池内阻的计算公式:(OCV-BatteryVoltageUnderLoad)/AverageLoad Cuurent
  • OCC:过流充电恢复阈值

  • TC: 您想要终止充电的位置

    • 通常在 100% RSOC 或当您的初级电压充电终止发生时
  • FC: 如果您选择 FCSETRSOC 取决于电压,您希望将其设置为 99% 或 100%,您可以使用 FCSETV,再次建议遵循主要充电终止来声明 FC 并使用 CSYNC 同步 RM 和 FCC

  • FD: 您要指示系统容量为 0%(高于 TD,如所示包括 rescap)

  • TD: 您要终止 dsg 以允许对于正常关机

在硬件层面的注意点

  • /PRES引脚用以检测是否有系统,该引脚被外部拉低时表示有系统存在。
  • /SHUTDN引脚用来控制芯片休眠或工作,下降沿有效,进入休眠和唤醒均为下降沿触发。可用按键控制。
  • /PRES引脚和/SHUTDN引脚是同一个引脚。
  • 不满四串的应用时,从最高节电芯(VC4)开始往下短路。
  • 内部均衡最大电流为10mA,可同时均衡多节;外部均衡电路同一时间只能均衡一节。
  • 电流检测输入SRP、SRN之间的压差范围为 -0.1V ~ 0.1V。
  • V(SRP) > V(SRN) 时为充电,反之为放电。
  • 具有历史数据记录功能,每10小时记录一次特定数据:最大最小电芯电压、最大电芯压差、最大充电电流、最大放电电流、最大平均放电电流、最大平均放电功率、最大最小电芯温度、最大电芯温度差、最大最小内部传感器温度、最大MOSFET温度、安全时间发生次数和最后一次安全事件发生的循环、有效的充电种植次数和最后一次发生的循环、Qmax和Ra的更新次数和最后一次更新的循环、Shutdown次数、每节电芯的均衡时间、总的运行时间和每个温度区间内的运行时间。
  • 支持SHA-1认证。
  • 可驱动3、4、5段LED显示容量状态和故障代码指示。
  • 电芯电压检测周期为250ms。
  • 检流电阻的阻值推荐为1mΩ ~ 3mΩ。
  • 具有一个内部温度传感器和四个外部温度传感器,所有五个传感器都可以单独配置开启或关闭,并可配置为电芯温度或者FET温度检测。
  • 通讯方式为SMBus V1.1。两条通讯线被拉低超过2S时,通讯关闭。两条线拉高后,1ms内通讯恢复工作。
  • 具有三种工作模式:正常模式、睡眠模式、Shutdown模式。
  • 正常模式:以250ms为周期进行数据采样、计算、保护动作执行和数据更新,时间间隔内为低功耗阶段。
  • 睡眠模式:以可调的时间为周期进行数据采样、计算、保护动作执行和数据更新,时间间隔内为低功耗阶段。当检测到电流或发生故障时,可唤醒进入正常模式。
  • Shutdown模式:全部禁止运行。
  • 保护参数使用bqSTUDIO工具进行配置。
  • 如果应用串数为1串或2串,首次参数配置应外接充电器或电源,防止芯片关闭。(因为芯片默认应用为3串,1串或2串应用总电压太低导致系统关闭。)
  • 充放电MOS为NMOS,高端驱动。预充电MOS为PMOS。
  • FUSE引脚输出有效信号为8V电压,在发生安全故障时,用于驱动MOS导通来熔断三端保险丝。
  • 内部均衡电路等效电阻为200Ω,推荐100Ω-1kΩ的外部输入电阻进行有效的电芯均衡。
  • VBAT引脚和电池之间使用一个二极管用来隔离,防止发生短路造成的电压瞬间下降影响VBAT电压。
  • 放电MOS的GS端并联一个MOS管(Q4),用来防止充电器反接。
  • BQ40Z50具有四个外部热敏电阻接口,每个接口可以使能一个18KΩ的内部上拉电阻。不使用的接口接地处理。
  • 三个LED驱动引脚,可以最多控制五颗LED,不需要外接驱动电压。未使用的LED控制引脚可以悬空,也可以接地。如果不使用LED功能,需要将DISP引脚接地。
  • 安全PTC热敏电阻接口可以外接PTC电阻,用来检测MOSFET温度。PTC引脚的驱动电流为370nA。当引脚电压高于0.7V时触发PTC故障。该故障属于安全故障,会驱动FUSE引脚输出8V电压,并且只能由复位动作来清除。可通过选取合适的PTC来达到防止MOS过热的作用。不使用该功能时需将PTC`引脚通过10KΩ电阻接地。

参考文档

bq40z50-r1.pdf

bq40z50-寄存器.pdf

Achieving-The-Successful-Learning-Cycle.pdf

TI-电量计应用指导.pdf

TI-阻抗跟踪TM电量计化学-ID-获取方法.pdf

参考文章

如果对您有帮助,请小编喝一杯咖啡吧!