Qual è la temperatura operativa massima / minima?


47

Secondo il titolo, quali sono i valori massimi e minimi di temperatura operativa del Pi prima che smetta di funzionare in modo affidabile? Questo potrebbe dipendere anche dalla scheda SD in uso?


1
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-2));cat /sys/class/thermal/thermal_zone0/temp;tput rc;done &visualizzerà la temperatura della CPU nell'angolo in alto a destra della console. Per il monitoraggio.
NVRM,

2
L' uso di @NVRM watch /opt/vc/bin/vcgencmd measure_temp(genera una nuova misura ogni due secondi) sembra un modo più semplice / più pulito del tuo approccio al monitoraggio costante della temperatura. Ma potrei sbagliarmi.
trejder

Bene, quelli sono abbastanza simili, l' catapproccio funziona su tutti i Linux, mentre vcgencmdè specifico per il pi.
NVRM

Risposte:


41

Dalle domande frequenti su RPi :

Qual è l'intervallo di temperatura utilizzabile?

Il Raspberry Pi è costruito con chip commerciali qualificati per diversi intervalli di temperatura; la LAN9512 è specificata dai produttori qualificati da 0 ° C a 70 ° C, mentre l'AP è qualificato da -40 ° C a 85 ° C. Potresti scoprire che la scheda funzionerà al di fuori di quelle temperature, ma non stiamo qualificando la scheda stessa a questi estremi.


5
Qualcuno sa cos'è l '"AP", ovvero quale chip / componente?
Darryl Hein,

9
Questo è il processore dell'applicazione (Broadcom BCM2835), CPU della scheda.
Bayindirh,

3
Ed è ovvio che, dato che il dispositivo è alimentato, il calore prodotto potrebbe influire. IE: L'avvio a -40 ° C potrebbe non riuscire, ma se è rimasto in funzione, i componenti dovrebbero essere più caldi dell'ambiente e quindi non - 40. L'ambiente dovrebbe tener conto. -40, eccomi, sto parcheggiando qualche Pis fuori in Canada. :)
James T Snell,

2
@Doc Divertente dovresti menzionarlo eh. ;) Ne ho parcheggiato uno all'aperto (a tenuta stagna, a tenuta d'aria / acqua, ma senza isolamento) a -20 ° C per alcune ore e non ho notato che la temperatura effettiva del nucleo (dal sensore integrato) è scesa sotto + 20 C.
Riccioli d'oro

1
c'è un modo per rilevare la LAN chiptemperatura, dal momento che la sua temperatura morta è molto più bassa di Soc Chip, credo che il /opt/vc/bin/vcgencmd measure_tempcomando possa solo riportare la Soc Chiptemperatura, giusto?
Shawn


9

La mia esperienza con Raspberry Pi 3: il SoC inizierà a rallentare a circa 80 gradi Celsius e, nella mia esperienza, non si permetterà mai di essere più caldo di 85 gradi Celsius. Questa è ovviamente la temperatura interna: la temperatura esterna al chip dovrà essere molto più bassa per facilitare uno scambio di calore efficiente.

Mentre tu (probabilmente, non credermi sulla parola) non puoi distruggere il SoC lasciandolo non raffreddato, le prestazioni ne risentiranno gravemente. (Lo stesso vale per l'alimentatore, BTW). Nel nostro laboratorio, abbiamo iniziato a notare cadute di frame e un significativo degrado della capacità di elaborazione video, solo per scoprire che 1) faceva troppo caldo senza il dissipatore di calore 2) la tensione è scesa al di sotto di 4.6 V a causa di fili di alimentazione a 5 V che erano troppo lunghi.

In qualsiasi tipo di scenario estremo, è molto probabile che la tua potenza di elaborazione diminuisca prima, e altri problemi appariranno molto più tardi, se mai. Ciò può portare a enormi perdite di tempo quando si tenta di cercare i bug del software ("perché il mio programma improvvisamente funziona così lentamente?!?"), Solo per scoprire che i cavi sono troppo sottili o il dissipatore di calore è troppo piccolo, quindi attenzione !

Per quanto riguarda il limite inferiore, è necessario controllare tutti i componenti. Di recente ho avviato Raspi3 a -12 ° C freddo e la fotocamera non ha funzionato (la prima volta in settimane, ma altre volte le temperature notturne non erano così basse). Dopo 15 minuti di attesa l'ho riavviato e ha iniziato a funzionare normalmente.

Inoltre, penso che il chip di rete / USB sulla scheda stessa non sia classificato sotto 0 C. Se hai bisogno di tali estremi, ti suggerisco di aspettare il modulo di calcolo 3, che avrà un intervallo da -20 a 80C, semplicemente non fornendo il problema chip a tutti :)


