amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 4273|回复: 24

mega48 外部中断干扰如何解决

[复制链接]
发表于 2008-7-18 13:06:15 | 显示全部楼层 |阅读模式
最近用MEGA48做一个方案,里面需要掉电检测然后保存数据
具体做法是:用一个二极管从+VDD接过来再加一个大电容给
单片机供电,然后+VDD串一个10K电阻到INT1,当掉电时INT1
会产生跌落,而单片机由于有大电容所以还会继续工作,然
后保存数据!

但是,实际INT不会产生跌落中断,后来在INT0引脚又加了一
个对地电阻(相当于分压了,这里有点不解!),一切功能
正常!  但是我发现INT很容易受到干扰,我随便用万用表
的一个探头碰一下INT就会产生中断,但是用手摸又不会有
问题,而且只要是金属的碰到INT脚都会受到干扰!

各位能解释一下:
1:为什么要从INT接一个电阻到地才会产生中断?
2:为什么INT会受到金属的干扰?
3:怎么解决以上两个现象!
发表于 2008-7-18 14:03:49 | 显示全部楼层
INT脚要配置成输入方式,上拉有效。如果仅配置成输入方式,需要外部加上拉电阻。

如果INT脚为输入高阻,外部又没有上拉,那么肯定容易受到干扰了,原因就不讲了,是最基本的概念。

如果要求抗干扰好的话,应该这样设计:INT脚配置成输入方式,外部上拉5-10K电阻(内部上拉是弱上拉为50K),同时对地加0.01-0.1的电容。下降沿触发中断。
 楼主| 发表于 2008-7-18 14:16:02 | 显示全部楼层
加电容这些方法我试过!是一样的!
另外,我的INT本来就是检测的电源
电压,已经相当于是接一个上拉了呀!
发表于 2008-7-18 15:01:23 | 显示全部楼层
上拉是接工作电源,不是接检测电压。你按我讲的试过吗?
 楼主| 发表于 2008-7-19 08:21:37 | 显示全部楼层
可能没有描述清楚,
我把检测部分画了一个简图,请马老师分析一下!
谢谢!

INT简图 (原文件名:INT.JPG)
发表于 2008-7-20 13:51:14 | 显示全部楼层
第3图中的2个电阻值是多少?二极管后用100欧姆,对地用2K试试。
发表于 2008-7-20 14:15:48 | 显示全部楼层
最好加一个电压检测芯片,接在电源前端。输出接单片机的int。这样比较可靠。
发表于 2008-7-20 23:51:37 | 显示全部楼层
pin-INT1本身弱上拉,二极管阴极电压下降不等于INT1电压下降,二极管阳极成了浮空状态,当然极易感应干扰;换句话说pin-INT1没有直流回路,欧姆定律不成立;应把二极管阳极接被检测电源,阴极接pin-INT1,pin-INT1接一上拉电阻,该电阻接电源VDD,才能形成回路,无浮空点.
另外,为什么要接二极管呢?没有意义,接一阻容网络滤除高频干扰更稳定.
 楼主| 发表于 2008-7-21 09:17:23 | 显示全部楼层
很感谢各位出的建议,现在基本上没有问题了!但真正问题还是得不到合理解释!

我具体的做法是:二极管后面的电阻加150R,对地电阻接20K,再在对地电阻上并一个电容!
想了一下,干扰可能还是和引脚断电后的浮空有关,如果是这样的话我把对地电阻接在二
极管后面应该也可以才对,但是实际试了过后还是不行!又陷入了强烈的郁闷中。。。。。

按我现在可以的方案,这样接其实相当于是分压了,但是它又确实可行!

希望各位能分析出真正的原因,便于以后,也便于大家避免类似问题!
发表于 2008-7-21 22:48:42 | 显示全部楼层
这样分析吧:

中间的接法:
如果INT没有上拉为输入高阻,那么掉电时二极管截止(电阻非常大),INT为悬浮状态,电平不确定,易被干扰。没有掉电,由于INT为高阻,二极管也没有电流通过,易被干扰。如果INT上拉,那INT总为高电平。

