Як Raspbian виявляє під напругою


16

Звідки Пі знає, що його не вистачає і показувати освітлювальний болт?

Як більшість із нас знає, якщо ви користуєтесь поганим джерелом живлення, ви отримуєте блискавку, яка говорить про те, що ви невдалі.

Я помітив, що коли я запускаю Pi на акумуляторі, за останні 15 хвилин або більше, перш ніж Pi почне перезавантажуватися, блискавка починає з’являтися, і в підсумку залишається там до перезавантаження, що має сенс, оскільки напруга мого акумулятора падає, як це було осушено.

Це змусило мене подумати, що я можу використовувати це для створення програми, яка вимикає Pi, коли він виявляє постійну недонапругу. Я знаю, що раніше це сталося б ще краще, але мене це не хвилює.

Чи є команда для напруги, як sudo vcgenmd measure_tempдля температури, щоб знати, що таке напруга? Якщо ні, то як пі-пі знає, коли воно не працює?

EDIT : Це не дублікат, тому що інше запитання передбачає необхідність зовнішнього обладнання. Я вказую, що це не обов'язково.


Відповіді:


4

Деякі моделі Pi мають вбудований чіп, який виявляє низьку напругу. Це використовується для керування світлодіодним джерелом живлення на деяких моделях Pi.

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

Червоний світлодіод живлення підключений до GPIO 35. Ви можете відстежувати GPIO, щоб перевірити стан під напругою (менше 4,65 В).

Моніторинг

Для моніторингу GPIO вам слід прочитати його значення. Якщо нормальне значення (хороший стан потужності) велике (1), то низьке напруга буде вказано, коли воно зчитується низьким (0). GPIO повернеться до свого нормального стану, якщо буде знято стан низької напруги. Тому вам потрібно буде часто читати GPIO, щоб виявити перехідні умови.


Як я можу це моніторити ... GPIO - це цифровий контактний прав?
НУЛЬ

@NULL відредагована відповідь.
Жанна

19

Якщо ви хочете зробити це зі скриптом оболонки, ось рішення, яке працює на 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 В, основна температура буде ..., але це не так.
золотинки

Я просто наводив приклад. Повернене значення містить декілька біт, які встановлюються, якщо: 1) подача не забезпечує безпечний вхід (чого хоче ОП); 2) частота АРМ була знижена за рахунок високих температур; 3) Перенапруга було вимкнено через високу температуру. Посилання, яке я надав, відкидає сумніви.
zertyz

1
Тоді чому б не написати це в першу чергу? У всякому разі, ласкаво просимо - але , будь ласка , прочитайте нашу нашу політику в відношенні informationless посилань тільки відповідей . Це не зовсім так, хоча реальна інформація у відповіді також не стосується реального питання. Ідея - відповідь повна сама по собі; такі речі, як "прочитати це посилання", належать до коментарів. Я усвідомлюю, що у вас недостатньо репутації, щоб розміщувати коментарі до цього питання, але було б добре, якби ви витратили кілька хвилин на її реструктуризацію ...
goldilocks

... Зауважте, ми не є дискусійним форумом, коли м'ясо нитки знаходиться у випадкових упорядкованих публікаціях. Якщо ви ставите запитання, а хтось запитує більше інформації, відредагуйте його , а не залишайте його у коментарі у відповіді. Так само, якщо у вас є відповідь, і хтось запитує роз'яснення, все, що вже не було явно у відповіді, має бути відредаговано у відповідь, а не просто залишити в слід коментарів.
золотинки

1
Це має бути прийнята відповідь.
Феріман

1

Далі пояснюється, як працює схема живлення сучасного Pi (з 40-контактним заголовком), обмеження потужності Raspberry Pi .

Блискавка управляється ядром, і в AFAIK немає простого способу отримати доступ до нього.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.