¿Cuál es la temperatura operativa máxima / mínima?

47

Según el título, ¿cuáles son las clasificaciones de temperatura operativa máxima y mínima del Pi antes de que deje de funcionar de manera confiable? ¿Podría esto depender también de la tarjeta SD en uso?

berry120
fuente
1
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-2));cat /sys/class/thermal/thermal_zone0/temp;tput rc;done &mostrará la temperatura de la CPU en la esquina superior derecha de la consola. Para la supervisión.
NVRM
2
El uso de @NVRM watch /opt/vc/bin/vcgencmd measure_temp(genera nuevas medidas por cada dos segundos) suena como una forma más fácil / limpia que su enfoque para el monitoreo de temperatura constante. Pero, podría estar equivocado.
trejder
Bueno, esos son bastante similares, el catenfoque funciona en todos los Linux, mientras que vcgencmdes específico para el pi.
NVRM

Respuestas:

41

De las preguntas frecuentes de RPi :

¿Cuál es el rango de temperatura utilizable?

El Raspberry Pi está construido a partir de chips comerciales que están calificados para diferentes rangos de temperatura; El LAN9512 está especificado por los fabricantes que están calificados de 0 ° C a 70 ° C, mientras que el AP está calificado de -40 ° C a 85 ° C. Es posible que descubra que la placa funcionará fuera de esas temperaturas, pero no estamos calificando la placa en estos extremos.

Jivings
fuente
55
¿Alguien sabe cuál es el "AP", es decir, qué chip / componente?
Darryl Hein
99
Este es el procesador de aplicaciones (Broadcom BCM2835), CPU de la placa.
bayindirh
3
Y es lógico pensar que a medida que el dispositivo se alimenta, el calor producido podría ser un factor. IE: Si se inicia a -40 ° C, puede fallar, pero si se deja en funcionamiento, los componentes deberían estar más calientes que la temperatura ambiente y, por lo tanto, no a - 40) El medio ambiente debe factorizar. -40, aquí vengo, estoy estacionando algo de Pis afuera en Canadá. :)
James T Snell
2
@Doc Funny deberías mencionar eso eh. ;) He estacionado uno al aire libre (dentro de la ropa interior, hermético al aire / agua, pero sin aislamiento) a -20 C durante unas horas, y no noté que la temperatura central real (desde el sensor incorporado) caiga por debajo de + 20 C.
Ricitos de oro
1
¿hay alguna manera de detectar la LAN chiptemperatura, ya que su temperatura muerta es mucho menor que Soc Chip, creo que el /opt/vc/bin/vcgencmd measure_tempcomando solo puede informar la Soc Chiptemperatura, correcto?
Shawn
9

Mi experiencia con Raspberry Pi 3: el SoC comenzará a reducirse a aproximadamente 80 grados Celsius y, en mi experiencia, nunca permitirá que esté más caliente que 85 grados Celsius. Por supuesto, esta es la temperatura central: la temperatura fuera del chip tendrá que ser mucho más baja para facilitar un intercambio de calor eficiente.

Si bien usted (probablemente no tome mi palabra) no puede destruir el SoC al dejarlo sin enfriar, el rendimiento se verá gravemente afectado. (Lo mismo ocurre con la fuente de alimentación, por cierto). En nuestro laboratorio, comenzamos a notar caídas de cuadros y una degradación significativa de la capacidad de procesamiento de video, solo para descubrir que 1) se calentó demasiado sin el disipador de calor 2) el voltaje cayó por debajo de 4.6V debido a cables de alimentación de 5V que eran demasiado largos.

En cualquier tipo de escenario extremo, lo más probable es que su potencia de procesamiento disminuya primero, y otros problemas aparecerán mucho más tarde, si es que alguna vez lo hacen. Esto puede generar una gran pérdida de tiempo al tratar de buscar errores de software ("¿por qué mi programa se ejecuta tan lentamente de repente?!"), Solo para descubrir que los cables son demasiado delgados o que el disipador de calor es demasiado pequeño, así que tenga cuidado !

Con respecto al límite bajo, debe verificar todos los componentes. Recientemente inicié Raspi3 a -12 ° C en frío y la cámara no funcionó (la primera vez en semanas, pero otras veces las temperaturas durante la noche no fueron tan bajas). Después de 15 minutos de espera, lo reinicié y comenzó a funcionar normalmente.

