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.

BQ34Z100EVM: Cannot reach update status=0x05 in learning cycle with 3300 mAh 12.8V LiFeP)4

Part Number: BQ34Z100EVM
Other Parts Discussed in Thread: BQ34Z100-G1, , BQ34Z100, BQ40Z50, BQ40Z50-R2

Hello,

I am trying to evaluate the BQ34z100EVM (BQ34z100-G1) with a 12.8V LiFePO4 pack (3300 mAh) made by aaportable (found a CHEMID which appeared to match the pack model and parameters). Link: 

I started by discharging to the termination voltage. The protection circuitry appeared to cut off between 9~9.5V, so I discharged down to 10V pack voltage at ~0.2C (2500 mV per cell) to leave some margin. Following this, I sent the IT_ENABLE command and waited for OCVTAKEN=1. The charger used is a bq24773EVM, and the charger is shut off by a MSP430 which shuts off the charger as soon as the FC bit transitions to 1. I logged the results of the charge at ~0.2C and attempt at relax in "20180703-first-chg.csv" (in the attached zip). Relevant fields from the BQ34z100-G1 in this file are - Flags (hex), CtrlSt (Control Status in hex), Vactual_mV (Voltage), Iactual_mA (Current)

The pack was in the FC=1 state for a couple of days, and update status would not transition to 0x05. It appears to have timed out, as SOC was eventually reset to 0.

I have been looking through available documentation and forum posts, and cannot determine what is wrong with the configuration or charge profile.

I have included logs of RAM and Flash before the charge (20180703b4chg) and after charge (20180703afterchg).

Is it clear from the data why the learning cycle failed, and are there any recommendations that can be made in order to achieve a successful learning cycle?

Thank you,

Justin

20180703b4chg.zip

  • Hi Justin,

    During the relax after charging, the device will take an OCV reading when the dV/dt of the battery is less than 4uV/s. The device will not make a Qmax update until this condition is met. Once a Qmax update is made, the status should transition to 0x05.

    Is there anything that might be adding noise to the voltage reading in your setup? It should only take about 2 hours for the state transition to occur.

    Best regards,

    Matt

  • Hello Matt,

    Thanks for your assistance on this issue. This is what I expected as well, but reviewing 20180703afterfirstchg.log in the attached zip file, I can see that voltage reaches at 3328 mV at DateTime=2018-07-04 10:45:08 and ElapsedTime=68464.328, and remains at that value until SOC is is reset to zero. It appears the dV/dt condition may have even been reached earlier than this time depending on the window used for the calculation, and I see no evidence of noise issues on the voltage sensor. Here is a graph of Voltage, with SOC plotted on the secondary, to show when it drops to 0.

    Any thoughts on where to look next?

    Best regards,

    Justin

  • For some reason this graph didn't show up in the last reply:

  • Hi Justin,
    I have been analyzing your log file and I haven't identified an issue yet. I will continue to review this to look for anything that might prevent a successful OCV reading.
    May I ask why you selected bq34z100 for this application instead of the bq40z50?
    Thanks,
    Matt
  • Matt,

    The main reason I wasn't considering the bq40z50-R2 is that I couldn't find info in the datasheet specifically indicating it would support LiFePO4 chemistry, though it comes up in the parametrics. Can it be configured to work with this chemistry? Might this part perform better or be easier to integrate?

    I don't require the hard protection and balancing features (the packs I'm considering have the protection overvoltage, undervoltage, overcurrent, etc built in, and we're not building packs from cells at this point, though this should be OK if it can be bypassed where not required.

    I am open to other gas gauge part suggestions if you think there is something that would better match my application. I am interested in knowing about any other gauges that would fit my application so I can compare all the options.

    High level requirements:

    - Support at least Li-ion, and LiFePO4 - other chemistries such as NiMH are a plus

    - Pack side gauging with uC communication interface (I2C, SMBus, or HDQ) to get SOC, SOH, charge current, charge voltage, etc... 

    - Up to 4S cells / ~15V

    - Up to 12 Ah (ideally 20 Ah)

    - Hard protection features and balancing not required, but open to parts with these features if they can be bypassed when the protection requirements are already covered.

    In the meantime, hoping to getting to the bottom of this issue so I can finish evaluating whether BQ34z100-G1 is a viable option for my application.

    Thank you for your help,

    Justin

  • Hi Justin,

    I have a few suggestions to debug the issue you are seeing. 

    First, can you tell me the ChemID that you selected? We need to make sure it is the right match for the battery you are using. This may or may not be related to the issue, but it is very important for the Impedance Track algorithm to achieve a successful learning cycle.

    I think the charge method may be part of the problem. Right now, you have FC Set = 100. This means the FC bit will be set when the charge voltage reaches the specified voltage. However, for LiFePO4 batteries, the battery is not yet fully charged at this point (it might be around 60% full). Instead of shutting off the charger, charging should shift to constant voltage mode to complete the charge. It may help to change FC Set to '-1'. This will set FC based on multiple conditions including the taper current.

    If this resolves the issue, there are a couple more things to keep in mind to achieve a successful learning cycle. LiFePO4 cells do take longer to settle, so the relax time after charging may take around 48 hours. When the DOD values start to update, you will want to see at least 90% of the range covered for a good learning cycle. So before discharging, you will want to see a DOD value of less than 10% of the max possible value before you start the discharge in order to be able to cover 90% of the value range.

    Regarding bq40z50-R2, I do think this is a better device to meet your needs. It is based on our latest hardware and firmware platform, so it has improved accuracy and gauging algorithms. This device has superior features and ease of use. The bq34z100 makes sense if you need higher than 4 cells in series, if you need a system side gauge, or if you must support another non-Li chemistry (PbA, NiMH, NiCd). 

    Best regards,

    Matt

  • Hi Matt,

    The ChemID that I programmed is 0451 (AAPortable, 26650, LiFePO4/carbon).

    Thank you for pointing out the FC Set issue, I had missed that one. The last charge appeared to taper the current, but maybe it wasn't long enough. At least one of the earlier attempts set FC before the taper was complete, when 100% SOC was reached, so that explains that. I will attempt another cycle sometime week following your recommendations.

    As far as the gauge device, I was reading up more on bq40z50-R2. Our application uses off the shelf battery packs with built in protection, so we are only able to connect to the pack terminals and not able to make individual cell connections (the gauge will be permanently connected to the pack terminals, however). If there is a proven way to use this gauge with connections only to Pack+ and Pack- for a 4S stack, I'd be interested in evaluating this device. Otherwise, I will keep it in mind in case it becomes feasible in the future to build our own packs or have custom packs built for us.

    Thanks,

    Justin

  • Hi Justin,
    Is it okay if we close this thread and open a new one if you see any issues once you are able to attempt another learning cycle?
    Thanks,
    Matt
  • Yes, no problem.