搜索
bottom↓
回复: 47

高手告诉我,为什么我的单片机无法使继电器动作?

[复制链接]

出0入0汤圆

发表于 2015-5-26 20:40:48 | 显示全部楼层 |阅读模式
我虽然学单片机好几年,但这是自己第一次做出实物电路。出现了问题。如下图,单片机在烧写完程序,插入目标板后,数码管显示部分、按键输入部分都能正常工作,P1.1在断开与继电器驱动电路之后也能正常输出高电平(+5V)。同样,继电器电路在断开单片机的连接后,如果给R1这一端加上+5V的电源后,继电器也能正常动作。现在问题来了,连接单片机和继电器的电路后,在P1.1输出就不能输出高电平,自然继电器就没有动作,求大神指教,应该怎么完善这个电路?急急急!!!

本帖子中包含更多资源

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

x

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

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

出0入0汤圆

 楼主| 发表于 2015-5-26 20:41:15 | 显示全部楼层
自己做沙发!

出0入0汤圆

发表于 2015-5-26 20:52:00 | 显示全部楼层
P1.1有没有推挽输出,如果没有,请强上拉。

出5入4汤圆

发表于 2015-5-26 20:52:18 | 显示全部楼层
P1.0? P1.1? 你把端口电气特性看看。可能是OC?

出0入0汤圆

发表于 2015-5-26 20:52:51 | 显示全部楼层
是不是继电器工作电压没有达到要求

出0入0汤圆

发表于 2015-5-26 20:53:12 | 显示全部楼层
你文字描述中是P1.1,而电路图中连接的是P1.0,你看看是不是没有连接对引脚。

出0入4汤圆

发表于 2015-5-26 20:56:07 | 显示全部楼层
输出口设为推挽或加一上拉电阻。

出0入0汤圆

发表于 2015-5-26 21:16:57 | 显示全部楼层
用电流倒灌吧,最好加个光耦。。。。。

出0入0汤圆

发表于 2015-5-26 21:17:02 | 显示全部楼层
R1要加大,用100K的电阻.

出0入0汤圆

发表于 2015-5-26 21:18:16 | 显示全部楼层
单片机的输出电流太小了,应再加一级

出0入25汤圆

发表于 2015-5-26 21:23:47 | 显示全部楼层
AT89S51的P1口是弱上拉,驱动1的能力很弱。

在P1.0端口到VCC接一个1K的上拉电阻。另外程序控制对应P1.0端口,而不是楼主描述的P1.1

出0入0汤圆

发表于 2015-5-26 21:28:03 | 显示全部楼层
51系列是PMOS架构的IO,意思就是他不像现代的CMOS MCU需要设输入输出状态,51的IO是弱上拉,输出高准位是非常非常没力的(可能只有几百uA吧),但输出低准位倒是很够力,你输出要三级管推继电器,要么就是外加一个上拉的小电阻(例如1K),要么在经过一级放大才够的.

出0入0汤圆

发表于 2015-5-26 21:29:01 | 显示全部楼层
5伏的继电器需要很大的驱动电流

出0入0汤圆

发表于 2015-5-26 21:41:30 | 显示全部楼层
你的引脚不对呀

出0入4汤圆

发表于 2015-5-26 22:09:18 | 显示全部楼层
加一个上拉电阻就行了,取值2K - 4.7K之间均可

出10入10汤圆

发表于 2015-5-26 22:22:23 来自手机 | 显示全部楼层
建议改为pnp灌电流驱动,即可以增强驱动能力,又可以防止上电继电器抖动

出0入0汤圆

 楼主| 发表于 2015-5-27 02:32:31 来自手机 | 显示全部楼层
对不起大家,是我描述错误,应该是P1.0。谢谢大家的回复。

出0入0汤圆

 楼主| 发表于 2015-5-27 02:48:35 来自手机 | 显示全部楼层
dadatou 发表于 2015-5-26 20:52
P1.1有没有推挽输出,如果没有,请强上拉。

弱弱的问一下,如何退完输出啊?电路如何连接?

出0入0汤圆

 楼主| 发表于 2015-5-27 02:59:43 来自手机 | 显示全部楼层
hyper320 发表于 2015-5-26 21:28
51系列是PMOS架构的IO,意思就是他不像现代的CMOS MCU需要设输入输出状态,51的IO是弱上拉,输出高准位是非常 ...

问一下,就是因为知道,端口的驱动能力不足,所以才加了一个三极管放大电路,为什么驱动电流还不够啊?另外,网上部分参考资料在基级上加了一个4.7k的下拉电阻,是什么意思啊?我试过,不要说单片机驱动了,就是用电源直接驱动都不行。求解释。

出0入0汤圆

发表于 2015-5-27 06:05:02 | 显示全部楼层
柱子哥 发表于 2015-5-27 02:59
问一下,就是因为知道,端口的驱动能力不足,所以才加了一个三极管放大电路,为什么驱动电流还不够啊?另 ...

你的继电器额定电压是几V的?

出0入0汤圆

发表于 2015-5-27 06:31:00 来自手机 | 显示全部楼层
看继电器规格,如果是5V而且线圈电流够大,建议二级驱动或者改成pnp,如果不是5v,用二级驱动

出0入0汤圆

 楼主| 发表于 2015-5-27 07:27:11 来自手机 | 显示全部楼层
cl1cl1cl1cl1 发表于 2015-5-27 06:05
你的继电器额定电压是几V的?

5V的继电器

出0入0汤圆

发表于 2015-5-27 07:51:17 | 显示全部楼层
几年的时间,都没仔细看看引脚内的电路结构

