搜索
bottom↓
回复: 54

求救SN74HC595级联扩展IO控制继电器

[复制链接]

出0入0汤圆

发表于 2008-1-2 17:47:08 | 显示全部楼层 |阅读模式
问题出在系统上电和掉电的一瞬间,595总是有随机输出。
我在MCU开始工作的第一时间就把OE控制置到高位,但是还是有输出。
该怎么办?请有经验的朋友帮帮忙

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2008-1-2 18:22:24 | 显示全部楼层
OE加个上拉电阻行的不?

出0入0汤圆

发表于 2008-1-2 19:00:24 | 显示全部楼层

出0入0汤圆

发表于 2008-1-2 19:03:18 | 显示全部楼层
上电延时 RST置高 OE置低

出0入0汤圆

 楼主| 发表于 2008-1-2 20:06:08 | 显示全部楼层
OE我加了上拉,但没什么作用。
上电的时候595的所有输出脚上都有个脉冲。
我现在用4个IO控制595,SER,OE非,RCLK,SRCLK分别控制。
上电的时候好象完全控制不住。
真是苦恼啊。。。

出0入0汤圆

发表于 2008-1-2 20:10:56 | 显示全部楼层
这样看行不,OE用三极管做一级反向····

出0入0汤圆

发表于 2008-1-2 22:16:10 | 显示全部楼层
留爪关注

出0入0汤圆

发表于 2008-1-2 22:40:40 | 显示全部楼层
楼主595后面是不uln2003之类的,有没有可能不是因为595的输出电平而是595的驱动问题,尽管达林顿给点电压就行,给595输出上拉试一下。

出0入0汤圆

 楼主| 发表于 2008-1-2 22:57:53 | 显示全部楼层
我是用两片595级联,以前也经常用到,但是由于是控制数码管,所以要求也不是很严格。
这次需要控制16个继电器,因此绝对不能有非正常的吸合动作。

仔细看了下PDF,里面意思可以在上电过程中通过OE转换到高阻状态,然后移入数据,再使能输出。

但是问题就是,就算我在mega64复位后的立即拉高OE,也不能阻止Q1-Q7上出现一个毫秒级的脉冲。

怎么办,再次求助大家。

出0入0汤圆

 楼主| 发表于 2008-1-2 23:01:22 | 显示全部楼层
我现在595后面就接了16个LED做为示意,其他什么都没接。

出0入0汤圆

发表于 2008-1-2 23:44:22 | 显示全部楼层
595的上电时间就是电压从0到5v的时间有多长?加一个rc延时一下,确保OE先被拉到高电平。在上电时变化率最好再快点。

出0入0汤圆

发表于 2008-1-2 23:44:24 | 显示全部楼层
或许你加了驱动电路、继电器后情况会好一些,几毫秒级的脉冲可能对继电器并没有影响:继电器线圈是电感性原件,电流不能突变,所以这么短的时间不足以使继电器导通。另外你是不是应当检查一下单片机程序,让OE在尽可能短的时间内拉高。如果用其它方法解决不了问题,试一试下面的方法:

用一个PNP的三极管控制继电器线圈的供电电源。在单片机没有起振、595加电前,保证这个PNP三极管是关闭的。而在掉电前(需要考虑掉电吗?如果系统掉电,所有的继电器都应当断开啊!),也同样是保证这个PNP三极管先关闭。待595稳定后,再控制PNP三极管导通。当然用场效应管也是可以的。

出0入0汤圆

发表于 2008-1-3 00:06:19 | 显示全部楼层
我做的时候也是这个问题.当时没解决,希望楼主解决把方法说下.

出0入0汤圆

发表于 2008-1-3 09:25:27 | 显示全部楼层
常见问题,使用门控即可

出0入0汤圆

 楼主| 发表于 2008-1-3 11:27:50 | 显示全部楼层
jintongshuai 金统帅
能不能讲详细点?麻烦说下,十分感谢。

出0入0汤圆

发表于 2008-1-3 20:18:00 | 显示全部楼层
采用继电器延迟供电即可解决

出0入0汤圆

