登录注册   忘记密码
查看: 71|回复: 2
上一主题 下一主题

[发布] 能不能通俗的解释一下“上拉电阻/下拉电阻”的原理?

楼主
发表于 2017/10/20 11:11:24 | 只看该作者
查找了不少资料,始终不明白“上拉电阻将电位钳在高电平”是什么原理。或者这么问,为什么单片机的io口如果没有内接上拉电阻悬空时电平不确定,而如果外接了上拉电阻则悬空时为高电平?下拉电阻也是一样的问题。
1 楼
发表于 2017/10/23 | 只看该作者

因为单片机IO脚输出最后一级电路往往是OC或OD,经典例子可以看51的P0口。在电路中一般如果IO负载不是太大,我比较推荐串电阻抑制吉布斯现象,如果负载比较大,比如拉电流有10mA,那就一上拉一串接。如果电平敏感,加输入buffer。

2 楼
发表于 2017/12/12 | 只看该作者

我们来看下图:  
v2-cb3f49e595d3cdad73d874e2bf541663_hd.jpg
先看图1: 设T1晶体管当有电压输入时处于饱和状态。
我们看到,T1的基极输入了0~5V的脉冲电压。当输入电压为5V时,设T1的基射极间电压Ube=0.7V,于是T1基极电流是:  
TIM截图20171212091809.png
我们先不考虑T2的基极电流,则因为T1晶体管处于饱和状态,则Uce=0,3V,于是有:  
TIM截图20171212091828.png
现在我们来看图2:
由于晶体管T2存在输入电阻,我们把它的输入电阻连同基极电阻合并后为5K,也即图中的Rsr。
我们首先让T1的输入电压为0V,于是T1截止,T1管的集电极应当输出为高电平。 我们来看看T1管截止时其集电极电压到底是多少:  
TIM截图20171212091902.png
我们看到,这个电压既不是高电平,也不是低电平。
需要注意的是:若输入电压略高于0V,则T1管有可能进入到放大区,这时晶体管的功耗就极大地增加了,同时集电极的电压将处于更加不确定的状态。
再看T1管饱和时的集电极电压:
按道理,当T1管饱和后,其集电极电压为0.3V,即低电平。
我们知道,T1管集电极节点电流关系是:  
TIM截图20171212091942.png
我们看到,这一点不管是T1晶体管,还是电路中其它元件,都是可以满足的。
由此我们知道,当增加了后级系统后,将会影响到前级的截止电压,使得晶体管的集电极电压从高电平跌落到既不是高电平也不是低电平的状态。
解决办法就是在后部电路的输入端增加一只电阻,此电阻的一端接在电源Vcc上,另一端接在输入端。此电阻叫做上拉电阻,即图3中的Rs。
我们假定,图3中的Rs=5K,我们来计算T1管的集电极截止电压是多少:
首先计算10K电阻与5K电阻的并联值:
TIM截图20171212092033.png
我们看到,这下T1管的截止电压高了不少,已经有7.2V了。
结论是:上拉电阻用于提高输入级的高电平输入电压。
但要注意到一件事情,就是当T1管饱和时,上拉电阻产生的电流将灌入T1管的集电极。因此,上拉电阻对于晶体管T1来说,是灌电流负载。
所以,上拉电阻的具体数值一定要考虑到前级的承受能力(发热功耗)。
============= 作为范例,我们来看看PLC的通信接线,如下:  
v2-3dea831683445c157a6f187b95183fb9_hd.jpg
这里的终端电阻,既可以用跳线设置为上拉电阻,也可以设置为下拉电阻。用于上拉电阻时,目的就是提高输入信号的高电平。
至于下拉电阻的用途,仿照我的分析方法,非常容易看出它的用途和目的。
不过,先提醒一下:下拉电阻对于前级来说,属于拉电流负载,对前级晶体管的截止态有影响。


验证码
看不清换一张