两分钟理解——上拉电阻与下拉电阻原理
前言
在学习STM32和单片机中我们会接触到上拉电阻和下拉电阻这两个概念,部分没有学过这方面知识或者学了但是没完全学懂的读者可能还会有疑惑,我自己也参考了许多的优快云,但总感觉差点意思,接下来我将以我的视角为读者解释上下拉电阻原理,从根本上弄清楚上下拉电阻
一、上拉电阻原理
上拉电阻定义是这样说的:将一个电阻连接在信号线与电源(VCC)之间,通过电阻将信号线默认拉至高电平。当无其他驱动时,信号线保持高电平;当器件主动拉低时,电流经电阻流向GND,信号变为低电平。
上拉电阻定义说的很清楚,乍一看好像知道了它的作用,但是却不能从定义里面去深入理解它为什么可以当无其他驱动时候默认输出高电平,当有器件驱动时候就输出低电平了,下面我将以我理解角度为大家讲一下原理是什么。
我们看这个图,这个是一个上拉电阻的基本框架图,当我们接入上拉电阻时候,这个电阻阻值一般在1kΩ ~ 100kΩ,是一个非常大的一个电阻,当外部器件(这里指的就是图里面的开关)没有驱动时候,通往GND的这条线路是断开的,也就是我们只用看从VCC到蓝色点再到output这条线路就行了(它不算一个闭合回路),由于这个上拉电阻的阻值非常大,所以这条线路的电流特别小(仅微安级漏电流接近于0),所以这个上拉电阻上的分压也就是它的电压无限接近于0也就是可忽略(U=IxR≈0),所以VCC这点的电势就等于蓝色这点的电势也就是output这点电势所以输出是高电平,这就解释了为什么当器件没有驱动时候,它默认输出高电平了。
接下来我们再来看为什么当器件驱动时候它输出的是低电平,当器件驱动时候(也就是图中开关闭合时候)此时形成了一条闭合回路,一般来说我们这个output这条线路是连接其他电路部分的,所以它的电流就是从VCC到蓝色点开始分流一部分电流走向output这条路一部分走向GND
根据电路知识可以知道VCC与蓝色点的电势差等于VCC也就是蓝色点的电势是0V也就是低电平了这就解释了为什么当器件驱动(开关闭合)时候,它输出低电平。
二、下拉电阻原理
下拉电阻定义是这样说的:将一个电阻连接在信号线与地(GND)之间,通过电阻将信号线默认拉至低电平。当无其他驱动时,信号线保持低电平;当器件主动拉高时,电流经电阻流向VCC,信号变为高电平。
同样的我们看这个定义只能知道下拉电阻作用,但是不知道原理怎么来的,接下来看下面这个下拉电阻基本电路图,我以我的角度讲解一下原理
跟上拉电阻一样,下拉电阻阻值一般在1kΩ ~ 100kΩ,是一个非常大的一个电阻,当外部器件(这里指的就是图里面的开关)没有驱动时候同上拉电阻一样,这条通往output线路的电流非常小(仅微安级漏电流接近于0)(在这里你也可以认为压根就没有电源正极所以电流直接为0,理解为有电流也是可以的因为芯片内部也有些电流)所以这个下拉电阻的分压也就是它的电压无限接近于0,也就是可忽略(U=IxR≈0),所以GND这点的电势就等于蓝色这点的电势也就是output这点电势所以输出是低电平,这就解释了为什么当器件没有驱动时候,它默认输出低电平了。
接下来我们再来看为什么当器件驱动时候它输出的是高电平,当器件驱动时候(也就是图中开关闭合时候)此时形成了一条闭合回路,一般来说我们这个output这条线路是连接其他电路部分的,所以它的电流就是从VCC到蓝色点开始分流一部分电流走向output这条路一部分走向GND
根据电路知识可以知道VCC与蓝色点的电势一样(或者说这个下拉电阻电压为VCC)所以这个output自然就是高电平了,这就解释了为什么当器件驱动时候它输出高电平了
二、上拉电阻分析案例
以我刚刚讲的上拉电阻原理,我们以这个为旋转编码器的原理图为例子(只看左边的上拉电阻R1右边同理的)来用我刚刚讲的那个原理来解释这个A点,当红色部分断开时候是高电平,闭合时候就是低电平了,
旋转编码器实物图
当红色部分断开时候,这时候在R1下面那个红点不会分流(因为红色断开了,所以那边就是一个断路)电流会从VCC经过R1再经过R3最后流出到A点,因为上拉电阻阻值很大(加上这个不能算一个闭合回路)所以这个电流几乎为0也就是说根据U=IR这个公式R1和R3分到的电压几乎为0,所以VCC这点电势就近似等于A点电势也就是高电平了。
当红色部分是接上情况下也就是闭合情况下,它形成了一个闭合回路,电流直接从VCC流向R1到R1然后流向C点电路的GND没有流向R3(可以简单理解R3给短路了吧)然后A电势就等于R1下面红点电势又R1下面红点电势等于C点电势等于GND,所以A点电势就是0也就是低电平了,通过这样的理解方式就能清楚地知道了为什么上拉电阻有那样的作用了
旋转编码器原理图
总结
在这个文本中,我以我理解的上下拉电阻的作用原理是如何来的来讲述,希望能帮助大家理解好上下拉电阻(可能理解上仍有些许不足如果读者有更好的理解,还望批评指正,觉得帮助了大家理解的悄悄滴点个赞趴~)