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.

BQ40Z50-R2: Problem with generated GPC Maker report for learning cycle large battery

Part Number: BQ40Z50-R2
Other Parts Discussed in Thread: GPCRA0, BQSTUDIO, BQ40Z50

Hi,

I have tried for 2weeks to preform a successful learning cycle with BQ40z50-R2 with a quite large battery (4S54P, 156Ah) without any luck. Now it starting to get rather urgent to solve this issue. 

Before I started with the learning cycle of the large battery, I performed a successful learning cycle with a smaller version of the battery above(cell balancing is active). I used document SLUA848 as ref.

Then I changed the necessary parameters for the capacity scaling and preformed the learning cycle again, but without any success. This has been repeated 3-4times.

1. Learning cycle with only BQ40z50-R2: (use SLUA848 as ref.)
I can't get past Lstatus() = 0x05, so it seems I only receive updated Qmax parameters and not Ra. (cant get lower error value than 3%)

2. Calculate Qmax and Ra values with GPC Maker tool:

I read somewhere that is also possible to use the GPC Maker tool (GPCRA0) for calculating Qmax and Ra0 values. But, when I use GPC Maker some error is generated regarding the "term voltage", which is rather confusing as the .gg file is directly generated from BQstudio. Pls see attached report.


Which of the two methods above is best suitable for my learning cycle process? 


Note, I have all files for both step 1. and 2. but I dont feel confident to just updated them on the forum. Is it possible to have direct contact with someone who can solve my issues?

Thanks in advance!

Optimized Impedance Track Parameters tool, rev=1.31		
		
Optimized Impedance Track parameters:		
		
Qmax, mAh : 26755		
		
Ra table normalized to 25C		
		
DOD, %	Ra, mOhm	
		
0	58	
11.11	58	
22.22	62	
33.33	70	
44.44	73	
55.56	60	
66.67	59	
77.78	60	
80.95	59	
84.13	59	
87.3	63	
90.48	77	
93.65	104	
96.83	153	
100	271	
		
Ra0_ch, mOhm : 90	This firmware is not explicitly supporting Ra0_ch, FCC drop could occur at low temperatures if used	
		
Thermal parameters:		
		
T Time Constant type undefined	1000	
T Rise type undefined	33.0805179278073	
		
Due to GG file format issues, GG values have not been updated		
		
               0		
