采用DS18B20测量温度,采用9位精度,输出的温度为什么一直偏低? 二十多度的室温显示零下十五度。
答案:2 悬赏:10
解决时间 2021-01-06 09:15
- 提问者网友:杀手的诗
- 2021-01-05 13:54
采用DS18B20测量温度,采用9位精度,输出的温度为什么一直偏低? 二十多度的室温显示零下十五度。
最佳答案
- 二级知识专家网友:往事埋风中
- 2021-01-05 14:36
1、温度传感器本身有问题。
2、模数转化或者数模转化有问题,程序中没有给出足够的转化时间。
3、本身的算法有问题。追问谢谢!
但是我试了两个传感器。按照最大的转化时间来算的。人体体温测出来是2度。
室温时“111001000”;人体温“000001000”。应该没算错吧。。。追答恩,怎么人体温度还没有室温大。
2、模数转化或者数模转化有问题,程序中没有给出足够的转化时间。
3、本身的算法有问题。追问谢谢!
但是我试了两个传感器。按照最大的转化时间来算的。人体体温测出来是2度。
室温时“111001000”;人体温“000001000”。应该没算错吧。。。追答恩,怎么人体温度还没有室温大。
全部回答
- 1楼网友:执傲
- 2021-01-05 15:48
应该是程序上温度换算的问题~追问谢谢!
我直接从DQ端读出数字信号的,还没换算。。。追答我看了下上面那个回答xxxx xxx1 1100 1000(X是1吗如果代表是1则-3.5°,若X是0则显示28.5° ),
xxxx xxx0 0000 1000 (如果X=1,则是-31。5° ,X=0是0.5°),我觉的这么怪呢。。。看下对不对追问谢谢!
您是按照12位精度换算的吧?结果乘以0.0625;但我采用的是9位精度,应该是最终温度乘以0.5吧?
九位精度,最高位即为符号位,1表示零下,0表示零上。我不知道我的理解有没有错?追答你好~我又看了下DATASHEET 正如您所说的我算了下室温-27度,人温4°,我觉的能正常显示温度说明传感器是好的~目前没想出什么原因~关注中
我直接从DQ端读出数字信号的,还没换算。。。追答我看了下上面那个回答xxxx xxx1 1100 1000(X是1吗如果代表是1则-3.5°,若X是0则显示28.5° ),
xxxx xxx0 0000 1000 (如果X=1,则是-31。5° ,X=0是0.5°),我觉的这么怪呢。。。看下对不对追问谢谢!
您是按照12位精度换算的吧?结果乘以0.0625;但我采用的是9位精度,应该是最终温度乘以0.5吧?
九位精度,最高位即为符号位,1表示零下,0表示零上。我不知道我的理解有没有错?追答你好~我又看了下DATASHEET 正如您所说的我算了下室温-27度,人温4°,我觉的能正常显示温度说明传感器是好的~目前没想出什么原因~关注中
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