使用 SPST 开关作为数字输入?

电器工程 数字逻辑 开关
2022-02-02 22:29:45

我是“电气工程”的新手,我正在做一个小小的 arduino 项目。我想让一个 SPST 开关用作板上的数字输入。

我有一个开关引线连接到正极,另一个连接到数字输入。这样做的问题是,当关闭它时,我无法确定输入是否接地。开关关闭时如何确保输入接地?

如果我将数字输入连接到一个接地的电阻器会起作用吗

3个回答

最传统的解决方案是将开关的一侧接地。将另一个连接到数字输入,还连接到一个 1 到 10 K 欧姆之间的电阻器,该电阻器连接到正电源。

换一种方式,使用 Bruno 描述的下拉电阻器是可能的,但不太优选。许多输入已经具有一定程度的隐式上拉,如果未连接,将读取“1”,尽管不太可靠。但是,如果您的开关已经连接到正轨,那么下拉是一个不错的解决方案,尽管许多人在将逻辑输入连接到正轨时更喜欢使用小电阻。

许多微控制器还在 GPIO 引脚上具有内部上拉和/或下拉电阻,可以通过写入配置寄存器来启用。如果您正在驱动此类微控制器的输入,则可能根本不需要外部上拉/下拉电阻,尽管并非每个微控制器都具有这些。

是的,它会像你描述的那样工作。这被称为下拉电阻,因为它确保当触点打开时,数字输入处于逻辑状态 0(低)。通常,您可以为此使用 10 KΩ 电阻器。

这将起作用,并且会给你正逻辑:当开关闭合时为高电平(逻辑“1”)。

但就像克里斯说的那样,倒置的事情更常见:开关接地,电源上拉(而不是下拉)电阻。您的逻辑将被反转:逻辑“1”将对应于打开的开关。

上拉版本的一个很好的理由是大多数微控制器都集成了它们,您可以根据需要启用/禁用它们。一些微控制器也有可配置的下拉,但这些不太常见。

如果您想要一个外部上拉电阻,10 kΩ 可能是一个不错的值。微控制器的输入可以有高达 1 µA 的泄漏电流,然后 10 kΩ 将下降 10 mV 可忽略不计。较低的值当然是可能的,但请记住,当开关闭合时,它们将具有较大的接地电流。一个 1 kΩ 的电阻器在 5 V 电源下会消耗 5 mA 电流,这确实是一种功率浪费。对于 10 kΩ,只有 500 µA。对于非常低功率的应用,您可以将值增加到 100 kΩ,但请记住泄漏电流;1 µA 将产生 100 mV 压降!