搜索
bottom↓
回复: 24

sht21温度测量用校准吗?

[复制链接]

出0入0汤圆

发表于 2015-7-12 21:03:01 | 显示全部楼层 |阅读模式

        最近用sht21d做了个模块,测量生活环境的温度和湿度,但是检测得到的“温度值”比以前做的一个DS18B20传感器检测到的值高5~7度,和家里用的指针式温度计比较测量室温,温度也高大概5摄氏度,做了7块板,个个都这样,只不过有些差别小在3~4摄氏度范围内,差别大的就有5~7摄氏度,但是普遍都是高于标准值(暂且认为DS18b20的值是正确的吧)。
        我用的sht21d的官方代码,读、写都能收到正常的ACK信号,数据写入读取都正常,但是读取到的温度值就是比DS18b20、指针温度计高,这个现象很奇怪,sht21d难道还要逐个校准?
        坛子里用过sht21d的战友们遇见过这样的问题吗?先谢过了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入97汤圆

发表于 2015-7-12 21:14:02 来自手机 | 显示全部楼层
sht21的温度是非常准的,我们每次(不少于20次)拿计量局去计量,0~50度基本上都在正负0.3以内。楼主偏差那么大可以肯定你是装在外壳里面的,由于电路板发热引起的。你可以将sht21用线引出外壳对比一下。

出0入0汤圆

发表于 2015-7-12 21:21:37 | 显示全部楼层
“普遍”  “高于”

楼主还是先检查设计吧~~

出0入97汤圆

发表于 2015-7-12 21:44:16 来自手机 | 显示全部楼层
本帖最后由 hero245 于 2015-7-12 21:56 编辑
hero245 发表于 2015-7-12 21:14
sht21的温度是非常准的,我们每次(不少于20次)拿计量局去计量,0~50度基本上都在正负0.3以内。楼主偏差 ...


手抖了一下,应该是正负0.5度以内。不过80%在正负0.3.

出0入0汤圆

发表于 2015-7-12 23:39:31 | 显示全部楼层
hero245 发表于 2015-7-12 21:44
手抖了一下,应该是正负0.5度以内。不过80%在正负0.3.

请问一下湿度的精度能够达到多少呢?最近也有需求

出0入0汤圆

发表于 2015-7-13 00:01:15 | 显示全部楼层
同样,我这边最近也发现一样的问题,如果传感器是焊接在电路板上的一休式的会因电路发热,覆铜会导热的情况下,至少会偏差一两度。湿度不用说,差得更远了,使用标准湿度溶液的容器测试,基本都偏大6%

出0入0汤圆

发表于 2015-7-13 08:47:14 | 显示全部楼层
貌似这种传感器对焊接有要求,听说过焊接造成损毁的。

出0入0汤圆

 楼主| 发表于 2015-7-13 09:18:03 来自手机 | 显示全部楼层
嗯,确实是,模块是紧凑型的,sht21d是直接焊接在PCB上的,单片机工作频率非常低所以一直都是忽略它的温升,看来似乎我得查看下单片机对sh21d的影响了,等我飞线把sht21d挪出来看看。另,sht21d焊接只要温度控制在270℃以内,焊接的时候用高温胶布保护窗户,焊接成功率几乎100%,我手焊了7块只有一片因为失误窗被松香蒙住了。

出0入0汤圆

发表于 2015-7-13 09:41:03 | 显示全部楼层
willX 发表于 2015-7-13 09:18
嗯,确实是,模块是紧凑型的,sht21d是直接焊接在PCB上的,单片机工作频率非常低所以一直都是忽略它的温升 ...

sht21手册有一些要注意的细节,可以看看。

出0入97汤圆

发表于 2015-7-13 10:17:11 来自手机 | 显示全部楼层
gdjsfy_86 发表于 2015-7-12 23:39
请问一下湿度的精度能够达到多少呢?最近也有需求

湿度在10~40摄氏度,有1~4%rh的误差,都是偏大的。80%都在3%rh以内。

出0入97汤圆

发表于 2015-7-13 10:19:17 来自手机 | 显示全部楼层
willX 发表于 2015-7-13 09:18
嗯,确实是,模块是紧凑型的,sht21d是直接焊接在PCB上的,单片机工作频率非常低所以一直都是忽略它的温升 ...

将一个模块只焊sht21,其他东西不焊,然后再引线到其它模块,这样好飞线点。

出0入0汤圆

 楼主| 发表于 2015-7-14 23:37:24 | 显示全部楼层
hero245 发表于 2015-7-13 10:19
将一个模块只焊sht21,其他东西不焊,然后再引线到其它模块,这样好飞线点。 ...

嗯嗯,我已经用6跟网线将sht21d架在空中了,应该是彻底隔绝了单片机和LDO的热量了,但是实测开空调(25摄氏度)的屋里竟然30度。奇怪的是,我把sht21d放在空调出风口让它冷却到20摄氏度,然后拿回来放在桌子上,不断得用串口命令去读数据(1Hz频率),发现在20分钟内温度持续升高到30度附近,然后徘徊在30度。确实是比将sht21d焊接在PCB上时测量温度低3摄氏度,但是读取到的值还是不准,这个问题还是得继续查。

出0入0汤圆

 楼主| 发表于 2015-11-13 09:55:49 来自手机 | 显示全部楼层
dhbighead 发表于 2015-7-13 09:41
sht21手册有一些要注意的细节,可以看看。

