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.

BQ27510EVM: Learning cycle fails (update status always 0)

Part Number: BQ27510EVM
Other Parts Discussed in Thread: BQ27510, BQ27510-G3

Hi All,

I try to initiate the learning cycle using bq27510-EVM and followed the steps in doc SLUA903. but the update status in Data memory was 0 all the time. 

I followed these steps:

  1. enter the algorithm parameter (charge current threshold, discharge current threshold, quit current threshold, charge relax time, discharge relax time, quit relax time, Qmax cell 0 and Chim id)
  2. start discharging the battery to empty (VOK bit set at beginning of charging)
  3. send IT_Enable command
  4. relax until VOK bit and RUP_DIS cleared 
  5. start charging the battery (FC bit set at the end of charging)
  6. relax until VOK bit cleared 
  7. start discharging the battery to empty (cycle count updated from 0 to 1)

Learn - Copy.log

  • Hello Khaled,

    Please follow all the instructions in the document. For example

    3.2.1 Discharge Battery to Empty - There is a note to check that Update status =04 before you proceed. Note: The sequence of steps is important.

  • according to the document  I have to send IT_ENABLE then RESET but actually after sending RESET the ic is sealed and data memory is sealed so I can't verify that update status value = 0x04.

    I re-discharge the battery to empty and wait for 5 hours to relax but again update status = 0

  • Hello Khaled,

    Once bq27510 is sealed, it will go back to that state on reset. I recommend that you start by programming the default firmware image. This will give you a starting point with an unsealed bq27510. You will need to unseal first to be able to program, or you can use a fresh device instead.

  • Dear Shirish,

    I am working with Khalid in completing the learning cycle for a battery, and the problem we faced now is that the update status is always 0,

    while all the other flags, eg [VOK] are changing as stated in the instruction document.

    so let me recap what happened with us 

    – Discharge the cell to empty and let them relax for at least 5 hours

    The battery is discharged and relaxed for the desired time, first question here is, are there any constraints about the battery charging at this point? I mean shall the battery be fully charged and then let it be empty or it doesn't matter?

    – Enable Impedance Track (0x21), and issue a reset command (0x41). Update Status changes from 00 to 04

    I have two questions here :

    First, should we wait some time between enabling and resetting? or wait for it to change or this is done immediately?

    Second, After the issuance of the reset command, the IC becomes sealed, and accordingly, the data memory becomes sealed, so how can I check that the update status is changed? is there any way to check its change?

    we tried to enable the impedance track without the issuance of the reset command, but the update status remains at zero.

    – Charge the cell to full ensuring that the [FC] bit gets set and let it relax for at least two hours. Qmax
    updates at this point and Update Status goes to 05.

    we charged the battery, [FC] bit had set, and then let it relax, Qmax has been updated but the update status remains at 0.

    Kindly check the image below, it shows the data memory mab after performing the relaxation phase.

    https://gcdnb.pbrd.co/images/RB8JEJtFW8yU.png?o=1

    it seems that there is a problem from the beginning of the cycle, but we couldn't get it.

    waiting for your reply.

  • Hello Ahmed,

    bq27510 is a system side gauge. The update status behavior is different from what you are expecting.

    For example it says in the document that you referenced

    . For a system-side gauge, the update statuses are different due to differences in firmware. Update status starts at 00, prior to initially discharging the cell to empty and relaxing. After charging and relaxing and Qmax updating, update status will be 01. After the discharge and relaxing and resistance updates have occurred, update status will be 02.

    I think the document at https://www.ti.com/lit/an/slua544/slua544.pdf has a good overview of the process.

    Firstly make sure that you program the default firmware to the device. Firmware that seals on reset is not suited for learning cycle.

    Secondly make sure to send IT enable and reset before discharging. Then following the sequence with appropriate rests will yield proper results. Let the cell relax for a longer time than specified to be on the safe side.

  • Dear Shirish,

    I try another firmware 0x400 and try to send the RESET command, VOK bit clear, and R_DIS bit set while Data Memory is unsealed. 

    according to the document you mentioned I have to follow those steps:

    1. discharge the battery to empty
    2. relax for 5 hours
    3. send IT_ENABLE command
    4. start charging 
    5. relax for 2 hr (update status change from 0 to 1)
    6. start discharging 
    7. relax for 5 hr (update status change from 1 to 2)
    8. generate gold image

    the document doesn't mention the REST command after the IT_ENABLE command as you mention in the replay, while according to the document I mentioned before I have to follow those steps:

    1. Send IT_ENABLE command then RESET command
    2. discharge the battery to empty
    3. relax for 5 hours
    4. start charging 
    5. relax for 2 hr
    6. start discharging 
    7. relax for 5 hr
    8. generate gold image

    I realized from both documents and trails that I have to follow those steps:

    1. Send IT_ENABLE command to enable impedance track algorithm. Result: VOK bit high, QEN bit high, R_DIS bit low, update status 00.
    2. Send RESET command to disable update Ra Tables values and prevent ic from measuring OCV in relaxation or update QMAX value during this discharge because the battery wasn't fully charged. Result: VOK bit low, QEN bit high, R_DIS bit high, update status 00
    3. discharge the battery to termination voltage. Result: VOK bit low, QEN bit high, R_DIS bit low, update status 00
    4. relax for 5 hours
    5. start charging to current equal or below C/100. Result: VOK bit high, QEN bit high, R_DIS bit low, update status 00. 
    6. relax for 2 hr to measure OCV and update QMAX. Result: VOK bit low, QEN bit high, R_DIS bit low, update status 01. 
    7. start discharging with a rate between CM5 and C/10 to update Ra Tables. Result: VOK bit high, QEN bit high, R_DIS bit low, update status 01
    8. relax for 5 hr to measure the second OCV and update QMAX. Result: VOK bit low, QEN bit high, R_DIS bit low, update status 02. 
    9. generate gold image

    Can you confirm whether what I realized is ok or not?

  • Hello Khaled,

    I do not see where you are finding the different steps mentioned.

    The last summary of steps is the correct sequence of steps.

  • Dear Shirish,

    the different between first and second sequence is the RESET command.

    I followed the last sequence but the update status still 00 and QMAX didn't update in step 6. Is that because RESET command?

  • Hello Khaled,

    Did you get the bits to flip correctly from step 1 to 5?

  • Dear Shirish,

    yes, the bits flipped correctly

  • Hello Khaled,

    If the bits were set, then update status will change. Did you check both Update Status 0 and Update Status 1?

  • Hello Shirish,

    yes, I checked the Update Status before and after the VOK bit flipped from HIGH to LOW during relaxing time after charging the battery 

    LearnCycle2.log255LearnDataMemory.gg.csv256LearnDataMemory.gg.csv

  • Hello Khaled,

    The log only shows the rest+charge portion. The charge current did not taper below C/100, therefore learning cannot complete.

    Did steps 1 to 3 result in correct bits being set/reset?

  • Hello Shirish,

    I followed those steps:

    1. Disable IT QEN bit and the VOK bit LOW
    2. Send command RESET RUP_DIS bit HIGH
    3. Discharge the battery to empty
    4. Relax for 5 hours (RUP_DIS bit flipped to LOW at the end of the 5 hours)
    5. Enable-IT QEN bit and VOK bit HIGH, IT Enable in Data Memory 01
    6. Charge the battery till the current becomes Below C/100 and VOK bit flipped to LOW and update status 01 and QMAX  value updated immediately 
    7. Relax for 2 hours
    8. Discharging the battery to empty VOK bit flipped to HIGH
    9. Relax for 5 hours the RUP_DIS bit and the VOK bit flipped to  low

    NOTE: during the second discharge step 8 the RUP_DIS bit flipped to HIGH suddenly but I continue to discharge the battery to empty(voltage drop below termination voltage 3000mv), is that right, or I should stop the discharge at this point?

    I have many questions:

    1. why did the VOK bit flip to low at the end of charging immediately when the current was below C/100? 
    2. in case the VOK bit flipped to low at the end of charging like what occurred, am I have to wait 2 hours for relaxation too, or start discharging without waiting?
    3. during the second discharge, the RUP_DIS bit flipped to high suddenly why did that occur?
    4. why do the update status and Qmax didn't change after the second discharge?

    4478.Log.log1DataMemory.gg.csv68DataMemory.gg.csv69DataMemory.gg.csv220DataMemory.gg.csv221DataMemory.gg.csv247DataMemory.gg.csv248DataMemory.gg.csv405DataMemory.gg.csv

  • Hello Khaled,

    Step 1 contradicts the instructions in the document. Update Status cannot change unless IT is enabled.

  • Hello Shirish, 

    First for contradicts the instruction in the document:

    • it is not, according to the document you mentioned before "The cell is discharged to empty first and relaxed before starting the learning cycle" and figure 4 in the same document show first discharge the battery and relax for 5 hours, and then IT-Enable, and document I mentioned before "HOW to achieve successful learning cycle" second point in 3.2.1 mention the same nearly.
    • in this scenario, the update status is updated after charging the battery to full but when I followed the other scenario (IT-Enable then RESET)didn't work and the update status didn't update.

    second, for update status cannot change unless IT is enabled:

    • after the first discharge and 5 hours of relaxation, the IT is enabled and then starts charging the battery, so after ending the charge the update status changed to 01.
    • the issue is after discharge the update status didn't change to 02.

    what is your recommendation to follow in this situation to achieve the learning cycle?

     

  • Hello Khaled,

    Check if the discharge rate was >C/10. It should be close to C/5 ideally.

  • Hello Shirish, 

    according to the log, I mentioned the battery discharge from 13:54 to 22:09 (nearly 8 hours).

    you can check that in the log, and there are some other questions.

  • Hello Shirish, 

    in this  log, I follow the steps you recommended:

    IT-Enable then RESET (QEN and RUP_DIS HIGH, VOK LOW)

    discharge the battery to empty

    relax for 5 hours (QEN HIGH, VOK and RUP_DIS LOW)

    charge the battery (QEN and VOK HIGH, RUP_DIS LOW)

    when the current equal C/100 VOK flipped to LOW but the update status and QMAX didn't update

    so I guess the steps that I followed -when the update status changed to 01 at the end of charging- are ok to start the learning cycle but there is a missing condition in discharge to end it, could you help me with that?

    Learn2.log

  • Hello Khaled,

    2 observations that can cause issues

    1. Discharge to empty step. This should discharge at a smaller rate so that you can get true capacity. At >1A on this battery there is still capacity left if discharged at lower rate.

    2. Need to use CC/CV method for charging lithium ion batteries

    Current graph here for reference

  • Dear Shirish, 

    We found something during one of our attempts to perform the learning cycle to the battery.

    RUP_DIS became HIGH during the discharging phase, but the voltage of the battery was 3.320V and the average current was approximate -680mA.

    My question is, Should we wait for the battery to discharge more till reaches its cutoff voltage, or we can start the relaxing phase now?

    Taking into consideration that the cut-off voltage of the battery is 3.0V.

  • Hello Ahmed,

    Continue to discharge the battery till it reaches cutoff. During learning, the charge and discharge should never be interrupted. The relax times can be made longer to wait for bits to flip.

  • Hello Shirish

    I use those configuration:

    Qmax 4000mA

    Charging current threashold 80ma and time 1800 sec

    Dishcharging current threashold 80mA and time 60 sec

    Quit currentv40mA and time 1 sec

    Load mode 1

    Load select 1

    Terminashion volt 3200 mv

    Term v delta 200 mv

    Charging volt 4200mv

    Taper current 150 ma

    Taper volt 200 mv

    Tca set 99

    Tca clear 95

    Fc set 100

    Fc clear 98

    Cc threashold 3800

    Design capacity 4000

    Soc1 set 10

    Soc1 clear 12

    Sys down set volt 3150

    Sys down set volt time 2

    Sys down clear voltv 3400

    Opconfig 0914

    and i followed those steps:

    1. Qen clear vok clear rup_dis clear
    2. Send it enable command qen set vok set
    3. Send reset command vok clear rup_dis set
    4. Dishcharg the battery to empty untill battery cut off voltage 3000mv
    5. Relax rup_dis clear
    6. Charge the battery vok set
    7. Realx vok clear and update status 01 and qmax updated
    8. Discharge the battery vok set
    9. When volt 3300 rup_dis set
    10. When battery volt drop below 30000 (battery cut off) stop discharging
    11. Relax vok clear

    Update status does not update aftersecond discharge

    I discharge the battery with rate just below c/5

    What is the problem? 

  • Hello Khaled,

    Are both "Update Status 0" and "Update Status 1" zero?

  • Hello Shirish

     Update status0 =01 and update status1 =00

    The battery has one cell so i entered qmax0 4000 and qmax1 0000

  • Please attach the discharge log for analysis

  • Hello Shirish,

    I attached another log for another trail update status changed from 00 (DataMemory145) to 02(DataMemory146) directly relax phase after charging the battery and after  discharge update status remain 02

    8640.Log.log                                               7065.DataMemory.rar

  • Hello Khaled,

    Since bq27510-G3 is a system side gauge, you have completed learning when Update status = 0x02

    There are jumps in load in both logs, this can sometimes result in failure to learn. I will also recommend that you use a good charger because this looks more like a power supply for charging. Graphs for current from the logs