如果芯片外接负载不变,那么芯片的发热也基本稳定,相对于外界的温度而言,温度变化值也是基本稳定的。就是说,也可以用MCU芯片的内置传感器来测量外界环境的温度。以下以AT32 MCU为例,说明内置温度传感器应用和评估测试方法,并提供测试数据供使用者设计参考。
AT32单片机芯片内含温度传感器,它产生一个随温度线性变化的电压,在内部被连接到ADC1_IN16的输入通道上,用于将传感器的输出转换到数字数值。
以AT32F413为例,只要遵守以下公式,即可求得目前温度传感器量测出的温度:
温度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25
这里:V25 = VSENSE在25 °C时的数值,Avg_Slope = 温度与VSENSE曲线的平均斜率(单位为mV/°C),VSENSE为温度传感器经由ADC转换出的电压换算成mV,再依照上述公式,只要将V25带入典型值1280mV,Avg_Slope带入-4.20mV/°C即可求得。
图3为套用典型值计算出的温度与传感器输出电压(VSENSE)的特性曲线。
应用此温度传感器需注意因生产过程的变化,每个芯片的温度传感器V25具有相对大的偏移,若以Avg_Slope典型值来换算相当于47.6°C,最小值与最大值一般会有最多200mV的误差。因此,内部温度传感器更适合于检测温度的变化,而不是测量绝对的温度。
AT32芯片的温度传感器在内部被连接到ADC1_IN16的输入通道上,用于将传感器的输出转换到数字数值。这个数值为温度的变化数,而非绝对温度。
AT32芯片温度传感器为内部弱电压源,ADC进行采样时需要足够时间让VSENSE输出为采样电路达到充放电平衡而稳定,使用者需确实遵照数据手册中的TS_TEMP参数为内部温度传感器设置足够的采样时间,以获得正确的转换数值。
在3.6V、3.3V和2.6V操作电压下,不同AT32温度传感器的Avg_Slope在各电压条件下几乎一致。但细部分析,就发现各芯片V25参数之间具有相对较大的差异,这是造成AT32温度传感器量测与实际温度徧差的主要原因。若以软件校正偏移量(offset)后或仅作为相对温度量测时,在芯片全温度-40到105°C操作范围内,温度误差(线性度)可以达到±2°C之内。
但若未做偏移校正或用以量测绝对温度,因温度传感器本身架构于芯片生产过程的变化,温度变化曲线的偏移在不同芯片上会有明显差异。因此,建议AT32芯片内部温度传感器仅用作检测温度的变化,而不是测量绝对的温度。如果需要测量精确的温度值,应该使用一个外置的温度传感器。
作者: 硬之城Allchips, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3975615.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
yzw92 2022-8-9 06:00