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: [CHG] bit of Flags can't be cleared

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: BQ34Z100EVM, EV2400, GPCCHEM, BQ34110, GPCRA0

Dear Support Team,

I try to complete the learning cycle with my BQ34Z100G1 but it does not work, because the FC bit is never set. I narrowed the problem down to that the CHG bit is always 1 so the condition for the FC bit are not reached. But when i try to lower the charge voltage values it still didnt change anything on the problem. 

Are the any other ways i can force the CHG bit to be cleared so the FC bit can be set and i can finish the learning cycle?

Best Regard,
Florian

  • Hi, Florian

        CHG bit in flags register indicates that the charging is allowed, it is not the cause of FC bit not set. FC bit is determined by whether the charging terminate condition is met or not.

        Are you charging a Li-ion battery stack NiMH battery? If a Li-ion battery is used in your project, I think you may need to clear NiDT and NiDV in Pack configuration register. These bits are set as default on bq34z100EVM

  • Hi Steven,

    thank you for your fast response,
    actually i am chraging a Lead Acid battery from Yuasa (ChemID 808) with 12V. I am using the current taper method, from chapter 7.3.11, right now. Therefor i set the "FC Set%" to -1 or FF in hex.
    In chapter 7.3.11.1 point c it says that before charge termination can be reached the CHG bit must be cleared. If you need anymore information just tell.

    Best regards,
    Florian

  • Florian

      The charge terminate conditions are as below:

    A. Current Taper method:
    1. During two consecutive periods of Current Taper Window, the AverageCurrent() is less than
    Taper Current AND
    2. During the same periods, the accumulated change in capacity > 0.25 mAh /Taper Current
    Window AND
    3. Voltage() is > Charging Voltage – Charging Taper Voltage. When this occurs, the [CHG] bit of
    Flags() is cleared. Also, if the [RMFCC] bit of Pack Configuration is set, and RemainingCapacity()
    is set equal to FullChargeCapacity().

      Can you advise what is your taper current, taper voltage and taper window? what is charging voltage and it is defined in  your gg file

  • I have the default values for taper current, taper voltage and taper window. Only for the charging voltage i am using 2000mV with 6 cells, but i have only configured the JEITA charging voltage or is there another register i should set. I have configured the BQZ only per STM32 right now so i have no gg file. But what register is the charging voltage?

  • Florian

       Can you log the information like voltage, current, temperature, FullChargeCapacity, RemainingCapacity, ControlStatus, PackConfiguration, Flags and FlagsB register when you charge the battery to full for charge termination test?

        Can you also read Configuration B and Configuration C in dataflash

  • Hi Steven Yao,

    sorry for the long response time. Had to log all the Data before. Hope this helps you to solve. Also got the EV2400 now.

    Best regards,
    FlorianCharge_Data_cycle.xls

  • Hi, Florian

        I noticed that your FullChargeCapacity is 0, this indicates something wrong in your configuration file

        1: Please check what is Qmax in your configuration file

        2: Please clear NiDT and NiDV in Pack Configuration register.

       

  • Hi Steven Yao,

    1. My Qmax is configured to 12000 mAh
    2. I changed the registers like you told me and now the learning cycle switched the Update Status to 5 but only after discharging. And switched back to 0 after the messurment was finished.Charge_Data_cycle.csv

    Best regards,
    Florian

  • Hi Steven Yao,

    1. My Qmax is configured to 12000 mAh
    2. I changed the registers like you told me and now the learning cycle switched the Update Status to 5 but only after discharging. And switched back to 0 after the messurment was finished.2146.Charge_Data_cycle.csv

    Best regards,
    Florian

  • Hi Steven Yao,

    1. My Qmax is configured to 12000 mAh
    2. I changed the registers like you told me and now the learning cycle switched the Update Status to 5 but only after discharging. And switched back to 0 after the messurment was finished.2043.Charge_Data_cycle.csv

    Best regards,
    Florian

  • Hi Steven Yao,

    1. My Qmax is configured to 12000 mAh
    2. I changed the registers like you told me and now the learning cycle switched the Update Status to 5 but only after discharging. And switched back to 0 after the messurment was finished.

    3487.Charge_Data_cycle.csv

    Best regards,
    Florian

  • Hi Steven Yao,

    1. My Qmax is configured to 12000 mAh
    2. I changed the registers like you told me and now the learning cycle switched the Update Status to 5 but only after discharging. And switched back to 0 after the messurment was finished.

    2450.Charge_Data_cycle.csv

    Best regards,
    Florian

  • Florian

        Do you have a log file showing how the update status changes back to 0 after the measurement was finished?

  • Hallo Steven,

    I think I just reseted IT, and therefore it changed back to 0, I did another cycle where it got stuck at 5. If you need any further data to help me, just let me know.

    Charge_Data_cycle_6_try.csv

    Best regards,
    Florian

  • Florian

       I found your Full charge capacity and Remaining Capacity are both 0, have you checked your gg file? I think there must be something very wrong in it

  • I looked throught the gg file and found the value of the Load Mode and the Cell Term V Delta were wrong. I will attach both, the old Version of the gg File aswell as the changed one. Did i still miss something?

    battery_old.gg.csv

    battery_new.gg.csv

  • Make sure you send IT Enable command as well.

  • Hallo Kang Kang,
    the update status still gets stuck at 5.

    I attach the current gg File aswell as the tracked Data

    The only thing i notice is that the Remaining Capacity is still 0 the rest seems fitting.

    battery_config.csv

    Charge_Data_cycle_8_try.csv

  • Florian,

    Like I said earlier, your QEN bit is not set. Send the IT Enable command.

  • Hallo Kang Kang,

    In my newest messurements you can see that I will send the IT Enable command after the Relax time of 5 hours and the QEN bit is set afterwards.

    The Problem is that the Update status changes the first time after it is discharged to empty and not after it is fully charged so it ends on a value of 5 and not on 6 as intended also Remainign Capacitay does not change at all and stays at 0. The value of FCC seems alright now.

    battery_config.gg.csv

    Charge_Data_cycle_9_try.csv

    Best regards,
    Florian

  • Hello Florian,

    That is because you need to run another cycle for the Ra table to update.

    Can you check if RUP_DIS bit is set in Flags() or Control_Status()? This means the chemistry ID is not correct. Have you submitted this via GPCCHEM?

  • Hi Kang Kang,

    right now i am doing another cycle and let you know as soon as it is finished.

    For your other Questions:
    I got my chemistry ID via the GPCCHEM and here are the files i sent or got:
    5582.roomtemp_rel_dis_rel.csv

    Chemistry ID selection tool, rev=2.48		
    		
    Configuration used in present fit:		
    ProcessingType = 2		
    NumCellSeries = 6		
    ElapsedTimeColumn=0		
    VoltageColumn = 1		
    CurrentColumn = 2		
    TemperatureColumn = 3		
    		
    Best chemical ID : 808	Best chemical ID max. deviation, % : 1.77	
    		
    		
    		
    Summary of all IDs with max. DOD deviation below 15%		
    		
    Chem ID	max DOD error, %	Max R deviation, ratio
    808	1.77	0.09
    800	2.1	0.12
    809	2.13	0.16
    804	2.62	0.14
    812	6.96	0.57
    813	7.41	0.63
    801	8.37	0.52
    807	9.08	0.91
    810	10.27	-0.51
    803	12.08	0.72
    802	13.7	-5.84
    		
    Max. deviations for best ID is within recommended range. Chosen best chemical ID is suitable for programming the gauge.		
    		
    		
    Selection of best generic ID for ROM based devices like bq274xx		
    		
    		
    Device / Family #1		
    Generic Chem ID	Device/ Voltage/ Chemistry	max DOD error, %
    3142	bq27421-G1D: 4.4V LiCoO2	100
    354	bq27411-G1C: 4.35V LiCoO2	200
    312	bq27421-G1B: 4.3V LiCoO2	200
    128	bq27421-G1A: 4.2V LiCoO2	200
    Best generic ID 3142		
    Warning: Generic ID Deviation is so high that it is most likely due to anomaly in the data. Please check that data files have recomended format, units and test schedule		
    		
    		
    Device / Family #2		
    Generic Chem ID	Device/ Voltage/ Chemistry	max DOD error, %
    1210	bq27621:  (ALT_CHEM1) 4.3V LiCoO2	200
    354	bq27621:  (ALT_CHEM2) 4.35V LiCoO2	200
    1202	bq27621: (default) 4.2V LiCoO2	200
    Best generic ID 1210		
    Warning: Generic ID Deviation is so high that it is most likely due to anomaly in the data. Please check that data files have recomended format, units and test schedule		
    		
    		
    Device / Family #3		
    Generic Chem ID	Device/ Voltage/ Chemistry	max DOD error, %
    3230	bq27426: (default) 4.35V LiCoO2	100
    3142	bq27426: (ALT-CHEM2) 4.4V LiCoO2	100
    1202	bq27426: (ALT_CHEM1) 4.2V LiCoO2	200
    Best generic ID 3230		
    Warning: Generic ID Deviation is so high that it is most likely due to anomaly in the data. Please check that data files have recomended format, units and test schedule		
    		
    		
    

    For the RUP_DIS which should be the 3rd bit of the Cotnrol_Status():
    During the first Relax Phase RUP_DIS is 1 at the beginning
    and changes to 0 later on.
    After I enable IT it stays 0 the whole process.

    Best regards,
    Florian

  • That's correct behavior.

  • Hi Kang Kang,

    Yeah the behavior seems correct, but the Update Status still wont change from 5 to 6, which should be the indicator if the Learning Cycle is finished, or not.

    So what am I doing wrong?

    Here is the data of the second cycle and the Update Status still stays at 5:

    Charge_Data_cycle_10_try.csv

    Configuration after 10_try.csv


    Best regards,
    Florian

  • Hello Florian,

    I noticed your ID is 808 as best matched. This device often gets RUP_DIS with 8xx IDs. Are you using a PbA cell?

  • Hi Kang Kang,

    Yes I am using an Pba cell, to be more specific I am trying to learn the Yuasa Y12-12l so the 12V and 12Ah Version.

    I tried to do another learning cycle, and let it repeat 3 times, it still got stuck at an Update Status of 0x05 and the manual says the Qmax should have been updated by now, but it still is 0.
    Could that be reason why it gets stuck at the Update Status of 0x05?

    Best regards,
    Florian

  • Hello Florian,

    Yes. I believe the device is learning negative impedances. Can you send over your log file so we can have our algorithms expert take a look?

    I do recommend looking at a bq34110 instead of the z-track device for PbA. That may get you better accuracy without having to worry about updating Qmax or impedances.

  • Hi Kang Kang,

    Regarding the Qmax update, i think there was a fail on my logging software, which should be fixed now and the qmax update should show up now correctly.
    Honstley i only want to switch the chip if it is really needed and the description of it doesnt really fit our use case, because we want to discharge the batteries daily, or often atleast.

    I just found out of the GPCRA0 on your platform and tried to calculate the data through it and it calculates negative impedances and tells me the chemID probly is wrong.

    So I tried to do the another of the GPCCHEM and it still got the same results:

    Here are some files i sent to the system and the results:

    GPCCHEM.zip
    GPCRA0.zip

    First my log with a discharge like C/20 (long):
    The results of the GPCCHEM will tell me that the chem ID is 808, but the GPCRA0 tells me that the ChemID is wrong.

    The second log with a discharge like C/4 (short):
    The result of the GPCCHEM will tell me again that the chem ID is 808 and the GPCRA0 is sure again that the ChemID is wrong.

    In both cases the GPCRA0 is also complaining that the temperature drops during discharge, when I check the said data points the temperature only decreases when the voltage and with it the current and power decrease.

    I also attach my latest logs (C/4), but pls care that the values for Qmax are still wrong:
    log_data_0,25C.csv

    Next week i should have a log with fixed Qmax updates.


    Best regards,
    Florian

  • Hi, Florian

        As Kang said, it is probably the gauge got a negative Ra during learning.

        Have you tried with second or third ID recommended by GPCCHEM? Some customer fixed similar issue by doing this.

  • Hi Steven,

    As you can see in the attached files I tried all ChemIDs which could fit with a PbA battery, but sadley all calculated negative Ra values. Which means an wrong chemID or wrong setting.

    6874.Result.zip

    Sent.zip

    Best regards,

    Florian

  • Florian

       I found in your configuration file, the cell number in series is set to 1, but the voltage in actual log file is 12v in the beginning of discharge, I think it confuses the system for Ra calcualtion

  • Hi Steven,

    It seems like this fix works. Is it save to use that gg file for my system, or is it better when trained live.

    808 long.zip

    808 short.zip

    Best regards,
    Florian

  • Hi, Florian

        I think it is better to do a learning cycle to optimize the Ra table and then check the accuracy by an additional charge discharge test before we made the conclusion

  • Hi Steven,

    I was successfull with the learning cycle on my device and the Learned Status is 6 now.

    The Problem i got now ist that full charge capacity is always jumping back to 0 and that the state of charge stays at 0% all time.

    Here is the data and settings of my last messurements:

    charge_data.csv

    config.gg.csv


    Best regards,
    Florian

  • Florian

        Please add title to each column so that I can know the meaning of the data in each column

  • Sorry totally forgot about that, here is the file with titles:

    3660.charge_data.csv

    Best regards,
    Florian

  • Florian

       I am afraid there are some items in your configuration file is not set appropriately.

       The charging voltages are set to 2270mV or 2200mV, but I found in your log file, when FC set, the average cell voltage is about 2389, please set them correctly.

       The cell terminate voltage is set to 3500mV, which is way too high for Pb battery, please set this correctly

  • Hi Steven,

    Just wanted to let you know that these changes fixed my problems, got everything working now, thank you for your help.

    Best regards,
    Florian

  • Hi, Florian

         Thanks for your update!