atmega16+hc573+uln2003+继电器上电抖动。
原理如图,用atmega16+hc573锁存,驱动uln2003+12V继电器。以前用avr直接驱动uln2003,没有问题。如今io口不够了,用hc573扩展一下,发现问题(上电瞬间继电器会动作一下。)请大家讲讲其中奥妙,呵呵。http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_500021.jpg
原理图 (原文件名:未命名.jpg)
1---hc573的LE高电平输入出导通,低电平锁存,在avr程序中上电立即初始化hc573,但是也解决不了继电器抖动。
2---可能是573上电后输出即为高电平吗?此时间要比atmega16上电后执行几句程序快(目测可能200ms左右),所以才有这种现象,不知理解对不对。
3---atmega16从5v上电到执行第一句指令大约多少时间呢?难道是由于C编译器在初始化的时候增加了许多代码?
4---我试过更改熔丝位的BODEN,SUT1,0这些影响复位时间的设置,均没有作用。
5---以上理解都不对,难道我的电源回路(LM2575)建立时间过长啊? 在二楼谢谢大家了。 明天改用hc574试试。 OE接上拉后由单片机控制 楼上的,这招我也用了,OE上电由单片机置高(片选无效),也没有用。谢谢 OE=1是输出无效,及三态的高阻态,OE接上拉电阻,不是由单片机置高,单片机上电时IO口也是高阻的,要输出时由单片机置低 5楼的方法还不行的话,在2003的输入端接排阻到地试试看排阻阻值小点的1K 选带复位引脚的锁存器,我原来用过的是74HC273。/MR脚用阻容复位,让它的复位时间大于单片机控制时间。
顺便传上PDF
点击此处下载 ourdev_500121.pdf(文件大小:153K) (原文件名:74HC273.pdf) 1---多谢楼上。有同感啊,前面说改用574试试,就是和273原理是一样的,只不过用574管脚可替代目前的573,273好像和373封装是一样的。
2---5楼的cqfeiyu ,OE接单片机,OE接上拉电阻接单片机,OE直接接5V,都试过了,刚刚试过。我就是故意让573不工作,然而也不如 意啊。
3---你的另外一个方法我明天试一下,然后贴出来。多谢。
3---其实这个电路在工作的时候是好的,数据输出,锁存。只是在刚上电一瞬间会出高电平。一闪。很奇怪。 因为刚上电573输出的状态不确定,而有复位引脚的锁存器在复位时输出是固定状态。
没看到574有复位功能。
刚想了下,其实你也可以在/OE上做文章,刚上电时让/OE为高。。。 我感觉也是573上电输出不稳定。OE我都接过VCC,不行。
我再好好看看pdf 用/OE就是你在它恢复低电平有效的时间内得对它进行初使化。。所以最好的方法还是用带复位功能的。 574也不行啊。
咳!小结一下,如果大家用avr+573锁存输出的话(特别是带继电器),要注意573输出一定是低电平有效驱动继电器。否则驱动2003这种管子只能导致上电误动。除非将573的输出用光耦转换成低有效电平,或者驱动PNP的三极管灌电流驱动。上面这个原理图不可取啊。
单片机初始化的速度根本赶不上573上电工作速度。 难得的教训,谢谢楼主分享。 呵呵 我的系统和楼主的几乎一样,只不过我控制的是16个5V继电器,呵呵,我也遇到过类似的问题,解决方法就是20脚和一脚之间加一个10K电阻,就是一个上啦!问题就解决了! 顶! ding 哈哈,我是楼主。前几天出差,回来后在573输出加了个非门,结果上电是随机的。有时闪,有时不闪。
回论坛看到14楼的帖子,试了试,我靠!神了。OE受单片机控制置高--不好使,但是接个10K电阻,问题解决了!!!
(上哪儿说理去?) 在1脚与20脚之间接一个10K的上拉电阻就可以,
但
“OE接单片机,OE接上拉电阻接单片机,OE直接接5V,都不成”
有这样的事?!
楼主可以试试五楼的方法再报告一下嘛。
OE=1是输出无效,及三态的高阻态,OE接上拉电阻,不是由单片机置高,单片机上电时IO口也是高阻的,要输出时由单片机置低 我觉得OE在单片机运行之前已经被选中了,所以才会出现误动作的现象,可以接一个10UF解电容到vcc,再接个10k下拉电阻,之后送到OE试试看,这样上电由于电容效应不片选,充满后,片选~ 赶在充满前,io口线输出需要的电平 mark 这个问题我也遇到了,你反一下就可以了,单片机上电后输出脚会有一次高电平的时候,是在开始执行程序前的。
所以在I/O口默认拉高电平,锁存器用低电平开启继电器,控制脚按照常规逻辑控制就可以了。
这样上电的时候输出怎么都是高电平的,就不会有闪烁的问题了,然后低电平输出后开启继电器。 顶一个! 实用资料
页:
[1]