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: BQ34Z100-G1

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: BQ34Z100, GPCRA0, BQ34110, BQ34110EVM-796, BQSTUDIO

I have a concept question about the BQ34Z100-G1 based on impedance track and use on NiMH battery.

If I have well understood, the BQ34Z100-G1 is based on OCV curve with impedance compensation to determine the state of charge of the battery.

I understand this work well on Li-Ion battery because the OCV curve versus SOC is independant from temperature and quite independant the fact the battery was charged or discharged before the OCV measurement.

But in Alcaline battery like NiMH, the OCV curve is very dependant from temperature and very dependant the fact the battery was charged or discharged before the OCV measurement.

See attached a curve that gives OCV versus SOC after charge and discharge.

OCV of NiMH batteries versus SOC after charge or discharge.zip

Could you explain how BQ34Z100-G1 can be accurate on NiMH battery?

The reason for this question is:

When I connect a BQ34Z100-G1 board on a Li-Ion battery, I have immediately a good SOC estimation.

But when I connect a BQ34Z100-G1 board on a NiMH battery, I have a false SOC estimation (for example SOC = 82% on an empty battery), I need to discharge again to battery until EDV to have SOC at 0%.

Thanks for your help

Best regards

Serge Maloizel

  • Hello Serge,

    Have you programmed the correct CHEM_ID for your particular NiMH battery, followed by a learning cycle for proper Qmax/resistance table updates?

    Also, the default Charge Configuration values for the bq34z100 are for Li-Ion batteries, so even if your CHEM_ID match is correct and programmed, you will still
    need to program additional registers based on the chemistry-type selected (NiMH). 

    See pages 51-52 of the datasheet, section 8.2.3 Battery Chemistry Configuration and 8.2.3.1 Battery Chemistry Charge Termination for the
    required register configuration options for NiMH batteries. www.ti.com/.../bq34z100-g1.pdf

    Hope this help,

    Nabil

  • Hello Nabil,

    I tried to do a learning cycle but i am not sure it is good.

    Because at end of this learning cycle, I put the battery in charge and after some seconds, the SOC goes to 74%.

    Find attached the learning file for comments.

    Learning_cycle_05042017.zip

    Best regards

    Serge Maloizel

  • Hi Serge,

    Have you programmed the correct Chem_ID, or a close enough match before performing the learning cycle ?
  • Hi Nabil,

    Yes, we programmed our cell VHT-D-6AH = 6113

    You have not answer my question about OCV and impedance track and NiMH battery where there is no link between Voltage and State of charge.

    Best regards

    Serge Maloizel

  • Hi Serge,

    The impedance tracking algorithm applies to both Lithium-Ion and NiMH batteries, it's just that there's a tweak in the configuration for the NiMH for proper gauging.

    As for the picture you posted showing the OCV curves for NiMH; The "1-Hr OCV data after 1C Charge/Discharge" data plot is NOT an OCV measurement AFTER the charging/discharging was done, it's a plot DURING the charging/discharging at 1C, as described by the equation:

    Vo = OCV - IR, where OCV is the average black curve in the middle.

    In the charging case, the current I is conventionally negative, so Vo = OCV - (-I)R

    and in the discharging case, the current I is conventionally positive, so Vo = OCV - (+I)R

    So impedance compensation is involved in either case, Li-Ion or NiMH.

    Hope this clears things up.
  • Hi Nabil,

    please see complete document attached that explains difference of OCV after charge and OCV after discharge on NiMH batteries

    SOC Estimation based on OCV for NiMH.zip

    Thanks for your comments about this document

    Best Regards

    Serge Maloizel

  • Hi Nabil,

    I did a new cycle: Charge, Discharge and Charge.

    See attached file.

    Test_ BQ34Z100_NiMH_20042017.zip

    On the graph, you can see big SOC jump at end of discharge and beginning of charge.

    Thanks to help us to understand why it doesn't operate properly.

    Best Regards

    Serge Maloizel

  • Hi Serge, 

    Could you send us your .gg file so that we may see what parameters you have ? Based on that, we can try to conclude as to why this SOC jump is taking place. 

  • Hi Nabil,

    Find attached .gg file

    Bq34Z00_NiMH.gg.csv.zip

    Best regards

    Serge Maloizel

  • Hi Serge,

    It seems like your Ra Table hasn't been updated, meaning something didn't go right during the learning cycle. (Assuming you have a good CHEM_ID match). An updated Ra Table should have one Ra Flag set as 0055 and the other 0000, this would indicate an Ra table updated and a successful optimization cycle.

    Please review this document carefully and make sure you're following all the necessary steps in performing the learning cycle:

    www.ti.com/.../slua597.pdf
  • Hi Nabil,

    It seems the learning cycle does not want to work on my battery.

    After first discharge and rest for >5 hours , when I send IT_ENABLE command, UPDATE_STATUS stays at 06 and does not become 00 or 04, RUP_DIS = 0, VOK = 0 and QEN = 1.

    Then after charge, FC = 1, SOC = 100% but UPDATE_STATUS does not go to 01 or 05.

    May be some parameters in gg file are not OK for NiMH battery, and this is the reason why learning cycle canot be OK. Could you check on file I sent you?

    Thanks

    Best regards

    Serge Maloizel

  • Hi Serge,

    Could it be that you didn't set the [NiDT] and/or [NiDV] bits to switch the charge termination criteria suitable for NiMH/NiCd ?

    Did your Ra tables update ?
  • Hi Nabil,

    Ra table seems not update because Ra flag from Ra0 table stays at 0555 and Ra flag from Ra0x table stays at ffff

    DT seems working well because FC is set to 1 at end of charge and SOC is set top 100%.

    Waiting for your help.

    Best regards

    Serge Maloizel

  • Hi Serge, 

    What is your discharge current for your learning cycle ? If your discharge current is too light or your load is too weak, the Ra tables will not update during discharge because the gauge needs to see a large enough voltage drop across the internal battery impedance in order to obtain the impedance. You need to make sure your discharge current is greater than the "DSG Threshold" in data flash. 

    Read the section, "What Can Go Wrong, How to Diagnose Problems, and How to Solve Problems" in http://www.ti.com/lit/an/slua597/slua597.pdf

    See if you can diagnose the problem with your given parameters of your learning cycle. 

    Hope this helps, 

  • Hi Nabil,

    DSG threshold is 50mA and I discharged the battery at 1.2A, so this current 1.2A is very higher than 50mA.

    Attached learning cycle.

    There is a great time between charge and discharge because it was a 4 days week end for us.

    Learning-cycle_03052017.zip

    I tried to find the cause of wrong learning cycle but I did not found.

    From the start of the learning cycle, at  first discharge, "update_status" already does not react as described in your document (stay at 06), And after it does not work.

    Best regards

    Serge Maloizel 

  • Hi Serge, 

    So upon asking a fellow engineer on the team on what may be wrong, he replied with this:

    Here is what he would recommend.

     Pack Configuration register:      set to 09F1

    Pack Configuration B register:   set to AF

    Pack Configuration register:       set to BE

    • Charge to charge termination
    • Rest until OCVTAKEN flag sets
    • Discharge to the Termination voltage at the normal discharge rate
    • Rest until the OCVTAKEN flag is set.

    Use the GPCRA0 tool to find Qmax and Ra table values.

    We normally use a C/10 current during discharge for a normal Optimization cycle. 

    Try to see if this works, 

    Hope this helps, 

  • Hi Nabil,

    I did what you suggest but find attached the report from your GPCRA0 tool, it seems it was unable to create the Ra table.

    The chem ID is OK because it is "6113" and this is the code you created when we sent you cells by end of 2016 to do the characterization of our VHT D 6Ah cell.

    File_for_GPC Golden GG Maker tool-report.zip

    Do you think, I wil have better results if I use BQ34110 instead BQ34Z100?

    Best regards

    Serge Maloizel

  • Hi Nabil,

    As we try to do operate BQ37Z100 since July 2016 without success, I have doubt about real possibility to do it working on NiMH battery.

    So I begin test on BQ34110 but again I am unlucky.

    I use the demoboard: BQ34110EVM-796 LOT:3402897WBG with EV2300

    Then I follow the process described in user's guide SLUUBI1 - October 2016.

    I configure the board for a 10S NiMH battery with straps >5V closed, straps <= 5V opened, Strap J5 between 1 and 2, strap LOAD opened, Strap VEN closed, Strap J4 all closed

    Recognize BQ34110 by bqStudio is "0110-0-02",

    Reported data are: temperature 24°C, voltage 0mV, current 0mA, SOC 0%

    Everything seems OK  until "Setting Programmable bq34110 Options."

    After entering Full Access, it is not possible to change any parameters in bq.

    For example Operation config is 8204 and I want to change it to 8231 (for NiMH charge with DT/Dt). When I try to change it, I have the message "A read of data written failed comparison" in the bottom of the bqstudio GUI.

    What could be the reason for this impossibility to change parameters? 

    I had no problem to change prameters on bq34Z100-G1 with the same tool

    Best regards

    Serge Maloizel

  • Hi Nabil,

    Please, could you help me?

    Thanks 

    Best regards

    Serge Maloizel

  • Hi Serge, 

    Sorry for not replying sooner. 

    This is odd, so you have the device in full access and you are not able to configure or change ANY data flash parameters ? 

    Is your device gauging the battery's voltage, current, temp etc, when scanning ?

    Nabil

  • Hi Nabil,

    Yes, I can read temperature and current but voltage stay at 0mV.

    But voltage at 0mV is perhaps normal, because as I cannot change parameters even with full access, I cannot change the voltage divider configuration.

    Best regards

    Serge Maloizel
  • Okay, try to reprogram a default srec and see if the same thing happens again. I'm not to familiar with multi-cell gauges but I recommend you make this a new post on E2E and hopefully you'll be assisted by someone from the multi-cell team.

    Also take a look at this post I found, maybe you're in the same situation as he was:

    e2e.ti.com/.../434417
  • how to configure these data to pack configuration register...Can i read these register after configuration?