何时使用下拉电阻和上拉电阻


42

在学习和试验了微控制器之后,我了解了上拉和下拉电阻的概念。我现在了解何时以及如何使用它们,以及它们如何工作。我主要是使用上拉电路,因为我被教过,但是对我来说似乎一直有些倒退,因为关闭开关会将MCU输入设置为LOW。我认为使用下拉电阻会更有意义,以便在开关断开时输入为LOW,但这只是我的想法。

我应该向上还是向下拉单掷输入?什么时候比往上拉优先选择向下拉?


3
作为另一个电子新人,我不得不说这个问题绝不是愚蠢的。不成为我也不知道,而是因为:“观看次数:1989次”。
steenhulthin 2014年

*因为* 12998次
Mike Causer

Answers:


29

答案取决于您希望“默认”配置是什么。例如,假设您有一个下游N沟道MOSFET,并且您希望它默认关闭。然后,如果输入变为高阻抗,则可以使用下拉电阻来确保这种行为。

原理图

模拟此电路 –使用CircuitLab创建的原理图

另一方面,假设您有一个上游P沟道MOSFET,并且希望它默认关闭。这次需要一个上拉电阻来产生这种行为。

原理图

模拟该电路

还有一种替代情况,您希望设备默认开启,在这种情况下,上述两种情况将相反(N沟道MOSFET上拉,P沟道MOSFET下拉)。

其他一些注意事项:

  1. I2C线路指定上拉电阻,因为“预期”器件的漏极开路接地,因此需要某种方式来提高线路电势。

  2. 模拟比较器通常配置为漏极开路设备,因此也需要上拉电阻来获得高电位输出。

  3. 您可以使用上拉/下拉电阻吸收更多电流,具体取决于连接到输入/输出的电流。

  4. 两种配置都可以在您的应用程序中同样出色地工作(即,一种方式或另一种方式都没有明显的优势)。

...以及许多特定于应用程序的原因,因此可能首选一种配置。


16

如果信号尚无规格,请使用对您最有意义的一种。您可以选择将输入设为高电平有效低电平有效

如果是按钮,请确保使用去抖电路(或在软件中进行)。

原理图

模拟此电路 –使用CircuitLab创建的原理图


+1是我见过的唯一的高电平有效与低电平有效的并排比较。很好,澄清了一些事情。
TomServo

15

如果您的电路设计可以选择-换句话说,电路的其余部分不需要使用上拉或下拉-那么在发生故障的情况下应考虑安全性。

如果您的微控制器发生故障,或仅该输出发生故障,则上拉或下拉将生效。这将如何改变设备的操作?会否使用户面临危险-例如通过强加加热元件?会影响安全性,例如禁用门锁吗?

上拉/下拉电阻确定电线的默认状态。确定默认状态应该取决于安全性,安全性以及最终所需的电路功能。


5

如果您使用的是Arduino / ATmega328,则可以使用内置的上拉电阻器

Atmega芯片内置了20K上拉电阻,可通过软件进行访问。通过将pinMode()设置为INPUT_PULLUP可以访问这些内置的上拉电阻。这有效地反转了INPUT模式的行为,其中HIGH表示传感器已关闭,而LOW表示传感器已打开。

该上拉的值取决于所使用的微控制器。在大多数基于AVR的板上,该值保证在20kΩ至50kΩ之间。在Arduino Due上,它介于50kΩ和150kΩ之间。有关确切值,请参考板上微控制器的数据表。

将传感器连接到配置有INPUT_PULLUP的引脚时,另一端应接地。在简单开关的情况下,这会使该引脚在开关断开时读为高电平,而在按下开关时读为低电平。

Raspberry Pi 也有它们


4

您通常希望在可编程设备(如微控制器)的输出上拉或下拉(通常是下拉),以在加电序列中定义其状态。这样的输出在上电时通常具有高阻抗,如果不这样做,连接的设备可能会收到意想不到的信号。例如,如果涉及多个电源,则最好将每个部分设计为安全的,输入端为零伏,并使用下拉电阻。

比其他答案更晦涩难懂,但我已经看到一些例子,其中涉及到蓝色烟雾和法律诉讼威胁。


澄清:问题不是人们为什么应该使用上拉或下拉电阻,而是人们应该上拉还是下拉电阻。
osvein 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.