Además, creo que el chip de red / USB en la placa en sí no está clasificado por debajo de 0 C. Si necesita tales extremos, sugiero esperar al Módulo de cómputo 3, que tendrá un rango de -20 a 80C, simplemente por no proporcionar la problemática. chip en absoluto :)

xmp125a
fuente
7

Veo que la pregunta del OP ha sido respondida con autoridad, pero aquí están mis 2 centavos de experiencia:

Con la carcasa básica de plástico transparente sin ventilador y disipadores de calor, el AP ARM funciona a aproximadamente 50 ° C (122 ° F), y mi Pi3 funciona bien. Cuando me quito la parte superior de la carcasa de plástico, la temperatura baja a 47-48.

Entonces, mi conclusión es que el recinto no está causando ningún daño medible a este respecto.

El comando para devolver la temperatura de la CPU en stdout es vcgencmd measure_temp


Veo en comentarios que uhohmencionan que si desea usar la temperatura en un programa Python, el comando os.popen('vgencmd measure_temp').read()devolverá la versión textual del número de temperatura.

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

Esta es la forma en que uso Popen para obtener la temperatura en una variable entera:

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

Lo anterior se toma de este código:

Haga ping a un sitio web y active una salida si está en línea / fuera de línea.

Esta publicación muestra cómo usar fpingde diferentes maneras a pesar de que los resultados aparecen comostderr

También incluye un ejemplo de la cuna a la tumba que hace uso de los datos y los traza en vivo a medida que entran. Muestra Python y gnuplot. No vemos suficientes ejemplos de este sistema completo aquí.

SDsolar
fuente
1
solo asegúrate de que haya un buen movimiento del aire en entornos con temperaturas muy altas para empezar :)
stevieb
Excelente punto La temperatura de mi habitación es de 75 ° F, que está por debajo de los 24 ° C, y la puerta está abierta al exterior, por lo que hay un buen flujo de aire.
SDsolar
1
¡Esto es muy útil! (votaré en 12 horas cuando caduque mi cuota para el día). Parece que también os.popen('vcgencmd measure_temp').read()hace que la temperatura (texto) esté disponible dentro de Python. como lo hacecommands.getstatusoutput('vcgencmd measure_temp')[1]
uhoh
1
TNX para los comandos de Python. Ese enfoque para usar os.popeny .readasí podría ser muy útil. Sin mencionar commands.getstatusoutput ... [1] que tiendo a usar Python con comandos externos mucho, pero no me he encontrado con ninguno de esos. Bien hecho. por cierto, cuantas más preguntas respondas, más puntos obtendrás y las restricciones se levantarán con bastante rapidez. Este SE particular es una multitud difícil, pero definitivamente reconocen valiosas contribuciones a la base de datos.
SDsolar
1
Hoy aproveché al máximo los votos; mientras pasé varias horas buscando algunas cosas que seguía encontrando (lo que sentía que eran) publicaciones útiles con cero votos. No he descubierto qué hace que algunos sitios de SE sean más generosos y otros no tanto.
uhoh
0

Lo siguiente está un poco fuera de la cuestión, pero es un caso de uso general que podría dar algunas ideas.

Esto se puede adaptar a cualquier tipo de entradas, sensores gpio, datos de internet.

¿Cómo graficar la temperatura de la CPU en horas extras?

Instalar gnuplot

Gnuplot puede graficar datos en el terminal, no requiere ningún servidor X y utiliza muy pocos recursos.

Funciona sin problemas incluso en el modelo de frambuesa pi más lento 1 / cero.

sudo apt install gnuplot

Ejemplo de script para construir un gnuplotarchivo:

temperature secuencia de comandos para almacenar los datos en horas extras.

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

Otorgue derechos de ejecución a este script:

chmod +x temperature

Separe y ejecute en bucle 1s hasta el próximo reinicio:

nohup watch ./temperature &

Más tarde, grafica los datos:

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

ingrese la descripción de la imagen aquí

Este es un ejemplo básico, la temperatura en grados Celsius * 1000 y segundos desde el inicio, se extenderán en su propio conjunto de scripts.

Para matar el watchbucle,killall watch

Happy hacking;)

NVRM
fuente