7

Vedo che alla domanda del PO è stata data una risposta autorevole, ma ecco i miei 2 centesimi di esperienza:

Con l'involucro di base in plastica trasparente senza ventola e i dissipatori di calore, ARM AP funziona a circa 50 ° C (122 ° F) e il mio Pi3 funziona perfettamente. Quando tolgo la parte superiore del guscio di plastica, la temperatura scende a 47-48.

Quindi la mia conclusione è che il recinto non sta causando alcun danno misurabile in questo senso.

Il comando per restituire la temperatura della CPU in stdout è vcgencmd measure_temp


Vedo nei commenti che uhohmenziona che se si desidera utilizzare la temperatura in un programma Python, il comando os.popen('vgencmd measure_temp').read()restituirà la versione testuale del numero di temperatura.

-------------------------------------------------- ----

Ecco il modo in cui uso Popen per ottenere la temperatura in una variabile intera:

from subprocess import Popen, PIPE
.
.
.
cmd = 'vgencmd measure_temp'
p = Popen(cmd,stdout=PIPE, stderr=PIPE, shell=True)
stdout, stderr = p.communicate()

CPUtemp = int(stdout)
.
.
etc

Quanto sopra è tratto da questo codice:

Effettua il ping di un sito Web e attiva un output se online / offline?

Questo post mostra come utilizzare fpingin diversi modi anche se i risultati arrivano comestderr

Include anche un esempio dalla culla alla tomba che fa uso dei dati e li traccia in diretta non appena arrivano. Mostra Python e gnuplot. Non vediamo abbastanza di questi esempi di sistema completo qui.


1
assicurati solo che ci sia un buon movimento dell'aria in ambienti con temperature molto alte, per cominciare :)
stevieb,

Punto eccellente. La mia temperatura della stanza è di 75 ° F, che è appena sotto i 24 ° C, e la porta è aperta verso l'esterno, quindi c'è un buon flusso d'aria.
SDsolar

1
Questo è molto utile! (voterà entro 12 ore alla scadenza della mia quota per il giorno). Sembra che os.popen('vcgencmd measure_temp').read()renda la temperatura (testo) disponibile anche in Python. come facommands.getstatusoutput('vcgencmd measure_temp')[1]
uhoh

1
TNX per i comandi Python. Questo approccio all'uso os.popene .readsimili potrebbe tornare molto utile. Per non parlare commands.getstatusoutput ... [1] che tendo ad usare Python con comandi esterni molto, ma non mi sono imbattuto in nessuno dei due. Molto bene. tra l'altro, più domande risponderai, più punti otterrai e le restrizioni verranno revocate abbastanza rapidamente. Questa particolare SE è una folla difficile, ma sicuramente riconoscono preziosi contributi al database.
SDsolar

1
Ho raggiunto il massimo dei voti oggi; mentre passavo diverse ore a cercare alcune cose che continuavo a imbattersi in (ciò che sentivo di essere) messaggi utili con zero voti. Non ho capito cosa rende alcuni siti di SE più generosi e altri meno.
uho,

0

Quello che segue è un po 'al di fuori della domanda, ma un caso d'uso generale che potrebbe dare alcune idee.

Questo può essere adattato a qualsiasi tipo di input, sensori gpio, dati internet.

Come rappresentare graficamente gli straordinari di temperatura della CPU?

Installa gnuplot

Gnuplot è in grado di rappresentare graficamente i dati nel terminale, non richiede alcun server X e utilizza risorse minime.

Funziona senza problemi anche sul modello 1 / zero del lampone più lento.

sudo apt install gnuplot

Esempio di script per creare un gnuplotfile:

temperature script per memorizzare i dati straordinari.

#!/bin/sh
echo $(date +%s ; cat /sys/class/thermal/thermal_zone0/temp) | tee >> temperature.plot

Concedi i diritti di esecuzione a questo script:

chmod +x temperature

Stacca ed esegui in loop 1s fino al prossimo riavvio:

nohup watch ./temperature &

Successivamente, traccia i grafici dei dati:

gnuplot -e "set terminal dumb $(tput cols) $(tput lines);plot 'temperature.plot' using 0:2 with lines"

inserisci qui la descrizione dell'immagine

Questo è un esempio barebone, temperatura in gradi Celsius * 1000 e secondi dall'inizio, da estendere nella propria suite di script.

Per uccidere il watchloop,killall watch

Happy hacking;)

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.