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.

Bq27411-g1 learning cycle failure

Other Parts Discussed in Thread: BQ27411-G1, BQ27421-G1

I am trying to perform a successful learning cycle with the following components:

1) GDK board

2) battery pack with a bq27411-g1 gas gauge and Li-Ion 1800mAh battery (UltraLife UBBP01)

So far, I have been able to perform the following learning cycle steps with some success :

1) Program the gas gauge with the .gg.csv file and issue a SOFT_RESET command to disable the resistance update. [RUS_DIS] bit of ControlStatus() register is set.

3) Discharge the battery to empty

4) Relax for 5 hours. Both [VOK] and [RUS_DIS] bits in the ControlStatus() register are clear and OCV measurement is taken at 3200mV.

5) Charge the battery to full at a C/2 charge rate. At the start of the charge, [VOK] bit in the ControlStatus() register is set. At the end of the charge the [FC] bit in the Flags register is set.

6) Relax for 2 hours. The [VOK] bit in the ControlStatus() register is clear and OCV measurement is taken at 4160mV. The [QMAX_UP] bit in the ControlStatus() is set, but Update Status in Data Memory does not change to 0x01, it is still set to 0x00

It is the second time I got to this point with Update Status staying to 0x00. I will try to finish the learning cycle with the discharge but I doubt it will succeeded. I have attached the log of the registers (lc_charge.log) and the data memory (File027.gg.csv) at the end of the process.

Any help on this issue will be appreciated.lc_charge.txt

