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.

BQ27621-G1: Remaining capacity inaccurate by ~2:1 ratio

Part Number: BQ27621-G1
Other Parts Discussed in Thread: GPCCHEM, BQ27426, BQ27Z561, BQSTUDIO, BQ27200, BQ27210, BQ27500, BQ27510, BQ27541, BQ24735, BQ24190, BQ24257, BQ25890, BQ28Z610

I am using this fuel gauge in a custom design with a LiPo Battery which is 4.2V chemistry and a capacity of 4800mAH.  I have programmed the following parameters over the I2C link:

Voltage Minimum = 2.75V

Voltage Maximum = 4.2V

Energy Full Design = 17.75WH

Charge Full Design = 4800mAH

I am seeing the fuel gauge report an inaccurate battery capacity remaining by about a 2:1 ratio.  To test it I place a fixed power load on the system of ~5.3W (a buck boost converter with a resistive load) and track the reported capacity remaining and reported battery voltage over time.  I also measured the battery current draw with a DMM and verified the actual battery voltage matches the reported value with another DMM.  The data is below.  It shows the battery capacity drop to almost zero after ~100 minutes at a battery voltage of 3.44V.  However, the system continues to run until ~195 minutes with a battery voltage of 3.082V.

Minutes Capacity Remaining Voltage Current
0 98 4.009 1.31
17 81 3.867 1.36
26 72 3.812 1.38
53 49 3.658 1.46
78 19 3.534 1.51
106 2 3.44 1.56
125 1 3.392 1.58
139 1 3.36 1.6
152 1 3.326 1.61
170 0 3.264 1.65
180 0 3.206 1.68
185 0 3.16 1.7
190 0 3.082 1.75
195 shutdown

What could be causing the mismatch in reported vs. actual battery capacity and why does the device report zero capacity when the voltage is still so much higher than the minimum voltage I am programming?

I have read through the technical manual and the quick start guide and there are a couple of things that I notice that could be contributing to the problem:

1. The documents mention that the fuel gauge wants to get an open circuit voltage measurement.  This is not possible in our system because the battery is supplying power to the whole system.  When the battery is plugged in the system turns on.

2. I don't see anything that takes into account the source resistance of the battery.  Ours is reasonably high at ~300mOhm.

3. We are using a LiPo battery instead of Lithium Ion.  I believe these have similar discharge profiles.

Thanks