出0入0汤圆

发表于 2015-5-27 08:15:07 | 显示全部楼层
直接用电源驱动也不行?三极管用错了吧,哈哈

出0入54汤圆

发表于 2015-5-27 08:24:36 | 显示全部楼层
89s51内部上拉应该几十K吧,按50K计算,外部1K可忽略,三极管放大倍数按200计算,则三极管电流会有17mA左右。
这个电流应该驱动不了你的继电器吧。另外这时候你量P1.0的话应该是0.7V左右。

楼主应该看看51的手册,上面会有写端口的输出电流,单片机不一样处理方法不一样,别人加4.7K下拉是因为别人的端口可以输出大电流,加下拉是防止上电瞬间端口还在输入状态时继电器动作。

出0入4汤圆

发表于 2015-5-27 08:26:17 | 显示全部楼层
用电压表量下电压就知道了呀

出0入0汤圆

发表于 2015-5-27 08:29:07 | 显示全部楼层
你把Q1换成mos管就可以了.

出0入0汤圆

发表于 2015-5-27 08:35:14 | 显示全部楼层
IO加一个2K-4.7K上拉电阻
最好设计成IO口低电平驱动继电器,你这样设计的高电平驱动会早上单片机一上电继电器就弹跳一下造成误动作

出0入0汤圆

发表于 2015-5-27 08:37:56 | 显示全部楼层
1)程序是否相对;2)继电器的供电电压;3)加一个上拉电阻;4把那个三极管换成MOS管

出10入113汤圆

发表于 2015-5-27 08:42:40 | 显示全部楼层
这就是学习板上“学习”的后果。

出0入0汤圆

发表于 2015-5-27 10:40:24 | 显示全部楼层
使能时量下继电器俩端的电压差,你会明白不少东西的。

出0入0汤圆

发表于 2015-5-27 10:57:27 | 显示全部楼层
柱子哥 发表于 2015-5-27 02:59
问一下,就是因为知道,端口的驱动能力不足,所以才加了一个三极管放大电路,为什么驱动电流还不够啊?另 ...

你先验证三极管线路有没有问题,换个LED驱动看会不会亮,如果连LED都不会亮那肯定三极管部份的线路有问题

1.三极管用错,NPN用成PNP型号
2.三极管脚位弄错

另外,MCU IO一般上电初都是高阻抗状态,也就是悬浮状态,下拉电阻是为了避免一开机时三极管误动作而设的,一定要有,否则三极管在开机一瞬间有可能受噪声引响而动作

出5入10汤圆

发表于 2015-5-27 10:59:00 | 显示全部楼层
楼上各位说了那么多,楼主都搞晕了,给个能用的吧

本帖子中包含更多资源

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

x

出5入10汤圆

发表于 2015-5-27 11:00:19 | 显示全部楼层
补充一下,这个电路是低电平驱动,避免了楼主电路的上电误动作,也不需要楼主去设置IO端口模式了。

出0入0汤圆

发表于 2015-5-27 11:15:46 | 显示全部楼层
51好像没有端口模式的设置吧 ?另外楼主说的很清楚了,电源直接驱动三极管都不行,很明显是三极管线路部份有问题,在怎么改都没用,楼主还是先把三极管线路DEBUG一下吧

出0入0汤圆

发表于 2015-5-27 13:04:57 | 显示全部楼层
9013+IO驱动继电器我试过,估计是硬件问题罢了,输出高电平就可以驱动继电器

出0入0汤圆

发表于 2015-5-27 13:14:30 | 显示全部楼层
驱动能力不够把,而且你的放大电路可能参数不对,

出0入0汤圆

发表于 2015-5-27 23:49:28 | 显示全部楼层
8050放大倍数200 . 继电器估计80ma.    80/200=0.4ma   B极电流大于0.4ma。加一个4.7K上拉就OK了

出0入0汤圆

发表于 2015-5-28 06:48:26 来自手机 | 显示全部楼层
用光藕隔离还可以带放大。光藕就是二极管+三极管。

出0入0汤圆

发表于 2015-5-28 08:00:12 来自手机 | 显示全部楼层
51的io好像是oc,没有驱动能力,要加上拉电阻

出0入0汤圆

发表于 2015-5-30 23:28:24 | 显示全部楼层
加4.7-10K上拉电阻,另外检查4148二极管是否有质量问题.

出0入0汤圆

发表于 2015-5-31 01:55:21 | 显示全部楼层
应该是用PNP三级管才方便可靠吧

出0入476汤圆

发表于 2015-5-31 07:13:07 | 显示全部楼层
老的51单片机的IO口没有推挽输出,输出能力较弱。可以加一个2K左右的上拉电阻。 新型的CPU用推挽就没问题了。还有国产5V继电器吸合电流比较大,建议用8050。用NMOS就没有以上这么多问题了。

出350入8汤圆

发表于 2015-5-31 14:05:24 | 显示全部楼层
这种问题,最好自己先测试一下各点的电压,然后再根据电压情况,应该就可以找到问题所在。

出0入0汤圆

发表于 2015-5-31 17:22:05 | 显示全部楼层
下拉不好吗?
直接接上去下拉。

出0入10汤圆

发表于 2015-5-31 20:52:45 | 显示全部楼层
你这单片机是51的,要上拉啊,oc门输出,不上啦哪来的高电平去驱动三极管。

出0入0汤圆

发表于 2015-6-1 08:59:37 | 显示全部楼层
51的高电平驱动能力比较低,你换成PNP管子,低电平驱动就好了。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 08:30

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

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