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.

BQ76905: looking for clarification on external temperature reading

Part Number: BQ76905
Other Parts Discussed in Thread: BQSTUDIO

Tool/software:

I'm not understanding the data sheet regarding reading the temperature of the external thermistor . It seems that if you want to connect a thermistor to the TS pin the thermistor  you should be able to read  registers 2A, 2B, the TS Measurement register and subtract away the TS offset value.

I read: 

bq76905 reg: 002A: 4C35 TS1Temperature

bq76905 reg: 900E: 0001 TSOffset

then take TS1Temperature - TSOffset or 4c35-1=4c34

The DA Config[TSMODE is set to 0 so I think I'm in the right mode for external thermistor use.

Also the value read from TS1Temperature doesn't change even if I heat or cool the external thermistor.

DA Config is: bq76905 reg: 9019: 0000 DAConfig

What am I missing?

  • Hi Dave,

    Are you reading the temperature measurements on BQStudio or on an MCU?

    Regards,

    Max Verboncoeur

  • Reading from an MCU. I'm able to read other registers on the chip - cell voltages, stack voltage, internal temperature, just don't understand how to read the external thermistor's temperature

  • Hi Dave,

    Have you tried using the example microcontroller code that we have available on the product page?

    Regards,

    Max Verboncoeur

  • Max,

    Yes I've looked at that code, but I don't believe it has an example of reading the thermistor temperature (it does for the internal temperature).

    Dave

  • Hi Dave,

    Do you have logic analyzer captures of the reads? I'm curious what I2C frames you are sending.

    We are able to open Saleae Logic files, so you can attach a capture directly. Otherwise, you may need to send screenshots of the sequence.

    Regards,

    Max Verboncoeur

  • Hi Dave,

    One additional thing to check is that the thermistor is connected to the pin correctly. I quick checked the reading that you said you were getting, and it is near the upper limit. You may want to connect a scope across the thermistor and see if the bias voltage is correctly pulsing.

    Regards,

    Max Verboncoeur

  • OK I'll try looking with a scope - I do see it pulsing on a DMM, but need a scope to capture properly.

    I believe I'm reading the I2C registers right - I'm able to read other registers in the part OK. I see there are two modes for the TS pin - one for thermistor use, one for generic ADC use. I belive I'm configured for the thermistor use.

    The data sheet has this paragraph:

    The data is reported using the TS Measurement() command, in units of 16-bit ADC counts. The full-scale digital
    value reflects an analog input level of its reference × 5 / 3. So when the TS pin is measuring a thermistor in
    ratiometric mode using the 1.8V internal regulator for its reference, the 16-bit LSB is 1.8 V × 5 / 3 / 32768 ≅ 92
    μV. When the TS pin is measuring in ADCIN mode using the VREF1 reference, the 16-bit LSB is 1.1962 V ×
    5 / 3 / 32768 ≅ 61 μV. The processing performed on the ADC data before reporting is shown below, using the
    Calibration:Temperature:TS Offset data memory parameter.
    TS Measurement() = (16-bit ADC counts) – (TS offset)

    Does the chip convert that voltage reading into deg C - or do I need to do that conversion, given a 20k pull up and the R0 & B factors of the thermistor we're using?  I had originally thought that it would do that conversion - but now am questioning that - I see the overtemp in charge protection uses a setting in ADC counts, not temperature.

    Thanks,

    Dave

  • Hi Dave,

    Yes, you'll need to do the conversion yourself. The measurement is reported in ADC counts so that there are not the necessary added steps to calibrate the AFE to a specific thermistor curve.

    Regards,

    Max Verboncoeur