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 Update Status during optimisation cycle NiMH

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

NiMH.zipHi,

I'm trying to perform an optimisation cycle with a battery pack NiMH. All the flags seems to change correctly but the update status remains at 4, the Max error remains at 100% and cycle count doesn't increase (still at 0).

Hereby i took printscreens of the Registers during the optimisation cycle. The optimisation cycle I used is:

- charge to 100% (C)

- Relax > 5h

- discharge (C/5)

- Relax > 5h

Do you have an idea why the Max error remains at 100% and the update status remains at 4?

Thanks,

Pierre

  • I'm doing something similar right now. I have 6 NiMH 1.2V 10,000mAh batteries in series I am trying to get to work.

    First thing I needed to do is find a working NiMH Battery Chemistry loaded from the Battery Management Studio. You can look at specifics of the battery setup under TI/Battery Management Studio/Chemistries/chemdat.txt. I have found you must have the Chemistry set as a NiMH battery or the register Bit CHG will not stop on Delta V or Delta T even if your NiDT and NiDV are set. You can send a Chem ID to query the BQ34Z100G1 what its chemistry is set to (return CHEM ID number you can match to the Chemistry list)

    The second was setting up the Data Memory. I have found the main Data Memories that need to be changed from defaults are:
    1. Charge Termination NiMH Delta Temp through NiMH Cell Neg Delta Qual Volt are set to you battery's capacity volt drop off, and temperature increase.
    2. Cell BL Set Volt threshold if you are using the Batlow bit to terminate discharging
    3. Number of series cell- sense you have a battery pack. Though from your screen shots it looks like they are in parallel at 700mAh capacity and 14 volts.
    4. Flash update: set to your battery pack's minimum voltage. Anything less and it won't update below that voltage.
    5. Gas Gauging Current thresholds. these are the indication that tell your gas gauge to go into relax mode to update. Your gauge must go into relax mode to update your learned status.

    I hope this help a little, I'm still trying to figure this all out and some of this maybe incorrect.
  • Sloan has made some good points. I need an log file from the optimization cycle and and an srec from the pack to help to analyze the problem.
  • 0624.files.zipHi Thomas, Hi Sloan,

    Thank you for your answers. I changed two things:

    - Cell BL Set Volt Thresold : 1000

    - Cell BL Clear Volt Threshold : 1100

    But the update status remains at 4.

    Hereby the log file and the srec file.

    For your information, my battery pack is 12S1P.

    Thank you for your support,

    Pierre

  • Bq34Z100G1 Setup NiMH.zip

    Pierre,

    If you are using the  12s1P Tenergy 14.4 Volt Battery pack which uses 12 D Cell NiMH battery. Then our setup and battery chemistries should be similar. I attached a rough draft of a setup procedure .zip word document I wrote for our production. At the end of the word document, I have what I have found so far for the concerning the Bq34Z100G1 gas gauge. I hope the file attached ok. I look odd from my end.

    Sloan.

  • Tenergy 12S1P.gg.rar

    Pierre,

    If you are using the Tenergy NiMH 14.4V 10000mAh battery pack, our setup should be almost identical with the exception of the Data Memory 'Number of series cell' which for you should be 12. I've attached a .gg file Data Memory setup that you can load and try out by loading it from the Data Memory <import> button in Battery Management Studio.

    Sloan

  • Hi Sloan,

    thank you for your precedure but i'm unable to open the zip file. the file Inside is not a word doc.

    could you send me a pdf?

    Regarding your second reply, the battery pack i use is not really the same regarding power... Mine is only 10800mAh.

  • Pierre

    I reviewed your log file and it looks like the optimization cycle failed, because the device was discharged into a reset condition. The pack should only be discharge down to the Cell Term Voltage.


    Tom

  • TI BMS Notes.zip

    Pierre,

    Sorry about that last zip file, apparently, I zipped it incorrectly because there is nothing there.

    I have added a new zip file(above). I put my notes in both .pdf and word this time called 'BMS setup and user notes'. I also added all the Texas Instrument .pdf's that I used to assemble my notes. Some of the information in my notes came from the forums because the information was not in the TI pdf's.

    The last file I added is the .gg excel file with the Data Memory Setup with settings. This is the setup that help get you started on configuring your battery pack with the 12 C cell's in series. You can upload this into the BMS to view or view the settings using Windows Note Pad.

    When your gas gauge first enters relax mode and is learning, your bit registers OCVTAKEN is green (0), and FIRSTDOD is red (1). When the gas gauge is done updating in relax mode the OCVTAKEN changes to red (1), and the FIRSTDOD changes to green (0). Also if successful, the registers learned status changes to 5, the max error changes to 3%, and the bit register CF changes from red to green (0). If you are still at learned status 4, I found it will not change after that no matter how long you wait.

    As for NiMH batteries, I have found the learning cycle wait time is different because they heat up when charging and do not heat up when discharging which is opposite from lithium-ion batteries . Once you achieve a learned cycle update after charging. wait for the batteries to cool before continuing (which is about 2 to 3 hours. As for the discharge, you just need to wait until the battery voltage has recovered after discharging has stopped which is only about an hour.

    Sloan 

  • Hi Sloan,

    thank you for your answer. I'm currently doing an optimisation test again. One small question :

    After the first charge, does the update status go directly to 5 (after the relax time)? or do I need to do a second cycle some times?

    (for the current optimisation, after first charge&relax, the update status was still at 4)

    Pierre

  • Update Status should change to 05 during the rest period. You can send the log data I and I can check to see why it did not update.
  • Hi Thomas,

    Hereby is the log file (after 1 charge & 1 relax time).

    thank you

    logfile.log

  • Pierre
    Qmax will only update after a discharge for PbA and NiMH chemistries, so Update Status will not update during this rest period. The cells have not stabilized enough to set a DOD point to allow Qmax to update after discharge, so you need to continue to rest until the OCVTAKEN flag sets. You will also notice that the QMAXDOD0 parameter reset to a value near 0. You can then proceed with the discharge after that.

    Tom
  • Thomas,
    I'm not sure to understand what you say...
    1) ok for the fact that the update status will only update after discharge. But that's not what you said in your last post where update status pass to 5 after the relax time after the charging period.
    So when does it change to 5? and when to 6?
    2) I don't understand the cells have not stabilized enough after the charging period. The cells stayed all the weekend in the rest period after the charging period (I cut the log since the log file was too big. But I cut it more than 10hours after the charging period, so it's far from enough for the rest period. If the OCVTAKEN is not set after 10h, there must be a problem no?).
  • Qmax and Update Status can update after charge for Li-Ion cells, but not for PbA and NiMH cells. I must not have realized that you were using NiMH, if I stated that yours would update after charge. Has your OCVTAKEN flag set yet? It will timeout and set after 48 hours during the rest period after charge. Check to verify that the QMAXDOD0 reset to a value near 0.
  • Ok.
    My OCVTAKEN flag stayed at 0... and changed exactly after 48h after the starting of the rest time after the chargind period.
    After the 48h, QmaxDOD0 goes from 15536 to 288. 288 is near 0 compared to the 15536.

    Nothing changed before the 48h, is it normal?
  • I would have expected the OCVTAKEN flag to set as well, but you should be safe to begin the discharge. Be sure to log data the entire time and we can use a Mathcad program to calculate Qmax and the Ra table, if the updates do not occur.
  • logfile (3).logok. I started the discharge this morning and has been finished 3h ago. since it's in rest time. the log is still going on.

    hereby the log file (of the discharge and rest time up to now).

    do you see something right? wrong?

  • The data looks okay. Just let it rest until the OCVTAKEN flag sets.
  • ok, thanks, I let you know :-) (48h max?)
  • I think that it should be 5 hours before the timeout after discharge, but they may have changed it to 48 hours.
  • Pierre,
    I have run several learning cycles for multiple packs now successfully (made it to learned status 6 and made a golden image, though we are still testing them for continuous accuracy and reliability before going to production).

    After loading a matching chemistry and then setting up the Data memory, what has given the most accurate learning cycle has been charging the packs up full (pack should heat up to around 30-35 degrees Celsius at shutoff).
    Then discharge to termination voltage (for your pack I think it is around 12V and per battery is 1 volt) and let the pack rest and voltage recover (voltage will slowly climb and eventually level out. Takes about 2 hours.)
    Enable IT, learned status should change to 4. Charge pack to full and let it rest. Learned status should change to 5 (it almost always does for me). Let the pack rest until it cools off (takes about 2 to 3 hours).
    Now discharge the pack to termination voltage again and let it rest for 5 hours. Sometime during that 5 hours the learned status may change to 6. This does not always work for me and I sometimes have to charge it and discharge a couple for more times to get it to change to 6.

    If you are still having trouble you can export your Data Memory Settings in to an excel .gg file from the Battery Management Studio. I can review your settings and recommend changes if want.

    Sloan
  • Hi Thomas,

    OCVTAKEN flag still not set.

    Hereby the log file. Do you want me to wait for 24h more?logfile (4).log

  • I would continue to let it rest until the OCVTAKEN flag sets.
  • Pierre,
    Reviewing your log file, I think you have some Data Setup errors.
    The battery pack you are testing with is a Tenergy 12S1P, which has 12 NiMH D cell batteries in series at 1.2V with 10800 mAh capacity. This will give you a 12 volt nominal voltage and a 16.7 top voltage still with a 10800 mAh capacity.

    According to your log your battery at full charge is only 632 mAh and you are discharging your battery at 180 mAh. I think your gas gauge milliamps is not correctly calibrated and your Design Capacity and Qmax Cell 0 might need changing to 10800 mAh.

    Sloan
  • Hi Sloan,

    The cells I use are NiMH 1.2V 750mAh. So:

    12*750*1,2=10800mWh

    Qmax Cell 0 is put at 750mAh.

    I don't know why full charge is only 632mAh.

    Pierre

  • Hi Thomas,

    I let the battery rest until the OCVTAKEN flag set (48h).

    Hereby is the logfile of the second part of this rest part.

    What do I have to do now? The update status is still 4... do you want to use the Mathcad program to calculate Qmax and Ra table? or do you want me to do a second cycle? or ?

    Pierre

    logfile (5).log

  • Sloan,

    Hereby is my .gg file.

    If you could review it and tell me if there is anything wrong, that would be great.

    Thanks,

    Pierre

    Datasettings.gg.zip

  • Pierre,

    I'm pretty sure your learning cycle is not updating because you need to finish your Data Memory setup. But first I need to clarify the type of battery pack you are testing. You wrote that you where using a battery pack model 12S1P. There a few NiMH packs with the model number 12S1P. But I assumed you were using a Tenergy NiMH 12S1P pack? Here is a link for the battery I thought you were using: 

    If this is the battery pack you are using, the description on it is a:

    NiMH 14.4v, 10,000mAh, 144000mWh battery pack which is made up of 12 standard Tenergy D-cell 1.2v, 10000mAh NimH batteries in series.

    If this is not the battery pack you are using could you please let me now the brand or a link to where they  can be purchased, so I can verify the information.

    You stated the battery you are using is 12 NiMH at 750 mAh which equals 10800mAh. This is true if they are connected in parallel, then your battery pack's voltage capacity at it's peak is only be about 1.4volts. But if they are connected in series then your battery pack capacity is 750mAh and your voltage peak is 16.8volts.

    So one of these settings are incorrect on your setup.

    Once I have a better understanding of the battery you are using, I can put together a .gg file for you to load and start running an optimization cycle on.

    Sloan

  • Hi Sloan,

    There has been a misunderstanding. By "12S1P", I wanted to say 12 cells in serial and 1 in parallel.

    So one cell is 1.2V AAA Eneloop 750mAh NiMH.

    I used 0x6103 for the chemical id.

    So

    Design power : 12x750x1,2 = 10800mWh

    Design capacity : 1x750mAh = 750mAh

    is it ok now?

    Pierre

  • All parameters on the bq34z100-G1 are 1S based, so the Design Energy will be defined as 2S as well. It will be Design Capacity x Design Voltage = 750mAh x 1.2V = 900mWh in your case.
  • Pierre
    I analyzed your data and it looks like ChemID 6100 will be a better match to your cells than 6103. Please export an srec file from the pack and attach it and I will create the golden file for you.

    Tom
  • Pierre,

    Thanks that battery setup makes more sense. Attached is the .gg file I updated for you: SloanDataMemUpdate.zip

    Almost all of it was good. There were a couple of settings that I think would prevent your learn cycle from updating:

    1. Configuration,Power,Flash Update OK Cell Volt,2800,mVolt - I changed it to 999mV so your flash updates after the pack discharges.

    2. Gas Gauging,IT Cfg,Load Mode,1,Number - Should be set to 0-current not 1-power for NiMH.

    From your charging and discharging log I was able to graph and I believe optimize your Delta V and Delta Temp cutoff.

    I'm also attaching an updated version of the setup document I sent earlier.

    I hope this doesn't blow up your battery :-)

    Also how long your update will take depends on this sample formula:

    Fixed CC deadband by system set at 10uV

    Your sense resistor: 5mΩ - I don't know the size of your sense resistor

    750mAh battery capacity

    1% Max error

    10 μV/5 m= 2-mA offset current.

    750 mAh × 1% = 7.5 mAh.

    7.5 mAh/2-mA offset current = 3.75 hours for update.

    So the time it takes to update will depend on what your sense resistor is.

    Sloan

  • Hi Thomas, Hi Sloan,

    I'm successfully doing a new optimisation cycle.

    The update status changed to 5 after the first cycle (during the rest time after the discharge) and errors changed to 3%.

    I did a second cycle and update status is 6 and errors is 1%.

    I put the .gg file that you sent me Sloen, and changed the Design Capacity to 900mWh (not 10800mWh).

    Thanks a lot for your support.

    Now that the update status is 6, what do i have to do to get the golden file?

    I read in your doc file i have to change the update status to 2, put the Ra Max Delta to 15%. I also want to reset the cycle count to '0'. Is is right? is there anything else to do?

    Pierre

  • Pierre

    You not have to change the Ra Max Delta. Here are the steps to create the golden file.

    Tom

  • Thomas,
    thank you for the steps.
    At the step before the last one, the voltage indication is wrong (the voltage divider remains at 5000 which is the default value). Is it normal?
    Maybe there are others things that are not correct (but update status is 2, Qmax error is 1%, so writing datas has been well done).
    Pierre
  • The Calibration parameters were not imported. Use the Import from File (Advanced) option and it will allow you to select to import the calibration parameters as well.
  • Well, there is no 'Advanced option'... Here is what i have:

    update: ok i found ;-)

  • You may have an older version of bqStudio. GO to Windows >>Preferences >Data Memory > Import and you should see options similar to this. Erase the Calibration word and save the page. You can then try importing the gg file and see whether the calibration data gets loaded.  

  • Pierre, Thomas,

    Pierre: It is good to hear you are having success with you learning cycle, and I can see Thomas is guiding you well through the final stages of the Golden Image creation.  I wanted to thank both of you for your information. It has given me the tools, practice and knowledge I needed to optimize the setup on multiple NiMH battery packs my company is using.

    An answer to some of your last questions:

    1. Design Memory mWh is not used in the .gg file I sent you because gas gauging Load Mode is set at 0-constant current mode. This uses the Design Capacity mAh. Which does need to set at your battery pack capacity. It is directly used to determine your battery pack SOH (State of Health=Full Charge Capacity (FCC)/Design Capacity).

    2. Ra max Delta

    The .gg file I sent you I had the Ra Max Delta set  at 44%. This was the default setting from the basic bq34Z100G1 firmware I was using. I left it set like this just for your optimization cycle, and I recommend you change it back to 15 or 20. I got this information from the TI bq34Z100 data flash where they give 2 different answers. I guess you will have to figure which works best for your setup.  In documentation TI states word for word:

    Ra Max Delta

    Maximum jump allowed during updates of a Ra table grid point. It must be manually changed to 15% of the grid point 4 Ra value after an optimization cycle has been completed.

    Normal Setting: This register defaults to 44 but must be calculated and changed for the golden DFI file to be 20% of the Ra 4 grid point after an optimization cycle has been completed.

    3. Golden Image File

    The instructions Thomas gave you for creating a Golden Image file work just fine, and it is a good idea to have a .gg save after you have achieved a learned status 6. But you have to set you BQ Studio preferences to advanced or your voltage/current/temp offset in your calibration will be lost and you will have to recalibrate your gas gauge after every .gg load (I have our production guys check the calibration and redo it if it is off to much anyway).

    The way I am doing it is easier, because saving a golden image saves everything-calibration, RA grid points, and capacities but there is a fundamental difference: The way Thomas showed you to save a golden image removes all the information history you would not want in a production product you are selling to a customer. You are basically loading just the RA grid points which is the different internal battery pack resistance during different charge capacities. Learning those grid points is the main purpose of the learning cycle.

    You can determine which works best for you depending on you final use of your gas gauging system, but the way Thomas showed you is how everyone it talked to is making a golden image. And, it is working just fine for them.

    Additional info:

    NiMH charge termination is set by Delta Voltage, Delta Temp, and Capacity measuring. If you just want to use your Delta Voltage and Delta Temp, to disable the FC capacity charge cutoff- set you Data Memory TCA Set% and FC Set% to -1.

    This is the way I'm doing it, and just using the gas gauge to monitor battery health and not save the health.

    Sloan

  • Hello!

    I have a similar problem. I'm trying to perform an optimisation cycle with a 10 cells battery pack NiMH (HHR380A - chemistry id 6100). I set Load Mode to 0 (current model). Then i have two results:

    1. if i set Load select - 3 (Default Load Select for NiMH/NiCd take from SLUSBZ5B). After sending the IT-command and start charging the battery, the SOC not change (stay at 0%). So the FC bit not set.

    2. if i set Load select - 1. After sending the IT-command and battery is fully charged, FC bit is set. But OCVTAKEN bit not changed.

    I hope you will help me to successfully complete the learning cycle.  

  • Alex,

    I can help you since you are using NiMH. I've attached a word document that should help you setup your Data Settings. During the learning cycle, it is important that you stop charging and stop discharging when specific flags register. Hopefully you have a control IC monitoring these register for cutoff. If you don't you'll have to stop charging and discharging manually.

    If you send me the battery voltage and capacity I can help setup a golden image firmware for you to try out and edit. If you want to try setting it up your self hear are the important steps you should follow in order:

    1. Pick and load the correct  Battery Chemistry. Chemistry tells what type of battery, what data registers to read for charging and dicharging cut off, and what voltage and current capacities the average battery holds. 6100 is a good generic chemistry for 1.2 volt batteries. 

    2. Set the Data Registers. This is time consuming. I have add an excel spread sheet the main thing you need to setup and which register they affect.

    3. Calibrate all area's if you can. You'll need an accurate multimeter to read across the sensing resistor to calibrate the voltage and a constant load to calibrate the current. The current is pretty close so you can skip it if you don't have a load meter.

    4. Set your IT enable and run your learned cycle. You may need to run a couple of charge/discharge cycles and make sure to wait long enough for the OCVTAKEN to change back and forth.. See attached document for learned cycle changes.

    5. Learned cycle has completed when the make LEARNED CYCLE reads 06.

    Sloan

  • Sorry Alex I forgot to attach the files.

    Alex Svir Datasettings.gg.rar

    The first one is the csv. in excel format for quick reference. the other is a word document I created to help create golden images.

    Andrew

  • Hello Sloan, thanks for your reply! 

    I made several attempts to complete the cycle, following your instructions. But still I have not achieved results. Each time bit FC is not set.

    I have 10 NiMH 1.2V 3,800mAh cells in series.

  • Alex
    It looks like you have done a thorough job evaluating the device. Can you provide the log file from your optimization cycle and I can help determine why Qmax and the Ra table are not updating. Also, please export an srec file from the pack and I will check you chemistry data.

    Tom
  • Hi Thomas!

    Thanks for the help! I attached the required files.

    Also, I had an idea. Can the cycle does not end successfully, if I do not use new batteries? At the beginning of my work I have not thought about it.AlexSvirFiles.rar

  • Alex

    I reviewed the files and see a few problems.

    • The Number is Series cells is set to 1. I assume that it should be set to 10 based on your pack voltage. 
    • The Cell Term Voltage is set to 3000mV. It needs to be set to the voltage where you want SOC = 0%.
    • The BATHI and BATLO thresholds are still set for Li-Ion cells. They need to be adjusted for NiMH.
    • Your comment is that Update Status = 04, but the gg files shows that IT is not enabled. Your log file indicates taht IT is enabled, so I will just verify that it is.


    The Mathcad program could not find as acceptable ChemID match for your cells, but I had to piece the log files together to submit it to the tool. This could affect the results. I would correct the parameter setup problems and try again. Be sure to log continuously, so that we have a good log file to analyze.


    Tom

  • Alex,

    Sorry, I have been out for a bit but it looks like Thomas has been helping out.

    Alek 1.2 3800uA setup.rarThis attachment has a setup you can try and a graph of the charging cycle I used to figure out your voltage and temperature cutoff settings.

    To use this: 

    1. From the default bq34Z100-G1 firmware: Load the 6100 Battery chemistry or any chemistry the TI has provided. (6100 is a good generic chemistry for NiMH 1.2V batteries of any capacity).

    2. Open the data. Import the alex test.gg.csv and select write all. Calibrate the Voltage and Temp sensor.

    3. On the right hand side of the panel select IT enable.

    4. Cycle the Battery twice by first Charging it (even if it is full).  Watch the FC flag and CHG flag. They should both flip when the voltage or temp cutoff settings are reached during the first charge. They should flip back once the battery charge % falls to 98%. (That is how I set it up. you can change it later). 

    5. Let the battery rest 2 hours after each charge and about 30 minutes after each discharge or after OVCTAKEN flag has flipped back. (OVCTAKEN first flips when charging/discharging finishes. It flips back when it has learned the resistance settings. This needs to finish for a learning to complete properly.)

    6. At the end of the second discharge you should have a good resistance settings saved and learned cycle should be 06.

    A note on new NiMH batteries. You should cycle new NiMH batteries a couple of times fully. This will stabilize their capacities. It is hard to do a learning cycle on a new batteries because of this. 1.2 volt batteries should not be discharged beyond .9 Vdc per cell because this can drastically reduce their life.

     

  • Thomas and Sloan, thanks for the help.

    Yesterday I finally got learning status 05! Now I'm doing second cycle of discharge. I hope all be fine. Unfortunately, FC bit was not set.

  • Alex,

    The FC Register bit is controlled by these data points from DATA MEMORY under CHARGE TERMINATION:
    1. FC Set%- For NiMH this should be st to -1. This sets the FC flip at Delta Temp and Delta Volt.
    2. FC Clear%- Set this at 95% to 99%. If it is at 100% the FC register will flip but it will flip back so fast youmight miss it.
    3. NiMH Delta Temp thru NiMH Hold Off Temp- These set the Delta Temp trigger that Flips the FC register.
    4. NiMH Cell Negative Delta Volt thru NiMH Neg Delta Qual Volt. This sets your Delta Voltage trigger that will flip the FC bit. These settings are per battery and not battery pack.

    5. DATA MEMORY - REGISTERS - NUMBER OF SERIES CELL- This should be set to 10.

    I sent you a .gg file with these settings that should flip the FC bit for you.

    Sloan
  • Hi Thomas, Hi Sloan!

    I'm successfully finished this optimisation cycle. Thanks a lot for your help!