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.

BQ34Z100-G1: Learning Cycle and the Restart Procedure For PbA Lead Acid

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: BQSTUDIO, BQ34Z100

Hello,

How do I create a restore point for the device and bqSTUDIO prior to learning and how do I return back to this point if needed?

This thread is for LFP.  What is different for PbA?

The thread also offers some advice for a good start on the learning cycle.
It refers to the TRM, presumably SLUUBW5A, after saying:

The basic idea for the first step is to get RUP_DIS = 1 without being able to toggle IT more than once, which isn't relevant to this gauge.

Yet the TRM never shows RUP_DIS=1.

bq34z100-G1 TRM sluubw5a 59.pdf


What corrections if any are needed?

Sincerely,

Rom

  • Hello Rom,

    The learning cycle procedure is independent from cell chemistries. It's pretty much the same procedure for all cells.

    For parameters configurations, every cell chemistry has different terminate voltage, design capacity, design voltage. These parameters you find in the cell manufacturer datasheet. There are other parameters in the data flash tab that should be tuned after completion of learning cycle (like the taper current, etc). I would start with recommended taper current of C/20. I would also relax for at least 5 hours after charging/discharging when doing the learning cycle.

    Learning cycles are done for the gauge to learn the new Ra table, and to update Qmax. These learned parameters will ensure an accurate gauge. I am assuming you have already found a good match of your cell chemistry with the ones we have in our database.

    Yet the TRM never shows RUP_DIS=1.

    RUP_DIS = 1 will indicate Ra table updates are disabled. You will want this bit to always be zero during a learning cycle for updates in Ra table and Qmax.

    Regards,
    Jose Couso

  • Hello Jose,

    The confusion is that it depends on the starting method for learning as described in 3.2.1 of SLUA903.

    RUP_DIS must be set if IT is enabled during the first discharge where Ra updates should not occur.
    This would be the case following a failed learning cycle, right?

    However, the alternative method, consistent with your view, is to make sure IT is disabled prior to the first discharge.
    Then Figure 11-2 in the TRM, inserted earlier in this thread, is omitting the critical condition that should include IT Enable=0 in the top box, right?

    Since this will not be the case when learning fails, how do I create a restore point for the device and bqSTUDIO prior to learning (the top box in figure 11-2) and how do I return back to this point if needed?

    In other words, what is the procedure for starting over from a failed learning cycle? 
    It would be very helpful to depict it in Figure 11-2.

    Regards,

    Rom

  • Hello Rom,

    There's no such starting point for failed learning cycles, you would have to re-start the process again.

    I know the wording might be confusing in section 3.2.1, but here's what I would do.

    In the first discharge, it does not really matter if IT is enabled or not, this is just a step to fully discharge the battery to empty (I would set IT that way I do not have to send a command before charging). You can set RUP_DIS during the first discharge, but you need to make sure it gets cleared during relaxation (typically after 5 hours it gets cleared). 

    Please let me know should you have more questions.

    Regards,
    Jose Couso

  • Hello Jose,

    Thank you for your prompt reply.

    Restart from what point?
    Programming the firmware?
    Can't I generate a .srec file for a pre-learning restore point?

    The Learning procedure for PbA documented here:
    https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/733183/faq-bq34z100-g1-how-do-i-set-up-the-bq34z100-g1-for-gauging-with-lead-acid-pba

    calls for sending  IT_ENABLE followed by RESET(0x0041) prior to charging.
    This differs from the procedure in the TRM.

    I find that the RESET sets RUB_DIS=1.
    You said it must be cleared for relaxation.
    Is that because RUB_DIS=1 disables OCV readings as well as Ra?

    Regards,

    Rom

  • Hello Rom,

    Restart from what point?
    Programming the firmware?
    Can't I generate a .srec file for a pre-learning restore point?

    There's a misunderstanding here. I meant to do the learning cycle all over again from step one (if you are new to batteries it is recommended this way).

    There might be workaround for when learning cycle fails (to save time). For instance, if Qmax update fail, you can try again on the next charge or discharge.
    If the Ra update fails, you have to try again on a discharge only as Ra tables only get updated while discharging (RUP_DIS = 0 here).

    I find that the RESET sets RUB_DIS=1.
    You said it must be cleared for relaxation.
    Is that because RUB_DIS=1 disables OCV readings as well as Ra?

    It'll clear in relaxation after the gauge has found a good relaxation point and an OCV measurement has been taken (about 5 hours, could be less).

    RUP_DIS only prevents Ra from updating when set.

    Regards,
    Jose Couso 

  • Hello Jose,

    I meant to do the learning cycle all over again from step one

    My learning cycle failed because FC never was never set.
    Figure 11-2 of the TRM posted earlier defines the Learning Cycle Process in a flow chart.
    Please define the return flow path for a FC=1 failure, to get the software and the gauge back to square one.
    i.e. a return flow path indicating required user actions( i.e. reprogramming the firmware, the ChemID, control commands... etc), the update status states and the flag states.

    You can set RUP_DIS during the first discharge, but you need to make sure it gets cleared during relaxation (typically after 5 hours it gets cleared). 

    If RUB_DIS will clear on relaxation, why did you suggest it shouldn't be clear to begin with?

    Regards,

    Rom

  • Hello Rom,

    Please define the return flow path for a FC=1 failure
    We do not provide return paths for gauge failures. 

    FC is set when charge termination is reached and FC Set% = –1 (see Section 3.7 for details) or StateOfCharge() is larger than FC Set% and FC Set% is not –1. True when set.

    Did you specify the charging voltage in gauge? Please provide more information of your design (How many cells are you using? what's your design voltage?, etc), and provide the gg file (configuration file). 

    As for the RUP_DIS, we suggest customers to set them only in the first discharge as it will prevent from updating the Ra table because the gauge will use the first discharge to update Qmax after a good relaxation has occurred in the rest period. 

    Regards,
    Jose Couso

  • Hello Jose,

    How far back are you suggesting when starting over?
    A clean install of BQSTUDIO & Firmware?
    Reprogramming the device with bq34z100_G1_v0_16_build_17.srec?
    Reading and writing the gg file prepared for learning?
    Data Reset?
    Clearing Learning Status?
    Setting/Clearing Flags?

    Thanks, but I'm asking for help about the failure in another thread.

    Regards,
    Rom

  • Hello Rom,

    You can reset the gauge by sending the RESET command, then start learning cycle all over.



    Regards,
    Jose Couso

  • Hello Jose,

    What does it mean when the Transaction Log Result of sending RESET is N/A?
    bqSTUDIO has a lot of issues, so I'd like to check everything that the RESET() is supposed to act on.
    Can you tell me exactly what to check to confirm it worked properly?

    Regards,

    Rom

  • Hello Rom,

    When RESET 0x41 command is executed, it forces a full reset on the gauge. This is only available if the gauge is Unsealed. So if using bqStudio, send an UNSEALED command first.

    A full reset will basically wiped all data and update all sbs parameters.

    Regards,
    Jose Couso

  • Hello Jose,

    How can that be true when many Learning Procedures call for RESET 0x41 after sending IT_ENABLE?


    What does it mean when the Transaction Log Result of sending RESET is N/A?


    bqSTUDIO has a lot of issues, so I'd like to check everything that the RESET() is supposed to act on.
    Can you tell me exactly what to check to confirm it worked properly?

    Regards,

    Rom

  • Hello Rom,

    A full reset will:
    - check for failures
    - initialize all sbs values
    - it'll keep same load mode/select. If not autodetected, it will assume LOAD_CONSTANT_CURRENT = 0 and LOAD_CONSTANT_POWER = 1
    - it'll copy Flash data into RAM
    - it'll read voltage sensed from battery pack
    - it'll refresh Battery Capacity, Cycle Capacity, SelfDischarge 
    - it'll do a voltage and temperature calibration
    - it'll keep track of number of resets

    The above is what the gauge executes when a full reset command is executed. There is not specific check flag that tells you a reset happened. 

    You can either do a POR or RESET.

     What does it mean when the Transaction Log Result of sending RESET is N/A?

    I am not following, can you elaborate? Make sure the gauge is UNSEALED first. I just tried resetting the bq34z100 and nothing was displayed.

    Regards,
    Jose Couso

  • Hello Jose,

    Thank you for elaborating on the full reset function.
    It is very helpful.

    Here is a screen shot of the bqSTUDIO Log Panel which shows Command results.

    What does it mean if the Result/Read Addr is N/A?

    Regards,
    Rom

  • Hello Rom,

    This is normal, please see below



    Regards,
    Jose Couso


  • Thank you for the confirmation Jose.
    I'll close this thread.
    Regards,

    Rom