打印

STC IO 口配置为推挽输出

[复制链接]
9970|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
jc981| | 2010-9-4 17:23 | 只看该作者
在R9处增加一个二极管吧,因三极管损坏而烧IO口。
另外R11值太大,10K就好了。

使用特权

评论回复
板凳
D调胖子|  楼主 | 2010-9-4 17:35 | 只看该作者
呵呵,加过二极管了

使用特权

评论回复
地板
teddeng| | 2010-9-4 18:08 | 只看该作者
如果继电器线圈功率不大,吸合电流在2,30MA的话,上电时继电器肯定会跳一下的。看下STC的文档,个人觉得比你这个好。

使用特权

评论回复
5
D调胖子|  楼主 | 2010-9-6 09:44 | 只看该作者
STC的单片机功耗蛮大的啊!!

使用特权

评论回复
6
D调胖子|  楼主 | 2010-9-6 09:49 | 只看该作者
再次请教一下各位:  
一下引用STC11FXX数据手册。
“推挽输出(强上拉输出,可达20mA,要加限流电阻)”
到底啥意思!
小D不懂!!

使用特权

评论回复
7
ayb_ice| | 2010-9-6 10:14 | 只看该作者
对了,为了避免开机瞬间继电器的吸合动作最好用高电平关闭继电器设计

使用特权

评论回复
8
D调胖子|  楼主 | 2010-9-6 10:40 | 只看该作者
LS我加了一个逻辑判断,上电复位不会继电器误动作!!

使用特权

评论回复
9
ayb_ice| | 2010-9-6 11:25 | 只看该作者
LS
程序都没有开始运行,你判断什么

使用特权

评论回复
10
chunyang| | 2010-9-6 11:45 | 只看该作者
建议采用负逻辑设计,这样就不用将IO配置成推挽输出,也不会存在上点暂态失控的现象,晶体管改为两级驱动即可。

使用特权

评论回复
11
yuyi21ic| | 2010-9-6 11:55 | 只看该作者
换个PNP的管子啊。

使用特权

评论回复
12
Galway-Zhang| | 2010-9-6 12:08 | 只看该作者
个人建议.用两个三极管.这样可以做到小电流驱动.可以让三极管关闭与开启更速度.

使用特权

评论回复
13
chunyang| | 2010-9-6 12:14 | 只看该作者
直接换PNP管是不行的,电压问题,MCU和继电器工作电压相同的话才可以。

使用特权

评论回复
14
D调胖子|  楼主 | 2010-9-6 21:15 | 只看该作者
完整的电路图是这样的:

未命名.jpg (37.88 KB )

未命名.jpg

使用特权

评论回复
15
D调胖子|  楼主 | 2010-9-6 21:25 | 只看该作者
原本来用5V的继电器,继电器太差,吸合时拉电流62.5mA,我设计时没料到会那么大的拉电流,设计:
5V /  330K  =  0.015ma  流入三极管基极电流0.0015ma   BJT hfe  = 200左右  继电器电流为0.3ma 本来以为会低功耗,结果出现,继电器吸合不稳等一堆问题!!

使用特权

评论回复
16
D调胖子|  楼主 | 2010-9-6 21:27 | 只看该作者
现在该继电器为12V的继电器,继电器吸合电流为20ma左右,那么功耗应该会降低吧??

使用特权

评论回复
17
xymxym| | 2010-9-7 08:46 | 只看该作者
继电器的工作电压能用高的就不要用低的
STC的没用过.配置I/O是在烧写时还是在程序运行中配置?如果是在程序运行时才配置,那复位期间还还一样是输出1?跟普通51没两样!所以还是得弄成负逻辑驱动

使用特权

评论回复
18
D调胖子|  楼主 | 2010-9-7 09:49 | 只看该作者
多谢LS:请看我的完整版的原理图,在14#  !!
复位时输出1时,继电器的驱动三极管的基极被拉低了,继电器不会动作,谢谢大家了!!

使用特权

评论回复
19
D调胖子|  楼主 | 2010-9-7 10:06 | 只看该作者
麻烦在请教一下xymxym:
为什么“继电器的工作电压能用高的就不要用低的” ???

使用特权

评论回复
20
faiwong| | 2010-11-14 18:20 | 只看该作者
把R11改为2K-5K就好了,因为STC上电时IO脚上只是47K左右的弱上拉,不足以此驱动继电器电路,而上电后将IO脚配置为推挽输出,20mA的电流也足以稳定的驱动此继电器电路。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:世人笑我太疯癫,我笑别人看不穿

13

主题

180

帖子

0

粉丝