佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 2190|回复: 22

PIC16F877A 控制 5V Relay

[复制链接]
发表于 13-2-2008 09:58 AM | 显示全部楼层 |阅读模式
请大家帮忙。
假设PIC16F877A output 5v 控制 5V Relay switch on,
但是为什么PIC16F877A 5V output 会 drop to around 2v?
但是为什么 用LM7805 supply output 5v 去5v relay 就没问题?
回复

使用道具 举报


ADVERTISEMENT

发表于 13-2-2008 10:36 AM | 显示全部楼层
RELAY不能直接接去CONTROLLER,因为RELAY会DRAIN掉所有CURRENT,而且CONTROLLER提供的CURRENT也不足够。分分钟还会烧你的CONTROLLER。建议用以下的SCHEMATIC

评分

参与人数 1积分 +5 收起 理由
pic + 5

查看全部评分

回复

使用道具 举报

发表于 13-2-2008 11:12 AM | 显示全部楼层
这样加应该会比较好:
(加了一个diode)

评分

参与人数 1积分 +5 收起 理由
pic + 5

查看全部评分

回复

使用道具 举报

发表于 13-2-2008 12:48 PM | 显示全部楼层
原帖由 mwl_86 于 13-2-2008 11:12 AM 发表
这样加应该会比较好:
(加了一个diode)


这个是对的。不过不明白2楼为什么parrallel relay switching和一个1k resistor?有什么特别原因吗??
加diode 是freewheeling diode, 当relay 从on switch 去 off, 可以self discharge.
回复

使用道具 举报

发表于 14-2-2008 08:52 AM | 显示全部楼层
原帖由 fritlizt 于 13-2-2008 12:48 PM 发表


这个是对的。不过不明白2楼为什么parrallel relay switching和一个1k resistor?有什么特别原因吗??
加diode 是freewheeling diode, 当relay 从on switch 去 off, 可以self discharge.


都是snubber. 因为off 时, relay 的coil 会try to maintain current flow , 所以 V= L(di/dt), ,V 可能会很高。
但是那个也是错的, 应该接多一个 capacitor 形成 RC snubber. 保持discharge 的时间。(i= C (dv/dt))
回复

使用道具 举报

发表于 14-2-2008 04:40 PM | 显示全部楼层

回复 1# antzz 的帖子

我也建议你一个电路图:
当MCU ON 时, relay 就会跟这 ON
那颗diode 可以不要放, 如果发现relay ON 时 不 stable (会自动一直开关),那么就安装 diode。 

