如何通过GPIO检测两点之间是否存在电压?


9

我想检测外部设备是打开还是关闭。在第一种情况下,我发现两个引脚之间应有5V的电压,但电压可能会有所不同,因此我不会破坏Pi。如何将这些点连接到GPIO引脚以检测是否存在电压?还是要问更一般:

我如何使用Raspberry Pi来测试电池是否没电(无电压或少电压)(标称电压)?

如果无法进行模拟测量,那么至少可以在电压高于某个阈值时进行测量吗?这将产生数字信号,但是如何生成数字信号以及使用哪个GPIO引脚呢?

Answers:



3

您想寻找或构建具有适当特性的比较器。在您的情况下,您要检查电压是否超过3V3并输出3V3。确保您的比较器可以承受5V电压。


比较器:-)不错的解决方案。从未使用其中之一。将牢记在心。+1
Piotr Kula 2012年

1

附加卡很酷,但是您可以使用便宜而简单的稳压器。

根据型号的不同,电压调节器期望输入的电压可以满足其设计要求,并且可以在输出引脚上输出所需的电压。在您的情况下,您想感应5伏特但要读取3伏特,这对于Pi来说是安全的。

您可以在eBay上找到足够的耗材,但是这里有一个指向示例的Sparkfun链接

如果外部设备提供的电流高达10vDC,则输出引脚提供3V(高数字引脚),您可以在python中使用GPIO或任何您想要的内容来安全地读取它。

如果环顾四周,您会发现它们便宜多了。您只需要确保连接到树莓派的输出不超过3.3伏即可。您可以在输出端放置一个电阻器以稍微降低电压..但调节器的设计输出精度为99.9%。

Raspberry Pi使用NCP1117 3.3V电压来驱动3V3电源总线,该电源从5V0总线获得电源,该5V0总线来自USB电源。

稳压器用于为其他设备供电。在这种情况下,我只是利用想象力来使用便宜的解决方案,然后反过来使用了它。

因为一天结束了,我们只需要将电压作为数字信号进行感应即可。使用什么来生成它并不重要。它可能是3.3v电池,3.3v直流电源,来自Arduino的缓冲数字输出,另一个Raspberry,信号发生器,555计时器或简单的稳压器。重要的是实施和目标。

  • 一天结束 ...
  • 3.3v = 1
  • 0v = 0

参考文献:

GPIO上的最大电压

GPIO上的最大电流


反对的理由将是非常有建设性的。也许这个答案是非常规的-但是如果它有很多缺陷,请告诉我。
Piotr Kula 2012年

2
有趣的想法,可以在我的项目中使用它(测试12V导轨是否处于活动状态)
mglauche 2014年

只要确保在数字引脚上放置一个下拉电阻或上拉电阻即可。这是一个非常古老的答案..我的第一个。但是意识形态是相同的。
Piotr Kula 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.