Come Raspbian rileva in tensione


16

Come fa il Pi a sapere che è sottodimensionato e mostra il fulmine?

Come molti di noi sanno, se si utilizza un cattivo alimentatore si ottiene il fulmine che ti dice che sei sottodimensionato.

Ho notato che quando eseguo il mio Pi con la batteria, negli ultimi 15 minuti circa prima che il Pi inizi a riavviarsi, il fulmine inizia a comparire e alla fine rimane lì fino al riavvio, il che ha senso perché la tensione della mia batteria sta diminuendo così com'è drenato.

Questo mi ha fatto pensare che potrei usarlo per creare un programma che spenga il Pi quando rileva una sottotensione costante. So che prima che questo accadesse sarebbe ancora meglio, ma non me ne preoccupo.

Esiste un comando per la tensione come sudo vcgenmd measure_tempper la temperatura per sapere qual è la tensione? In caso contrario, come fa il Pi a sapere quando è sottodimensionato?

EDIT : Questo non è un duplicato perché l'altra domanda suggerisce che hai bisogno di hardware esterno. Sto sottolineando che questo non è strettamente necessario.


Risposte:


4

Alcuni modelli Pi hanno un chip integrato che rileva una bassa tensione. Questo è usato per pilotare il LED di alimentazione su alcuni modelli Pi.

Modelli A +, B +, Pi2B

Il LED di alimentazione rosso è collegato a GPIO 35. È possibile monitorare GPIO per verificare una condizione di sottotensione (inferiore a 4,65 V).

Monitoraggio

Per monitorare il GPIO dovresti leggere il suo valore. Se il valore normale (buono stato di alimentazione) è alto (1), verrà indicata la sottotensione quando si legge basso (0). Il GPIO tornerà al suo stato normale se la condizione di sottotensione viene cancellata. Pertanto è necessario leggere GPIO frequentemente per rilevare condizioni transitorie.


Come lo monitorerei però ... GPIO è un pin digitale giusto?
NULL

@NULL risposta modificata.
joan

18

Se vuoi farlo con uno script di shell, ecco una soluzione che funziona su Pi 1, 2 e 3 (non testato a zero). Con il comando:

/opt/vc/bin/vcgencmd get_throttled

Se la risposta è:

throttled=0x0

Stai bene con la tensione fornita e la temperatura del SoC.

I bit sul numero restituito significano:

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

Riferimento: Raspbian Jessie linux 4.4.9 Grave degrado delle prestazioni .

C'è un elenco più aggiornato 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

Questo è vero solo se sottotensione e surriscaldamento sono sinonimi o hanno qualche tipo di relazione nota tale da poter dire se la tensione è troppo bassa di 0,5 V, la temperatura del nucleo sarà ... ma non è così.
Riccioli d'oro

Ho appena fornito un esempio. Il valore restituito contiene diversi bit impostati se: 1) l'alimentazione non fornisce un input sicuro (che è ciò che l'OP vuole); 2) La frequenza ARM è stata ridotta a causa delle alte temperature; 3) La sovratensione è stata disattivata a causa di temperature molto elevate. Il link che ho fornito respinge il dubbio.
zertyz,

1
Allora perché non scriverlo in primo luogo? Ad ogni modo, benvenuto - ma ti preghiamo di leggere la nostra politica relativa alle risposte di solo collegamento senza informazioni . Questo non è del tutto vero, anche se le informazioni effettive in risposta non affrontano nemmeno la vera domanda. L'idea è che una risposta è completa in sé; cose come "leggi questo link" appartengono ai commenti. Mi rendo conto che non hai abbastanza reputazione per pubblicare commenti sulla domanda, ma sarebbe bello se tu passassi qualche minuto a ristrutturare questo ...
Goldilocks

... Nota che non siamo un forum di discussione, in cui la carne di un thread è in post casuali ordinate tempo avanti e indietro. Se stai ponendo una domanda e qualcuno chiede maggiori informazioni, modificalo nella domanda , non lasciarlo solo in un commento di risposta. Allo stesso modo, se hai una risposta e qualcuno chiede chiarimenti, tutto ciò che non è già esplicitamente presente nella risposta dovrebbe essere modificato nella risposta e non lasciare semplicemente nella traccia dei commenti.
riccioli d'oro

1
Dovrebbe essere la risposta accettata.
Feriman,

1

Di seguito viene spiegato come funzionano i circuiti di potenza del moderno Pi (con intestazione a 40 pin) Limitazioni di potenza di Raspberry Pi .

Il fulmine è controllato dal kernel e AFAIK non esiste un modo semplice per accedervi.

Lo stato di alimentazione può essere rilevato più facilmente. Questo è direttamente disponibile tramite il sistema in B + Pi2 /sys/class/leds/led1e accessibile tramite un programma su Pi3 https://raspberrypi.stackexchange.com/a/60275/8697

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.