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.

BQ40Z50: SoC information and setting design parameters in C code

Part Number: BQ40Z50
Other Parts Discussed in Thread: BQSTUDIO, EV2400,

Hey all,

I am currently using the BQ40Z50EVM R1 fuel gauge to track battery information. I was having some problems regarding SoC measurements.

Some background: I used the EV2400 with BQstudio to verify my readings were correct. I can obtain correct pack voltage, current, and other peripherals. However, when reading SoC I will either get 0 or occasionally 100 (100 is more rare). I am using a 3-cell series configuration. I have the correct ChemID pushed onto the board.

I was looking through the specification sheet and saw that Relative SoC will be updated after a discharge/charge, and was curious if a full discharge and charge cycle is required to get an accurate Relative SoC reading.

Another question I have is if there is a procedure in any of the technical documents for the BQ40Z50 for setting Design Capacity and Design Voltage? The older BQ27441 had a procedure for setting those parameters, but I was not able to find any similar procedures in the BQ40Z50 documents. (For reference, the procedure for the BQ27441 can be found on page 14 of this manual: http://www.ti.com/lit/ug/sluuac9a/sluuac9a.pdf ).

Please let me know if anyone has had any similar issues to this, or if they know of any common fixes to this problem.

  • Yes, you will have to perform a learning cycle on the gauge. You can use this document, www.ti.com/.../slua777.pdf which refers a different device but the procedure for this gauge is similar. Design capacity and design voltage are manufacturer specified parameters. You can just write them into the df using bqstudio. All you need is that your voltage be higher than 3500mV. Unfortunately we don't have a manual that specifies how to write df in that manner. My suggestion is that you use bqstudio to write it and you can check it by reading back from df. Those are static parameters and you won't have to update them once written before.
  • To clarify, by df did you mean dataflash?

    Some follow-up questions:

    1) Is it possible to update design voltage and design capacity in the df through C code? I remember seeing some information on the reference manual for the BQ40Z50 but didn't notice any formal procedures (like in the BQ27441).

    2) What parameters besides ChemID, design capacity, and design voltage should be set when using a new and different battery? Are there any?

    3) Is design voltage the nominal cell voltage * number of cells in series? Or is it the nominal voltage of one cell?

    4) The BQ40Z50 manual says that Qmax will be updated when gauging is enabled, and from looking at the document you linked we need to enable gauging before doing the learning cycle. Will the gauging be updated automatically for the BQ40Z50 or do we need to do it manually?

    5) It looks like only the second discharge cycle has a discharge time requirement (C/10). I wanted to ask and confirm if this is the same for the BQ40Z50, or if there are additional/different discharge time requirements.

  • df is dataflash.

    1. yes, it's there in the TRM
    2. please refer the TRM. You need to change IT, protection, pf and configuration settings per your application.
    3. nominal voltage of one cell
    4. enable IT by sending command 0x21. The rest will be handled by the algorithm
    5. I don't know what document you are referring to. To get a chem ID match, see http://www.ti.com/tool/GPCCHEM. For learning cycle refer to the document in my previous post.