野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24934|回复: 7

STM32内部温度传感器的使用与计算

[复制链接]
发表于 2014-5-3 17:17:29 | 显示全部楼层 |阅读模式
在STM32内部温度传感器的使用与计算一节中,有个计算公式:        Current_Temp=(V25-ADC_ConvertedValue)/AVG_SLOPE+25:
Current_Temp:当前温度。V25:温度传感器在25度时的输出电压;ADC_ConvertedValue:温度传感器当前温度值时的输出电压;AVG_SLOPE:温度与电压转换值的斜率。
我自己推的公式是:Current_Temp=(ADC_ConvertedValue-V25)/AVG_SLOPE+25.分母上两数相减的顺序不一样。实验验证,我推的式子是错的。能不能请前辈指点一下我错在哪啦,谢谢。

[p=193, null, left][size=193px]ADC

[p=193, null, left][size=193px]数值转

[p=193, null, left][size=193px]换的


回复

使用道具 举报

发表于 2014-5-4 14:04:35 | 显示全部楼层
这个公式是在STM32数据手册上提供的,照搬过来就行
回复 支持 反对

使用道具 举报

发表于 2014-5-4 17:07:29 | 显示全部楼层
我用火哥的程序和自己编写的程序,读出来的温度都不对,内部温度传感器得到的AD值是2800多,代入公式计算得到温度60000多,怀疑是不是这个内部通道的AD有问题啊,其他输入的AD检测都是正常的。
回复 支持 反对

使用道具 举报

发表于 2014-5-4 19:53:16 | 显示全部楼层
nicewsj 发表于 2014-5-4 17:07
我用火哥的程序和自己编写的程序,读出来的温度都不对,内部温度传感器得到的AD值是2800多,代入公式计算得 ...

你指的温度不对是怎么对比的?你要知道这个程序测试的是STM32的芯片温度,不是气温,STM32芯片的温度比气温高10几度很正常
回复 支持 反对

使用道具 举报

发表于 2014-5-5 08:58:51 | 显示全部楼层
晋奇 发表于 2014-5-4 19:53
你指的温度不对是怎么对比的?你要知道这个程序测试的是STM32的芯片温度,不是气温,STM32芯片的温度比气 ...

就算是芯片的温度,也不可能到几万度吧。板上仿真出来的AD值为0x0B42,把公式改为Current_Temp=(ADC_ConvertedValue-V25)/AVG_SLOPE+25,这样得到的温度也有200多度,也不可能吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-5 13:41:14 | 显示全部楼层
我没有自己编程序,但火哥的程序是对的。我测出的温度是30左右,用手指摁一会就能看到温度的升高。算了,我不纠结那个公式了,我过我自己推的,的确是分母上的顺序是颠倒的。
回复 支持 反对

使用道具 举报

发表于 2014-5-5 15:56:40 | 显示全部楼层
陆地行走者 发表于 2014-5-5 13:41
我没有自己编程序,但火哥的程序是对的。我测出的温度是30左右,用手指摁一会就能看到温度的升高。算了,我 ...

你测出来的AD值是多少?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-5 17:07:50 | 显示全部楼层
用正确的公式得出是35度,用错误的式子16度。见图:(搞不上)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 02:01 , Processed in 0.034703 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表