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.

BQ35100: BQ35100 EOS Mode State Of Health drops to 0% immediately

Part Number: BQ35100

Tool/software:

Hi,

We're using a BQ35100 with a Li-SOCl2 battery and an SPC1520 so we use CHEM_ID 0x0619. Our boards also have a fuse, so we have a larger static resistance and as such we scale the Ra tables to account for this.

The adjusted values in our Ra table are:

RA[0] = 926 mOhms
RA[1] = 1017 mOhms
RA[2] = 1045 mOhms
RA[3] = 1061 mOhms
RA[4] = 1080 mOhms
RA[5] = 1095 mOhms
RA[6] = 1112 mOhms
RA[7] = 1154 mOhms
RA[8] = 1181 mOhms
RA[9] = 1315 mOhms
RA[10] = 1495 mOhms
RA[11] = 1537 mOhms
RA[12] = 1680 mOhms
RA[13] = 1701 mOhms
RA[14] = 1739 mOhms

We're testing with several different batteries that have differing states of charge. In this case, the battery is not new but still has plenty of charge and we get the following values for the first 4 cycles:

soh 1.0
MeasuredZ=1.050 Ohm
ScaledR=1.050 Ohm
bat_voltage 3.6020 V
temperature 20.85

soh 0.75
MeasuredZ=1.050 Ohm
ScaledR=1.050 Ohm
bat_voltage 3.6040 V
temperature 20.85

soh 0.5
MeasuredZ=1.058 Ohm
ScaledR=1.058 Ohm
bat_voltage 3.6020 V
temperature 20.85

soh 0.25
MeasuredZ=1.058 Ohm
ScaledR=1.058 Ohm
bat_voltage 3.6030 V
temperature 20.85

soh 0.00
MeasuredZ=1.058 Ohm
ScaledR=1.149 Ohm
bat_voltage 3.6030 V
temperature 20.95

During testing I do gauge start/stop at various frequencies, for this test the battery is given enough time to relax.

My exact test steps are:

  1. Set "State of Health Max Delta" = 25% to accelerate testing. This issue persists with default of 2% too.
  2. Issue new battery command
  3. Start gauging, apply load
  4. Stop gauging, wait for for G_DONE
  5. Sleep for 120 seconds
  6. Repeat from 3)

We immediately notice the SOH go from 100% to 0% even though both MeasuredZ and ScaledR are within range of the table values, which is odd. We have tried many different values for MaxLoad (10 mA, 70 mA, 200 mA, 1000 mA) and always get the same behaviour.

Other potentially important values:

Terminate Voltage=1850 mV
Design Voltage=3650 mV
SOH smooth voltage=1800 mV

OP_A=0x12

We have tried adjusting the SOH smooth voltage to be inactive (as is the case here) and also 2.5V, 3V etc.

What are we doing wrong and why does SOH always immediately drop to 0%, even though the measured impedances are within the table range?

Thanks

Campbell

  • Hello Campbell,

    When using EOS mode, the SOH value should be disregarded as that will be inaccurate. Also, one slight change to the test steps, for each iteration of the test you do not need to send the new battery command.

    Regards,

    Nick Richards

  • Hi Nick,

    Sorry, I mistyped in my original post, I only run NewBattery at the start of each test, not during the start/stop cycles.

    It's my understanding that the SOH is derived from the calculated resistance values, so I'd like to understand specifically what makes it inaccurate and in my case why it immediately goes to zero. I don't really care about 70% vs 50%, but I do want to detect an essentially flat battery vs. a new one, but SOH for both immediately goes to 0% which isn't useful.

    What is the relationship between ScaledR/MeasuredZ and the Ra table? Are the values used to convert MeasuredZ to ScaledR? Should the values in Ra be similar to ScaledR or MeasuredZ?

    How do ScaledR & MeasuredZ differ? I assume ScaledR has a temperature model or something applied to it?

    Given my example above with the specific resistances and the Ra table, why is it not possible to calculate a rough SOH by simply interpolating table entries?

  • Hello Campbell,

    To address the understanding on how SOH is calculated and correlations between ScaledR MeasuredZ and Ra table, please read the last response to this e2e thread: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/840232/bq35100-unreliable-soh-in-eos-mode/3117034#3117034

    That is correct that ScaledR is adjusted for temperature and pulsed current. 

    Essentially, when using EOS mode, the main register that should be observed is the EOS bit in the Battery Alert register. This mode is built to determine when the battery is close to the end of life, and the EOS bit will show that when the gauge is configured properly.

    Regards,

    Nick Richards