[URL=http://img149.imageshack.us/my.php?image=relaypi2.jpg][/url]
回复

使用道具 举报

Follow Us
发表于 14-2-2008 06:28 PM | 显示全部楼层
原帖由 mwl_86 于 13-2-2008 11:12 AM 发表

这个才是最标准的电路。

但如控制5粒以上的Relay, 考虑用ULN2003 (7 output), 或ULN2803 (8 output)
回复

使用道具 举报

发表于 14-2-2008 06:30 PM | 显示全部楼层
原帖由 chan1314 于 14-2-2008 08:52 AM 发表
都是snubber. 因为off 时, relay 的coil 会try to maintain current flow , 所以 V= L(di/dt), ,V 可能会很高。
但是那个也是错的, 应该接多一个 capacitor 形成 RC snubber. 保持discharge 的时间。(i= C (dv/dt))

这种简单的低压DC电路, 不需要什么snubber的。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 14-2-2008 08:34 PM | 显示全部楼层
原帖由 pic 于 14-2-2008 06:30 PM 发表

这种简单的低压DC电路, 不需要什么snubber的。。。



这个图是diode snubber 。
那个diode这样接是称为 free wheeling diode (snubber diode)

RC snubber 是把那个 diode 换成 resistor +capacitor.

RC snubber 能用在 AC and DC , diode snubber 只能用在 DC.

拜天公咯, 放炮咯

[ 本帖最后由 chan1314 于 15-2-2008 10:11 AM 编辑 ]
回复

使用道具 举报

发表于 15-2-2008 07:58 AM | 显示全部楼层
原帖由 chan1314 于 14-2-2008 08:34 PM 发表



这个图是diode snubber 。
那个diode这样接是称为 free wheeling diode (snubber diode)

RC snubber 是把那个 diode 换成 resistor +  ...

你是对的~
回复

使用道具 举报

 楼主| 发表于 15-2-2008 09:03 AM | 显示全部楼层
thanks.
can i change the resistor to 10k ohm.
这样只是增加 input current to trasistor?
回复

使用道具 举报

发表于 15-2-2008 09:33 AM | 显示全部楼层
RC snubber 是把那个 diode 换成 resistor + resistor.


是 resistor +  resistor   还是  resistor  series  capacitor  ?

freewheeling diode 也叫 suppressor diode , catch diode.
回复

使用道具 举报

发表于 15-2-2008 10:11 AM | 显示全部楼层
原帖由 PenBrush 于 15-2-2008 09:33 AM 发表


是 resistor +  resistor   还是  resistor  series  capacitor  ?

freewheeling diode 也叫 suppressor diode , catch diode.



打错了, RC 是 resistor + capacitor
回复

使用道具 举报

发表于 15-2-2008 05:10 PM | 显示全部楼层
原帖由 antzz 于 15-2-2008 09:03 AM 发表
thanks.
can i change the resistor to 10k ohm.
这样只是增加 input current to trasistor?


增加resistance会减少transistor base current => lower collector current,
在此不建议更改。
回复

使用道具 举报

发表于 16-2-2008 06:35 PM | 显示全部楼层
对不起,我的错,差点误导新手,太久没接触电子了,谢谢各位高手纠正
回复

使用道具 举报

 楼主| 发表于 25-2-2008 10:06 AM | 显示全部楼层

the connection same like this but ,the resistor我改为 10k ohm.
当同一时间turn on 4个 5v relay
为什么PIC16F877A 5V output 会 drop to around 2v?
回复

使用道具 举报


ADVERTISEMENT

发表于 25-2-2008 10:59 AM | 显示全部楼层
原帖由 antzz 于 25-2-2008 10:06 AM 发表

the connection same like this but ,the resistor我改为 10k ohm.
当同一时间turn on 4个 5v relay
为什么PIC16F877A 5V output 会 drop to ...


你的 Relay 是怎样接法的。什么脚输出控制 Relay,还接上什么驱动器?什么型号?
你是用什么 Power supply, 当时你的 power supply  电压有变吗。
你换过别的 PIC 没有。
MCU 其它输出脚电压是多少,接了什么零件?
有原理图吗。
回复

使用道具 举报

 楼主| 发表于 25-2-2008 03:12 PM | 显示全部楼层
transistor 是 2N3904 (NPN)
base = 接10k ohm
collector = 接 5v relay
emiter = 接 ground

Relay 的脚one connect 5v & one connect transistor (collector)
diode (1N4001 )connect between Relay (5v & collector).

我用9v baterry connect 7805 然后 connect  pic & relay.

before connect to Relay pic output all 5v.
after connect to Relay voltage drop to 2v.
是否 drain too much current from pic?

原理图 一样,只是有四个相同的 circuit ( Relay ,diode & transistor connect ) 去pic.
回复

使用道具 举报

发表于 25-2-2008 06:09 PM | 显示全部楼层
原帖由 antzz 于 25-2-2008 03:12 PM 发表
transistor 是 2N3904 (NPN)
base = 接10k ohm
collector = 接 5v relay
emiter = 接 ground

Relay 的脚one connect 5v & one connect transistor (collector)
diode (1N4001 )connect between Relay (5v & ...


1。你的问题经过这么多高手指导后,还是出现跟你在一楼说的一样,完全没有改善吗?
2。那你在发问前接发是怎样的?你过后有改了些什么?
3。你用 MCU 的什么输出脚来控制 Relay?
4。你用什么测量电压?(analogue @ digital Multimeter 或 Oscilloscope)
5。你是如何控制 Relay 的 ? Always  ON, 还是 ON ——〉OFF,ON ——〉OFF,ON ——〉OFF,ON ——〉OFF?
6。你是用什么 Power Supply?
7。Relay Turn ON 时你的 Power Supply  电压有变吗?
8。你换过 MCU 了没有?
回复

使用道具 举报

 楼主| 发表于 26-2-2008 10:24 AM | 显示全部楼层
因为之前我用9v battery 可能是current 不够。
现在我用power supply 9v 去整个circuit 。

现在我发现可能是 7805 的问题。
因为整个circuit drain 0.422 A (current).
还有时会 intermediate on funcion (0.422A) & no function (0.022A).
但voltage supply (5V) 很正常.
7805会很热 当drain 0.422A.
为什么呢?
我觉得是7805 的问题,因为它是 power supply 给整个circuit .
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 25-12-2024 01:02 PM , Processed in 0.144704 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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