发表于 2008-1-3 20:34:29 | 显示全部楼层
我用164做过输出,由于移位问题产生的抖动,通过在输出光藕的初级并联一个104电容解决的。595应该没有移位问题,至于楼主的问题是不是也可以这样解决?

出0入0汤圆

发表于 2008-1-4 10:01:58 | 显示全部楼层
楼主的问题,1楼的办法是可以解决的。上电的时候,OE被上拉高电平,此时595输出端为高阻状态,单片机复位启动后,送595指定串行数据后,然后再使能595OE(送低电平)。随机输出问题,也可能是继电器驱动电路产生的,楼主再查一查!

出0入0汤圆

发表于 2008-1-4 14:50:55 | 显示全部楼层
OE脚并一个104电容到地,加上拉;或者用74HC14反相两次

出0入0汤圆

 楼主| 发表于 2008-1-10 15:59:10 | 显示全部楼层
OE上拉按道理是可以的,但是在我的板子上通不过,上电瞬间595输出端并不是高阻。

用了个霸蛮的办法解决,多用了一个IO控制595的VCC。

出0入0汤圆

发表于 2008-1-10 20:31:36 | 显示全部楼层
用示波器看过没有?没有的话还是看看,感觉不是595的问题

出0入0汤圆

发表于 2008-1-10 20:53:03 | 显示全部楼层
兄弟,你看看TPIC6B595试一试,在输出前搞个达林顿控制继电器的电源端(也就是16楼说的延时供电),稳定后再给电源什么的。。。6B595只在输入数据为1的时候,输出低电平。。。我们产品绝对不允许任何误触发,因为控制的是晶闸管。。。现在用的就是6B595
用74HC595确实会出现这样的问题,而且我也没有找到好的办法,改用6B595是绝对没有这个问题的,不过前提是低电平控制外部信号。

点击此处打开ourdev_200314.pdf(文件大小:146K)

出0入0汤圆

发表于 2008-1-11 09:29:55 | 显示全部楼层
我也在用74HC595,也一直存在这个问题。还好关系不大

出0入0汤圆

发表于 2008-1-11 09:39:23 | 显示全部楼层
强顶,马上要用到这东西,还不知道有这问题,麻烦了

出0入0汤圆

发表于 2008-1-11 11:12:34 | 显示全部楼层
还有一种方法,就是做电源管理,用mos去控595

出0入0汤圆

 楼主| 发表于 2008-1-11 15:16:56 | 显示全部楼层
谢谢指点,我去试试6B595

出0入0汤圆

发表于 2008-1-13 14:58:43 | 显示全部楼层
做一個mos管的595的電源開關用單片機來控制它,上電啟動延時開啟.

出0入8汤圆

发表于 2008-1-13 17:31:24 | 显示全部楼层
我也是觉得最后没办法,就用控制595的电源的硬方法吧!!

出0入0汤圆

发表于 2008-1-14 09:08:52 | 显示全部楼层
我的办法是可以的 是用了5个I/O

出0入0汤圆

发表于 2008-1-14 13:05:44 | 显示全部楼层
我也在用HC的,找个6B的试试

出0入0汤圆

发表于 2008-1-15 10:48:09 | 显示全部楼层
我用的是3楼的办法!

出0入0汤圆

发表于 2008-1-19 10:18:22 | 显示全部楼层
拿到了6B595的样片了,比74595多了4个脚,暂时没法用了,要做PCB了,是DIP的
全称是:HM6B595N

出0入0汤圆

发表于 2008-1-19 10:21:58 | 显示全部楼层
还有从资料上看,输出是OC的,这样看来用的话还是有不少麻烦的。

出0入0汤圆

发表于 2008-1-19 10:54:33 | 显示全部楼层
会麻烦么?反正你是控制继电器而已

出0入0汤圆

发表于 2008-3-13 11:34:52 | 显示全部楼层
有朋友做过这方面实验没?

我也要用595扩展IO口,现在开始设计原理图了,手上暂时没条件做实验,不知道做上拉加电容到底有没有效?

如果还是不能解决上面的问题,那只有加一个IO口做电源控制了.

已经用在实际项目的朋友指点指点啊

