您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 菏泽分类信息网,免费分类信息发布

分析STM32F4 ADC之内部温度传感器

2022/5/8 2:34:05发布68次查看
分析stm32f4 adc之内部温度传感器
温度传感器测量芯片周围的环境温度用。这个温度传感器输出的电压与温度成一定比例,获取温度基本就是用adc测量这个电压。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
在芯片内部,温度传感器与adc1的ch16相连。当不使用改传感器时,可将其设置为pd模式以省电。
主要特性:
测温范围:-45~+125摄氏度
测温精度:15摄氏度
使用步骤:
1、选择adc1 ch16作为adc的输入
2、设置采样时间
3、设置adc1寄存器adc_ccr的tsvrefe位,将温度传感器从pd模式唤醒。
4、开始adc转换
5、读取转换值v并换算成电压v,v = v33004096 (v)
6、计算温度。
温度计算公式:t = ((v - v25)a_s)+25
v25是v 在25度时候的值,a_s 是温度转换率。这两个值可在里边查到。
v25 = 076v a_s = 25 vc
t = (v 760)2500 + 25;
【代码实现】
首先,唤醒温度传感器:
adc_tsvc(enable);
将上一程序的4通道,改为16通道:
adc_rcc(adc1,adc_c_16,4,adc_st_144c);
读取这个转换的值,用上边公式计算即可:
= []-760;
(当前温度是: %摄氏度\\,()25+25);
(%\\,[]);
这里要注意数据类型,定义的是16_的,是无符号数。
这里能读出温度了,但是还有点问题:温度不准,夜里读出的温度竟然有68度,我乖乖还活不了。不知道是片子工作久了内部温度高还是我的计算有错误。
但是这个温度确实是随着温度的变化而变化的,板子断电一会温度就下降了,但还是不准
菏泽分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录