打印

单片机IO口输出电平的问题

[复制链接]
3174|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
fzyuan| | 2018-3-21 10:05 | 只看该作者
加三极管

使用特权

评论回复
板凳
阿泉爱学习|  楼主 | 2018-3-21 10:06 | 只看该作者

我是加的ULN2003,

使用特权

评论回复
地板
fzyuan| | 2018-3-21 10:19 | 只看该作者

你的MCU是51的?
而且出现1.2V的时候,你输出的电平应该是高吧?
IO端口的属性没有设置过,还是缺省值?
应该设置成推挽模式的。

使用特权

评论回复
5
阿泉爱学习|  楼主 | 2018-3-21 10:27 | 只看该作者
fzyuan 发表于 2018-3-21 10:19
你的MCU是51的?
而且出现1.2V的时候,你输出的电平应该是高吧?
IO端口的属性没有设置过,还是缺省值?

MCU是AVR的mega64,我输出高电平第一个继电器可以动作,但是我每个引脚都接上相同的电路,也就有5-6个继电器可以动作吧 别的继电器都不能动作,我测量电压的时候 继电器线圈端的引脚电压确实2V左右。然后我就把2003直接撤走了,让MUC直接输出低电平,继电器可以动作,但是我测量电压却是1.2V

111.png (161.92 KB )

111.png

使用特权

评论回复
6
xyz549040622| | 2018-3-21 11:06 | 只看该作者
驱动电流是有限的,必须要加驱动芯片的。

使用特权

评论回复
7
fzyuan| | 2018-3-21 12:21 | 只看该作者
阿泉爱学习 发表于 2018-3-21 10:27
MCU是AVR的mega64,我输出高电平第一个继电器可以动作,但是我每个引脚都接上相同的电路,也就有5-6个继 ...

如果MCU电源电压是5V的,应该完全没问题,
但条件是IO必须是推挽输出模式,这样就不需要10k的上拉电阻了。

如果IO没有推挽输出模式,那么10k上拉是不够的,用2k的试试。

使用特权

评论回复
8
ddllxxrr| | 2018-3-21 12:24 | 只看该作者
负载过来地,加三极管为正解

使用特权

评论回复
9
阿泉爱学习|  楼主 | 2018-3-21 12:52 | 只看该作者
ddllxxrr 发表于 2018-3-21 12:24
负载过来地,加三极管为正解

我加上2003感觉好了,但是我单片机的引脚都控制这继电器呢,每打开一个继电器,它的引脚电压都会上升0.2V

使用特权

评论回复
10
xuyaqi| | 2018-3-21 13:32 | 只看该作者
可以理解IO口内有输出晶体管,低电平时有饱和压降,灌入电流越大,压降越大。

使用特权

评论回复
11
cctv19881023| | 2018-3-22 08:57 | 只看该作者
原因很简单,你用万用表量到1.2V或者0.2V都是虚电压,也就是器件漏电流造成的,理论上世界上任何物体都存在漏电流,连空气也不例外,只是大小问题,你用的ULN2003属于半导体工艺,漏电流发生的时候,仍然遵守欧姆定律,所以1.2V和0.2V属于分压的到的,告诉你一个方法,用万用表测量的时候在表笔正负极之间并联一个10K电阻,然后再去测量,就应该没有电压了

使用特权

评论回复
12
chunyang| | 2018-3-25 18:03 | 只看该作者
IO口是有内阻的,所有常规回路都是有电阻的,除非是超导回路。低电平过高,只要不超出器件准许的范围就没问题。这个范围包括电流、逻辑电平等。

使用特权

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

本版积分规则

25

主题

173

帖子

4

粉丝