上拉电阻

_
贡献者: 会员23999
受欢迎的 最喜欢的 45岁

介绍

ATMega328复位上拉

上拉电阻在使用微控制器(MCU)或任何数字逻辑设备时非常常见。本教程将解释何时何地使用上拉电阻,然后我们将做一个简单的计算来说明为什么上拉很重要。

建议阅读

在继续之前,您应该熟悉的概念:

什么是上拉电阻

假设您有一个配置了一个插脚作为输入的MCU。如果没有连接到管脚的任何东西,并且您的程序读取管脚的状态,它是高(拉至VCC)还是低(拉至地面)?很难说清楚。这种现象被称为浮动.为了防止这种未知状态,上拉或下拉电阻器将确保触针处于高或低状态,同时也使用低电流。

为了简单起见,我们将专注于拉起,因为它们比拉下更常见。他们使用相同的概念操作,除了上拉电阻连接到高压(通常为3.3V或5V,通常称为VCC),下拉电阻连接到接地。

上拉通常与按钮和开关一起使用。

示意图上拉

带上拉电阻,未按下按钮时,输入引脚将读取高状态。换句话说,少量电流在VCC和输入引脚(不接地)之间流动,因此,输入端的读数接近VCC。按下按钮时,它将输入销直接接地。电流通过电阻器流向接地,因此,输入引脚读取低状态。记住,如果电阻不在那里,你的按钮会把VCC接地,这是非常糟糕的,也被称为短的.

那么你应该选择什么电阻值呢?

简单而简单的答案是,您需要一个电阻值,其阶数为10 kΩ,用于上拉。

低电阻值被称为强上拉(更多的电流流动)。高电阻值称为弱上拉(电流较小)。

内部上拉示意图

需要选择上拉电阻的值以满足两个条件:

  1. 按下按钮时,请输入销拉低。电阻R1的值控制着从VCC流出的电流,通过按钮,然后接地。

  2. 当按钮未按下时,请输入销被拉得很高。上拉电阻的值控制输入引脚上的电压。

对于条件1,你不希望电阻值太低。阻力越小,当按下按钮时,将使用更多的电源。通常需要一个较大的电阻值(10 kΩ)。但是你不希望它太大以至于与条件2相冲突。一个4兆欧的电阻器可以作为一个上拉装置,但它的阻力太大(或很弱),可能不会100%地完成它的工作。

条件2的一般规则是使用上拉电阻(R1),其数量级(1/10)小于输入引脚的输入阻抗(R2)。微控制器上的输入管脚的阻抗可以在100k-1MΩ之间变化。对于这个讨论,阻抗只是表示电阻的一种奇特方式,在上图中用r2表示。所以,未按下按钮时,极少量的电流从VCC流过R1进入输入引脚。上拉电阻R1和输入端阻抗R2划分电压,这个电压必须足够高,输入端才能读取高状态.

例如,如果您使用一个1兆欧电阻作为上拉式R1,并且输入引脚的阻抗r2在1兆欧的顺序上(形成一个分压器)。输入端的电压大约是VCC的一半,微控制器可能无法将管脚注册为高状态。在5伏系统上,如果电压为2.5伏,单片机在输入端的读数是多少?是高还是低?MCU不知道,您可能读到高或低。R1的电阻为10k至100kΩ,应避免大多数问题。

因为通常需要上拉电阻,很多MCU,就像Arduino平台上的ATMega328微控制器,具有可启用和禁用的内部上拉。要在Arduino上进行内部上拉,您可以在SETUP()函数中使用以下代码行:

针模式(5,输入_pullup);//在针脚5上启用内部上拉电阻

另一个需要指出的是,上拉阻力越大,引脚响应电压变化的速度越慢。这是因为供给输入引脚的系统本质上是一个电容器,与上拉电阻耦合,从而形成RC滤波器,RC过滤器需要一些时间来充放电。如果你有一个快速变化的信号(如USB),高值上拉电阻可以限制插脚可靠改变状态的速度。这就是为什么你经常在USB信号线上看到1K到4.7KΩ的电阻。

所有这些因素都决定了使用什么值的上拉电阻。

计算上拉电阻值

示意图上拉

假设你想在上面的电路中按下按钮时,将电流限制在大约1毫安。其中VCC=5 V。你应该使用什么电阻值?

很容易演示如何使用欧姆定律以下内容:

替换文本

参考上述示意图,欧姆定律现在是:

替换文本

用一些简单的代数重新排列上述方程,以求解电阻:

替换文本

记住把你所有的单位转换成伏特,计算前的安培和欧姆(例如1毫安=0.001安培)。解决方案是使用一个5KΩ的电阻器。

资源和进一步发展

现在你应该熟悉什么是上拉电阻,以及它是如何工作的。要进一亚博在线娱乐官网步了解电子元件及其应用,查看以下其他教程: