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.

BQ35100: Current measurement depends on operational mode

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

After loading the device with the default firmware using bqSudio I started calibrating the device. For calibration the technical reference manual states that device needs to be put into ACC mode. When calibration is complete if I read the current register, either with bqStudio or my host microcontroller, I see a very accurate value for current. However, as soon as I switch to EOS mode and take another reading the current value changes dramatically despite no actual change in the actual load current. If I change back to ACC mode and read the current register again it is back on target. In ACC mode the current tracks reality well if I change the load, so I have some confidence that the calibration was completed successfully, but our goal is to use EOS mode.

Where should I start looking to troubleshoot this? 

Thanks.

  • Hell Corey,

    Have you followed the EVM user's guide for doing calibration? Do you have an EV2400 to test with?

    You will need the EV2400 to upload the chemID. www.ti.com/.../sluubh7.pdf

    Sincerely,

    Wyatt Keller

  • Yes, I am using an EV2400 and I have followed the calibration instructions. I uploaded chem ID 622 though this likely is not an exact match for our battery. I would not expect the chem ID to affect the current calibration however. Please let me know if that's not the case.

    My procedure to reproduce the problem is as follows:

    1. Enter ACC mode using the "Data Memory" tab and selecting configuration to change GMSEL1:0 to be 00 in the operation config A register.

    2. Go to "Calibration" tab. Under commands click unseal.

    3. Apply known current and enter the value (in my case -540 mA) into bqStudio and click "Calibrate Gas Gauge." Success is reported with the green check mark.

    4. Go to "Registers" tab and click refresh. At this point I observe about 540 mA for the current value as expected.

    5. Enter EOS mode using the "Data Memory" tab and selecting configuration to change GMSEL1:0 to be 10 in the operation config A register.

    6. Go to the "Registers" tab and click refresh. At this point I observe 372 mA for the current value.

    Based on this thread: https://e2e.ti.com/support/power-management/f/196/p/611494/2255360?tisearch=e2e-sitesearch&keymatch=bq35100%2525252520ccgain#2255360, I should see a values of CC Gain and CC delta that are close to the value of my current sense resistor when viewed from bqStudio which is true. I have a 100 mOhm resistor and I'm seeing ~102 in bqStudio. 

    I've attached the data memory exported as gg.csv in case it is helpful.

    1346.data_memory.gg.csv

  • One other thing I should mention. In the above procedure if in step 1 if I instead make sure the gauge is in EOS mode then the calibration succeeds and current readings are then valid in both EOS and ACC mode.

    Thanks.

  • Hello Corey,

    I'll take a look and confirm on my side if the calibration doesn't transfer between modes. It should work with calibrating in ACC mode.

    Right now I would recommend you calibrate in EOS mode if you are able to get accurate current measurements.

    Sincerely,

    Wyatt Keller

  • I noticed the AD I offset was set to a large negative value. I'm not sure what impact that could have as it doesn't appear to be documented anywhere. However, after re-flashing the firmware and performing calibration again from scratch the AD I offset is zeroed and the gauge current readings appear valid again.

  • Hello Corey,

    Could the data been accidentally changed? Now it is working in both modes while calibrating in ACC mode?

    Sincerely,

    Wyatt Keller

  • Yes, I found a mistake in my code that was writing some memory locations unintentionally. Specifically, AD I offset, Int Temp Offset, Ext Temp Offset and Pack V offset were likely corrupt. Yes, now it is giving me valid current in both modes.

    Thanks.

  • Hello Corey,

    Glad to hear you were able to fix the issue.

    Sincerely,

    Wyatt Keller