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.

[参考译文] BQ76942:外部温度传感器多项式系数和调优

Guru**** 2555630 points
Other Parts Discussed in Thread: BQ76942, BQ76952, BQSTUDIO, TIDA-010208

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1031530/bq76942-external-temperature-sensor-polynomial-coefficients-and-tuning

器件型号:BQ76942
主题中讨论的其他器件: BQ76952BQSTUDIOTIDA-010208

您好!

我们尝试在 BQ76942保护 IC 上使用内部温度保护。 A 和 B 系数是使用此芯片技术文档中提供的 Excel 电子表格配置的。 我们遇到的问题是、报告的温度在合理的低温度和极高温度下表现不好。 使用单独的经过良好校准的数字温度模块对温度进行客观验证。  

我们已将内部上拉电阻配置为18kR、25摄氏度时热敏电阻的标称电阻为10kR。 我们已经尝试使用18kR 内部模型以及自定义温度模型、它们的性能几乎相同。 ADC0经过经验验证、并使用 BQ76942参考手册中定义的公式选择了 rc0。 在冰水(约4摄氏度)下、热敏电阻模型返回17摄氏度、在热水(80摄氏度)下、热敏电阻模型报告84。 该模型在20至70度的范围内表现良好。

如果您能深入了解我们如何提高温度模型的性能、我们将不胜感激!

谢谢、

