• Micropython TPYBoard读取芯片上的温度传感器

    03/30 bodasister

STM32 内部温度传感器概要

STM32 芯片内部一项独特的功能就是内部集成了一个温度传感器, 因为是内置, 所以测试的是芯片内部的温度, 如果芯片外接负载一定的情况下, 那么芯片的发热也基本稳定, 相对于外界的温度而言, 这个偏差值也是基本稳定的. 也就是说用 STM32 内部传感器来测量外界环境的温度。 在一些恶劣的应用环境下面, 可以通过检测芯片内部而感知设备的工作环境温度, 如果温度过高或者过低了 则马上睡眠或者停止运转. 可以保证您的设备工作的可靠性。

STM32内部温度传感器参数

1.STM32内部温度传感器与ADC的通道16相连,与ADC配合使用实现温度测量。

2.测量范围–40~125℃,精度±1.5℃。

3.温度传感器产生一个随温度线性变化的电压,转换范围在2V < VDDA < 3.6V之间。转换公式如下图所示:

手册中对于公式中的参数说明:

读取温度的实现原理

写代码的时候, 在测量要求不怎么高的情况下, 公式可以简化。简化的公式:

Temperature= (1.42 – ADC_Value*3.3/4096)*1000/4.35 + 25

程序编写:

1.初始化ADC , 初始化DMA

  注意:内部温度传感器是使用了 ADC1 的第 16 通道哦

2.ADC_TempSensorVrefintCmd(ENABLE);

使能温度传感器和内部参考电压通道

3.按照刚才列出的公式计算

Temperature= (1.42 – ADC_Value*3.3/4096)*1000/4.35 + 25;

TPYBoard读取温度例程

main:

1 收藏


直接登录