第3种接法,二极管后面接R1=100欧姆,INT对地使用R2=2K(并上电容)。这样流过二极管电流约(5-0.7)/2.1k = 2mA,在R2上的电压为4v,对于INT为高电平。掉电时,二极管截止,INT被R2接地为0。如果INT内部有上拉,掉电时,按内部上拉电阻为50K,2K * 5V/(50k+2k) = 0.2V ,也是低电平。

“我把对地电阻接在二极管后面应该也可以才对,但是实际试了过后还是不行”换成2K,内部上拉可能就可以了,20K太大。可参考上面的进行估算。就是欧姆定律。
 楼主| 发表于 2008-7-22 10:45:24 | 显示全部楼层
马老师,我你的推理是非常好,但是我按这样试的结果还是不行
这里出现的干扰条件是,我用手拿着金属的东西接触INT!

如果我用手直接接触INT它不会产生干扰!

而且我如果用手拿金属物体的时候,将手与金属用纸或者其他
绝缘物体隔离开再用金属去接触INT也不会产生干扰!

这样看来是人体,和金属串联后产生的一种干扰?
 楼主| 发表于 2008-7-22 10:47:40 | 显示全部楼层
我如果脚不接触地面,然后用手直接拿着金属去接触INT,也不会有干扰!
发表于 2008-7-22 17:20:43 | 显示全部楼层
这个具体非常复杂,如过你需要手拿着金属的东西接触INT不产生影响,那么你的分压电路中的电流要>10毫安,也就是说,全部串接的电阻小于500欧姆。

你试试20欧姆和380欧姆。注意二极管需要使用整流二极管。
发表于 2008-7-22 19:42:38 | 显示全部楼层
LZ这种干扰是不可避免的,通过软件的处理是可以解决的。象马老师说的那样加大电流的方法能在一定程度上解决,如果你用开关电源供电的话更严重一些。图2中的当然不行了,没有低电平的条件啊。加下拉的方式好用,我就是这样用的,保存的数据为一个INT型是没有问题的。
 楼主| 发表于 2008-7-23 15:34:27 | 显示全部楼层
按照马老师的方法,增加分压电路中的电流,是完全可以!
谢谢了,还想请教一下,那个10MA的值是如何得出来的,
数据手册上好像找不到!

13楼提出了另外一种用软件处理的方法,能讲讲具体方法?
因为是采用的中断,实在想不出如何用软件去干扰;除非不
用中断,把他当成按键去抖程序来写,但是这样的话,无疑
会要求我的电容容量增加很多!这样才能保证单片机工作到
将数据保存完整为止!
发表于 2008-7-23 15:54:32 | 显示全部楼层
我采用加下拉的方式,没有太大的问题。
发表于 2008-7-23 20:28:19 | 显示全部楼层
那个10MA的值是如何得出来的?

理论基础 + 实践 + 积累 = 经验。
 楼主| 发表于 2008-7-24 08:42:40 | 显示全部楼层
我还以为有一定的算法公式!
又从马老师这里学了一点,谢谢!
发表于 2008-7-24 10:33:32 | 显示全部楼层
10MA电流用4148也没有问题吧。如果是用大功率的开关电容,那两个Y2电容的原因,这个情况会很明显的。我用的下拉电阻是4.7K的倒是没有试过用手拿镊子去碰,因为我对电流很敏感,会比较难受的。但是我用老办法,就是用接触器线圈接线绕板子的方法也能看到明显的干扰。用软件加点延时一般能应付,比如100US左右。
发表于 2008-7-24 12:41:54 | 显示全部楼层
我提供的方法,只是可以消除“手拿镊子去碰”这样的干扰,是最简单的方法,不是万能的抗干扰措施。对于不同的干扰,措施和处理办法是不同的,电路设计也不同。
发表于 2009-3-3 01:12:37 | 显示全部楼层
强啊!
发表于 2009-3-3 01:14:28 | 显示全部楼层
很不错哦!
发表于 2010-9-11 11:47:06 | 显示全部楼层
不错!!!!!!!!我现在也遇到这样的问题,可以借鉴一下!!!!!!!!!
发表于 2019-4-23 10:14:07 | 显示全部楼层
标记下,也遇到镊子产生中断干扰的问题了
发表于 2019-8-8 15:16:27 | 显示全部楼层
有些光耦次端电流十几毫安,看来有道理的
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-8-22 07:35

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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