Raspbian如何检测电压不足


16

Pi如何知道其功率不足并显示照明螺栓?

如我们大多数人所知,如果您使用了错误的电源,则会出现雷电,告诉您功率不足。

我注意到用电池为Pi供电时,Pi开始重新启动前的最后15分钟左右,闪电开始出现,并最终停留在该位置,直到重新启动为止。筋疲力尽。

这让我想到我可以使用它来创建一个程序,当它检测到恒定的欠压时关闭Pi。我知道在此之前会更好,但我对此并不担心。

是否有电压命令(例如sudo vcgenmd measure_temp温度)知道电压是多少?如果不是,Pi怎么知道什么时候功率不足?

编辑:这不是重复的,因为另一个问题建议您需要外部硬件。我指出这并非绝对必要。


Answers:


4

某些Pi型号带有板载芯片,可检测低电压。这用于驱动某些Pi型号上的电源LED。

型号A +,B +,Pi2B

红色电源LED连接到GPIO35。您可以监视GPIO,以检查是否存在欠压情况(小于4.65V)。

监控方式

要监视GPIO,您需要读取其值。如果正常(电源状态良好)的值为高(1),则读数为低(0)时将指示欠压。如果欠压条件被清除,GPIO将返回其正常状态。因此,您需要经常读取GPIO以检测瞬态条件。


我将如何监视……GPIO是数字引脚呢?
NULL

@NULL编辑答案。

18

如果您想使用Shell脚本来执行此操作,则可以使用适用于Pi 1、2和3的解决方案(未经零测试)。使用命令:

/opt/vc/bin/vcgencmd get_throttled

如果答案是:

throttled=0x0

您对所提供的电压和SoC温度感到满意。

返回数字上的位表示:

0: under-voltage
1: arm frequency capped
2: currently throttled 
16: under-voltage has occurred
17: arm frequency capped has occurred
18: throttling has occurred

参考: Raspbian Jessie linux 4.4.9严重性能下降

还有更多最新列表https://github.com/raspberrypi/documentation/blob/JamesH65-patch-vcgencmd-vcdbg-docs/raspbian/applications/vcgencmd.md

0: under-voltage
1: arm frequency capped
2: currently throttled
3: Soft Temp limit reached  3
16: under-voltage has occurred
17: arm frequency capped has occurred
18: throttling has occurred
19: Soft Temp limit has occurred

只有欠压和过热是同义词或具有某种已知关系的情况下才是正确的,这样我们可以说如果电压过低0.5 V,则核心温度将...但事实并非如此。
goldilocks

我只是提供了一个例子。返回的值包含在以下情况下设置的几位:1)电源未提供安全输入(这是OP想要的);2)由于高温,ARM频率降低;3)由于温度过高,过电压被关闭。我提供的链接消除了怀疑。
zertyz

1
那为什么不首先写呢?无论如何,欢迎您,但是请阅读我们有关无信息的仅链接答案的政策。尽管答案中的实际信息也没有解决真正的问题,但这还不完全是。这个想法本身就是一个完整的答案。诸如“阅读此链接”之类的内容属于注释。我意识到您没有足够的声誉来发表对此问题的评论,但是如果您花了几分钟时间对此进行了重组,那就太好了……
goldilocks

...请注意,我们不是讨论论坛,在这里,话题的实质是随意来回排序的。如果您要提出问题,而有人要求提供更多信息,请将其编辑为问题,不要只在回复评论中留下。同样,如果您有答案,并且有人要求澄清,则答案中尚未明确定义的所有内容都应编辑为答案,而不仅仅是留在评论线索中。
goldilocks

1
它应该是公认的答案。
Feriman

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.