在学习和试验了微控制器之后,我了解了上拉和下拉电阻的概念。我现在了解何时以及如何使用它们,以及它们如何工作。我主要是使用上拉电路,因为我被教过,但是对我来说似乎一直有些倒退,因为关闭开关会将MCU输入设置为LOW。我认为使用下拉电阻会更有意义,以便在开关断开时输入为LOW,但这只是我的想法。
我应该向上还是向下拉单掷输入?什么时候比往上拉优先选择向下拉?
在学习和试验了微控制器之后,我了解了上拉和下拉电阻的概念。我现在了解何时以及如何使用它们,以及它们如何工作。我主要是使用上拉电路,因为我被教过,但是对我来说似乎一直有些倒退,因为关闭开关会将MCU输入设置为LOW。我认为使用下拉电阻会更有意义,以便在开关断开时输入为LOW,但这只是我的想法。
我应该向上还是向下拉单掷输入?什么时候比往上拉优先选择向下拉?
Answers:
答案取决于您希望“默认”配置是什么。例如,假设您有一个下游N沟道MOSFET,并且您希望它默认关闭。然后,如果输入变为高阻抗,则可以使用下拉电阻来确保这种行为。
模拟此电路 –使用CircuitLab创建的原理图
另一方面,假设您有一个上游P沟道MOSFET,并且希望它默认关闭。这次需要一个上拉电阻来产生这种行为。
还有一种替代情况,您希望设备默认开启,在这种情况下,上述两种情况将相反(N沟道MOSFET上拉,P沟道MOSFET下拉)。
其他一些注意事项:
I2C线路指定上拉电阻,因为“预期”器件的漏极开路接地,因此需要某种方式来提高线路电势。
模拟比较器通常配置为漏极开路设备,因此也需要上拉电阻来获得高电位输出。
您可以使用上拉/下拉电阻吸收更多电流,具体取决于连接到输入/输出的电流。
两种配置都可以在您的应用程序中同样出色地工作(即,一种方式或另一种方式都没有明显的优势)。
...以及许多特定于应用程序的原因,因此可能首选一种配置。
如果您的电路设计可以选择-换句话说,电路的其余部分不需要使用上拉或下拉-那么在发生故障的情况下应考虑安全性。
如果您的微控制器发生故障,或仅该输出发生故障,则上拉或下拉将生效。这将如何改变设备的操作?会否使用户面临危险-例如通过强加加热元件?会影响安全性,例如禁用门锁吗?
上拉/下拉电阻确定电线的默认状态。确定默认状态应该取决于安全性,安全性以及最终所需的电路功能。
如果您使用的是Arduino / ATmega328,则可以使用内置的上拉电阻器。
Atmega芯片内置了20K上拉电阻,可通过软件进行访问。通过将pinMode()设置为INPUT_PULLUP可以访问这些内置的上拉电阻。这有效地反转了INPUT模式的行为,其中HIGH表示传感器已关闭,而LOW表示传感器已打开。
该上拉的值取决于所使用的微控制器。在大多数基于AVR的板上,该值保证在20kΩ至50kΩ之间。在Arduino Due上,它介于50kΩ和150kΩ之间。有关确切值,请参考板上微控制器的数据表。
将传感器连接到配置有INPUT_PULLUP的引脚时,另一端应接地。在简单开关的情况下,这会使该引脚在开关断开时读为高电平,而在按下开关时读为低电平。
Raspberry Pi 也有它们。
您通常希望在可编程设备(如微控制器)的输出上拉或下拉(通常是下拉),以在加电序列中定义其状态。这样的输出在上电时通常具有高阻抗,如果不这样做,连接的设备可能会收到意想不到的信号。例如,如果涉及多个电源,则最好将每个部分设计为安全的,输入端为零伏,并使用下拉电阻。
比其他答案更晦涩难懂,但我已经看到一些例子,其中涉及到蓝色烟雾和法律诉讼威胁。