Как Распбиан обнаруживает под напряжением

16

Откуда Пи знает, что он недостаточно силен и показывает световой заряд?

Как многие из нас знают, если вы используете плохой источник питания, вы получаете молнию, сообщающую о том, что вы недостаточно сильны.

Я заметил, что когда я запускаю свой Pi от батареи, последние 15 минут или около того, прежде чем Pi начинает перезагружаться, начинает появляться разряд молнии и в конечном итоге остается там до перезагрузки, что имеет смысл, потому что напряжение моей батареи падает как есть сливают.

Это заставило меня задуматься, что я могу использовать это для создания программы, которая отключает Pi, когда он обнаруживает постоянное пониженное напряжение. Я знаю, что до того, как это произошло, было бы еще лучше, но меня это не беспокоило.

Есть ли команда для напряжения, например, sudo vcgenmd measure_tempдля температуры, чтобы узнать, что это за напряжение? Если нет, то как Пи узнает, когда его недостаточно?

РЕДАКТИРОВАТЬ : Это не дубликат, потому что другой вопрос предполагает, что вам нужно внешнее оборудование. Я подчеркиваю, что это не является строго необходимым.

ЗНАЧЕНИЕ NULL
источник

Ответы:

4

Некоторые модели Pi имеют встроенный чип, который обнаруживает низкое напряжение. Это используется для управления индикатором питания на некоторых моделях Pi.

Модели A +, B +, Pi2B

Красный светодиод питания подключен к GPIO 35. Вы можете контролировать GPIO, чтобы проверить наличие пониженного напряжения (менее 4,65 В).

Мониторинг

Для мониторинга GPIO вам необходимо прочитать его значение. Если нормальное (хорошее состояние питания) значение высокое (1), то пониженное напряжение будет указано, когда оно будет считаться низким (0). GPIO вернется в свое нормальное состояние, если условие пониженного напряжения будет сброшено. Поэтому вам нужно будет часто читать GPIO для обнаружения переходных процессов.

Джоан
источник
Как бы я следил за этим, хотя ... GPIO - это правильный цифровой вывод?
NULL
@NULL отредактированный ответ.
Joan
18

Если вы хотите сделать это с помощью сценария оболочки, вот решение, которое работает на 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
zertyz
источник
Это верно только в том случае, если пониженное напряжение и перегрев являются синонимами или имеют какое-то известное соотношение, так что мы можем сказать, что если напряжение слишком низкое на 0,5 В, температура ядра будет ... но это не так.
Златовласка
Я только что привел пример. Возвращаемое значение содержит несколько битов, которые устанавливаются, если: 1) подача не обеспечивает безопасный ввод (чего хочет ОП); 2) частота ARM была снижена из-за высоких температур; 3) Перенапряжение было отключено из-за очень высоких температур. Ссылка, которую я предоставил, исключает сомнения.
Зертиз
1
Тогда почему бы не написать это в первую очередь? В любом случае, добро пожаловать, но, пожалуйста, ознакомьтесь с нашей политикой в ​​отношении ответов без информации . Это не совсем так, хотя фактическая информация в ответе также не касается реального вопроса. Идея ответа полна сама по себе; Такие вещи, как «читать эту ссылку», принадлежат в комментариях. Я понимаю, что у вас недостаточно репутации, чтобы оставлять комментарии по этому вопросу, но было бы неплохо, если бы вы потратили несколько минут на реструктуризацию этого ...
Златовласка
... Обратите внимание, что мы не являемся дискуссионным форумом, в соответствии с которым мясо темы записывается в случайных постах с возвратом назад и вперед. Если вы задаете вопрос, а кто-то просит дополнительную информацию, отредактируйте его в вопросе , а не просто оставьте его в ответном комментарии. Аналогичным образом, если у вас есть ответ, и кто-то просит разъяснений, все, что еще не было явно указано в ответе, следует отредактировать в ответе, а не просто оставить в комментариях.
Златовласка
1
Это должен быть принятый ответ.
Фериман
1

Далее объясняется, как работает схема питания современного Pi (с 40-контактным разъемом). Raspberry Pi Ограничения мощности .

Молния контролируется ядром, и у AFAIK нет простого способа получить к нему доступ.

Состояние питания может быть обнаружено легче. Это доступно напрямую через систему в B + Pi2 /sys/class/leds/led1и доступно через программу на Pi3 https://raspberrypi.stackexchange.com/a/60275/8697

Milliways
источник