Qual é a temperatura operacional máxima / mínima?

47

De acordo com o título, quais são as classificações de temperatura operacional máxima e mínima do Pi antes que ele pare de funcionar com segurança? Isso também pode depender do cartão SD em uso?

berry120
fonte
1
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-2));cat /sys/class/thermal/thermal_zone0/temp;tput rc;done &exibirá a temperatura da CPU no canto superior direito do console. Para monitorar.
NVRM 30/09
2
O uso do @NVRM watch /opt/vc/bin/vcgencmd measure_temp(gera nova medida a cada dois segundos) parece uma maneira mais fácil / limpa do que sua abordagem ao monitoramento de temperatura constante. Mas eu posso estar errado.
trejder
Bem, esses são bastante semelhantes, a catabordagem funciona em todo o Linux, enquanto vcgencmdé específica para o pi.
NVRM

Respostas:

41

Nas perguntas frequentes da RPi :

Qual é a faixa de temperatura utilizável?

O Raspberry Pi é construído a partir de chips comerciais qualificados para diferentes faixas de temperatura; o LAN9512 é especificado pelos fabricantes qualificados de 0 ° C a 70 ° C, enquanto o AP é qualificado de -40 ° C a 85 ° C. Você pode achar que a placa funcionará fora dessas temperaturas, mas não estamos qualificando a placa a esses extremos.

Jivings
fonte
5
Alguém sabe o que é o "AP", ou seja, qual chip / componente?
Darryl Hein
9
Este é o processador de aplicativos (Broadcom BCM2835), CPU da placa.
bayindirh
3
E é lógico que, à medida que o dispositivo é energizado, o calor produzido pode ser fator. IE: Iniciar a -40 ° C pode falhar, mas se for deixado em funcionamento, os componentes deverão estar mais quentes que o ambiente e, portanto, não - 40 O ambiente deve levar em consideração. -40, aqui vou eu, estou estacionando alguns Pis lá fora no Canadá. :)
James T Snell
2
@ Doc Engraçado, você deve mencionar que eh. ;) Estacionei um ao ar livre (dentro de roupas de inverno, impermeável ao ar / água, mas sem isolamento) a -20 C por algumas horas e não notei que a temperatura real do núcleo (do sensor embutido) caiu abaixo de + 20 C.
goldilocks
1
existe alguma maneira de detectar a LAN chiptemperatura, uma vez que a temperatura morta é muito menor do que Soc Chip, acredito que o /opt/vc/bin/vcgencmd measure_tempcomando só pode relatar Soc Chiptemperatura, correto?
Shawn
9

Minha experiência com o Raspberry Pi 3: o SoC começará a acelerar a aproximadamente 80 graus Celsius e, na minha experiência, nunca permitirá que seja mais quente que 85 graus Celsius. Essa é obviamente a temperatura central - a temperatura fora do chip deverá ser muito menor para facilitar a troca de calor eficiente.

Enquanto você (provavelmente, não acredite na minha palavra), não pode destruir o SoC deixando-o sem refrigeração, o desempenho será severamente afetado. (O mesmo vale para a fonte de alimentação, BTW). Em nosso laboratório, começamos a perceber quedas de quadros e degradação significativa da capacidade de processamento de vídeo, apenas para descobrir que 1) ficou muito quente sem o dissipador de calor 2) a tensão caiu abaixo de 4,6V devido a fios de alimentação de 5V muito longos.

Em qualquer tipo de cenário extremo, é mais provável que o seu poder de processamento diminua primeiro e outros problemas apareçam muito mais tarde, se for o caso. Isso pode levar a uma enorme perda de tempo ao tentar caçar bugs de software ("por que meu programa está subitamente rodando tão devagar?!?"), Apenas para descobrir que os fios são muito finos ou o dissipador de calor é muito pequeno, portanto, tenha cuidado !

Em relação ao limite inferior, você deve verificar todos os componentes. Inicializei recentemente o Raspi3 a -12 ° C e a câmera não funcionou (primeira vez em semanas, mas outras vezes as temperaturas durante a noite não eram tão baixas). Após 15 minutos de espera, reiniciei e ele começou a funcionar normalmente.

