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.

BQ27441-G1: Data in "full charge capacity" register is lost

Part Number: BQ27441-G1
Other Parts Discussed in Thread: BOOSTXL-BATPAKMKII, GPCCHEM

Hello, 

I am implementing a driver for the BQ27441.

For development, i use a BOOSTXL-BATPAKMKII with the included battery and communicate with my board using the SCL/SDA pins.

  • My problem is when i perform a full discharge followed by a full charge as a learning cycle, the data inside the "full charge capacity" is randomly reset with no exterior action besides reading data from gauge.

The reset occurs during charging, once at 1030 (or other value such as 850) it changes back to 0 and then continues to increment. 

***BATTERY INFO***
battery voltage = 4202 mV
current = 77 mA
soc percent = 100 %
soh percent = 0 %
design capacity = 1200 mAh
remaining capacity = 1030 mAh
full charge capacity = 1030 mAh
******************
***BATTERY INFO***
battery voltage = 4202 mV
current = 77 mA
soc percent = 0 %
soh percent = 0 %
design capacity = 1340 mAh
remaining capacity = 0 mAh
full charge capacity = 0 mAh
******************

  • i had a similar problem during discharge where the "remaining capacity" was reset between two measures (10sec interval) (dont mind the full charge capacity, the charge wasn't done when fully discharged)

***BATTERY INFO***
battery voltage      = 4156 mV
current              = -17 mA
soc percent          = 97 %
soh percent          = 0 %
design capacity      = 1200 mAh
remaining capacity   = 401 mAh
full charge capacity = 415 mAh
******************
***BATTERY INFO***
battery voltage      = 4156 mV
current              = -17 mA
soc percent          = 0 %
soh percent          = 0 %
design capacity      = 1200 mAh
remaining capacity   = 0 mAh
full charge capacity = 415 mAh
******************

my config is : 

/*Design Capacity should be set to the nominal battery capacity printed
 * on the battery label or found in thebattery datasheet*/
#define FUEL_GAUGE_BATTERY_CAPACITY 1200 /* mAh*/
/* Terminate Voltage should be set to the minimum operating voltage of your system*/
#define FUEL_GAUGE_BATTERY_TERMINATE_VOLTAGE 3000 /* mV */
/*Taper Rate should be set to the current threshold in mA below which your charger IC is set to stop
charging once it considers the battery to be full.*/
#define FUEL_GAUGE_BATTERY_TAPER_CURRENT 115 /* mA */


my driver is based on https://github.com/svcguy/lib-BQ27421

can you help me find out why ?

regards, 

benjamin

  • Hello Benjamin,

    http://www.ti.com/lit/an/slua801/slua801.pdf

    Please refer to this file for an example for the gauge communications app note.

    Thanks!

  • Hello Benjamin,

    Please make sure you have configured the gauge with a golden file and that BAT_DET bit is also set.

  • Hello Kang Kang, 

    thank you for your answers, 

    I've been reading the linked documentation and my code don't seem to differ to the instructions.

    as my board is based on STM32, my code driver is derived from this one : https://github.com/svcguy/lib-BQ27421

    the initialization sequence is almost untouched -> i've added ITPOR detection to avoid overwriting configuration at each boot.

    about the BAT_DET, i read in the boosterpack documentation : 

    The BIN pin detects when a battery is present. A jumper JP6 is available to simulate battery connect or
    disconnect with the BoosterPack plug-in module hardware (J6 shorted = battery inserted; J6 open =
    battery removed). Additionally, switch S1 can be used to fully disconnect the battery.

    My understanding is that i need to let a jumper in place to be sure the battery connect detection is wired correctly. I also need to make sure BIE is set.

    Am I right ? (i'm running a learning cycle as i am writing this)

    regarding the golden file, i cant seem to generate a file without my PC being connected to the fuel gauge, is there a way to generate it offline ?

    also, the battery management studio software prompts me a warning message stating that the device is not compatible with the application.

    best regards, 

    Benjamin Greffe

  • Hello Benjamin,

    Yes, you need to make sure the ITPOR is cleared, INITCOMP is set and BAT_DET is set. This can be done either using the BIN pin or configuring the gauge to detect a BAT_INSERT command using OpConfig.

  • Hi, 

    during my initialisation sequence, i check that:

    • INITCOMP is set
    • BAT_DET is set [JP6 inserted]
    • if ITPOR is cleared, i end the init sequence as it was already done, if set, i continue and set config data

    the remaining capacity still drops to zero unexpectedly during discharge

    can you send me the golden image for the BOOSTXL-BATPAKMKII with the included 1200 mAh battery ?

    best regards,

    Benjamin Greffe

    BatteryDischargeCharge4_asc.txt

  • Hello Benjamin,

    Are you sending a reset command when current is running?

    SOC will drop to zero if the gauge is not configured properly. The MSP430 team handles the reference design, I would recommend you reach out to the MSP430 forums.

    For determining a golden file on your own, please refer to the GPCCHEM.