Error: Terminate Voltage or Term Voltage not found in GG file. Term k didiver uncertain. Make sure that gg.csv file is not corrupted		
Warning: GG file could not be processed. Please check that it is unmodified	 as exported by EV Software or BM Studio	
Warning: Automatic firmware properties detection failed. Rb_select defaults to 2. Please make sure that chem ID loaded in the GG file is the same as ID specified in the config.txt		
Warning: Automatic firmware properties detection failed. basescale defaults to 1. Please make sure that chem ID loaded in the GG file is the same as ID specified in the config.txt		
Warning: Ra values could not be updated in a GG file due to format issue. Please update manually		
Warning: Qmax value could not be updated in a GG file due to format issue. Please update manually		

 

  • Two additional question.

    Can i use the generated parameters from the GPC Maker and manually program Qmax and Ra0 values?
    What other parameters do I need to change/update in the .gg file to configure the .gg properly to get successful learning cycle?
  • hi
    Alternatively, you can perform learning on that one and then scale the resistance values and qmax. The resistance would be divided by the no of cells in parallel and the capacity multiplied by the no of cells.


    What did you set your terminate voltage to?

    thanks
    Onyx
  • Hi Onyx,

    Thanks for fast feedback!

    Ok, do you mean that I can perform the learning cycle and use GPC tool with the smaller battery (=4S1P) and then scale Ra & Qmax values for the bigger battery?

    Terminate voltage = 10000mV.

    If I use the above attached report which was generated by the large battery. Is it correct to manually program the generated Qmax and all Ra0 values (includning both R_a & R_ax values)?
    What other parameters do I manually need to change/update in the .gg file to configure the .gg properly to get successful learning cycle with the values from the attached report?
    Like,
    Ra Table,R_a0,Cell0 R_a flag,XXXX,- ??
    Ra Table,R_a0x,xCell0 R_a flag,XXXX,- ??
    Gas Gauging,State,Update Status,XX,- ??

    Then I guess I need to do second run of charge-relax-discharge-relax to active the cell balancing (0E).
    What are the rules to go from 06 to 0E?

    BR
  • yes, given learning was successful on 1p, take those learned values and then scale it for the no of systems you have. I think the primary reason you are failing is the fact that you are exceeding the max capacity this gauge can support. i beleive it is 32Ahr for this gauge. You will need to follow the directions in the app note below to get the gauge working for you. The status and flags from the learned back should be kept as is.

    www.ti.com/.../slua760

    thanks
    Onyx
  • Ok, thats good to know!
    I will verify this later, but first I want to know if I can use the data extracted from the "charge-relax-discharge-relax cycle" from the "actual" large battery. GPC Maker has calculated a Qmax and Ra value based on the cycle above and I would like to know if I can use these parameters and how I implement them manually in my .gg file.

    I'm already using capacity scaling on the large battery.
    Design capacity = 26.1Ah (156.6/6) and all current related values is scaled with 6. (including the curernt calibration)

    If you dont mind, I think the fastest way to solve this is if you could look at the files I attaching to GPC Maker tool. Unfortunately, I cant post them on the forum so is it possbile to post them with private message or similar function?

    BR
  • Hi,
    Yes, you should be able to use that. I would recommend you run an evaluation of the gauge performance to ensure it is tracking SOC accurately
    thanks
    Onyx
  • Hi,

    I have now done one evaluation cycle (Chg-relax-Dsg-relax) with the values generated by GPCRA0. The result wasn't perfect and Lstatus didnt update to"0E" from "06". The second cycle is already ongoing and right now RemCap seems be more spot on compated with the first cycle.

    When I evaluating the result I have been using RemCap, FltRemQ, TrueRemQ, InitialQ and DOD0 Passed Q with the "actual" value calculate from the measured current.
    Which of these parameters are "important" and compared with design capacity for Qmax and Ra calculation?

    Second question,
    I read somewhere that if Lstatus = "06" cell balancing is active, but only in "charging mode". Could you please verify it?
    (We havn't had time to verify that it's true)

    We will be back again when we have the result.

    BR
  • Hi

    O6 means learning was successful. OE means cell learning was successful and cell balancing is active.


    What you should be concerned about is the accuracy of your SOC. To evaluate accuracy of the gauge, pls follow app note below:
    e2e.ti.com/.../how-accurate-is-your-battery-fuel-gauge-part-2-2

    thanks
    Onyx
  • Hi,

    Thanks for the information and the document! 
    I used your excel file and recalculated the values with the result I have received.  Please see attached.

    The SOC error seems reasonable(max error is just above 2%), but the LStatus is still on 06. 
    What's the requirements for updateing Lstatus 06 to 0E and what else do I need to do to fulfill the requirements?

    Btw, I used the parameter "DOD0 Passed Q" from bq40z50 as I couldn't find "Passed Charge" from your excel file.
    Is it OK to use  "DOD0 Passed Q" for the SOC error calculation or shall i use other parameter? 

    This is the text I found in the technical reference for bq40z50 regarding Lstatus 06 and cell balancing:

    "The gas gauge balances the cells by balancing the SOC difference. Thus, a field updated QMax (Update
    Status = 0E) is required prior to any attempt of cell balance time calculation. This ensures the accurate
    SOC delta is calculated for the cell balancing operation. If the Qmax update has only occurred once
    (Update Status = 06), then the gauge will only attempt to calculate the cell balance time if a fully charged
    state is reached, GaugingStatus()[FC] = 1."

     Maybe I missunderstood, but i interpret it as the cell balancing is active during charging when FC = 1 and Lstatus=06. Right?
    But of course my goal is to reach 0E.

  • hi
    The excel sheet in the blog has steps on how to calculate passed charge, and all the other needed parameters. Pls follow the instructions carefully. Update status of 0E is archived after you have had another qmax update which requires passed charge of atleast 37 percent s and then two relaxation periods. Alternatively you can manually change update status to 0E if you want. As long as you actually learnt qmax and had the first update status of 06, you are good .


    thanks
    Onyx
  • Hi,

    Thanks! I have followed your instructions.

    With ”passed charged” I ment the colum to the left of the colum “calculated dQ”. I think it’s Colum “H” in your excel file. I don’t think values under the colum “passed charge” is manually calculated in your excel file.

    Whats the name of the equivalent  colum generated by bq40z50?

    Yes, it seems I haven’t received the second Qmax update.

    Passed charge > 37% should be ok, but I’m not so sure about the two OCV measurements.

    How can I best verify that two valid ocv readings has accrued?

    Br

  • Hi
    Coulumn H in the excel sheet was not used in my calculations. So you do not need it. Calculated dQ is column I and you are to calculate that yourself following the formular in the excel sheet. To determine if the conditions fo r a valid OCV has been met, the REST flag in IT status register has to be set while in relaxation. after that is set then you start your discharge. 37% of the design capacity then rest. Then check again for the rest flag to be set while in relax state. make sure the battery is not under load or else u wouldn't achieve relaxation.

    thanks
    Onyx
  • Hi Onyx,

    I have done all the things you mention above but no Qmax update(or 06 -> 0E). Was not sure about the 5h resting period before, but now it has been verified. (after both charing and discharging)
    Could it have anything to do with the low discharging current compared to the capactiy. I have been using discharging current around C/9.5(which is max my BMS can handle), could that be a problem? (read somthing about C/10 was the minimum)

    As the SOC error was quite low I have updated to 0e manuelly, but what happans in the long run if the Qmax never gets updated? what happans with the capacity measurement after lets say 5years?
    Maybe it doesnt really have anyting to with the above, but I have verified that the cell balancing is ok and this is one of the most importnat factor for us. What happens with the cell balancing if Qmax never gets updated in out in the field? 

    Also, I had to use GPC maker to calculate the Qmax value as I couldn't update Lstatus from 05 to 06 through the normal cycling process. I updated Lstatus manuelly to 06 when a Qmax & Ra was received by GPC maker. Was it OK to do that? 


    Thanks

  • Hi

    Yes, you are borderline the thresholds. Pls use c/7 discharge. If that still fails, then use our online tool gpcra to obtain your golden file.

    thanks
    Onyx