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.

[参考译文] BQ76907:在 BQ76907 上使用 1k NTC 从 TS 引脚读取温度

Guru**** 2864540 points

Other Parts Discussed in Thread: BQ76907

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1637653/bq76907-issue-reading-temperature-from-ts-pin-using-1k-ntc-on-bq76907

器件型号: BQ76907

您好 TI 支持团队:

我正在使用 BQ76907 IC、目前在使用外部 NTC 热敏电阻从 TS 引脚读取温度时遇到了问题。

设置详细信息:

  • IC:BQ76907

  • 热敏电阻:1K NTC

  • TS 引脚配置为热敏电阻模式(启用内部~20k 上拉电阻)

  • 读取 TS1 温度寄存器

问题:
我无法获得准确或稳定的温度读数。 值显示不正确或超出预期范围。

我的理解:
从 TRM 中可以看出、TS 测量满量程为:
Vref×(5/3) 超过 32768 个计数。

由于 TS 引脚在热敏电阻模式下使用一个连接至 1.8V 的内部~20k 上拉电阻器、因此我假设测量是比例式的、并使用以下方法计算电阻和温度。

用于转换的代码:

static float BQ76907_ConvertTsCountsToCelsius(uint16_t tsMeas) {
    const float pullupOhm = 20000.0f;
    const float r25Ohm = 10000.0f;
    const float beta = 3435.0f;
    const float t0Kelvin = 298.15f;
    const float ratioScale = (5.0f / 3.0f) / 32768.0f;

    float ratio = (float) tsMeas * ratioScale;
    if ((ratio <= 0.0f) || (ratio >= 0.999f)) {
        return NAN;
    }

    float rNtc = pullupOhm * ratio / (1.0f - ratio);
    if (rNtc <= 0.0f) {
        return NAN;
    }

    float invT = (1.0f / t0Kelvin) + (1.0f / beta) * logf(rNtc / r25Ohm);
    if (invT <= 0.0f) {
        return NAN;
    }

    return (1.0f / invT) - 273.15f;
}

float BQ7690x_ReadTemperature(void) {
    uint16_t raw = BQ7690x_ReadWord(0x2A);
    float tsTempC = BQ76907_ConvertTsCountsToCelsius(raw);

    if (isnan(tsTempC) || (tsTempC < -50.0f) || (tsTempC > 150.0f)) {
        return BQ76907_DecodeCelsiusFromReg(raw);
    }

    return tsTempC * BQ_TS_EXT_TEMP_SCALE;
}

我的问题:

  1. TS1Temperature 寄存器是否提供原始 ADC 计数或已转换的温度?

  2. 使用 (5/3)/32768 的缩放是否适用于 TS 测量?

  3. 内部 20k 上拉电阻是否需要校准或校正?

  4. PowerConfig 或 TS 设置中是否需要任何特定配置?

我怀疑:

  • TS 寄存器格式解释不正确、或

  • 热敏电阻值和内部上拉电阻之间不匹配

您能否介绍从 TS 引脚读取外部热敏电阻温度的正确方法?

image.png


此致、
Yash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Yash、

    1. 该值为 ADC 计数中的 I2(2 字节整数)格式。  整数值采用二进制补码格式以小端字节序的顺序存储为 1 字节、2 字节或 4 字节值。
    2. 是的。
    3. 编号
    4. 您可以选择校准 TS 偏移

    此致、
    Michael