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.

Setting gas gauge fault flags for bq20z90

Other Parts Discussed in Thread: BQ20Z90

I am trying to use the SMBus data from the bq20z90 as a diagnostic tool to allow my battery charger to diagnose various faults in the battery.  To validate the charger firmware, I need to be able to apply induced faults onto the battery to verify that the charger firmware can detect them.  At this point I am down to not being able to detect Initialization in the Battery Status function and Over Charge in the Charging Faults function.  Is there any way to "force" these data bits TRUE so my charger firmware can read a "faulted" battery in order to verify the diagnostic performance?

  • Hi George,

    if the INIT bit is not set, you can issue a reset command( 41). I was thinking it not being set is the failure status you seek. As for the overcharge condition you can modify your data flash settings so the fets do not turn off when an OV condition occurs. You can do this by setting the COV time to zero. By setting the other timers to zero like in the aforementioned, your can disable the protection functions thereby only their corresponding safety alert will be set. Notwithstanding, you can still  test these faults with the safety functionality working. By reading the safety status register via smbus you will be able to tell which fault occurred if you don't have the timers set to zero.

    thanks

    Onyx

     

  • That doesn't help.  What I need to know is how to deliberately set a fault (INIT or Overcharge) so that I can read it with the SMBus.  Note: I have already figured out how to test over/undervoltage and overcurrent, I need to test Overcharge.

  • Hi George,

    It will be useful to explain what you tried doing instead of being quick to say that doesn't work. You can write to the battery status register (0x16) to turn of the init bit. As for the OV condition, charge the cells till you are above your OV thresholds and have the COV status set in the safety status register. This is pretty much intuitive.

     

    thanks

    Onyx

  • There is obviously some misunderstanding about what I am trying to do vs. what I have already done.  I have already been able to force a COV and a POV fault using external power supplies and load resistors to simulate an improper charging scenario and have been able to detect those faults.  What I am trying to do is to get an Overcharge fault (Charging Status, 0bxxxxxxxxxxxxxx1x).  I tried to modify the Full Charge Capacity and the Overcharge capacity, but the pack shut off the FETs and I could not get a reading from the charger.  If I understand your first response, I should set all the fault recovery times to zero and then repeat my previous action and see if it works.

  • ok, Now I see that it is the OCHGV bit which you want to test out. The sum of the charging voltage and over charging voltage parameters of the data flash should be set lower than what your pack voltage is. You can do this by modifying both parameters in the charge control section of the data flash.
    thanks
    Onyx

  • Onyx,

    Actually, I am trying to test the OC bit, not the OCHGV bit (overcapacity as opposed to overvoltage). I did try changing the OCHGV per your suggestions, and did not get the results I had hoped, i.e., the charger did not detect the battery was in an overcharged state. I am going to try it again with the battery voltage charged nearer to the max normal charge of the cell pack and see if there is anything else getting in the way of the fault reporting.

  • George,
    It would be quite hard to test the OC functionality since you cannot manually change the remaining capacity and FCC. These two parameters are controlled by the IT algorithm. What you could do that might work is this: if the fully charge voltage which you have been running your tests with is 4.2V, Your FCC would have been adjusted by the IT algorithm for that voltage. Set the overcharge capacity to zero. Now set your charger to 4.1V and charge the cells to that voltage until primary charge termination occurs. FC bit will get set and FCC will now be adjusted by the IT algorithm to a capacity that matches 4.1 V. After this has occurred, increase your charger voltage to 4.2 V and start charging again. Hopefully the Rem cap at that point will increase to a greater value than the current FCC before the device would perform an FCC simulation to adjust for the charger voltage increase.
    thanks
    Onyx

  • Well, that was a good try, but unfortunately it still didn't work.  This may be because the charger firmware "locks out" when the pack is fully charged (100% RSOC) and will not re-start the charge cycle until the RSOC is below 95%.  I think that maybe the time it took me to discharge the pack below 95% allowed the FCC to reset and the charger just charged up to full charge for the 4.2V/cell condition.  Any other ideas?