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.

BQ40Z60EVM-578: Trouble with Learning Cycle - 3s2p

Part Number: BQ40Z60EVM-578
Other Parts Discussed in Thread: GPCRA0, GPCCHEM

I am having trouble with the learning cycle.  I was able to do it successfully with a 2s2p, but now am trying a 3s2p configuration.  I can't get Update Status to move past 04 and I am not seeing any Qmax updates or Ra table changes.  My process (based on a combination of SLUA777 and other forum posts by Thomas Cosby):

1) Update firmware (4600_0_15)

2) Update Data Memory and Chem ID

3) Begin logging

4) Connect cells

5) Send RESET, GAUGE_EN, FET_EN, CHGR_EN - Update Status should move from 00 to 04

6) Discharge cells to empty and let relax until REST is set (rate not important)

7) Charge cells to full and let relax until REST is set (manufacturer's specs) - I am expecting Update Status to move to 05 based on SLUA777

8) Discharge cells to empty at C/7 and let relax until REST is set - This is when Thomas's other post said Update Status should move to 05, but SLUA777 says 06

9) Charge cells to full and let relax until REST is set

10) Discharge cells to empty at C/7 and let relax until REST is set -  Thomas's post says 06 at this point.

Thanks for your help.

  • Hi Russell,
    Did you configure the number of cells in the gauge now that you have 3s? Did you set the design capacity correctly for your 2p Pack? Are you discharging to the minimum voltage per cell as specified in the manufacturer data sheet. Did you set your current thresholds correctly, i.e taper current, chg and dsg current threshold and quit current?
    for point 5, the correct order should be:

    5) Send , GAUGE_EN, RESET, FET_EN, CHGR_EN - Update Status should move from 00 to 04. This will disable resistance updates from occurring during the first discharge.
    Finally your log and gg file will be useful to see what is going on..

    thanks
    Onyx
  • Hi Onyx,

    Thank you for your response.

    I actually have 4 EVMs that I am working with, so I have a separate board configured for the 2s configuration versus the 3s.  I have the jumper in place for 3s.  I have CC1 at 1 and CC0 at 0.  Design capacity is 660mAh (2x330).  Min voltage per cell is 2500, but I am discharging to 2600 due to the 2p configuration.  Discharge current is 8, chg is 20, quit is 3, taper is 49.

    I have attached the log  and gg in this .zip (renamed to .doc).

    170820 1442 TLI 3s2p.doc

    EDIT:  I need to note that we have replaced R20 with a 200mOhm resistor to get the finer current resolution.

  • Hi Russell
    I reviewed your log file and i see that you are not meeting the 90% if design capacity passed charge criteria either in the charge or discharge direction. In charge, your passed charge is about 594mAh, while in discharge it is about 551mAh. You will need to discharge your cells further down to about 2.5 V to get the passed accumulated charge closer to 90% of 660mA.

    Also, is R20 your sense resistor? if so you may need to modify cc deadband as that affects qmax updates as well

    thanks
    Onyx
  • Thanks, Onyx.

    I will try to get more discharge out of the cells. I thought the requirement was 37% for the Qmax and I haven't trusted the FCC since it was way off from the design capacity and the learning cycle hadn't completed.

    R20 is the designation for the sense resistor on the EVM schematic tied to the current register. I have been questioning whether the OCV readings have been getting disqualified due to the coulomb counter deadband / offset error. But I haven't understood how to adjust it based on this note in the TRM:
    Offset Error — If offset error accumulated during time passed from previous OCV reading exceeds 1% of
    Design Capacity, update is disqualified. Offset error current is calculated as CC Deadband / sense
    resistor value.
    In Data Memory:Calibration:Current Deadband:Coulomb Counter Deadband, the deadband has the units 116nV and the default is 9. The original sense resistor was 10mohms and we are using 200mohm. If I consider that I want a similar value for CC Deadband / Sense Resistor for the larger resistor, then I would need to go from 9 to 180. But the larger sense resistor gives better current resolution, so that doesn't seem right to me. Am I understanding this correctly?
  • The 37% change in DOD requirement is in effect after Update Status = 06. The requirement is 90% during the optimization cycle. R20 is the current sense resistor for the charger and the Deadband and CC Deadband do not apply to the to that sense resistor. It looks like you have updated the charger parameters affected by R20. I am surprised that it works as well as it does at this low charging currents. Current regulation is not that great on this device at low current levels. It works better when charging currents are above 1A.

    Is there a reason that you are only charging to 4000mV? This is limiting the change in DOD range as well. If you cannot get the change in DOD required to update Qmax, then you may be able to use the log data and submit it to the online GPCRA0 tool to find Qmax and the Ra tables. It will complain about the DOD range, but sometimes it will go ahead and provide the results.
  • The reason I am only charging to 4000mV is because the cell manufacturer specifies max voltage as 4050mV-4100mV and experience has shown that charging to 4000mV still shows an overshoot to 4050mV.
  • Onyx,

    I opened up the charge and discharge range.  I am getting over 600mAh for QMax Passed Q in both the charge and discharge direction.  But the FCC remains around 425mAh.  I am still not seeing a QMax update or Update Status going to 05.  I noticed that during C/7 discharge, the RDIS bit starts low, but goes high around 3800mV.  And the VDQ bit goes low.  The NSFM bit is going high, too.  The RSOC hits 0 at around 3200mV, but discharge continues on down to 2600 (or less).  I tried to find literature explaining what could be causing this, but have had no luck.  I have been running cycles for 3 weeks tweaking things, but I don't seem to be making any progress.

    I am running another discharge cycle and when that is complete I will post the log in case anyone has any ideas.

  • The rup dis bit getting set means negative resistance values are being calculated and that typically happens if the chem id you are using isn't the correct chem id. how did you identify your chem id? Did you use our gpcchem tool? if you are convinced the chem id is the right one, use our gpcra0 tool to obtain your golden file. No need spending extra time trying to get the learning to be successful when GPCRa0 will do what the gauge is doing.

    thanks
    Ony
  • Onyx,

    I got the chemistry from the online GPCCHEM tool.

    Chemistry ID selection tool, rev=2.24
    Configuration used in present fit:
    ProcessingType=2
    NumCellSeries=2
    ElapsedTimeColumn=2
    VoltageColumn=12
    CurrentColumn=13
    TemperatureColumn=11
    Best chemical ID : 1237 Best chemical ID max. deviation, % : 1.07
    Summary of all IDs with max. DOD deviation below 3%
    Chem ID max DOD error, % Max R deviation, ratio
    1237 1.07 1.19
    Max. deviations for best ID is within recommended range. Chosen best chemical ID is suitable for programming the gauge.

    I am not convinced that the CHEMID is correct, especially now that you offer that interpretation.  What do you recommend at this point?

    Thanks.

    EDIT:  I should clarify that the results pasted in above are for my 2s2p board.

  • are you using the same battery type for the 3s configuration? If it is the same and the 2s learning cycle was successful, then the 3 s should be successful as well. Also, Gpcchem tool usually returns a few other chem ids that are close matches. I suggest trying a different one if you are bent on having the gauge carry out the successful learning. Again I have to say that you can just use the log files from your learning and feed it into the gpcra0 tool and it will give you a file you can use.

    thanks
    Onyx