23019|15

5276

帖子

5

TA的资源

裸片初长成(中级)

楼主
 

大家有没有碰到过DS18B20读数不准的情况? [复制链接]

我用msp430读DS18B20温度来校准我的NTC热敏电阻,现在发现应该是读数不准,可能差了2度左右
我有个德州仪器的那个无线运动手表,里面有测量大气压力的传感器,这个传感器是带温度测量的,手册上写着误差不超过0.5度,但是我发现我的手表显示温度和DS18B20读出来的不一样,心里正纳闷到底是哪一个错误?(我把手表外壳都卸下来了,为了更好地反映环境温度)难道是我改写的手表软件错误,那可是直接读取的传感器的温度呀,应该不太容易有错误呀。
昨天折腾了一天搞一个软件来根据三点法来计算各个温度点的NTC阻值,因为根据DS18B20读出的温度输入的数据导致程序中遇到复数之类的一时没法得到正确的求解,还好现在已经解决,编写的软件已经能够正确地计算。可就是好像是读DS18B20温度不准导致我折腾了半天呀

现在的问题是,大家有碰到过读DS18B20不准的情况么?是我引用的读DS18B20的程序有错误还是我在淘宝上买的这个器件有问题?还是我的手表软件有问题?(原手表中虽然没有直接显示传感器温度的功能,但是程序中还是使用传感器的温度来计算海拔高度的,我是直接引用的这个读值呀)

[ 本帖最后由 wangfuchong 于 2013-2-26 11:05 编辑 ]

最新回复

请问是如何解决的,我将三个芯片放在同一个地方,高低能差两度多(低的为21.3高的为23.5)  详情 回复 发表于 2015-2-28 14:46
点赞 关注
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 

回复
举报

2856

帖子

260

TA的资源

五彩晶圆(高级)

沙发
 
看看是ds1820还是ds18b20

点评

ds18b20[/backcolor]  详情 回复 发表于 2013-2-26 15:31
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

板凳
 
原帖由 ltbytyn 于 2013-2-26 13:25 发表
看看是ds1820还是ds18b20
ds18b20
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

4
 
ds1820精度是0.5度。      ds1820温度=(Temperature  REG)*0.5
ds18b20精度是0.0625度.     ds18b20温度=(Temperature  REG)*0.0625

会不会是DS18B20是打磨过的ds1820。  0.5和0.625 算下来也就差那么几度。
 
 
 

回复

271

帖子

0

TA的资源

一粒金砂(高级)

5
 
ds1820精度是0.5度。      ds1820温度=(Temperature  REG)*0.5
ds18b20精度是0.0625度.     ds18b20温度=(Temperature  REG)*0.0625

点评

程序中这样处理没错吧? unsigned char signBit=0; if((data&0x8000)) { signBit=1;//负值 data=data^0xFFFF+1; } unsigned int temp=6*data+data/4;  详情 回复 发表于 2013-2-26 17:45
个人签名传感器专家网  http://www.sensorexpert.com.cn/
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

6
 

回复 5楼 sensorexpert 的帖子

程序中这样处理没错吧?

unsigned char signBit=0;
    if((data&0x8000))
    {
      signBit=1;//负值
      data=data^0xFFFF+1;
    }
    unsigned int temp=6*data+data/4;

点评

为什么这么算?读出来的16位数就是16位有符号数,正值表示零上,负值表示零下,除以16不就是实际的温度值??  详情 回复 发表于 2013-2-28 11:08
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 6楼 wangfuchong 的帖子

为什么这么算?读出来的16位数就是16位有符号数,正值表示零上,负值表示零下,除以16不就是实际的温度值??

点评

那不就只能分辨率为1度了?人家分辨率可是0.0625度呀 [ 本帖最后由 wangfuchong 于 2013-2-28 11:38 编辑 ]  详情 回复 发表于 2013-2-28 11:34
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

8
 
原帖由 ahuzhangbo 于 2013-2-28 11:08 发表
为什么这么算?读出来的16位数就是16位有符号数,正值表示零上,负值表示零下,除以16不就是实际的温度值??
那不就只能分辨率为1度了?人家分辨率可是0.0625度呀

[ 本帖最后由 wangfuchong 于 2013-2-28 11:38 编辑 ]

捕获.JPG (53.63 KB, 下载次数: 0)

捕获.JPG

点评

除16后直接用浮点型变量存着不就行了?或者不除16,你知道这个是实际值的16倍就行了  详情 回复 发表于 2013-2-28 19:42
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 
 

回复

1万

帖子

141

TA的资源

版主

9
 
如果器件本身没有问题(有问题的几率极小),那么检查电路和软件,注意供电要温,特别是传感器连线较长时,测温也要等器件达到温度均衡稳定以后读取的数值才可信。
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

10
 
谁给个msp430G2系列实验通过现成的代码呀?
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(中级)

11
 

回复 8楼 wangfuchong 的帖子

除16后直接用浮点型变量存着不就行了?或者不除16,你知道这个是实际值的16倍就行了
 
 
 

回复

151

帖子

0

TA的资源

纯净的硅(初级)

12
 
换个DS18B20试试,楼主的DS18B20不知是否为正品呢?

点评

这玩意还有假货?  详情 回复 发表于 2013-3-3 16:57
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

13
 
原帖由 lpmrzx 于 2013-3-2 16:37 发表
换个DS18B20试试,楼主的DS18B20不知是否为正品呢?
这玩意还有假货?
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 
 

回复

151

帖子

0

TA的资源

纯净的硅(初级)

14
 
这世道,难说,至少正品的性能好很多
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

15
 
已经解决,经粗糙的实验,还是大致准的,有可能是在指标范围之内但是普遍偏差大一点的货。
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
请问是如何解决的,我将三个芯片放在同一个地方,高低能差两度多(低的为21.3高的为23.5)
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表