This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ25895: termination current accuracy beyond datasheet spec

Part Number: BQ25895


Hi,

my customer set the termination current to be 128mA.

They measured with an amp meter and find that the charge terminates at 180mA.

The last time charge current read through BQ25895 register is 200mA.

Both shows that the termination current accuracy is beyond ±20% spec in the datasheet.

  • Log as below: data is read every 5 seconds through MCU.
    <4>[12559.287200] c0 /****** cw_update_data() UTC time :2019-4-24 15:5:34 ****** /
    <4>[12559.287231] c0 cw_update_data() voltage:4108
    <4>[12559.287261] c0 cw_update_data() capacity:100
    <4>[12559.287261] c0 cw_update_data() temp:270
    <4>[12559.287261] c0 cw_update_data() cycle_count:3
    <4>[12559.287261] c0 cw_update_data() SOH:100
    <6>[12562.145294] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() vbus volt:5100
    <6>[12562.145324] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() vbat volt:4144,
    <6>[12562.145324] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() charge current:200
    <6>[12562.145355] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() vbus_type:0x3
    <6>[12562.145782] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() temperature:29316
    <6>[12562.146240] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() sys_volt:4144
    <6>[12562.147125] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() status:0x76, fault:0x0
    <6>[12562.147583] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() limit:1650
    <6>[12562.148010] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() charge_status:1
    <4>[12562.148010] c0 Charger IC:
    <4>[12562.148468] c0 Reg[0x00] = 0x7f
    <4>[12562.148895] c0 Reg[0x01] = 0x06
    <4>[12562.149353] c0 Reg[0x02] = 0x7d
    <4>[12562.149780] c0 Reg[0x03] = 0x1e
    <4>[12562.150238] c0 Reg[0x04] = 0x18
    <4>[12562.150665] c0 Reg[0x05] = 0x11
    <4>[12562.151092] c0 Reg[0x06] = 0x4b
    <4>[12562.151550] c0 Reg[0x07] = 0x85
    <4>[12562.151977] c0 Reg[0x08] = 0x50
    <4>[12562.152435] c0 Reg[0x09] = 0x44
    <4>[12562.152862] c0 Reg[0x0a] = 0x93
    <4>[12562.153289] c0 Reg[0x0b] = 0x76
    <4>[12562.154113] c0 Reg[0x0c] = 0x00
    <4>[12562.154541] c0 Reg[0x0d] = 0x92
    <4>[12562.154998] c0 Reg[0x0e] = 0x5c
    <4>[12562.155426] c0 Reg[0x0f] = 0x5c
    <4>[12562.155883] c0 Reg[0x10] = 0x3f
    <4>[12562.156311] c0 Reg[0x11] = 0x99
    <4>[12562.156768] c0 Reg[0x12] = 0x04
    <4>[12562.157196] c0 Reg[0x13] = 0x1f
    <4>[12562.157623] c0 Reg[0x14] = 0x39
    <4>[12564.287231] c0
    <4>[12564.287231] c0 /****** cw_update_data() UTC time :2019-4-24 15:5:39 ****** /
    <4>[12564.287261] c0 cw_update_data() voltage:4107
    <4>[12564.287261] c0 cw_update_data() capacity:100
    <4>[12564.287261] c0 cw_update_data() temp:270
    <4>[12564.287292] c0 cw_update_data() cycle_count:3
    <4>[12564.287292] c0 cw_update_data() SOH:100
    <6>[12567.165618] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() vbus volt:5200
    <6>[12567.165649] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() vbat volt:4104,
    <6>[12567.165649] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() charge current:0
    <6>[12567.165679] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() vbus_type:0x3
    <6>[12567.166107] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() temperature:29316
    <6>[12567.166564] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() sys_volt:4164
    <6>[12567.167449] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() status:0x7e, fault:0x0
    <6>[12567.167877] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() limit:1650
    <6>[12567.168334] c0 bq2589x-1 3-006a: bq2589x_monitor_workfunc() charge_status:3
    <4>[12567.168334] c0 Charger IC:
    <4>[12567.168792] c0 Reg[0x00] = 0x7f
    <4>[12567.169219] c0 Reg[0x01] = 0x06
    <4>[12567.169677] c0 Reg[0x02] = 0x7d
    <4>[12567.170104] c0 Reg[0x03] = 0x1e
    <4>[12567.170532] c0 Reg[0x04] = 0x18
    <4>[12567.170989] c0 Reg[0x05] = 0x11
    <4>[12567.171417] c0 Reg[0x06] = 0x4b
    <4>[12567.171844] c0 Reg[0x07] = 0x85
    <4>[12567.172302] c0 Reg[0x08] = 0x50
    <4>[12567.172729] c0 Reg[0x09] = 0x44
    <4>[12567.173187] c0 Reg[0x0a] = 0x93
    <4>[12567.173980] c0 Reg[0x0b] = 0x7e
    <4>[12567.174407] c0 Reg[0x0c] = 0x00
    <4>[12567.174865] c0 Reg[0x0d] = 0x92
    <4>[12567.175292] c0 Reg[0x0e] = 0x5a
    <4>[12567.175750] c0 Reg[0x0f] = 0x5d
    <4>[12567.176177] c0 Reg[0x10] = 0x3f
    <4>[12567.176605] c0 Reg[0x11] = 0x9a
    <4>[12567.177062] c0 Reg[0x12] = 0x00
    <4>[12567.177490] c0 Reg[0x13] = 0x1f
    <4>[12567.177947] c0 Reg[0x14] = 0x39
    <4>[12569.287231] c0
  • Hi Howard,

    The datasheet spec is for ITERM=256mA only. For lower ITERM register settings, the accuracy gets worse. Assuming that the series ammeter is not causing other issues due its internal impedance and/or auto ranging (which is common and therefore why we do not recommend using an ammeter in series with the battery), I am not surprised that the termination current is 180mA, especially if ICHARGE>1344mA. If your customer lowers ICHARGE<1344mA, does the termination current accuracy improve?

    Regards,
    Jeff