Other Parts Discussed in Thread: EV2400, BQSTUDIO
Hello,
I am currently working on a 4S2P battery pack with a BQ40Z80 fuel gauge. Recently, I have begun noticing an issue consistently enough that I do not believe it is a soldering/manufacturing problem. I am flashing the Data Memory with a Golden File which I created by following the instructions in How to Complete a Successful Learning Cycle for the bq40z80 and I have attached my golden file at the end of this post.
The issue occurs during calibration. Everything works well during initial connection. As you can see in the image below, I was able to send a reset command followed by CHEM_ID and two CAL_TOGGLEs. I also had Scan enabled the whole time and was able to see the registers updating throughout this process.
After verifying that this worked, I went on to calibrate the voltages, measuring the voltages at VC1 for Applied Cell 1 Voltage, VC4 for Applied VC6-VSS Voltage, and PACK for Applied Pack Voltage, then clicking Calibrate Gas Gauge. As you can see in the image below, the Calibration failed with an error message "Calibration - No acknowledge from device".
After the communication failure during Calibration, I lose all communication with the fuel gauge. In the image below I have tried issuing a CHEM_ID command like I did before the calibration, but it failed with the error message "WriteMACReadBlock communication error :No acknowledge from device."
I have had this same issue happen on 6 separate battery packs recently and I am unable to fix it. Below is a list of things I have tried so far:
- Reloading the firmware "bq40z80_v0_04_build_5.srec" which I downloaded from the BQ40Z80 webpage. Then re-loading the Chemistry Profile and Golden File.
- Exporting the firmware from a functional battery pack and then loading that firmware onto one of the bad battery packs.
- Changing the SMBus frequency from 400kHz to 100kHz.
After the error occurs I am able to get communication back by simply closing and re-opening Battery Management Studio, at which point the CAL_EN bit will be set high (presumably because it was set during calibration, but not cleared because calibration did not finish). I am able to repeat this cycle as much as I would like, but if I ever try calibrating the battery packs I will get a No Ack error and lose communication until I restart Battery Management Studio.
Nathan