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.

bq27520evm FC bit not set

Other Parts Discussed in Thread: BQ27520EVM, BQEVSW, BQSTUDIO, BQ27520-G4

Hi,

We are trying to perform battery learning cycles with the BQ27520EVM. we are using the BQ27520EVM for the battery charging purpose. We are perform learning cycles on a single cell based on panasonic NCR18650B.

I am using the bqeazy tool for that. And refering to sluua426.pdf for steps.

During the learning cycle as mentioned in flow chart on page 15, I am stuck in step 5A-5B.

Even if i charge my battery for 4 hours after reaching 96% (4.12X Volt), the FC bit isnt set.

Please help me understand what can be the issue?

Thanks and Regards,
Anand Mistry


Here is the screen shot of Data RAM and Data flash

  • What's your charging current at the 4 hour mark? Is it below 100mA?

  • yes. it is below 100mA

  • Anand,

    taper current should be greater than chg and dsg current thresholds which in turn should be greater than quit current. the taper current programmed in df of the gauge should be greater than taper current of your charger to allow fc bit to get set. for example

    if your design capacity for example is 4000mAH. set quit current in df to be less than 200mA. Then set dsg current threshold to be 270mA, set your chg current threshold to be 240mA, and your taper current to be 300mA. Set the taper current of your charger to be 250mA. you can keep the taper voltage as the default. Set fc set to -1 so charge termination occurs based on taper current and voltage.

    This should fix your problem.

    thanks
    Onyx
  • Hi Onyx,

    We've configured the Guage and Charger as per your recommendations. Though we've adjusted values since we are using 3400mAH battery.

    We got the FC bit to be set successfully. But it gets cleared after about 40 minutes during the relaxation period. Due to this we are unable to move further with the learning cycle.

    Please help us find out what can be the issue.

    Please find attaches the logs, gg file and the charger config snapshot.


    Thanks and Regards,

    26aug_cycle.gg.txt
    [Header]
    bq EVSW Version = 0.9.92	
    DeviceName = bq27520G4 v3.29
    Time = 8/26/2016 2:25:14 PM	
    
    
    [Safety(Configuration)]
    OT Chg = 55.0
    OT Chg Time = 2
    OT Chg Recovery = 50.0
    OT Dsg = 60.0
    OT Dsg Time = 2
    OT Dsg Recovery = 55.0
    [Charge Inhibit Cfg(Configuration)]
    Chg Inhibit Temp Low = 0.0
    Chg Inhibit Temp High = 45.0
    Temp Hys = 10.0
    [Charge(Configuration)]
    Charging Voltage = 4200
    Delta Temp = 5.0
    Suspend Low Temp = -5.0
    Suspend High Temp = 55.0
    [Charge Termination(Configuration)]
    Taper Current = 245
    Taper Voltage = 100
    TCA Set % = 99
    TCA Clear % = 95
    FC Set % = -1
    FC Clear % = 98
    DODatEOC Delta T = 5.0
    [Data(Configuration)]
    Initial Standby = -10
    CC Threshold = 3060
    Design Capacity = 3400
    Des Energy Scale = 1
    SOH LoadI = -400
    Default Temperature = 25.0
    Device Name = bq27520
    Data Flash Version = 0000
    [Discharge(Configuration)]
    SOC1 Set Threshold = 150
    SOC1 Clear Threshold = 175
    SysDown Set Volt Threshold = 3300
    SysDown Set Volt Time = 2
    SysDown Clear Volt = 3400
    Final Voltage = 3100
    Final Volt Time = 2
    Def Avg I Last Run = -299
    Def Avg P Last Run = -1131
    [Registers(Configuration)]
    Op Config = 0973
    SOC Delta = 1
    i2c Timeout = 4
    DF Wr Ind Wait = 0
    OpConfig B = 52
    OpConfig C = 2C
    OpConfig D = 5E
    OpConfig E = 00
    [Power(Configuration)]
    Flash Update OK Voltage = 2800
    Sleep Current = 10
    Hibernate I = 8
    Hibernate V = 2550
    
    [Manufacturer Info(System Data)]
    Block 0 = 00
    Block 1 = 00
    Block 2 = 00
    Block 3 = 00
    Block 4 = 00
    Block 5 = 00
    Block 6 = 00
    Block 7 = 00
    Block 8 = 00
    Block 9 = 00
    Block 10 = 00
    Block 11 = 00
    Block 12 = 00
    Block 13 = 00
    Block 14 = 00
    Block 15 = 00
    Block 16 = 00
    Block 17 = 00
    Block 18 = 00
    Block 19 = 00
    Block 20 = 00
    Block 21 = 00
    Block 22 = 00
    Block 23 = 00
    Block 24 = 00
    Block 25 = 00
    Block 26 = 00
    Block 27 = 00
    Block 28 = 00
    Block 29 = 00
    Block 30 = 00
    Block 31 = 00
    
    [IT Cfg(Gas Gauging)]
    Load Select = 3
    Load Mode = 1
    Max Res Factor = 15
    Min Res Factor = 7
    Ra Filter = 800
    Fast Qmax Start DOD % = 92
    Fast Qmax End DOD % = 96
    Fast Qm Start V Delta = 125
    Fast Qmax Current Threshold = 4
    Fast Qmax Min Points = 3
    Min % Passed Chg for Qm = 37
    Qmax Filter = 96
    Max % Default Qmax = 110
    Terminate Voltage = 3000
    Term V Delta = 200
    ResRelax Time = 500
    User Rate-mA = 0
    User Rate-m/cW = 0
    Reserve Cap-mAh = 1000
    Reserve Cap-m/cWh = 3700
    Min Delta Voltage = 0
    Max Sim Rate = 1
    Min Sim Rate = 20
    Ra Max Delta = 44
    Qmax Max Delta % = 5
    DeltaV Max dV = 10
    Max Res Scale = 5000
    Min Res Scale = 200
    Fast Scale Start SOC = 10
    [Current Thresholds(Gas Gauging)]
    Dsg Current Threshold = 215
    Chg Current Threshold = 184
    Quit Current = 145
    Dsg Relax Time = 60
    Chg Relax Time = 60
    Quit Relax Time = 1
    Transient Factor Charge = 128
    Transient Factor Discharge = 128
    Max IR Correct = 400
    [State(Gas Gauging)]
    IT Enable = 01
    App Status = 00
    Qmax Cell 0 = 3408
    Cycle Count 0 = 1
    Update Status 0 = 01
    Qmax Cell 1 = 3400
    Cycle Count 1 = 0
    Update Status 1 = 00
    Avg I Last Run = -299
    Avg P Last Run = -1131
    Delta Voltage = 2
    T Rise = 20
    T Time Constant = 1000
    Cell 0 V at Chg Term = 4180
    Cell 1 V at Chg Term = 4200
    
    [OCVa0 Table(OCV Tables)]
    Chem ID = 0100
    Qmax Cell 0 = 1000
    Update Status = 00
    [OCVa1 Table(OCV Tables)]
    Chem ID = 0100
    Qmax Cell 1 = 1000
    Update Status = 00
    
    [Def0 Ra(Default Ra Tables)]
    Def0 Ra status = FF
    Def0 Ra flag = 55
    Def0 Ra Base R = 41
    Def0 Ra Gain = 00
    Def0 Ra 1 = 2
    Def0 Ra 2 = -4
    Def0 Ra 3 = 0
    Def0 Ra 4 = -2
    Def0 Ra 5 = 2
    Def0 Ra 6 = 6
    Def0 Ra 7 = 7
    Def0 Ra 8 = 5
    Def0 Ra 9 = 8
    Def0 Ra 10 = 15
    Def0 Ra 11 = 30
    Def0 Ra 12 = 54
    Def0 Ra 13 = 87
    Def0 Ra 14 = 115
    [Def1 Ra(Default Ra Tables)]
    Def1 Ra status = FF
    Def1 Ra flag = 55
    Def1 Ra Base R = 41
    Def1 Ra Gain = 00
    Def1 Ra 1 = 2
    Def1 Ra 2 = -4
    Def1 Ra 3 = 0
    Def1 Ra 4 = -2
    Def1 Ra 5 = 2
    Def1 Ra 6 = 6
    Def1 Ra 7 = 7
    Def1 Ra 8 = 5
    Def1 Ra 9 = 8
    Def1 Ra 10 = 15
    Def1 Ra 11 = 30
    Def1 Ra 12 = 54
    Def1 Ra 13 = 87
    Def1 Ra 14 = 115
    
    [Pack0 Ra(Ra Tables)]
    Pack0 Ra status = FF
    Pack0 Ra flag = 55
    Pack0 Ra Base R = 41
    Pack0 Ra Gain = 00
    Pack0 Ra 1 = 2
    Pack0 Ra 2 = -4
    Pack0 Ra 3 = 0
    Pack0 Ra 4 = -2
    Pack0 Ra 5 = 2
    Pack0 Ra 6 = 6
    Pack0 Ra 7 = 7
    Pack0 Ra 8 = 5
    Pack0 Ra 9 = 8
    Pack0 Ra 10 = 15
    Pack0 Ra 11 = 30
    Pack0 Ra 12 = 54
    Pack0 Ra 13 = 87
    Pack0 Ra 14 = 115
    [Pack1 Ra(Ra Tables)]
    Pack1 Ra status = FF
    Pack1 Ra flag = 55
    Pack1 Ra Base R = 41
    Pack1 Ra Gain = 00
    Pack1 Ra 1 = 2
    Pack1 Ra 2 = -4
    Pack1 Ra 3 = 0
    Pack1 Ra 4 = -2
    Pack1 Ra 5 = 2
    Pack1 Ra 6 = 6
    Pack1 Ra 7 = 7
    Pack1 Ra 8 = 5
    Pack1 Ra 9 = 8
    Pack1 Ra 10 = 15
    Pack1 Ra 11 = 30
    Pack1 Ra 12 = 54
    Pack1 Ra 13 = 87
    Pack1 Ra 14 = 115
    [Pack0 Rax(Ra Tables)]
    Pack0 Rax status = FF
    Pack0 Rax flag = FF
    Pack0 Rax Base R = 41
    Pack0 Rax Gain = 00
    Pack0 Rax 1 = 2
    Pack0 Rax 2 = -4
    Pack0 Rax 3 = 0
    Pack0 Rax 4 = -2
    Pack0 Rax 5 = 2
    Pack0 Rax 6 = 6
    Pack0 Rax 7 = 7
    Pack0 Rax 8 = 5
    Pack0 Rax 9 = 8
    Pack0 Rax 10 = 15
    Pack0 Rax11 = 30
    Pack0 Rax 12 = 54
    Pack0 Rax 13 = 87
    Pack0 Rax 14 = 115
    [Pack1 Rax(Ra Tables)]
    Pack1 Rax status = FF
    Pack1 Rax flag = FF
    Pack1 Rax Base R = 41
    Pack1 Rax Gain = 00
    Pack1 Rax 1 = 2
    Pack1 Rax 2 = -4
    Pack1 Rax 3 = 0
    Pack1 Rax 4 = -2
    Pack1 Rax 5 = 2
    Pack1 Rax 6 = 6
    Pack1 Rax 7 = 7
    Pack1 Rax 8 = 5
    Pack1 Rax 9 = 8
    Pack1 Rax 10 = 15
    Pack1 Rax 11 = 30
    Pack1 Rax 12 = 54
    Pack1 Rax 13 = 87
    Pack1 Rax 14 = 115
    
    [Data(Calibration)]
    CC Gain = 10.316
    CC Delta = 10.296
    CC Offset = -7.104
    Board Offset = 0
    Int Temp Offset = 0.0
    Ext Temp Offset = 2.2
    Pack V Offset = -10
    [Temp Model(Calibration)]
    Ext a Coef 1 = -11130
    Ext a Coef 2 = 19142
    Ext a Coef 3 = -19262
    Ext a Coef 4 = 2820.3
    Ext a Coef 5 = 89.2
    Ext b Coef 1 = 328
    Ext b Coef 2 = -605
    Ext b Coef 3 = -2443
    Ext b Coef 4 = 469.6
    [Current(Calibration)]
    Deadband = 3
    
    [Codes(Security)]
    Sealed to Unsealed = 36720414
    Unsealed to Full = FFFFFFFF
    
    bat_log7.logAnand Mistry

  • FC flag gets clear when the battery SOC goes below what you set your FC clear% to. IF your FC flag gets set and clears, don't worry. The most important thing is that it got set and a DOD@EOC was taken. Just continue with the learning cycle process.
    thanks
    Onyx
  • hi onyx,

    We understand that the capturing of DOD@EOC by the device is the only important thing. But the bqEASY software wasn't allowing us to proceed further since the FC bit was cleared during the relaxation.

    Anyways, we've kinda solved that issued by charging the battery again for a few minutes, causing the FC bit to be set again, and waiting 2 Hrs relaxation.

    However we did notice that the VOK bit didnt get cleared during 2Hrs relaxation.

    we continued with the learning cycle and got the battery discharged to the empty.

    Now we are unable to create the DFI file. It complains that the UpdateStatus is not set equal to 2.

    Please see the attached image and log file to get further information.


    bat_log7_file.log.zip

  • hi Anand,

    Your disruption of the process is likely what caused learning to be unsuccessful. I suggest manually carrying out learning according to the attached app note instead of trying to use bqeasy to do it.

    8637.LearningCycleOverview_.pdf

    thanks

    Onyx

  • hi onyx,

    we've read the document "Learning Cycle Procedure" you've sent us to know how to perform the learning cycle manually.

    But we cound'nt find the information regarding how to generate the DFI file after performing manual learning cycle.

    Please tell how can we create the DFI manually?


    Meanwhile, we've again started the learning cycle procedure using bqEASY. We've successfully completed the charging-to-full step. The VOK bit is also cleared and Qmax value is also updated. However the Update_status register is updated with value 0x02. while documents suggests it should be 0x01.

    Please suggest if we can continue with this cycle.

    Please find attached gg and log files.

    Thanks and Regards,
    Anand Mistry

    31Aug.zip

  • Hi Anand,

    Congrats, your learning cycle completed. 02 is the final value you need in update status which indicates learning was successful.  Update status goes from 00 to 01, indicating, qmax updated, then 02 indicating resistance table has updated and learning was successful. You can now extract a dfi file.

    If you do learning cycle manually, you can go to bqeasy, on the last page, .i.e page 5 which is "cycle" click the save DFI  and Reset button to create a dfi file.

    These days most customers use flashstream format files.i.e bq.fs and df.fs for programming multiple devices. To extract a flashstream file you will need bqstudio which is our newer  GUI and not bqevsw.

    Let me know if you have further questions.

    thanks

    Onyx

  • Hi Onyx,

    Just a few doubts. As per our understanding, the learning cycle consists of following steps.

    step1: discharge-to-empty
    step2: relaxation
    step3: charge-to-full
    step4: relaxation
    step5: discharge-to-empty
    step6: relaxation
    step7: DFI generation

    Now, in step 4 Update_status is expected to change from 0x00 to 0x01. But we are directly getting 0x02 which we were expecting in step6. we are still in step4.

    It seems probably the guage has considered our previous attempts. May be we did'nt reset the algorithm properly.

    Should we move to the next step?

    How to properly reset the algorithm to start again?

    Thanks and Regards,

    Anand Mistry

  • hi Anand,

    Yes the gauge would have considered your previous attempts as long as you didn't reflash the gauge with the default firmware.

    Move to the next step which is dfi generation, no need to restart the algorithm. Note that you can also create flash stream (gmfs and dmfs) files using bqstudio. Those are the preferred files used by most customers for production.

    If you would like to restart the process just  because you want to, you should reprogram the device with the default firmware and then start the process again.

    thanks

    Onyx

  • Hi Onyx,

    Thanks for the reply.

    I got the following error in during DFI generation. Though it still generated the file.

    "Error: Could not find subclass and offset for Gas Gauging.State.Cell 0 Chg dod at EoC"

    I don't know if I this means a failed cycle or not. Can you please clear my doubt?

    I also tried to create the Golden file using bqStudio, they got generated without any error.

    Also I am unable to find the default dfi image for my guage (bq27520-g4). Can you please send it me the link?

    How can i check if the DFI works properly or not? I tried programming the DFI using bqEASY setup page, it reset the battery level to 0 even if my battery was around 30%.

    Thanks and Regards,
    Anand Mistry

  • Hi Onyx,

    Can you please help me with this.

    We've sealed the guage. But are unable to unseal it. We sealed it using the SEALED button in the bqstudio software.

    On Pressing UNSEAL button, the SS bit is cleared.
    But, on pressing UNSEAL FULL ACCESS button, FAS bit isnt cleared. Instead it is asking for a Key. We've tried entering FFFFFFFF. But the device isnt getting unsealed.

    Please help us get this device unsealed.

    Thanks and Regards,

    Anand Mistry

  • if the FAS default isn't working then you must have changed it. You need to put in what ever value you changed it to otherwise the default should work if it want changed

    thanks
    Onyx
  • Hi Onyx,

    We haven't changed the defaults.

    We were using bqStudio and Guagestudio SEALED, IT_ENABLE, RESET, UNSEALED and UNSEAL_FULL_ACCESS buttons.

    Can you please tell us, what are the default values these software put?

    And How can we get the full access?

    Thanks and Regards,

    Anand Mistry

  • hi Anand.
    To check that DFI works, cycle the battery and check for accuracy of the gauge. Remember you need to enable IT for the algorithm to be active.

    That error does not mean the learning wasn't successful.

    Default firmware for the gauge is in the link below, you will need bqEVSW to program it:
    www.ti.com/.../sluc411

    As long as update status is 02, it means learning completed successfully.

    thanks
    Onyx
  • There is no point starting again. If you however want to start again i have sent you the link to the default firmware.

    I have to emphasize that you do not have to observe update status going to 01. What you need is update status of 02.