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: Learn Cycle - Update Status does not match description

Part Number: BQ40Z60EVM-578
Other Parts Discussed in Thread: BQ40Z60, BQSTUDIO

7776.Battery gauge system design overview-process, flow, tools and configuration.pptxHi,

 

Can you please clarify the ‘Update Status going from 04 to 05 for pack side gauge’ on page 9 of the attached? seems these bits don’t line up to the register description below(??)

 

I plan to perform a Learn Cycle on a bq40z60.

Is the Update Status register described below the same as the one indicated on page 9 of the attached?

 

bqStudio/Data Memory/Gas Gauging/State/Update Status

 

is_Qmax_Field_Updated [3]       Qmax update in the field                     1:Updated, 0:Not Updated

Enable                             [2]        IT gauging and Lifetime updating        1:Enabled,   0:Disabled

UPDATE[1:0]                [1:0]       Update Status                                      1:Detected, 0:Undetected

 

UPDATE[1]          UPDATE[0]          UPDATE STATUS

0                              0                              Disabled

0                              1                              Qmax updated

1                              0                              Qmax & Ra tables updated

1                              1                              Undefined

 

 if i Issue an IT enable command (0x21),

then Issue a reset command (0x41),

as described on page 9 of the attached, will some of the above registers clear??

or

do i set/clear the registers manually then do the test??

Thanks,

Tom

