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.

BQ27421-G1: BQ27421 device not updating Full Battery Capacity after writing configuration only but sometimes it does.

Part Number: BQ27421-G1
Other Parts Discussed in Thread: GPCCHEM

We are trying to configure a BQ27421 devices and the value for the Full Battery Capacity doesn’t change from the default value (value after full reset) which is ~15 times higher than the configured design capacity.

 

Here is a log of commands and the details read from the BQ27421-G1D and also observed on a BQ27421-G1B:

 

Battery SOH Status = 1

Battery SOH = 95

Battery Voltage = 4346 mV

Battery Current = 10 mA

Battery Temp = 24.9 C

Battery SoC = 100%

Battery Capacity Remaining = 195 mAh

Battery Full Capacity = 189 mAh

Battery Runtime Remaining = 0 sec

Battery Design Capacity = 200 mAh

FG Firmware Version v0109

Control Status Flags = x2098

Flags = x00a8

 

$ fg_full_reset

OK

Battery SOH Status = 1

Battery SOH = 95

Battery Voltage = 4346 mV

Battery Current = 8 mA

Battery Temp = 25.2 C

Battery SoC = 99%

Battery Capacity Remaining = 2957 mAh

Battery Full Capacity = 2893 mAh

Battery Runtime Remaining = 0 sec

Battery Design Capacity = 200 mAh

FG Firmware Version v0109

Control Status Flags = x2098

Flags = x00a8

 

$ fg_reconfig     //Sets Terminate Voltage=2875mV, Capacity = 200mAh, Taper Current = 333.33 and Energy Capacity=760

OK

Battery SOH Status = 1

Battery SOH = 95

Battery Voltage = 4346 mV

Battery Current = 8 mA

Battery Temp = 25.2 C

Battery SoC = 99%

Battery Capacity Remaining = 196 mAh

Battery Full Capacity = 2891 mAh  <- This value is sometimes gets update but often isn’t – Why?!? How should this be done?

Battery Runtime Remaining = 0 sec

Battery Design Capacity = 200 mAh

FG Firmware Version v0109

Control Status Flags = x2098

Flags = x0088

 

I’ve been able to rule out I2C communication and flow control as the culprit by writing and then reading back values without performing a system resist and I observe the BQ27421 does indeed have the correct configuration that was written.

  • Hi Chris,

    Has a learning cycle been performed on this gauge?

    Also, can you please clarify why this was tested on both the bq27421-G1B and bq27421-G1D? The main difference between these two gauges is that they have different preprogrammed chemIDs, so if you are using the same cell on both of them this could cause issues.

     

    Regards,

    Anthony Baldino

  • HI Anthony,

    Both parts - bq27421-G1B and bq27421-G1D were tested and exhibited the same behavior.

    This is an old design, and at the point where the incorrect Battery Full Capacity is unchanged was immediately after configuration with an soft reset command to exit configuration. So there was no learning cycle on the product, however, the R_a table is written at configuration and am guessing that it was generated by profiling the battery.  Would it help for me to send you the R_a table values?

    I'm aware of the ChemID concern, can the ChemID be changed at configuration (after a full reset) using a command?

  • Hi Chris,

    Yes, the Ra Table is generated by profiling the battery, however there are other values that are learned during the learning cycle such as the total chemical capacity of the battery that attribute to the calculations the gauge takes.

    I am slightly unclear on your configuration process. Are the values for the Ra Table being inputted manually or are you using a file such as an .srec to upload them?

    For the bq27421 gauges, the ChemID is preprogrammed to the gauge, not allowing for it to be changed.

    If possible, can you please send the .gg file and log file of this occurrence? This will allow us to take a deeper look.

  • Hi Anthony,

    The configuration process is that the MCU powers up, it checks for the POR flag to determine if the BQ27421 has been configured. If not, then all configuration parameters including the Ra table are loaded via the SPI from a table in the MCU firmware and then a soft reset is executed as per TI guidelines. Immediately after that has been completed and the device sealed a check is executed to read all normal parameters.  This is the point where the incorrect capacity is found as shown in my original post.

    I'm working on getting the .gg file but this design was done a long time ago and so it might be hard to track down. If and when we find it I'll be sure to send it on.

    My understanding about ChemID is that if the wrong one is selected but the correct Ra table for that training was input the result would be simply a degraded performance of the battery and how well the BQ27421 can report on its status.  For example, i would expect 5-10% error if I trained a 3.7v battery on the -G1B part which is designed for 3.8v batteries.  Is that more or less the correct understanding?

    Thank you for you help and happy holidays.

  • Hi Chris,

    Thank you for clarifying. Has the GPCCHEM tool been used for the chemID comparison? This can give the expected DOD error between the chemID and the gauge.

    Please expect a delay in responses due to the US holiday.

    Regards,

    Anthony Baldino