搜索
bottom↓
回复: 4

SHT20湿度完全不对也不动,不知道是否焊接过程有问题?

[复制链接]

出0入121汤圆

发表于 2023-12-22 21:50:10 | 显示全部楼层 |阅读模式
从两个淘宝店买了2个SHT20,一个用加热台,低温锡膏,200度焊接,另一个热风枪两百多度四、五秒吹上去的(窗口盖了铜片),都出现一个问题,就是湿度读数一直不变,百分之八十多,但是用两款指针式温湿度计测都只有百分之二十多。温度读数很准。单步调试或者用示波器抓波形,发现本应是10的测量类型状态标志位却是00。也不知道是片子本身有问题还是焊接环节搞坏了SHT20?按说搞坏了也不至于标志位也不对。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2023-12-23 08:08:53 | 显示全部楼层
放湿度箱里补补湿

出0入121汤圆

 楼主| 发表于 2023-12-25 09:25:07 | 显示全部楼层
本帖最后由 nokia007 于 2023-12-25 13:05 编辑

测试发现首次读取的值是对的,后面再读就不对了。然后在每次读取后加上软复位指令,就都能读对了。应该是No-Hold Master Mode那个18.5us延时的原因。原本按手册图16的时序延时(即5.8节的推荐方法1,用示波器测过延时20us无误),但是不行,只能按5.8节的方法4做OTP reload(手册推荐用软复位实现)。每3s一次读取,挂了一上午,工作正常。

本帖子中包含更多资源

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

x

出0入45汤圆

发表于 2023-12-25 11:55:15 | 显示全部楼层
本帖最后由 Arm2048 于 2023-12-25 11:56 编辑

每次重启再读取,肯定是不行的;

感觉硬件应该没问题,用逻辑分析仪看看I2C通信数据;

reset=0xfe;  写器件0x80;读器件0x81; 写内部用户寄存器0xe6,读内部用户寄存器0xe7;分辨率:0x02(T14_H12bit)
延时按表7最大值,T=85ms,H=29ms;开一个定时器(或者系统时钟中断)用于延时(不用死等,在定时中断里面修改状态机);

初始化: reset命令+15ms延时;
内部用户寄存器默认(T14_H12bit)不用再设置,读出的值=0x32;
状态机: state=ready->发送测量命令->开始延时->state=start ......>延时到->state=read -> 读结果;

没那么复杂,网上大量例子。

用手指堵住芯片窗口(小心静电),或者向窗口哈气,都能改变温湿度。

出0入0汤圆

发表于 2023-12-27 14:17:53 | 显示全部楼层
我用的是SHT40,也是用热风枪吹的,不过得从pcb背面吹,正面吹容易把sht40吹坏,而且如果有加助焊剂的话,建议用洗板水洗掉,不然湿度读不准;


我这边有做过温度和湿度测试;温度误差在1℃以内,湿度在上下3%左右误差;
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 03:09

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

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