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.

BQ40Z80: SOC jump

Part Number: BQ40Z80
Other Parts Discussed in Thread: BQSTUDIO, GPCRB, GPCCHEM

Hi all,

We used BQ40Z80 Impedance Track Gas Gauge. In hte discharging situation, the SOC jump to zero. We have fixed the cell risiatance. In tne diacharging situation, the cell temperature is continous dwon. So we this may be related to temperature modoul. 

We use  BQ40Z80 Impedance Track Gas Gauge。During discharge,the SOC jumps to 0. We have fixed the battery internal resistance. Therefore, we speculate whether the temperature model causes the jump. Because during the discharge process, the temperature continues to decrease. Is it the temperature model that predicts low temperatures in the future, causing the jump? Which command should we use to verify this conjecture?

Or the wrong Rb value causes the calculation of the low temperature cell resistance to be too large. Which command should we use to verify this speculation?

Also how does the temperature model work? Do temp K and temp T change during discharge?

Sincerely,

Xiulan

  • Hello Xiulan,

    Please share the BQStudio log file from the tests along with the .gg file from before and after if possible.

    Was a learning cycle and proper chem ID uploaded to the gauge before testing accuracy?

    We need more information in order to give suggestions for RSOC related questions.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt Keller,

    We have done chem ID matching and GPCRB learning. At the same time, we fixed the cell resistance of the battery through the cell test.

    4A.gg.csv4A.xlsx4B.gg.csv4B.xlsx

    The following are the data recorded by studio during the discharge process, and the gg files before and after the discharge.

    What does CompRes stand for? Why did CompRes change so drastically, and what caused the change in CompRes? Why does it happen that CompRes is equal to 0?

    What does RaScale stand for? Why did RaScale change so drastically, and what caused the change in RaScale? Why does it happen that RaScale is equal to 0? Is Ra scale equal to the ratio of CompRes at different times?

    In addition, our current is reduced by 3 times. When fixing the Ra table, should we use the real cell resistance or triple the internal resistance?

    Sincerely,

    Xiulan

  • Hello Xiulan,

    You should never change the resistance tables for the battery, it should be learned by the gauge during the learning cycle. Has a learning cycle been completed for the gauge? It looks like the Update Status could've manually been changed since all the Ra table is fixed at 5mOhm increments.

    Can you share the GPCCHEM and GPCRB data you submitted and what was returned?

    The CompRes is the temperature compensated resistance, essentially the value used for the CUVC calculation. These resistance register values are probably changing so drastically for multiple reason.

    1 is that the cell resistance was manually modified and the gauge is trying to compensate for incorrect Ra table.

    2 is that the temperature is decreasing rapidly during discharge, this may cause the gauge to misinterpret the self heating of the battery. If a test is performed without dropping the temperature during discharge, does the RSOC jump still occur?

    I also noticed your DOD0 is 0 for almost all of the cells, this indicates that the chem ID chosen is not a good match and you are operating outside the range of the chem ID.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt Keller,

    As you see the CompRes is the temperature compensated resistance,so I*CompRes= CUVC。Is my understanding correct?

    Why does CompRes=0 occur? Why is the cell resistance equal to 0?

    Also, why is the temperature change so small in the graph below but the CompRes change so drastically?

    Is Ra table the resistance of the cell at 25°C?

    Also what does Rascale stand for? Is it the rate of change of the internal resistance in the Ra table in the gg file? Or is it the rate of change between Ra at the current temperature and the last time Ra? Or the rate of change between resistance at the current temperature and  the Ra in gg files ?

    Rascale=new Ra/old Ra *1000?

    In the figure below, CompRes is equal to 125, but Rascale has changed from 1000 to 158. Why is this? What does it stand for? Why does TrueFullChgQ bounce back after Rascale gets smaller?

    Sincerely,

    Xiulan

  • Hello Xiulan,

    I did not have time to review the data today, I will respond tomorrow.

    Sincerely,

    Wyatt Keller

  • Hello Xiulan,

    The CompRes is not always active and is meant as a tool for debugging operation and should not be used as a direct substitute for the Ra table. CompRes is not calculated through the whole discharge period.

    RaScale decreases because the internal resistance needs to be scaled down in the fast scale region since it was artificially set so high.

    You will not be able to get any good results until the Ra values from the learning process are used. I would also recommend changing your load select to Average Current instead of the max value.

    Have you performed tests without dropping the temperature during discharge? Are the test results better? If the temperature is decreasing during discharge by significant amounts it may lead to the thermal modeling predicting the wrong temperature coefficients.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt Keller,

    Q1 :The CompRes is not the actual resistance of the cell after temperature compensation, and  CompRes+Ra in table is the actual resistance of the cell after temperature compensation. So  CompRes is a compensated increment..Does this understand correctly?

    Q2: What does Average current mean specifically? What is the difference between it and current? 

    Q3:IF we use present average diacharge current as the load select,  where can we find the recorded value of this parameter the present average discharge current ? I did not find this value in the file recorded by studio and in the gg file.

    Q4: We have dischaged in the room temperature without dropping the temperature, the SOC didn't jump to zero.  What the wrong temperature coefficients do you mean? The temperature affects DODfinal by affecting resistance value, which in turn affects FCC. Besides, does temperature affect the FCC in the other ways?

    Q5: There are many temperaturen parameter. When calculating I*R, which temperature is used to judge the DOD of the SOC jump to 0? CellTemp or T_Sim?

    Q6: Why SOC jumps to zero, When  the compRes becomes significantly smaller, and the changes in current and voltage are very small. And the FltFullChgQ calculated not long ago was also equal to 1072, as indicated by the orange marker.This seems unreasonable.

    A.xlsx3583.4A.gg.csv

    Q7:In analyzing the data, we found that the SOC jumps occurred in the scene where the temperature dropped from above 10°C to below 10°C. why is that? Is 10°C a special point in a fuel gauge?

    Sincerely,

    Xiulan

  • Hello Xiulan,

    Effectively none of the resistance the gauge calculates should be used as direct resistance value of the battery since it is normalized for the gauge uses.

    AverageCurrent() is an average of the Current() register. Load Select determines which current is used to run the simulation for FCC.

    Some of the registers used for calcaultions are not readable and are only internal. The Load Select = 1 is the present average discharge current for the active discharge that is occurring. If you switch modes, it will start a new average for as long as there is discharge occurring.

    So when the cell is discharged at room temperature without decreasing it during discharge, the gauging is accurate? If this is the case the reason for the RSOC jump is most likely due to the thermal modeling, the gauge predicts that temperature should increase during discharge, but the tests being performed are forcing the temperature down while there is a discharge.

    The thermal modeling done internally is complex, the gauge takes into account thermal heating of the battery to help predict the internal resistance. If you dramatically decrease temperature while discharging, the gauge will be predicting the incorrect resistance at later discharge points. If you are starting at room and doing extreme temperature change to lower values while discharging, there will most likely always be some RSOC jump.

    As mentioned on the last response, you will not get any good gauging until the learning of Ra is done reliably and not modified. This would be the highest priority on the list of most likely to cause issues is RSOC jumps.

    Sincerely,

    Wyatt Keller