-Alex

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

    尊敬的 Alex:

    电子表格工具并不总是生成最准确的结果。 我有一个内部工具。 如果您向我发送热敏电阻的 R/T 表、我可以生成新系数来查看它是否提高了性能。  

    最终、我们将把改进后的工具发布到产品文件夹中。  

    此致、

    Matt

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

    您好、Matt、

    感谢您回来。

    这是我们 NTC 热敏电阻的 R/T 图。

    摄氏度 R
    -55. 963000
    -50. 670100
    -45. 471700
    -40 336500
    -35. 242600
    -30 177000
    -25. 130400
    -20 97070
    -15 72930
    -10 55330
    -5. 42320
    0 32650
    5. 25390
    10. 19900
    15. 15710
    20. 12490
    25 10000
    30 8057.
    35. 6531.
    40 5327
    45. 4369
    50 3603
    55 2986
    60 2488
    65 2083
    70 1752.
    75 1481.
    80 1258.
    85. 1072
    90 917.7
    95 788.5
    100 680
    105. 588.6
    110 511.2.
    115 445.4
    120 389.3
    125. 341.7
    130 300.9.
    135. 265.4
    140 234.8
    145. 208.3
    150 185.3
    155. 165.3
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Alex:

    以下是该热敏电阻-55至155范围内的最佳系数。 很难在整个范围内获得很高的精度。

    A1-A5:-8192 -4096 20479 12287 4095   

    B1-B5:-24025 23828 -8742 4503

    ADC0 = RC0 = 11703

    如下所示、在该范围内、误差确实高达5C。

    我还尝试了较小的范围、以查看是否可以提高精度。 这在-40 - 120C 的范围内会获得更好的精度、但在-55C 和150C 的极端温度下会获得更差的精度。

    A1-A5:-21846 27306 -10923 32767 5461   

    B1-B5: -31395  23656  -8209  4298

    ADC0 = RC0 = 11703

    此致、

    Matt

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

    您好、Matt、

    感谢您的观看。 您能否提供另一组在-40到65范围内过度匹配的系数?

    -Alex

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

    此外、我们刚刚验证了-40至120°C 的 FIT 在低温度下仍然表现不佳。 在4C 处、保护 IC 返回的估算值为16.8C。

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

    尊敬的 Alex:

    以下是-40至65的系数:

    A1-A5: -10923 -10923  -5462  32767  10922

    B1-B4: -2515  5020 -4224  3808

    对于测试、我假设您使用的是18k 设置和18k 温度模型?

    Matt

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

    您好、Matt、

    再次感谢您提供这些图。 遗憾的是、我们在较低的温度下仍然存在问题。 它似乎一直被12C 关闭。 我们在编写系数时已将 BQ 配置为18kR 上拉电阻器和18kR 模型。 我确认了 ADC 不会饱和、尽管在从计数转换为电压时、它与电阻的预期不完全匹配。  

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

    此外、这里是我们所使用的热敏电阻的数据表。 我们将8016 R/T 曲线用于10kR 热敏电阻。

    www.tdk-electronics.tdk.com/.../NTC_Mini_sensors_S861.pdf

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

    尊敬的 Alex:

    您如何从 BQ76952读取测量值? 您是否使用0x70等直接命令? 您可以共享寄存器设置吗?

    Matt

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

    您好、Matt、

    我们实际上正在对0x70 (TS1)寄存器进行采样、将其从十开尔文转换为摄氏温度。 我们已将 TS1配置寄存器配置为使用18kR 上拉和模型(0b00001011)

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

    您能否共享完整的寄存器设置? 如果您连接到 BQStudio、则可以从"Data Memory"屏幕导出.gg.csv 文件。  

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

    这是通过我们自己的 MCU 实现的、而不是开发套件上的 MCU。 我可以提供您认为有用的任何寄存器设置信息。

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

    也许您可以共享您编写配置寄存器的代码。 我对下面的参数非常感兴趣。

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

    我们当前将温度偏移设置为0。

    这是用于配置18k 模型的系数和 ADC0以及 TS1的配置寄存器的块

    //Custom Temperature Model Coefficients
        data.length = 2;
        data.value.int16Val = -10923;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_A1, &data, &error);
        data.value.int16Val = -10923;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_A2, &data, &error);
        data.value.int16Val = -5462;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_A3, &data, &error);
        data.value.int16Val = 32767;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_A4, &data, &error);
        data.value.int16Val = 10922;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_A5, &data, &error);
        data.value.int16Val = -2515;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_B1, &data, &error);
        data.value.int16Val = 5020;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_B2, &data, &error);
        data.value.int16Val = -4224;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_B3, &data, &error);
        data.value.int16Val = 3808;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_COEFF_B4, &data, &error);
        data.value.int16Val = 11703;
        BQ76942_Data_Memory(&hspi1, C18K_TEMP_ADC0, &data, &error);
        // Thermistor Configs
        data.length = 1;
        data.value.uint8Val = 0b00001011; // Enable thermistor input, use 18k model
        BQ76942_Data_Memory(&hspi1, TS1_CONFIG_ADDR, &data, &error);
        BQ76942_Data_Memory(&hspi1, TS3_CONFIG_ADDR, &data, &error);

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

    谢谢。 我假设您在 CONFIG_UPDATE 模式下写入所有这些内容? 未写入 TS1温度偏移、对吧? 您是否能够读回这些内容以确认它们是否正确写入?

    我只是想考虑温度误差会如此高的可能原因。 我没有看到其他人报告过这么大的错误。 您是否可以尝试其他类型的热敏电阻?

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

    是的、这只是一个来自在 CONFIG_UPDATE 模式下包装的段的块。

    我们可以验证是否未写入偏移、但在标称温度下似乎没有偏移。

    我们可能会尝试不同的热敏电阻、尽管这不是首选解决方案。

    我们目前正在做的一件事是对保护 IC 提供的32位 ADC 值进行采样、并使用我们自己的曲线拟合来计算温度。 我们的曲线是2系数对数拟合、可在4度内计算温度而不会过度拟合。

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

    尊敬的 Alex:

    您能否捕获每个温度的 ADC 计数以及由0x70返回的计算温度值? 我可以通过我们的工具运行原始计数、作为次要检查。 我还可以查看计数、以确保它们与该热敏电阻在每个温度下的预期理想值相匹配。

    Matt

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

    您好、Matt、
    下表显示了在每个温度下(相隔5 C)从 DASTATUS6 ()测得的 TS1原始32位 ADC 计数、以及使用上面列出的配置通过 TS1 0x70命令计算的温度。

    温度(C) 0x70温度(0.1 K) 转换为 C 测得的 ADC 计数
    85. 3500 76.85. 423628
    80 3487

    75.55.

    464014.
    75 3451 71.95. 516198
    70 3420. 68.85 563821.
    65 3372 64.05 642005年
    60 3338. 60.65 704669
    55 3295 56.35. 801666
    50 3240 50.85. 916008.
    45. 3191 45.95. 1043905
    40 3142 41.05 1194255
    35. 3102. 37.05 1327528
    30 3067 33.55. 1497400
    25 3020. 28.85 1651612
    20. 2989 25.75 1805898
    15. 2956. 22.45. 1973195.
    10. 2937. 20.55. 2076696
    5. 2900 16.85. 2280277
    0 2892 16.05 2329325

    谢谢、

    Ryan

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

    您好、Ryan、

    ADC 计数测量很有趣。 它们似乎与我希望从热敏电阻电阻表中获得的电压不匹配。 请参阅下面最右列中的理论 ADC 代码。 这些是我们根据您的热敏电阻预期的电压和 ADC 计数。 热敏电阻器件型号是否可能与发送的数据表 Alex 有所不同?  

    我们可以检查的另一件事是、查看内部18k 上拉电阻器的值是否已关闭。 如果在连接10k 电阻器的情况下读取室温下的 ADC 计数、则其读数应接近1797559。  

    温度(C) 0x70温度(0.1 K) 转换为 C 测得的 ADC 计数 R 表示热敏电阻温度 R 的理论电压 理论代码
    85. 3500 76.85. 423628 1072 0.101174497 282904.3973
    80 3487 75.55. 464014. 1258. 0.117582303 328783.9505
    75 3451 71.95. 516198 1481. 0.136841025 382635.2379
    70 3420. 68.85 563821. 1752. 0.159659781 446441.1062
    65 3372 64.05 642005年 2083 0.186695215 522037.6576
    60 3338. 60.65 704669 2488 0.21858649 611212.1253
    55 3295 56.35. 801666 2986 0.2561136 716145.53
    50 3240 50.85. 916008. 3603 0.300208304 839443.2613
    45. 3191 45.95. 1043905 4369 0.35156901 983052.305
    40 3142 41.05 1194255 5327 0.411051571 1149383.499
    35. 3102. 37.05 1327528 6531. 0.479222209 1340002.418
    30 3067 33.55. 1497400 8057. 0.55657213 1556288.475
    25 3020. 28.85 1651612 10000 0.642857143 1797558.857
    20. 2989 25.75 1805898 12490 0.73735651 2061798.24
    15. 2956. 22.45. 1973195. 15710 0.838860872 2345625.008
    10. 2937. 20.55. 2076696 19900 0.945118734 2642743.523
    5. 2900 16.85. 2280277 25390 1.053284167 2945195.996
    0 2892 16.05 2329325 32650 1.160315893 3244478.395

    此致、

    Matt

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

    您好、Matt、

    我们拥有的数据表直接来自电池制造商、并且大多数情况下也经过了经验验证。 至于上拉电阻器的测试、我在22 C 时连接了一个12K 的电阻器(没有任何10s)、并得到一个1773997的 ADC 计数。

    是否值得调查 ADC 校准?

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

    Ryan、  

    您能否在连接电阻器的情况下使用万用表测量引脚上的电压? 它的价值似乎远不及我们的预期。

    Matt

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

    您好、Matt、

    您是不是要测量连接到 TS1引脚和接地端的电阻器上的电压?

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

    如果我通过我们插入的热敏电阻(大约为10kR)进行测量、则电压会在0和30mV 之间波动

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

    尊敬的 Alex:

    热敏电阻电压在每个测量环路上启用一次、以便在不进行测量时不使用功率。 因此、您可能需要在示波器上测量该值。

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

    您好、Matt、

    在示波器上、我看到电阻器上的电压短暂跳至670mV、脉冲宽度约为500us

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

    校正、2.5ms

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

    好的、这听起来更接近预期值。 因此、您将获得电阻器上的预期电压、这很好。  

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

    但 ADC 计数似乎与您在内部18k 上拉时所期望的值不符? 这意味着什么?

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

    您好、Matt、

    对此有什么想法吗?

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

    尊敬的 Alex:

    我一直在处理数字、试图弄清楚可能发生的情况。 当您直接读取 ADC 计数时、它不使用任何校准设置、因此温度多项式或 ADC 增益的设置不会影响读取。 您正在读取的代码和您在12k 范围内看到的电压都在正确范围内、但不是我针对理论值计算的精确范围。 即使这些代码稍微关闭、它仍然不会解释您在扫描温度时读取的代码。 例如、在85C 时、测得的 ADC 计数为423628、根据数据表、理论热敏电阻电阻为1.072k。 理论上、如果上拉18k、这将导致热敏电阻上的值为101.1mV、或者282904代码远低于您读取的代码。  

    这就是我想知道热敏电阻数据表是否适用于您在电路板上使用的器件的原因。 ADC 代码似乎接近室温的理论值、但在高温下约为33%、在低温下约为40%。 这就是我们应用多项式之前的全部内容。

    此致、

    Matt  

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

    您好、Matt、

    我们联系了提供传感器的电池制造商、他们确认数据表正确无误。 我还根据经验验证了几个温度极处的热敏电阻电阻、它们似乎与数据表相匹配。

    温度传感器引脚是否暴露在开发套件上? 如果您认为该行为有用、我可以尝试查看该行为是否存在。

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

    是的、您可以访问 EVM 上的温度传感器引脚。 请务必查看 BQ76952 EVM 用户指南中的原理图以了解测试点。 TS1和 TS3板上安装了热敏电阻。

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

    尊敬的 Alex:

    Matt 和我一直在讨论您的问题、我也对 您提供的数字做了更多的处理、到目前为止、我无法提供您所看到的内容的解释。

    您是否在使用不同器件的多个电路板上看到相同的行为、或者您主要使用单个电路板?

    您是否能够对 EVM 进行任何测试、并在那里尝试复制?

    我知道您已经获取了大量数据、因此我不想要求更多数据、但我不知道进一步调试数据的更好方法。  以下是一些可能有助于我们更好地诊断此问题的建议:

    您能否仔细观察一下热敏电阻引脚运行时的脉冲行为示波器?  如果节点上的电容过大、则较慢的趋稳行为会影响转换。  我们建议将节点处的电容限制为< 4nF。

    为了确定 ADC 是否正在正确测量、您能否使用固定电压驱动热敏电阻引脚并捕获该电压的原始计数数据、以几个步骤从0V 扫描到~1.8V 的电压。  接近 1.8V 的步骤可能是最有趣的、因为当热敏电阻  具有相当大的阻抗时、这将是低温下的预期电压。  理想情况下、您可以在室温和低温下捕获此数据、以防在芯片温度较低时 ADC 发生变化。  另外、在此期间、请测量 REG18引脚的电压、因为该器件会使用该电压作为热敏电阻和 ADC 基准的电源进行比例转换。  如果该引脚上的噪声过大、则可能会影响测量。

    在使用引脚上驱动的电压进行 ADC 测量时、如果可能、您可以测量灌入驱动源的电流吗?  该电流将让我们计算内部上拉电阻器的值。  我根据您之前提供的数据反向计算了内部上拉电阻值、该值在较高的温度下看起来如预期的那样、然后在较低的温度下大幅上升、远高于我们之前看到的任何情况。  但这将提供更直接的测量。

    谢谢、

    Terry

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

    您好、Terry、

    这真的是一个很棒的收获! 我并不完全了解测量策略、因此我在我们的两个热敏电阻线路上都放置了与热敏电阻并联的100nF 电容器。 我们将使用1nF 电容器替换这些电容器、并再次测试所有器件。

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

    我们移除了电容器、这带来了显著的不同! 我们能够准确测量温度、一直到-14C。 非常感谢您的帮助!

    最后一个问题是、是否建议使用任何外部电容滤波器?

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

    尊敬的 Alex:

    真是个好消息! 如果热敏电阻连接的导线较长、则使用较小的电容器有助于降低噪声。 470pF 是一种非常常用的值-此值用于参考设计 TIDA-010208 :https://www.ti.com/tool/TIDA-010208中 

    此致、

    Matt

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

    您好、Matt、

    我们确实在35cm 长的引线上安装了这些热敏电阻、因此它们可以安装在电池组内。 根据 Terry 的上述评论、为了不在 BOM 中添加其他行、我将使用1nF 的电容。 请告诉我、您是否看到该选择存在问题。

    非常感谢您的所有帮助!

    -Deniz

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

    没关系。 它在数据表建议的范围内。