gpt4 book ai didi

microcontroller - 使用STM F401RE Nucleo计算温度传感器的正确公式?

转载 作者:行者123 更新时间:2023-12-05 04:11:47 25 4
gpt4 key购买 nike

我正在使用 STM32F401RE Nucleo 板来测量环境温度。采样过程后,我从 ADC_CHANNEL_TEMPERATURE 收到一个数字值,我想将该数字值转换为 C°。我在互联网上搜索了这个,发现了两种不同的方法:

方法 1:http://www.st.com/content/ccc/resource/technical/document 中的第 226 页

Temp(degree) = (V_sense - V_25)/Avg_slope + 25

方法 2:http://www.st.com/content/ccc/resource/technical/document 中的第 251 页

Temp(degree) = ( ( (110 - 30)*(TS_DATA - TS_CAL1) ) / (TS_CAL_2 - TS_CAL_1) ) + 30
Where:
- TS_CAL2: temperature sensor calibration value at 110 C°
- TS_CAL1: temperature sensor calibration value at 30 C°
- TS_DATA: temperature sensor output from ADC

我很困惑哪一个是计算 C° 温度的正确公式。虽然方法 1 来自 STM32F401 的引用手册,但温度结果看起来不正确。而方法2来自STM32F0系列的引用手册,看起来比较合理。

我仍然不知道在使用 STM32F401RE Nucleo 板时应该应用哪个公式?

最佳答案

方法 1 Temp(degree) = (V_sense - V_25)/Avg_slope + 25 是一个简化版本,其中校准可能是通过预先测量 25° 处的值并将其分配给 V_25 来完成的。在这种情况下,Avg_slope 可能取自数据表 - 但它也可能是某些校准的结果。

方法 2 Temp(degree) = ( ( (110 - 30)*(TS_DATA - TS_CAL1) )/(TS_CAL_2 - TS_CAL_1) ) + 30 使用两个校准点,分别为 30° 和 110 °,更正确。请注意,方法 1 也可以使用两个校准点(用于计算平均斜率)。此外,方法 2 可以让您将校准点带到任何地方(大概是在您更感兴趣的范围内)。

然而,这两种方法都受到传感器非线性(如果有)的影响。我想存在一些非线性,因为方法 1 讲述了“平均斜率”。如果您想要更高的精度,您可以取几个校准点并在它们之间进行插值。

关于microcontroller - 使用STM F401RE Nucleo计算温度传感器的正确公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com