目录
内部温度传感器与参照电压
STM32有一个内部的温度传感器,可以用来测量CPU及周围的温度。
该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。
支持的温度范围为:-40~125度。精度比较差,为±1.5℃左右。
内部温度传感器更适合于检测温度的变化,而不是测量绝对温度。如果需要测量绝对温度,应该使用一个外部温度传感器。
我们要使用STM32的内部温度传感器,必须先激活ADC的内部通道,这里通过ADC_CR2的TSVREFE位(bit23)设置。设置该位为1则启用内部温度传感器和参照电压。
ADC_TempSensorVrefintCmd(ENABLE);
温度传感器输出电压随温度线性变化,计算公式如下:
T(℃)={(V25-Vsense)/Avg_Slope}+25
上式中:
V25=Vsense在25度时的数值(典型值为:1.43V)。
Avg_Slope=温度与Vsense曲线的平均斜率(单位为mv/℃或uv/℃)(典型值为4.3mv/℃)
内部温度传感器温度和电压关系图
获取温度步骤
传感器
电位器
蓝白电位器是一种可调电阻器,通过旋转它的旋钮,可以调节电阻器的阻值,从而改变输出电压。
传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出
从左到右依次为:光敏传感器,热敏传感器,对射式红外传感器,反射式红外传感器
对射式红外传感器模拟引脚输出无效,而且没有电位器
工作电压:DC3.3-5V,GND与单片机共地
本节将电位器,光敏传感器,热敏传感器,反射式红外传感器接入ADC对应的通道,传感器的数字输出比较简单就不写代码了