-Camren

  • Hi Camren

    For this gauge to work properly, the first step is to determine if the hardcoded chem id is a good fit. Based on your results, it appears that might not be the case.

    You need to use our online gpcchem tool to determine if this gauge will work ok with your battery. The instructions in the tool is straight forward and it will tell you if the hardcoded chem ids in the guage is a good fit for your cells.

    thanks

    Onyx

  • I performed the battery characterization steps and used the gpcchem to determine the best matching chemistry ID.  I have included the report below.  I believe the report indicates that the error % should be no more than 15.73% for the bq27621 with default chemistry ID.  So why am I getting an error that is almost 2:1?

    Excerpt from report:

    Device / Family #2
    Generic Chem ID Device/ Voltage/ Chemistry max DOD error, %
    1210 bq27621: (ALT_CHEM1) 4.3V LiCoO2 15.11
    1202 bq27621: (default) 4.2V LiCoO2 15.73
    354 bq27621: (ALT_CHEM2) 4.35V LiCoO2 16.19

    Full Report:

    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0

    Summary of all IDs with max. DOD deviation below 3%

    Chem ID max DOD error, % Max R deviation, ratio
    2394 1.37 0.61
    2642 1.62 0.28
    2079 1.93 0.47
    257 2.19 0.16
    231 2.29 1.08
    1653 2.3 0.62
    1976 2.32 0.21
    2636 2.33 0.27
    2309 2.33 0.53
    230 2.36 1
    2302 2.41 0.23
    2053 2.42 0.42
    252 2.45 0.72
    1340 2.45 0.52
    221 2.46 0.24
    1352 2.47 0.54
    1314 2.5 0.3
    253 2.5 0.56
    1647 2.59 1.33
    1741 2.6 0.55
    297 2.61 0.79
    1982 2.64 0.21
    1991 2.68 0.61
    2188 2.69 0.75
    260 2.69 0.41
    245 2.74 0.24
    2082 2.74 0.73
    2405 2.82 0.64
    2568 2.83 0.36
    2135 2.83 0.6
    206 2.84 0.23
    2089 2.84 0.51
    1996 2.84 0.94
    2520 2.92 0.52
    295 2.95 0.56
    1300 2.97 0.7
    275 2.99 2.62
    2051 2.99 1.81
    269 2.99 0.37

    Max. deviations for best ID is within recommended range. Chosen best chemical ID is suitable for programming the gauge.


    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 13.11
    354 bq27411-G1C: 4.35V LiCoO2 16.19
    128 bq27421-G1A: 4.2V LiCoO2 31.01
    312 bq27421-G1B: 4.3V LiCoO2 43.68
    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, %
    1210 bq27621: (ALT_CHEM1) 4.3V LiCoO2 15.11
    1202 bq27621: (default) 4.2V LiCoO2 15.73
    354 bq27621: (ALT_CHEM2) 4.35V LiCoO2 16.19
    Best generic ID 1210
    Warning: Generic ID Deviation is so high that it is most likely due to anomaly in the data. Please check that data files have recomended format, units and test schedule


    Device / Family #3
    Generic Chem ID Device/ Voltage/ Chemistry max DOD error, %
    3142 bq27426: (ALT-CHEM2) 4.4V LiCoO2 13.11
    3230 bq27426: (default) 4.35V LiCoO2 15.65
    1202 bq27426: (ALT_CHEM1) 4.2V LiCoO2 15.73
    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.

  • I also see a note under Device Family #2 that indicates: "Warning: Generic ID Deviation is so high that it is most likely due to anomaly in the data. Please check that data files have recomended format, units and test schedule".  I followed the procedure and don't believer there is any anamoly in the data but is there any way to confirm this?

  • Hello Camren,

    The generic ID 3142 will be the best option for your device currently. This device does not support custom chemID programming. If you want better performance, please switch to a flash based gas gauge. bq27z561.

  • I have looked at the bq27z561 and it looks like it requires a number of parameters to be programmed rather than just a chemistry ID.  How do I convert a chemistry ID into the set of parameters that need to be programmed?

  • Hello Camren,

    You can reference GPCCHEM for how to determine if your battery is a specific ID on the list of IDs in TI's database.

    The second step would be to use bqStudio's chemistry plug-in.

    We have step by step instructions in the EVM user's guide for the bq27z561 EVM.

  • We are looking at the software control side of the equation and we weren't able to find a linux driver for the BQ27Z561.  Does one exist?

    If there isn't a Linux driver for the BQ27Z561, will one of the following models work with our battery chemistry?  I found linux drivers for each of these but I am having a hard time correlating the features of all the different fuel gauges because they all seem to have their own unique set of registers/methods for indicating battery chemistry.

    bq27200
    bq27210
    bq27500
    bq27510
    bq27520
    bq27500-1
    bq27510g1
    bq27510g2
    bq27510g3
    bq27520g1
    bq27520g2
    bq27520g3
    bq27520g4
    bq27521
    bq27530
    bq27531
    bq27541
    bq27542
    bq27546
    bq27742
    bq27545
    bq27411
    bq27421
    bq27425
    bq27426
    bq27441
    bq27621
    bq2415x
    bq24735
    bq24190
    bq24257
    bq25890

  • It should be similar to the bq28z610 which is not on the list, but the order of operations are similar to the list of gauges you have here.

    I suggest you try using bqStudio's advanced comms to get familiar with the TRM section on how to write dataflash.

  • I think we miscommunicated.  Will one of the fuel gauges in the list be able to accurately track our battery?

    We previously used the BQ27621YZFR-G1A and it was not able to accurately track our battery because some of the key values required to track different battery chemistries were fixed instead of being programmable.  After using bqstudio and gpcchem to characterize our battery, we received the report below.  After reviewing the report a previous poster indicated we should use a flash based device like the BQ27Z561.  However, there is not an available Linux driver for that part.  We would like to use a fuel gauge that is both capable of tracking our battery correctly and has a Linux driver.  We were able to find Linux drivers for all of the devices in the list.  Does one of the fuel gauges in the list have the correct set of programmable values to be able to accurately track our battery chemistry?  Thanks.

  • Here is the report on our battery chemistry:

    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0 0 0
    0

    Summary of all IDs with max. DOD deviation below 3%

    Chem ID max DOD error, % Max R deviation, ratio
    2394 1.37 0.61
    2642 1.62 0.28
    2079 1.93 0.47
    257 2.19 0.16
    231 2.29 1.08
    1653 2.3 0.62
    1976 2.32 0.21
    2636 2.33 0.27
    2309 2.33 0.53
    230 2.36 1
    2302 2.41 0.23
    2053 2.42 0.42
    252 2.45 0.72
    1340 2.45 0.52
    221 2.46 0.24
    1352 2.47 0.54
    1314 2.5 0.3
    253 2.5 0.56
    1647 2.59 1.33
    1741 2.6 0.55
    297 2.61 0.79
    1982 2.64 0.21
    1991 2.68 0.61
    2188 2.69 0.75
    260 2.69 0.41
    245 2.74 0.24
    2082 2.74 0.73
    2405 2.82 0.64
    2568 2.83 0.36
    2135 2.83 0.6
    206 2.84 0.23
    2089 2.84 0.51
    1996 2.84 0.94
    2520 2.92 0.52
    295 2.95 0.56
    1300 2.97 0.7
    275 2.99 2.62
    2051 2.99 1.81
    269 2.99 0.37

    Max. deviations for best ID is within recommended range. Chosen best chemical ID is suitable for programming the gauge.


    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 13.11
    354 bq27411-G1C: 4.35V LiCoO2 16.19
    128 bq27421-G1A: 4.2V LiCoO2 31.01
    312 bq27421-G1B: 4.3V LiCoO2 43.68
    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, %
    1210 bq27621: (ALT_CHEM1) 4.3V LiCoO2 15.11
    1202 bq27621: (default) 4.2V LiCoO2 15.73
    354 bq27621: (ALT_CHEM2) 4.35V LiCoO2 16.19
    Best generic ID 1210
    Warning: Generic ID Deviation is so high that it is most likely due to anomaly in the data. Please check that data files have recomended format, units and test schedule


    Device / Family #3
    Generic Chem ID Device/ Voltage/ Chemistry max DOD error, %
    3142 bq27426: (ALT-CHEM2) 4.4V LiCoO2 13.11
    3230 bq27426: (default) 4.35V LiCoO2 15.65
    1202 bq27426: (ALT_CHEM1) 4.2V LiCoO2 15.73
    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.

  • Hello Camren,

    Yes, the bq27z561 can support chemistry programming and will have better accuracy than a voltage based gauge.

    We have some example C code on ti.com, but no ready developed linux driver. However, all you need is just an I2C driver and nothing else. These exist online.