Além disso, acho que o chip de rede / USB na própria placa não possui classificação abaixo de 0 C. Se você precisar de tais extremos, sugiro aguardar o Módulo de computação 3, que terá um intervalo de -20 a 80 ° C, simplesmente por não fornecer o problema. chip em tudo :)

xmp125a
fonte
7

Vejo que a pergunta do OP foi respondida com autoridade, mas aqui estão meus 2 centavos de experiência:

Com o gabinete básico sem ventilador de plástico transparente e os dissipadores de calor, o ARM AP funciona a cerca de 50C (122F), e meu Pi3 funciona bem. Quando tiro a parte superior do invólucro de plástico, a temperatura cai para 47-48.

Portanto, minha conclusão é que o gabinete não está causando nenhum dano mensurável a esse respeito.

O comando para retornar a temperatura da CPU no stdout é vcgencmd measure_temp


Vejo nos comentários que uhohmenciona que, se você quiser usar a temperatura em um programa Python, o comando os.popen('vgencmd measure_temp').read()retornará a versão textual do número da temperatura.

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

Aqui está a maneira como eu uso o Popen para obter a temperatura em uma variável inteira:

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

O acima é retirado deste código:

Efetue ping em um site e ative a saída se estiver online / offline?

Este post mostra como usar de fpingalgumas maneiras diferentes, mesmo que os resultados apareçam comostderr

Também inclui um exemplo do berço ao túmulo, que utiliza os dados e os plots em que vivem ao entrar. Mostra Python e gnuplot. Não vemos o suficiente desses exemplos de sistema inteiro aqui.

SDsolar
fonte
1
Apenas certifique-se há uma boa circulação do ar em ambientes com muito altas temps para começar :)
stevieb
Ponto excelente. Minha temperatura ambiente é de 75F, que fica abaixo de 24 ° C, e a porta está aberta para o exterior, para que haja um bom fluxo de ar.
SDsolar 16/09/16
1
Isso é muito útil! (votará em 12 horas quando minha cota para o dia expirar). Parece que também os.popen('vcgencmd measure_temp').read()disponibiliza a temperatura (texto) no Python. como fazcommands.getstatusoutput('vcgencmd measure_temp')[1]
uhoh
1
TNX para os comandos do Python. Essa abordagem de usar os.popene .readassim poderia ser muito útil. Sem mencionar que commands.getstatusoutput ... [1] eu costumo usar o Python com comandos externos muito, mas não encontrei nenhum deles. Bem feito. Aliás, quanto mais perguntas você responder, mais pontos obterá e as restrições serão levantadas rapidamente. Esse SE em particular é uma multidão difícil, mas eles definitivamente reconhecem contribuições valiosas para o banco de dados.
SDsolar
1
Hoje cheguei ao máximo de votos; enquanto eu passava várias horas procurando por algumas coisas que eu continuava correndo (o que eu achava ser) postagens úteis com zero votos. Ainda não descobri o que torna alguns sites SE mais generosos e outros nem tanto.
uhoh
0

A seguir, um pouco fora da questão, mas um caso de uso geral que pode dar algumas idéias.

Isso pode ser adaptado a qualquer tipo de entrada, sensores gpio, dados da internet.

Como representar graficamente as horas extras da temperatura da CPU?

Instale o gnuplot

O Gnuplot pode representar graficamente dados no terminal, não requer nenhum servidor X e usa poucos recursos.

Funciona sem problemas, mesmo no modelo 1 / zero do raspberry pi mais lento.

sudo apt install gnuplot

Exemplo de script para criar um gnuplotarquivo:

temperature script para armazenar os dados horas extras.

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

Conceda direitos de execução a este script:

chmod +x temperature

Desconecte e execute o loop 1s até a próxima reinicialização:

nohup watch ./temperature &

Posteriormente, faça um gráfico dos dados:

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

insira a descrição da imagem aqui

Este é um exemplo básico, a temperatura em Celsius * 1000 e segundos desde o início, a ser estendida em seu próprio conjunto de scripts.

Para matar o watchloop,killall watch

Feliz hacking;)

NVRM
fonte