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.

BQ34Z100-G1: Wrong Learned Qmax? Scaling issue?

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: GPCCHEM, BQ76952, BQSTUDIO

I am currently working on calibrating a 16000mAh 12s pack. I am using a scaling factor of 7 in order to handle higher currents. I have verified the scale factor is correct based on the current measurements.

With an update status of 5, my full charge capacity is only showing 510mAh. When charging and discharging, the remaining % is correct for the time. But using the DC load, I am able to discharge 16385mAh. The state of health is incorrectly showing 22% as well.

Load select = 1 and Load mode = 0

It looks like Design Energy Scale is being applied to the full charge capacity?

Here is my math:

200A Burst Current.

32.76 Amperes Max Reading

32.76A * 7 = 229.32A Max Current Measurement

 

Scale = 7

 

16000mAh/7 = 2285.71mAh - Design Capacity

 

12 * 3.7V * 2285.71mAh = 101485.52mWh

 

32767mWh max. Use Design Energy Scale of 4.

 

101485.52mWh / 4 = 25371.38mAh - Design Energy

 

Best chemical ID : 3169        Best chemical ID max. deviation, % : 0.91        

 

Calibrate to 3.3V cutoff voltage

  • Hello Alex,

    Can you share the .gg file with your configuration? Can you also share a log of the behavior? Depending on your load mode, the design energy scale factor will have an influence. If you use the Current for load mode instead of power the design energy scale should not be used for gauging. 

    Sincerely,

    Wyatt Keller

  • Hi Wyatt, see attached .gg file BQ34 Params.gg.csv

  • Hello Alex,

    It looks like you haven't completed the learning cycle yet, update status is 0x05, fully learned is 0x06. Make sure you finish the full learning cycle before looking at gauging parameters.

    Sincerely,

    Wyatt Keller

  • Wyatt, I am not able to get the update status to go to 0x06. The RA table has updated multiple times. See attached log.BQ34 calibration log.log

  • Hello Alex,

    The log does not show that the Ra table has updated, you would need to check the .gg file from before and after the learning cycle to see if it was updated. Update Status of 0x05 indicates that it was not.

    There is a guide of the learning cycle in the TRM section 11.3 Learning Cycle

    The most common reason for Ra update failure is from the current being too low or high, it should be between C/5 and C/10 for learning cycles.

    Sincerely,

    Wyatt Keller

  • The RA table definitely updated. When I refreshed the data memory, it showed the RA table updated. I used C/7 as the discharge rate.

  • Wyatt, see attached gg file and log. I started the calibration from scratch. Update status went to 0x05. Then I observed the RA table update on the discharge, but Update status never goes to 0x06. Upon charging, I get the full charge flag, but VOK never clears. It still appears that the gauge is using the Design Energy Scale Factor in the mAh capacity calculations.

    Calibration log.logBQ34 Update Status 0x05 RA table updated.gg.csv

  • Hello Alex,

    It looks like the Ra tables have updated, but the values are very strange, between the two tables there are large differences, also for the table R_a0 14 the value should be the highest near end of discharge like the second table. It looks like the learning is not updating correctly. What is the calibration process you used?

    Your load mode is set to 0 so the gauge will not use the energy scale factor, I would leave it at the default value and check if this influences the mAh reporting, there should be no differences in changing the Design Energy Scale if you are in constant current mode.

    Sincerely,

    Wyatt Keller

  • I think only the first table has updated. I ran the chem ID determination process twice. Once with a 3.0V cutoff and once with a 3.3V cutoff. I have been using 1356 for the calibration process. I am using a 3.3V cutoff for the calibration process.
    Best chemical ID : 1356 Best chemical ID max. deviation, % : 0.8  - With 3.0V cutoff/36.0V
    Best chemical ID : 3169 Best chemical ID max. deviation, % : 0.91 - With 3.3V cutoff/39.6V

    The cells list a 3.0V cutoff, but when I discharge the 12s pack to 36V, I end up with one over-discharged cell. So I am using 3.3V as the cutoff voltage for the pack.

  • Hello Alex,

    The calibration of the gauge would be separate from the learning cycle and GPCCHEM process. The gauge should always be calibrated for Voltage Current and Temperature before use. Then the GPCCHEM and learning can start.

    Is there cell balancing in the system? I would recommend it if you get such large deviations in voltage.

    You should do the learning cycle on the full range of the battery voltage, then reduce the voltage (terminate from 3v to 3.3v) after the learning cycle since we must get the 90% change in DOD it may be affecting the Ra updates if the initial learning wasn't the full DOD range.

    Sincerely,

    Wyatt Keller

  • The voltage is calibrated and the current is calibrated to a scale of 7. I have verified they are accurate.
    I am using a BQ76952 for protections and balancing.
    I ran a C/7 discharge down to 36.0V and verified the Ra Table updated. It looks more reasonable now, but the update status still didn't change to 0x06.

  • Hello Alex,

    Let me check with some others on the team and get back to you tomorrow.

    Sincerely,

    Wyatt Keller

  • Hello Alex,

    Something in your testing is causing the gauge to calculate very odd resistance values, grid points 0 and 2 are 6 and 1 mOhm, which is extremely low. It may be because your cells are very imbalanced that the gauge is not able to get a correct DOD reading for the whole pack, or the chem ID is not correct.

    For any of your tests do you see the RUP_DIS being set? If you are getting valid Ra updates you should also see the Ra table flags change from the default values. All F's indicates no learning.

    Sincerely,

    Wyatt Keller

  • The cells are very imbalanced at the end of discharge. But during charging and for the majority of discharge, they are balanced. I never see RUP_DIS being set. The first Ra table flags did change, but the second table flags and values have not changed.

  • Hello Alex,

    I'm still waiting for feedback from my team, I will hopefully hear back by Monday and provide more feedback then.

    Sincerely,

    Wyatt Keller

  • Thanks Wyatt. I ran a C/6 discharge today and watched the resistance tables update again. Also, the % remaining is pretty close to accurate. I'm just confused why my full charge capacity is much lower than it should be.

    The red values were updated at the end of discharge. I observed all values 0-14 update at one point in the test.
    A short time after discharging, RUP_DIS was set and VOK cleared. Update status is still at 0x05.

    Update: I updated the Design Capacity to 510mAh to reflect the learned capacity and the Update Status went to 0x06. It looks like the Design Capacity being roughly 4.4x the learned capacity was preventing it from going to 0x06. Although, I am still confused why I am seeing such a low learned capacity. I have a 16000mAh pack calibrated to a scale of 7x, which give a Design Capacity of 2285mAh. But it only learns a full charge capacity of 516mAh.

  • Hello Alex,

    If you have RUP_DIS set that means the gauge has disqualified the resistance learned for some reason (negative resistance value, scaling causing issues with the current reading, etc) The gauge uses the design capacity for some of the current measurement checks, which is why this may have been failing the resistance learning.

    From looking at your log for Qmax Passed Q the gauge is thinking that only around 500mAh is being passed. You should be able to integrate the current of the time period and get the same value.

    I would still recommend disabling the scale factor and only using the current measurements, it appears to me that the design energy scale is being erroneously applied to the current and capacity values.

    Sincerely,

    Wyatt Keller

  • Hello Alex,

    When my colleague reviewed the data in your .gg file, he noticed the CC gain and CC delta are different values. Both of these should be the same otherwise there will be issues similar to what you are seeing (different current and capacity values).

    It seems something may have gone wrong with the calibration or other mistake when writing the values.

    Please adjust both to the same value calibrated value or redo calibration.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt, it looks like the CC gain and CC delta being different is the cause of my scaling issue. I think the issue was introduced when I imported dataflash params in BQStudio. BQStudio allows the CC Gain to be imported and written, but not the CC Delta. So the Gain was written but the Delta was stuck at the default.