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-R2: BQ40z50 R2

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

Tool/software:

I am trying to run Advanced Comm SMB commands to extract below values for from the battery pack ( with BQ40z50 R2) using EV2400 and BQ studio. Can you please let me know the process of sending command to read below parameters:

  1. Cell 1-4 Voltages
  2. Cell 1-4 Temperatures (TS1-TS4)
  3. Cell 1-4 Current
  4. Other cell level alerts

 

  • Hi Sadatan,

    For reading values from Advanced comm, you can find the address for what you are looking for by clicking on it within the registers portion of bqStudio like Cell 1 Voltage below:

    Once you have the address, you can go to Advanced Comm and write it like below (using 0x0071 from the example above) and click Write block, then clicking Read Block should give you the results:

    Regards,

    Anthony Baldino

  • This is what I am doing but the value it reads doesn't looks correct or maybe I am not able to interpret it rightly. Can you please explain the value it has return. Please see the sequence below

    Write Block 44 Block 71

    Read Block 44 

    Value it returns is 54 00 87 03 00 00

    Even I am getting same result for 0X71, 0X72 and so on

  • Hello,

    Today's a holiday and no one is in the office. We will get back to you tomorrow.

    Regards,

    Nick Richards

  • Hi Sadatan,

    Please ensure that Auto-Refresh is turned off when this is being accomplished.

    When writing the 0x71, please ensure the data being written to 44 is 71 00, above it seems like only 71 is being sent.

    Regards,

    Anthony Baldino

  • Thanks, Anthony, for the reply. I am able to run the command by sending 71 00 instead of 71, but inconsistently some time it gives correct result btu some time it keeps giving same result i.e. 54 00 87 00 03 00 00. Please note when the command is not working it returns same value whether I am running 71 00 or 72 00 or 73 00. Also I find that the ASCII value remains 'T' when ever it fails and it turns either 'r' or 'q' when it works. Is there any significance of this? Is there any time delay required after every command?

  • Hi Sadatan,

    When the read block is producing the 54 00, this is typically due to the Auto Refresh being on. Each time the gauge reads all of the values, the 54 00 register is the last one read, hence why it is seen when read back. This should not happen if Auto-Refresh is off.

    Please let me know if this fixes the issue.

    Regards,

    Anthony Baldino