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.

BQ27425-G2A: Fuel Gauge showing wrong battery percentage vs real measurement

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

In our design we have 2 separated Li-Ni-Co-Mn  batteries we monitor. One is 850mAh and the other is 2000mAh. We have 2 settings in our SW and when user indicate which battery he is using (2000 or 850) we load up the battery values in to the device NVRAM.

The Fuel Gauge seems to provide SOC in a correct way to the 850mAh battery, but the 2000mAh battery SOC is way off. The Fuel gauge report 0% when battery is around 40% per our measurements. 

For both batteries we changed the  Design capacity and Termination voltage dramatically, just to see how much it changed the SOC reading. When we read from NVRAM, we can see that the values we burned are exactly as we burned them. But when we test the battery the change is minor in the SOC....it was as if the SOC is set to a specific default Battery and it reads our tested batteries in the same method no matter how we change the Design capacity and Termination voltage.

The Fuel gauge monitor the Voltage and current very accurately when compared to real measurements we do in the setups. 

Once again, the 850mAh battery seems to be monitored correctly by the Fuel Gauge, but the 2000mAh is way off. 

Attaching 2 files :

1. TALK TIME PCB234 Int - FG off- 2000mA - I this excel you can the 2000 battery can go down to 2.8V and then shut down, while our system shut the device down when Fuel Gauge read 5% battery. From the graph you can see the device was shut down at round half way of the battery life and not at the last 5%. 

In the Excel you can see also the parameters we set to the Fuel Gauge.

Thanks

TALK TIME PCB234 Int - FG off- 2000mA.xls

  • Hi Amit,

    It is required to determine if the hardcoded chem ids of this gauge is a match for your cells before using it. Did you carry out the test listed in gpcchem to determine this?

    thanks

    Onyx

  • Hi, no we did not carry this test. But on the other hand, the 850mAh battery seems to be monitored well and it is the same chem as the 2000mAh battery....so why would the Fuel gauge miss read it by such a huge error. We would have accepted 10% error even....but it seems like much worst then that. Also the Battery vendor did provide to us the chem of the battery already. 

    Lets say that we do this test and we get back from you different CHEM ID is it still logical for the Fuel gauge to monitor the battery so far off? it is a basic single cell Li Ion battery....

    Thanks

  • In this Fuel gauge we can Hard code different CHEM ID correct? the default in datasheet is LiCoO2 - 0x128, but we can change this value, correct?

    Thanks

     

  • Hi, can you please get back to me....we are in a very critical moment in our project

    thanks

  • Hi Amit,

    No you cannot change the chem id. This is not a flash based gauge that allows you to program a custom chemid.

    thanks

    Onyx

  • Hi, OK.

    Still, the fuel gague is monitoring our 850mAh battery well while the 2000mAh is far off. Both are with the same chem, we can accept 10% error....but it seems like the Fuel Gague is completly off with the 2000mAh battery and it reads 0% while the battery is half way....how come? is there any other calibration process or some other values we need to set? 

    thanks

  • Hi Amit,

    If the chem id that is used isn't a match, you will have the kind of errors you are seeing. Right now, we need to determine if you are using the right device. That is why i requested you carry out the test outline in gpcchem. if the tool determines that you are using a wrong device, then  you will have to change devices as you will be unable to get good accuracy with the gauge. If the tool determines the device is a good fit, then we will look at other parameters that can possibly be tweak. But for now you absolutely have to run the test in gpcchem and post the report emailed you on here.

    thanks

    Onyx

  • Hi, OK clear.

    We do not have the option to replace device. We are already in mass production stage. 

    I would like to know what other parameters you we planning to tweak? these are the parameters we tweaked with no successes:

    DesignCapacity

    DesignEnergy

    TerminateVoltage

    TaperCurrent 

    TaperVoltage

    ChargeTerminationVoltage

    PackOffsetVoltage

    Are there any other Parameters you considered to tweak? If not...then there is no use to this Battery measurement practice.

    If yes, it is worth the effort to do this measurement. It will take us a while until we get this measurement right as described, so we need to know if it is worth the effort.

    Thanks

  • Without the report provided by the tool, We will be unable to move forward. I had mentioned running this test since sept 10 to determine a path forward. This is a 1 day test. If you had completed that test, we would have been able to identify a path forward. Without that test we can't move forward

    thanks

    Onyx

  • Hi, we have submitted the test file. ThanksLi Ion FG read.zip

  • Hi Amit

    As you can see from the results, the chem ids used on this gauge 128 is  a total no go. The error returned is 39.53 

    The warning in the report says:

    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.

    Ps reach out to your FAE for further help. He has been in touch with us offline on this issue.

    thanks

    Onyx

  • Hi, since we are already in mass production, we need your support in how to tweak this condition as best as possible via SW.

     

    Our main problem is the Termination Voltage. While we set it to the lowest possible - 2.8V, still the Fuel Gauge set SOC to 0% at voltage of ~3.6V which is way above the real terminated voltage. 

    From bq27421-G1 manual (which I found it to be similar to bq27425-G2) it is explained that SOC indicate 0% based on Termination Voltage + Delta Voltage. 

    Delta Voltage is a calculated value by the Impedance Tracking algo that we can set it limits. In bq27425-G2 we have "Max Delta Voltage" set to 200mV and have a very wide range from -32000 to 32000.

    1. Can we manipulate this Delta voltage such that Termination Voltage + Delta Voltage will be actually be very close to Termination Voltage set by us?

     

    Another very important item in the Impedance tracking Algo is the Current Thresholds values. Our interest is in the Discharge Threshold. Our battery is 1980mAh and our max average current is around 80mA, while in most use cases our current is around 45mA. The default value set at this time is C/16.7 which is in our case 118mA. This means the Fuel Gauge never really think we are in discharge mode? as we never reach this Threshold? Fuel Gauge consider battery in Relaxation mode all the time? 

    1. If we change Discharge to C/45 and Quite to C/80 (this would indicate our real use cases) would it also improve Impedance tracking Algo to a more accurate reading and reduction in the value calculated for Delta Voltage?

     

    Thanks

     

  • hi Amit, 

    The gauge reporting 0% SOC is not just based off Terminate voltage+delta voltage. The gauge runs rem cap simulation which is a function of the OCV table and load select chosen. If the rem cap simulation run is determined that you are at empty based off the simulation, SOC will report 0 even though terminatevoltage+ deltavoltage has not been reached. Changing the delta voltage will not help your condition. The delta voltage is dynamically updated by the gauge.

    Your current thresholds need to be set appropriately based off your application. With a discharge current of 45mA, you should set your discharge current threshold  lower than that. You should also set your quit current lower than the discharge and charge current thresholds.Discharge current threshold can be set to 35mA, quit current should be set to 20mA, sleep should be set to 10. Again, this will not make the gauge report correctly.

    The tool reported the error of the  chem id hardcoded in the gauge  to be  39% error. This means you will see SOC errors of up to 39%. There is nothing you can do on your own that will make the gauge work properly. Take this conversation offline with your TI contact. I have provided him directions on next steps which he will relay to you. Do not post again to this thread and please follow the instructions that will be provided. That has been the major issue since you reported this thread.

    Thanks

    Onyx