能问下,什么样的细节呢?
临近sht21d的地方我已经放置了1uf电容,
sht21d芯片下面的PAD悬空处理
sht21d已经用漆包线悬空在空中,
i2c接口两根线,每根都有10k上拉电阻,
sht21d使用3.3v ldo供电
使用3.3v单片机通信,能正确读写寄存器
采样周期4秒一次,查询一次需要2.17毫秒,用示波器测量的
从温度监控曲线上能明显看到sht21d的温升曲线

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2015-11-13 09:58:16 来自手机 | 显示全部楼层
mii 发表于 2015-7-13 00:01
同样,我这边最近也发现一样的问题,如果传感器是焊接在电路板上的一休式的会因电路发热,覆铜会导热的情况 ...

请问你后来处理好了吗?

出0入0汤圆

 楼主| 发表于 2015-11-13 10:02:19 来自手机 | 显示全部楼层
hero245 发表于 2015-7-12 21:14
sht21的温度是非常准的,我们每次(不少于20次)拿计量局去计量,0~50度基本上都在正负0.3以内。楼主偏差 ...

能否问下,像这样悬空的裸板读取温度数据,有这样的曲线,这个正常吗?因为我得i2c程序能写入数据并读取到相同的数据,所以我一直认为我得程序没有问题,不知道这样的图像是否能得出什么结论,还请过来人赐教啊,感谢啊。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2015-11-13 10:04:50 来自手机 | 显示全部楼层
zgxcom123 发表于 2015-7-12 21:21
“普遍”  “高于”

楼主还是先检查设计吧~~

能否请您指教下设计上的误区呢?感谢!sht21已经悬空,所以PCB对sht21的影响很小吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出130入129汤圆

发表于 2015-11-13 10:12:33 | 显示全部楼层
willX 发表于 2015-11-13 10:02
能否问下,像这样悬空的裸板读取温度数据,有这样的曲线,这个正常吗?因为我得i2c程序能写入数据并读取 ...

我只用过SHT20,焊接在一块小板,然后用线接到单片机板。
试了2个,温度都是很准确的。

楼主你说温度高了几度,有没有可能时序处于临界值,造成错位了?
我之前用红外测温的MLX90614,开始也总是高2,3度,但是又很稳定,后来用逻辑分析仪才发现时序那么巧合出现问题。

出0入0汤圆

 楼主| 发表于 2015-11-13 10:12:47 来自手机 | 显示全部楼层
通过最近的测试,发现器件间的温度差异最大达到1.96度@20摄氏度,上面的曲线就是多次测量中最好的一次了,刚一开机sht21会从17℃逐渐升温到26℃附近并开始波动,因为没有暖气所以室内温度比较低,但是我竟然没有看到早晚的温差波动,晕,难道从早10点到晚6点我们办公室没的温度差别不超过3℃?

出0入0汤圆

发表于 2015-11-13 10:17:44 | 显示全部楼层
我用SHT10和SI7021,测量的温度相当精准,两个不同厂家的器件测出的温度数据相当一致,但湿度嘛能相差10%RH。
楼主这样的问题,可以换一下不同型号的器件试试,当然如果程序有问题,读出的数据是会出错的。

出0入0汤圆

发表于 2015-11-13 10:32:08 | 显示全部楼层
教楼主一个方法,判断你的程序时序是否有问题,这是我在调试SHT10时发现的:
在温度显示稳定不变的时候,用二个手指靠近器件,大概距离1CM左右,等几秒钟如果温度显示有0.1C的温升,那时序就是对的。
如果温度不变,或用手捏住器件,等一会数据显示会突变,如从20C突然跳至23C,这说明时序就是错误的。
调试这个最好上逻辑分析仪,靠人脑想时序是解决不了问题的。

出0入0汤圆

 楼主| 发表于 2015-11-13 13:21:38 来自手机 | 显示全部楼层
68336016 发表于 2015-11-13 10:12
我只用过SHT20,焊接在一块小板,然后用线接到单片机板。
试了2个,温度都是很准确的。


嗯,感谢你这么快回复。说真的,读传感器的函数我没有用逻辑分析仪调试,我也不敢保证时序一定没有问题。公司也没有提供逻辑分析仪使用,所以暂时没法用这种方式来验证。但刚才看到楼上用体温差测试sht21d的读取时序,我试了,用手靠近传感器,确实会有微小的温升,如图最后两个字节就是我读取到的数据,这样如果可以验证的话,时序应该是符合的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入97汤圆

发表于 2015-11-13 14:39:49 | 显示全部楼层
如果你想确认时序有没有错,可以增加CRC检验,SHT21有CRC校验的,如果CRC校验没错的的话,再将SHT21再离远一点看一下。引个30CM的线出来,试试看。

出0入0汤圆

发表于 2016-12-26 16:57:29 | 显示全部楼层
rain73 发表于 2015-11-13 10:17
我用SHT10和SI7021,测量的温度相当精准,两个不同厂家的器件测出的温度数据相当一致,但湿度嘛能相差10%RH ...

你好,我想问声我用SHT20和SHT10比较,温度差距不大,就一度的样子,但湿度是有10%的差距,请问你是怎么处理SHT20的湿度,谢谢

出200入0汤圆

发表于 2019-1-13 00:00:10 来自手机 | 显示全部楼层
采样周期时间调为10秒以上试试

出0入0汤圆

 楼主| 发表于 2019-1-14 01:13:42 | 显示全部楼层
jsntzxh 发表于 2019-1-13 00:00
采样周期时间调为10秒以上试试

试验过1min采样一次,温度仍然会偏高。 …………………… 最后,发现是sht21在焊接过程中已经被松香污染了……SMD问题
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 16:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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