18B20受到LED灯的干扰处理方法

鱼缸使用了18B20测温,采用PWM控制加热棒加热占空比的方法控制鱼缸温度,使用了最简单的温度差调整PWM宽度的方法,温度差越大PWM占空比越大,从而产生更多的加热时间,当温度接近设定值的时候,PWM逐步缩小,减小加热时间,从而控制鱼缸温度在一个不到设定值的比较稳定的温度状态,效果是很不错的,不过如果外界温度变化,应该会对鱼缸温度有微小的影响,这就是这个方法的缺点,如果使用PID算法就不会有这个问题了,(PID还在看资料学习)不过对于鱼缸控温来说这个小的温度波动不会产生不好的影响。
现在碰到一个问题:18B20的读取会受到鱼缸LED灯的干扰,导致部分读取数据错误。关LED灯的情况下,读数一直的正确了,打开LED灯,读数收到一定的影响,大概每10次左右就会有一次数据错误,在打开LED灯的情况下,数据下载也会产生错误,写不进去,看来LED灯对单片机的干扰还是很大的,想了个加屏蔽的方法:在这里插入图片描述
使用一个报废的LED灯(铝制)作为屏蔽,将接地线连接到铝片上,取得了较好的效果,干扰大大降低了,大概是几十次会有一次干扰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值