STM内部温度传感器通常集成在32件中,其中许多系列但不是所有的,见技术手册,并在出厂时给出基于特定温度和参考电压的校准值。
温度传感器的输出电压可以连接到特定的ADC通道获得电压转换值。以下截图来自STM32G四系列参考手册。
总的来说,温度传感器的输出与测量的温度呈线性关系。然而,每个芯片的传感器之间的线性关系是不同的,因此在出厂时给出了两个校准值,并将其放置在一个特定的位置。下图中不同的直线显示不同的芯片
手册中有一个给出计算温度的算式算式截图来自STM32G4系列参考手册:
这里,TS_CAL1_TEMP,TS_CAL2_TEMP分别对应30℃和130℃;
TS_CAL1, TS_CAL2分别对应30℃和130℃传感器输出电压AD转换值并存储在特定的转换值中 在系统存储区的某个地方,具体查看相应芯片的数据手册,如下图所示:
其中,TS_DATA传感器在待测温度下输出电压ADC值。
以下是一些应用提醒:
1.以上算法是假设我们在实际应用中使用的ADC参考电压与出厂校准时使用的电压一致。如果我们在实际应用中使用的参考电压与出厂校准时使用的参考电压不一致,则在上述算法中TS_DATA还需要进行补偿调整。例如,出厂校准时使用的参考电压vref 等于3.3v,实际应用中的参考电压为3v,所以上面的算式TS_Data须是ADC当前实际转换结果乘以(3).3/3.0)后面的数据。综上所述,实际测试转换值乘以此 (校准时的参考电压实际应用中的参考电压)商后结果可作为上述算式TS_DATA.
2.不同芯片的校准值往往不同,不同系列的校准时测试条件也可能不同。在具体应用程序中应注意这一点。例如,以下是STM32F0系列的。
并非所有系列的温度传感器都给出了出厂校准值。F1系列、F4系列。无校准值的片内温度传感器不适合测量绝对温度,可考虑测量温度变化。在这种情况下,STM计算温度的算法也在32相关系列的参考手册中提供:以下算法来自F一系列参考手册】
在这里,只给出了25℃一对参数温度值和相应的输出电压值作为参考。传感器在待测温度下的输出电压值用于算式Vsense温度传感器模块输出电压相对温度的变化率【Avg_Slop】。【使用时请注意数据手册给出的具体单位】
关于上述应用场景,有些人可能会发现其他没有校准的公式是这样写的:下图来自F4系列】
这两种写法中哪一种是正确的?都对吗?
基于温度与传感器输出电压的线性关系,不难推断此时的算法应为以下写法:
即STM32F4系列参考手册准确描述。
好,关于STM以下是32片温度传感器的两个算式话题,供您参考。
=================
以往的主题阅读链接点击阅读:
定时器触发STM32 ADC采样转换示例
2、STM32定时器可以触发单脉冲模式
3、基于STM32的除以0运算话题
4、基于STM32G4芯片的DAC应用示例
5、通过STM32外部中断触发DMA传输