出0入16汤圆

发表于 2008-3-13 12:25:53 | 显示全部楼层
可以用电容加电阻控制OE的方式,电容要大一点使得充电时间大于MCU初始化完成的时间。

出0入0汤圆

发表于 2008-3-13 12:35:22 | 显示全部楼层
方法1:给OE的那个上拉电阻并上一个电容
方法2:用阻容延时供电法给595供电,目的是MCU先上电,595后上电.

出0入0汤圆

发表于 2008-5-18 12:04:56 | 显示全部楼层
我也是刚好在我的产品里解决完这个问题,如果595的OE设计为直接接地的话,IC就会一直有输出,而由RAM特性可知,595的8个RAM数值是随机的,在一上电瞬间,单片机正在复位,根本无暇进行控制,于是在595对应为1的管脚上继电器有瞬间吸合,解决办法是在595 OE管脚上接RC延时网络,注意让其时间大于单片机的复位时间即可完美解决

出0入0汤圆

发表于 2008-7-19 11:27:08 | 显示全部楼层
我也遇到同样的问题,我的解决方法是既然595无法解决,可以在继电器端解决,如上电时使继电器电源为断开,595正常工作后,再打开继电器电源

出0入0汤圆

发表于 2010-7-25 19:12:45 | 显示全部楼层
我用的就是38楼的方法,不错

出0入0汤圆

发表于 2010-7-25 19:42:48 | 显示全部楼层
正想用595,学习了

出0入0汤圆

发表于 2010-7-25 20:05:54 | 显示全部楼层
听起来38楼的郊果最好

出0入0汤圆

发表于 2010-7-27 11:01:48 | 显示全部楼层
标记.

出0入0汤圆

发表于 2011-5-21 08:58:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-28 16:34:31 | 显示全部楼层
正确的接法应该是有个初始化延时的RC电路接在SCLR上,同时要做好数据线上下拉,保证上电瞬间,处理器运行程序之前输出端口固定

出0入0汤圆

发表于 2011-10-28 19:34:57 | 显示全部楼层
我的电路加上拉就Ok了,没有那么多问题,我用的51单片机,还有每个器件供电脚加一个10uf电解并联104

出0入10汤圆

发表于 2011-10-28 20:39:45 | 显示全部楼层
回复【36楼】Elex 阿甘
可以用电容加电阻控制oe的方式,电容要大一点使得充电时间大于mcu初始化完成的时间。
-----------------------------------------------------------------------

这个正解,以前用4094的时候上电时,数码管会乱码一下,用电容充电来解决,电阻电容都大点,延长充电时间

出0入0汤圆

发表于 2011-10-28 21:19:05 | 显示全部楼层
输出加上啦,且上拉电阻1K,甚至个小点

出0入0汤圆

发表于 2012-3-26 11:28:33 | 显示全部楼层
我扩展后只用了595的低6位,我将Q7接OE脚并接上拉电阻

出0入0汤圆

发表于 2012-3-26 22:35:19 | 显示全部楼层
其实这个问题完全可以用软件来解决,单片机上电复位后先发n*8个0,595输出不就正常了,而这个瞬间继电器不会响应的

出0入0汤圆

发表于 2013-3-26 19:22:47 | 显示全部楼层
dfzcx 发表于 2012-3-26 22:35
其实这个问题完全可以用软件来解决,单片机上电复位后先发n*8个0,595输出不就正常了,而这个瞬间继电器不 ...

你这个方法不行的
有两个问题:1: 595 优先单片机初始化完成  在单片机上电还没初始化的瞬间,你如何输出八个0??
            2:如果按你的方法,我复位单片机,你会听到吸合的声音,我是深有体会

   请指教

出0入0汤圆

发表于 2013-3-26 19:46:53 | 显示全部楼层
如果单片机在运行过程中,看门狗复位了,595会保持原来的输出不变吗?!
单片机看门狗复位后重新运行,595会保持原来的输出不变吗?

出0入0汤圆

发表于 2013-12-6 17:17:46 | 显示全部楼层

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

本版积分规则

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

GMT+8, 2024-7-23 22:22

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

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