File027.gg.txt
* Texas Instruments Data Flash File
* File created Wed Dec 07 14:34:45 2016
*
* Device Number 421
* Firmware Version 1.09.80
* Build Number not available
* Order Number not available
*
* bqz Device Number 0x0421
* bqz Firmware Version 0x0108
* bqz Build Number 1.08
*
* Field Order: Class name, Subclass name, Parameter name, Parameter Value, Display Units
"Configuration","Safety","Over Temp","55.0","°C"
"Configuration","Safety","Under Temp","0","°C"
"Configuration","Safety","Temp Hys","5.0","°C"
"Configuration","Charge Termination","Min Taper Capacity","25","mAh"
"Configuration","Charge Termination","Current Taper Window","40","s"
"Configuration","Charge Termination","TCA Set %","99","%"
"Configuration","Charge Termination","TCA Clear %","95","%"
"Configuration","Charge Termination","FC Set %","-1","%"
"Configuration","Charge Termination","FC Clear %","98","%"
"Configuration","Charge Termination","DODatEOC Delta T","5.0","°C"
"Configuration","Data","Initial Standby","-3","mA"
"Configuration","Data","Initial MaxLoad","-200","mA"
"Configuration","Discharge","SOC1 Set Threshold","10","%"
"Configuration","Discharge","SOC1 Clear Threshold","15","%"
"Configuration","Discharge","SOCF Set Threshold","2","%"
"Configuration","Discharge","SOCF Clear Threshold","5","%"
"Configuration","Registers","OpConfig","25f8","Flag"
"Configuration","Registers","OpConfigB","0f","Flag"
"Configuration","Registers","DF Version","128","Num"
"Configuration","Power","Hibernate I","3","mA"
"Configuration","Power","Hibernate V","2400","mV"
"Configuration","Power","FS Wait","0","s"
"Gas Gauging","IT Cfg","Sec. Relax Time","30","s"
"Gas Gauging","IT Cfg","Average Time","8","s"
"Gas Gauging","IT Cfg","Min DOD Res Update","70","%"
"Gas Gauging","IT Cfg","Max Res Factor","20","Num"
"Gas Gauging","IT Cfg","Min Res Factor","5","Num"
"Gas Gauging","IT Cfg","Ra Filter","800","Num"
"Gas Gauging","IT Cfg","Max V Delta","10","Num"
"Gas Gauging","IT Cfg","Fast Qmax Start DOD %","92","%"
"Gas Gauging","IT Cfg","Fast Qmax End DOD %","96","%"
"Gas Gauging","IT Cfg","Fast Qmax Start Volt Delta","125","mV"
"Gas Gauging","IT Cfg","Fast Qmax Current Threshold","4","Hr rate"
"Gas Gauging","IT Cfg","Fast Qmax Min Points","3","Num"
"Gas Gauging","IT Cfg","Qmax Capacity Err","1.5","%"
"Gas Gauging","IT Cfg","Max Qmax Change","20","%"
"Gas Gauging","IT Cfg","Qmax Max Delta %","10","%DCap"
"Gas Gauging","IT Cfg","Max % Default Qmax","120","%DCap"
"Gas Gauging","IT Cfg","ResRelax Time","500","s"
"Gas Gauging","IT Cfg","User Rate-mW","0","mW"
"Gas Gauging","IT Cfg","Reserve Cap-mWh","0","mWh"
"Gas Gauging","IT Cfg","Max Sim Rate","1","Hr rate"
"Gas Gauging","IT Cfg","Min Sim Rate","20","Hr rate"
"Gas Gauging","IT Cfg","Ra Max Delta","11","4mOhm"
"Gas Gauging","IT Cfg","Min Delta Voltage","0","mV"
"Gas Gauging","IT Cfg","Max Delta Voltage","200","mV"
"Gas Gauging","IT Cfg","DeltaV Max dV","100","mV"
"Gas Gauging","IT Cfg","TermV Valid t","2","s"
"Gas Gauging","Current Thresholds","Dsg Current Threshold","450",".1 Hr rate"
"Gas Gauging","Current Thresholds","Chg Current Threshold","450",".1 Hr rate"
"Gas Gauging","Current Thresholds","Quit Current","900",".1 Hr rate"
"Gas Gauging","Current Thresholds","Dsg Relax Time","60","s"
"Gas Gauging","Current Thresholds","Chg Relax Time","60","s"
"Gas Gauging","Current Thresholds","Quit Relax Time","1","s"
"Gas Gauging","Current Thresholds","Transient Factor Charge","179","Num"
"Gas Gauging","Current Thresholds","Transient Factor Discharge","179","Num"
"Gas Gauging","Current Thresholds","Max IR Correct","400","mV"
"Gas Gauging","State","Qmax Cell 0","19661","Num"
"Gas Gauging","State","Update Status","00","Hex"
"Gas Gauging","State","Reserve Cap-mAh","0","mAh"
"Gas Gauging","State","Load Select/Mode","81","Hex"
"Gas Gauging","State","Q Invalid MaxV","3803","mV"
"Gas Gauging","State","Q Invalid MinV","3752","mV"
"Gas Gauging","State","Design Capacity","1800","mAh"
"Gas Gauging","State","Design Energy","6700","mWh"
"Gas Gauging","State","Default Design Cap","1340","mAh"
"Gas Gauging","State","Terminate Voltage","3000","mV"
"Gas Gauging","State","SOCI Delta","1","%"
"Gas Gauging","State","Taper Rate","180",".1 Hr rate"
"Gas Gauging","State","Taper Voltage","4100","mV"
"Gas Gauging","State","Sleep Current","10","mA"
"Gas Gauging","State","V at Chg Term","4169","mV"
"Gas Gauging","State","Avg I Last Run","-78",".1 Hr rate"
"Gas Gauging","State","Avg P Last Run","-92",".1 Hr rate"
"Gas Gauging","State","Delta Voltage","6","mV"
"Ra Tables","R_a NVM","R_a0 0","0","Num"
"Ra Tables","R_a NVM","R_a0 1","0","Num"
"Ra Tables","R_a NVM","R_a0 2","0","Num"
"Ra Tables","R_a NVM","R_a0 3","0","Num"
"Ra Tables","R_a NVM","R_a0 4","0","Num"
"Ra Tables","R_a NVM","R_a0 5","0","Num"
"Ra Tables","R_a NVM","R_a0 6","0","Num"
"Ra Tables","R_a NVM","R_a0 7","0","Num"
"Ra Tables","R_a NVM","R_a0 8","0","Num"
"Ra Tables","R_a NVM","R_a0 9","0","Num"
"Ra Tables","R_a NVM","R_a0 10","0","Num"
"Ra Tables","R_a NVM","R_a0 11","0","Num"
"Ra Tables","R_a NVM","R_a0 12","0","Num"
"Ra Tables","R_a NVM","R_a0 13","0","Num"
"Ra Tables","R_a NVM","R_a0 14","0","Num"
"Ra Tables","R_a RAM","R_a0 0","0","Num"
"Ra Tables","R_a RAM","R_a0 1","0","Num"
"Ra Tables","R_a RAM","R_a0 2","0","Num"
"Ra Tables","R_a RAM","R_a0 3","0","Num"
"Ra Tables","R_a RAM","R_a0 4","0","Num"
"Ra Tables","R_a RAM","R_a0 5","0","Num"
"Ra Tables","R_a RAM","R_a0 6","0","Num"
"Ra Tables","R_a RAM","R_a0 7","0","Num"
"Ra Tables","R_a RAM","R_a0 8","0","Num"
"Ra Tables","R_a RAM","R_a0 9","0","Num"
"Ra Tables","R_a RAM","R_a0 10","0","Num"
"Ra Tables","R_a RAM","R_a0 11","0","Num"
"Ra Tables","R_a RAM","R_a0 12","0","Num"
"Ra Tables","R_a RAM","R_a0 13","0","Num"
"Ra Tables","R_a RAM","R_a0 14","0","Num"
"Calibration","Data","Board Offset","0","Counts"
"Calibration","Data","Int Temp Offset","0","°C"
"Calibration","Data","Pack V Offset","0","mV"
"Calibration","CC Cal","CC Offset","0","Counts"
"Calibration","CC Cal","CC Cal Temp","303.0","°K"
"Calibration","CC Cal","CC Gain","0.2379","Num"
"Calibration","CC Cal","CC Delta","283770.5625","Num"
"Calibration","Current","Deadband","0","mA"
"Calibration","Current","RDL Tempco","0.0000","Num"
"Security","Codes","Sealed to Unsealed","80008000","Hex"

  • The following GDK charge configuration was used for this test:

    Charge voltage : 4200 V
    Charge current: 900mA
    Termination on 50mA taper current
  • Although the Update Status did not change to 0x01 during the charge part of the learning cycle, I decided to go on with the discharge. So starting from step 6) above, the learning process went on with :

    7) Discharge battery to empty. The discharge current is set to C/20 (200mA). During the discharge, [RES_UP] bit is set to true, but at the same time [RUS_DIS] is also set to true. So the resistance profile starts to update, but for some reason, the gas gauge ended it.

    8) Relax for 5 hours. The [VOK] bit is clear. Both [QMAX_UP] and [RES_UP] bits are set. Update Status is still 0x00 and only the very first index of the resistance profile R_a 0 has been updated in Data Memory.

    According to the document slua597 - Achieving The Successful Learning Cycle:

    "During discharge, the Resistance Table may update for a while, and then stop. When this happens, [RUS_DIS] is set. This indicates that the Chemitry ID choice is incorrect. This means that the gauge has measured a resistance value that just doesn't make sense (i.e. is negative). A chemitry cycling is need to identify the correct chemistry profile."

    The only problem I have with that statement is that the bq27411-g1 gas gauge HAS A PRE-PROGRAMMED chemistry profile for Li-Ion battery which, by the way, the battery Ultralife UBBP01, that was used for the learning cycle, is. So, I assume that this gauge is useless with this battery and I have to select another gauge (or another battery?).

    Is the bq27411-g1 gas gauge suppose to work with Li-Ion batteries (or as I found by reading MOST of the Li-Ion batteries) ?

    In an attempt to understand something for this. I decided to use the GPC chemistry identifier with the data I have obtained from the learning cycle. I was puzzled with the report that was sent back to me.

    "Warning: Deviation is above recommended level. New chem ID needs to be released for this cell. Please contact your TI representative to send the cell to Dallas for characterization"

    and later in the document

    "Device / Family #1

    Generic Chem ID Device/ Voltage/ Chemistry max DOD error, %

    3142 bq27421-G1D: 4.4V LiCoO2 8.03

    354 bq27411-G1C: 4.35V LiCoO2 9.27

    128 bq27421-G1A: 4.2V LiCoO2 11.98

    312 bq27421-G1B: 4.3V LiCoO2 21.99

    Best generic ID 3142

    Warning: Deviation for best generic ID is above recommended level for this device / family. Consider using another device, flash based gauge or RAM programming of custom ID."

    So if I understand this correctly I have to use either another battery (which one will work I have no clue) or another gas gauge.

    Is this why the learning cycle with this gas gauge/battery combination failed?

    Could somebody help me solve this problem ?

    I have work on this for almost 2 weeks now, without success.

    P.S. I have attached to this reply the log of the standard commands (lc_charge.txt) for the whole duration of the learning cycle, the GG file of the gauge at the end of the process (gg.txt) and the chemical report received from GPC engine (GPC_report.txt).3731.lc_charge.txt

    gg.txt
    * Texas Instruments Data Flash File
    * File created Thu Dec 08 08:04:46 2016
    *
    * Device Number 421
    * Firmware Version 1.09.80
    * Build Number not available
    * Order Number not available
    *
    * bqz Device Number 0x0421
    * bqz Firmware Version 0x0108
    * bqz Build Number 1.08
    *
    * Field Order: Class name, Subclass name, Parameter name, Parameter Value, Display Units
    "Configuration","Safety","Over Temp","55.0","°C"
    "Configuration","Safety","Under Temp","0","°C"
    "Configuration","Safety","Temp Hys","5.0","°C"
    "Configuration","Charge Termination","Min Taper Capacity","25","mAh"
    "Configuration","Charge Termination","Current Taper Window","40","s"
    "Configuration","Charge Termination","TCA Set %","99","%"
    "Configuration","Charge Termination","TCA Clear %","95","%"
    "Configuration","Charge Termination","FC Set %","-1","%"
    "Configuration","Charge Termination","FC Clear %","98","%"
    "Configuration","Charge Termination","DODatEOC Delta T","5.0","°C"
    "Configuration","Data","Initial Standby","-3","mA"
    "Configuration","Data","Initial MaxLoad","-200","mA"
    "Configuration","Discharge","SOC1 Set Threshold","10","%"
    "Configuration","Discharge","SOC1 Clear Threshold","15","%"
    "Configuration","Discharge","SOCF Set Threshold","2","%"
    "Configuration","Discharge","SOCF Clear Threshold","5","%"
    "Configuration","Registers","OpConfig","25f8","Flag"
    "Configuration","Registers","OpConfigB","0f","Flag"
    "Configuration","Registers","DF Version","128","Num"
    "Configuration","Power","Hibernate I","3","mA"
    "Configuration","Power","Hibernate V","2400","mV"
    "Configuration","Power","FS Wait","0","s"
    "Gas Gauging","IT Cfg","Sec. Relax Time","30","s"
    "Gas Gauging","IT Cfg","Average Time","8","s"
    "Gas Gauging","IT Cfg","Min DOD Res Update","70","%"
    "Gas Gauging","IT Cfg","Max Res Factor","20","Num"
    "Gas Gauging","IT Cfg","Min Res Factor","5","Num"
    "Gas Gauging","IT Cfg","Ra Filter","800","Num"
    "Gas Gauging","IT Cfg","Max V Delta","10","Num"
    "Gas Gauging","IT Cfg","Fast Qmax Start DOD %","92","%"
    "Gas Gauging","IT Cfg","Fast Qmax End DOD %","96","%"
    "Gas Gauging","IT Cfg","Fast Qmax Start Volt Delta","125","mV"
    "Gas Gauging","IT Cfg","Fast Qmax Current Threshold","4","Hr rate"
    "Gas Gauging","IT Cfg","Fast Qmax Min Points","3","Num"
    "Gas Gauging","IT Cfg","Qmax Capacity Err","1.5","%"
    "Gas Gauging","IT Cfg","Max Qmax Change","20","%"
    "Gas Gauging","IT Cfg","Qmax Max Delta %","10","%DCap"
    "Gas Gauging","IT Cfg","Max % Default Qmax","120","%DCap"
    "Gas Gauging","IT Cfg","ResRelax Time","500","s"
    "Gas Gauging","IT Cfg","User Rate-mW","0","mW"
    "Gas Gauging","IT Cfg","Reserve Cap-mWh","0","mWh"
    "Gas Gauging","IT Cfg","Max Sim Rate","1","Hr rate"
    "Gas Gauging","IT Cfg","Min Sim Rate","20","Hr rate"
    "Gas Gauging","IT Cfg","Ra Max Delta","11","4mOhm"
    "Gas Gauging","IT Cfg","Min Delta Voltage","0","mV"
    "Gas Gauging","IT Cfg","Max Delta Voltage","200","mV"
    "Gas Gauging","IT Cfg","DeltaV Max dV","100","mV"
    "Gas Gauging","IT Cfg","TermV Valid t","2","s"
    "Gas Gauging","Current Thresholds","Dsg Current Threshold","450",".1 Hr rate"
    "Gas Gauging","Current Thresholds","Chg Current Threshold","450",".1 Hr rate"
    "Gas Gauging","Current Thresholds","Quit Current","900",".1 Hr rate"
    "Gas Gauging","Current Thresholds","Dsg Relax Time","60","s"
    "Gas Gauging","Current Thresholds","Chg Relax Time","60","s"
    "Gas Gauging","Current Thresholds","Quit Relax Time","1","s"
    "Gas Gauging","Current Thresholds","Transient Factor Charge","179","Num"
    "Gas Gauging","Current Thresholds","Transient Factor Discharge","179","Num"
    "Gas Gauging","Current Thresholds","Max IR Correct","400","mV"
    "Gas Gauging","State","Qmax Cell 0","19561","Num"
    "Gas Gauging","State","Update Status","00","Hex"
    "Gas Gauging","State","Reserve Cap-mAh","0","mAh"
    "Gas Gauging","State","Load Select/Mode","81","Hex"
    "Gas Gauging","State","Q Invalid MaxV","3803","mV"
    "Gas Gauging","State","Q Invalid MinV","3752","mV"
    "Gas Gauging","State","Design Capacity","1800","mAh"
    "Gas Gauging","State","Design Energy","6700","mWh"
    "Gas Gauging","State","Default Design Cap","1340","mAh"
    "Gas Gauging","State","Terminate Voltage","3000","mV"
    "Gas Gauging","State","SOCI Delta","1","%"
    "Gas Gauging","State","Taper Rate","180",".1 Hr rate"
    "Gas Gauging","State","Taper Voltage","4100","mV"
    "Gas Gauging","State","Sleep Current","10","mA"
    "Gas Gauging","State","V at Chg Term","4169","mV"
    "Gas Gauging","State","Avg I Last Run","-68",".1 Hr rate"
    "Gas Gauging","State","Avg P Last Run","-68",".1 Hr rate"
    "Gas Gauging","State","Delta Voltage","1","mV"
    "Ra Tables","R_a NVM","R_a0 0","0","Num"
    "Ra Tables","R_a NVM","R_a0 1","0","Num"
    "Ra Tables","R_a NVM","R_a0 2","0","Num"
    "Ra Tables","R_a NVM","R_a0 3","0","Num"
    "Ra Tables","R_a NVM","R_a0 4","0","Num"
    "Ra Tables","R_a NVM","R_a0 5","0","Num"
    "Ra Tables","R_a NVM","R_a0 6","0","Num"
    "Ra Tables","R_a NVM","R_a0 7","0","Num"
    "Ra Tables","R_a NVM","R_a0 8","0","Num"
    "Ra Tables","R_a NVM","R_a0 9","0","Num"
    "Ra Tables","R_a NVM","R_a0 10","0","Num"
    "Ra Tables","R_a NVM","R_a0 11","0","Num"
    "Ra Tables","R_a NVM","R_a0 12","0","Num"
    "Ra Tables","R_a NVM","R_a0 13","0","Num"
    "Ra Tables","R_a NVM","R_a0 14","0","Num"
    "Ra Tables","R_a RAM","R_a0 0","0","Num"
    "Ra Tables","R_a RAM","R_a0 1","2","Num"
    "Ra Tables","R_a RAM","R_a0 2","0","Num"
    "Ra Tables","R_a RAM","R_a0 3","0","Num"
    "Ra Tables","R_a RAM","R_a0 4","0","Num"
    "Ra Tables","R_a RAM","R_a0 5","0","Num"
    "Ra Tables","R_a RAM","R_a0 6","0","Num"
    "Ra Tables","R_a RAM","R_a0 7","0","Num"
    "Ra Tables","R_a RAM","R_a0 8","0","Num"
    "Ra Tables","R_a RAM","R_a0 9","0","Num"
    "Ra Tables","R_a RAM","R_a0 10","0","Num"
    "Ra Tables","R_a RAM","R_a0 11","0","Num"
    "Ra Tables","R_a RAM","R_a0 12","0","Num"
    "Ra Tables","R_a RAM","R_a0 13","0","Num"
    "Ra Tables","R_a RAM","R_a0 14","0","Num"
    "Calibration","Data","Board Offset","0","Counts"
    "Calibration","Data","Int Temp Offset","0","°C"
    "Calibration","Data","Pack V Offset","0","mV"
    "Calibration","CC Cal","CC Offset","2","Counts"
    "Calibration","CC Cal","CC Cal Temp","303.0","°K"
    "Calibration","CC Cal","CC Gain","0.2379","Num"
    "Calibration","CC Cal","CC Delta","283770.5625","Num"
    "Calibration","Current","Deadband","0","mA"
    "Calibration","Current","RDL Tempco","0.0000","Num"
    "Security","Codes","Sealed to Unsealed","80008000","Hex"
    

    5635.GPC_report.txt
    Chemistry ID selection tool, rev=2.21		
    		
    Configuration used in present fit:		
    ProcessingType=2		
    NumCellSeries=1		
    ElapsedTimeColumn=0		
    VoltageColumn=2		
    CurrentColumn=3		
    TemperatureColumn=1		
    		
    Best chemical ID : 119	Best chemical ID max. deviation, % : 3.45	
    		
    		
    		
    Summary of all IDs with max. DOD deviation below 3%		
    		
    Chem ID	max DOD error, %	Max R deviation, ratio
    0	0	0
    		
    Warning: Deviation is above recommended level. New chem ID needs to be released for this cell. Please contact your TI representative to send the cell to Dallas for characterization		
    		
    		
    Selection of best generic ID for ROM based devices like bq274xx		
    		
    		
    Device / Family #1		
    Generic Chem ID	Device/ Voltage/ Chemistry	max DOD error, %
    3142	bq27421-G1D: 4.4V LiCoO2	8.03
    354	bq27411-G1C: 4.35V LiCoO2	9.27
    128	bq27421-G1A: 4.2V LiCoO2	11.98
    312	bq27421-G1B: 4.3V LiCoO2	21.99
    Best generic ID 3142		
    Warning: Deviation for best generic ID is above recommended level for this device / family. Consider using another device, flash based gauge or RAM programming of custom ID.		
    		
    		
    Device / Family #2		
    Generic Chem ID	Device/ Voltage/ Chemistry	max DOD error, %
    1202	bq27621: (default) 4.2V LiCoO2	9.14
    354	bq27621:  (ALT_CHEM2) 4.35V LiCoO2	9.27
    1210	bq27621:  (ALT_CHEM1) 4.3V LiCoO2	9.79
    Best generic ID 1202		
    Warning: Deviation for best generic ID is above recommended level for this device / family. Consider using another device, flash based gauge or RAM programming of custom ID.		
    		
    		
    Device / Family #3		
    Generic Chem ID	Device/ Voltage/ Chemistry	max DOD error, %
    3142	bq27426: (ALT-CHEM2) 4.4V LiCoO2	8.03
    1202	bq27426: (ALT_CHEM1) 4.2V LiCoO2	9.14
    3230	bq27426: (default) 4.35V LiCoO2	10.77
    Best generic ID 3142		
    Warning: Deviation for best generic ID is above recommended level for this device / family. Consider using another device, flash based gauge or RAM programming of custom ID.		
    		
    		
    Warning: difference between initial and final DOD is less than 90% dDOD_%=  85 Try to decrease the discharge rate		
    

  • Hi Hugues,

    Sorry for the late response.

    1. Actually as you said, bq27411 could support specific chemID battery,

    If the chemID of your battery is not belong to above picture, maybe you need to choose other gauges.

    2. You should do chemID first with your gauge. I think you have got the method.

    3. For learning cycle, you should not only focus on update status. Please auto export your gg.file to check whether the Qmax and Ra table has been updated after the self-learning cycle. Meantime, use below files to calculate the accuracy of SOC to judge whether the self-learning cycle is successful or not.

    7827.Analyzing Accuracy of a Battery Fuel Gauge System - Onyx Ahiakwo .pptx

    If you have other questions, please contact me freely.

    Best regards,

    Sammi Shang

  • The battery used for this test is a UltraLife Corp UBBP01. It is a single cell Li-Ion and its operation voltage range from 3.0 to 4.2V. The gas gauge I am using is a bq27411-g1a which is specified for Li-Ion 4.2V battery. Although the gas gauge is supposed to be working with this battery, the learning cycle performed with it failed (I performed two and both failed). After charging, I noticed that Qmax is updated, although Update Status does not changed and stays at 0x00. During the discharge, the gas gauge starts to update the resistance profile, but only the first index get updated, as can be seen in the gg file. By the time the gas gauge set [RES_UP], [RUP_DIS] bit is also set, so the resistance updates is stopped as it had just started.

    I tested another LiPo battery that has similar characteristics (single cell LiPo 3.1 to 4.2V) and I obtained the same results with the bq27411-g1a gauge. Qmax had been updated by the gauge but the resistance profile did not. The same thing happened with the resistance profile of this battery, only the first index of R_a table is changed and both [RES_UP] and [RUP_DIS] bit is set.

    I can figure out Qmax and the resistance profile from the GPC tool result but I suspect that if the gauge is not able to perform a simple learning test on one of these batteries it won't give provide correct performance in the field and we simply cannot cope with a battery pack not being accurate in a product that was designed to work outside in almost any kind of conditions (namely low temperature).
  • The battery used is actually a battery pack with its own protective circuit. So the bq27411-g1a gas gauge is actually used in system-side configuration although it was designed for pack-side.

    Is is possible to use the bq27411-g1a in system-side implementation ?

    Is it the cause of the gas gauge not being able to succeed the learning cycles ?

    Would it be better to use a system-side gas gauge like the bq27421-g1 with this battery pack (UBBP01) instead ?