5810.7776.Battery gauge system design overview-process, flow, tools and configuration.pptx

 

  • Hi Tom,

    To reset any of the bits you need to manually change the Update Status back to 00 or 04, then reset the gauge.
  • Hi dMax,

     

    I have several concerns about the Learning Cycle, can you please help me understand each of the Q’s below?

     

    Attached is the log file and srec (bq40z60_v0_15_build_21_2S6P_R0.06.srec).

     

    The following was performed before the Learn Cycle (as described on page 8, 9 & 10 of the attached)

    Advanced Charge Algorithm/Termination Config/Charge Term taper Current => 50mA (srec = 250mA)

     

    Update Status sequence:

    Cleared to 0x00

    Enabled IT gauging and Lifetime updating, 0x04

    Sent RESET command 0x0041

     

     

    Q1: Why is the taper current not continuous? (looks dis-jointed, it has several stages):

    See attached ‘Taper Current’

    600mA ->230mA

    190mA ->80mA

    70mA ->0mA)

     

     

    Q2: Update Status did not increment automatically after 2 hours of Relax after the charge.

    How long should I have to wait for Update Status to increment automatically??

    Instead of waiting, I incremented the Update Status manually (is this ok to manually increment the Update Status?).

     

    Q3: Should the Cycle Count be cleared to 0 before making the Golden File? (I plan to use an srec file).

    Is the Cycle Count imbedded in the srec file and carried along to each device programmed with this Golden srec file?

    Is the Cycle Count the number of discharge cycles?

    The Cycle Count did not increment after the discharge, why?? (It stayed at 4).

     

    Q4: Should the Life Times be RESET/Flushed before making the Golden srec File?

    Is the Life Times imbedded in the srec file and carried along to each device programmed with this Golden srec file?

     

    Sorry for the many questions….

     

    Thanks,

    Tom

    LearnCycle.zip

  • Hi Tom,
    You should NOT fake an Update Status change by manually changing it. It failed to get a Qmax update so therefore Update Status did not change from 04 to 05. We need to figure out why you didn't get a Qmax update before you continue.
    We will take a look at your log file this week to see what might be preventing your initial Qmax update.
    I believe the charger must be stepping through different resolutions to achieve those tapering steps.

    Regarding your other questions:
    Q3: Should the Cycle Count be cleared to 0 before making the Golden File? (I plan to use an srec file).
    Yes, it is recommended to set it to 0 since this will be programmed into fresh packs in production.
    Is the Cycle Count imbedded in the srec file and carried along to each device programmed with this Golden srec file?
    Yes.
    Is the Cycle Count the number of discharge cycles?
    Essentially yes, but it increments every time accumulated discharge capacity exceeds 90% of FCC or Design Capacity. The dataflash parameter is Cycle Count Percentage. See the bit [CCT] to configure whether it uses FCC or Design Capacity for the threshold.
    The Cycle Count did not increment after the discharge, why?? (It stayed at 4).
    Keep cycling and you should see it increment soon. As mentioned above, it can increment at any time during a cycle, even partial cycles. It simply tracks the total discharged capacity, not whether you reach empty.

    Q4: Should the Life Times be RESET/Flushed before making the Golden srec File?
    Yes, this is recommended.
    Is the Life Times imbedded in the srec file and carried along to each device programmed with this Golden srec file?
    Yes.
  • Also, can you please extract a .gg.csv file from your board and attach it to the post so we can quickly open it in Notepad to view your settings?
  • Hi dMax,

    thanks for all the good insightfull info...

    attached is the gg file

    I'm still getting used to the nuances of bqStudio so i may not have done a 'Read All' when waiting for the Update Status to go from 04 to 05 during the Relax period after charging so, i will redo the Learning Cycle after we determine the current stepping issue during CV tapering.

    However, the Update Status register in Gas Gauging/State did go to 06 after doing a 'Read All' during the 5 hr Relax/REST period after discharging.

    Tom

    Learn_Rev0.06.gg.zip

  • Hi Tom,

    If you got Update Status = 06 and you didn't manually change it to get to 05 previously then it sounds like you were successful.  However, running another to be sure wouldn't hurt.

    It's a good idea to use the Auto Export feature in Data Memory to periodically export the .gg.csv file during your learning cycle.  Then you can look at timestamps in your log file and fine .gg.csv files from around that time to be able to see if/when Update Status, Qmax, Ra tables, etc. were updated.

  • Hi dMax,

    Unfortunately I did manually set the Update Status to 05 after about 2hrs of Relax after charging so, i will have to do the Learn Cycle all over again but first, can you help me determine why the taper current is stepping(??).

    Will the Update Status register in Gas Gauging/ State/ Update Status refresh itself or do i have to do a 'Read All'?
    Will i see an asterisk on the Gas Gauging menu button to let me know to do a 'Read All'?

    Is QMAX in IT Status [9] the same as Qmax_FldUpdtd [3] in Update Status?


    The log i sent yesterday shows the IT Status [9] going hi during Relax of Discharge rather than during Relax of Charge (??).
    This is quite coincidental about the same time as i did a 'Read All' to see the Status Update go from 05 to 06, any possible correlation?


    thanks,
    Tom
  • Hi dMax,

    my appologies, attached is the Learn_FullCycle_FindQmaxUpdateFound file showing the Qmax in IT Status [9] being updated at Sample 21647 during the Discharge Relax time, i previously said yesterdays log showed this but yesterdays log was not the Learn_FullCycle.

    Hope this may help in determining when a Status Update from 05 to 06 is ok to happen.....

    thanks,

    Tom

    LearnFullCycle_QmaxFound.zip

  • The bq40z60 does adjust the charging voltage slightly during charge to maintain the charging current level. Normally you would see this more during the Constant Current portion or charging, but I think it also explains your discrete steps in taper current during Constant Voltage charging.

    The values _displayed_ in the Data Memory screen are only updated when you click Read All, or whenever an automatic read occurs due to an Auto Export dump. However, the actual values in the gauge are updating autonomously by the FW in the IC. What you read on the screen in bqStudio just reflects the last time it was read out from the IC. What I'm saying is that you don't have to click Read All to make the gauge update anything, but you do want to click it if you want to see fresh values from the gauge.

    The asterisk just means that something in that section was different in the last read from the read before, and it will be highlighted in red. It doesn't know that anything changed until you click Read All. There is no way for it to know what changed until you click Read All.

    No, QMAX in IT Status [9] is not the same as Qmax_FldUpdtd [3] in Update Status. The IT Status register is a RAM register with status bits telling you what's going on with the IT algorithm. The QMAX bit in there simply toggles every time a Qmax update occurs. This can occur during relax after charge or discharge, assuming conditions are met.

    Update Status is actually stored in non-volatile dataflash and the register you log is just reflecting the value which you can view and modify in the Data Memory tab. During the learning cycle you should see Update Status progress from 04 to 05 when the first Qmax value is learned, then to 06 when Ra has been updated and a second Qmax update occurs. Normally you would then clear the Enable bit in Update Status (changing Update Status to 02) before reading out your golden file. Then when you program the golden file in production to all of your packs, Update Status will be 02. Then you might do your calibration and testing and then at the end enable Impedance Track (with MAC command 0x0021). This will cause Update Status to change to 06. Then if you do a learning cycle in production and get a Qmax update, the Qmax_FldUpdtd bit will set, meaning Update Status = 0E. Once 0E is achieved, cell balancing will be allowed by the algorithm, because it now trusts the Qmax values of each cell have been learned specifically for this pack and it can start balancing based on cell capacity with confidence.

    It will take some time to analyze your log file, so please give me until Monday.
  • thanks for the insightfull information and i hope the logs will reveal the 04 -> 05 & step current issues

    T

  • Hi dmax,

    any word on analyzing the log file to determine the proper setting to get a uniform taper current (rather than step changes)?

    T

  • Hi dMax,

    any word on analyzing the log file to determine why the taper current is stepping rather than a smooth tapper??

    T.

  • Hi Tom,
    You can change Update Status to 00 manually in the dataflash, then reset the gauge. The bits should clear. Then send the IT_ENABLE command and one bit should set and Update Status will be 04. Then reset again, discharge to empty and relax until RDIS clears. Then charge to full and rest until Update Status goes to 05. Then discharge to empty and rest again until Update Status becomes 06.
    I don't have a good explanation for the current steps other than the discrete levels of the integrated charger.