terça-feira, 9 de maio de 2017

Temperatura do Raspberry Pi 3 B. Preciso de um cooler ou dissipador? Jogando ar para dentro ou para fora?

raspberry pi 3 aquecimento
Imagem ilustrativa :)

Desde o primeiro Raspberry Pi vemos a utilização de acessórios para minimizar o aquecimento da placa.

Como já disse anteriormente, geralmente não havia a necessidade de dissipadores/coolers, a não ser que fossem fazer um overclock expressivo, colocar a placa em condições de alta temperatura externa ou algum outro motivo como aumentar sua vida útil.

Isso era válido até o Raspberry Pi 2 Modelo B. Com a chegada da versão 3B, posts e relatos pipocando de todos os lados em relação ao seu aquecimento apareceram. De todo modo, a resposta para a necessidade de refrigerar sua placa pode não ser tão simples.

 

O Raspberry Pi 3 Modelo B aquece mais?


A resposta curta para essa pergunta é: sim. Muito mais? A resposta é: depende.

Depende da aplicação e se você estiver exigindo muito do processador e GPU.

O Raspberry Pi 3 Modelo B não só trouxe uma CPU com clocks maiores que o Raspberry Pi 2 como também incrementou a frequência do core_freq, gpu_core e sdram_freq. Isso tudo ocasiona em um maior aquecimento, embora grande parte dele pareça ser mais do ARM do que das outras partes.

Vejam a diferença de clocks padrão:

arm_freq: 900Mhz no 2B contra 1200Mhz no 3B
core_freq: 250Mhz no 2B contra 400Mhz no 3B
gpu_freq: 250Mhz no 2B contra 400Mhz no 3B (embora h264_freq, isp_freq e v3d_freq permaneçam em 300Mhz)
sdram_freq: 400Mhz no 2B contra 450Mhz no 3B


A que temperaturas meu Raspberry Pi 3B pode chegar?


Consumindo o processamento total dos 4 núcleos do processador as temperaturas podem passar facilmente dos 80 graus. É claro que isso irá depender também da temperatura ambiente e algumas diferenças entre um chip e outro. Lembrando que aqui nem estou considerando a utilização massiva da GPU, o que iria piorar mais a situação.

Vejo pessoas dizendo que seu Raspberry Pi 3 não aquece. Em repouso ou pouca carga não irá mesmo. Vocês podem fazer um teste agora mesmo na CPU com a seguinte linha de comando abaixo:

# sysbench --test=cpu --max-requests=100000000 --num-threads=4 run

Se não tiver instalado:

# apt-get install sysbench

E vá monitorando a temperatura com:

# vcgencmd measure_temp

Lembrando que se você estiver tendo problemas com fonte (com aviso) o clock irá diminuir e a temperatura não vai chegar nessa mesmo.


Então isso é um problema para se preocupar?


Não há o que se preocupar em termos de queimar sua placa já que ao chegar aos 80 graus o firmware do Raspberry Pi está programado para começar a diminuir a frequência da CPU para consequentemente diminuir a temperatura. Isso acontece gradativamente, mas ao atingir a temperatura de 85 graus ou maiores o clock é derrubado para 600Mhz, metade do padrão.

Nesses pontos, um aviso irá aparecer na tela, que hoje é mais amigável, um termômetro. Ele irá aparecer na metade se a temperatura passar de 80C° e cheio se passar de 85C°.

aviso de aquecimento raspberry pi 3

O SoC foi projetado para esse tipo de temperatura e inclusive já foi testado em laboratório em algumas mais altas como 120C°. Segundo um dos engenheiros é possível ir até além, embora cause uma redução de vida útil.

O problema fica em torno do desempenho que irá cair cada vez mais conforme o clock é diminuído.


O Raspberry Pi 3 precisa de dissipador ou cooler?


Sem levar em conta alguns motivos como aumentar sua vida útil a diminuição do clock poderá afetar o desempenho de sua aplicação/sistema e a solução é refrigerar de alguma forma a placa.

O fato de realmente necessitar de refrigeração nesse caso é realmente complexo, algo que você só saberá testando ou pegando relatos de alguém que já rodou a mesma coisa que você (mas a temperatura ambiente também irá influenciar). Caso sua aplicação use totalmente os 4 núcleos do processador é bem possível que chegue em temperaturas altas.


Teste de temperatura sem case consumindo os 4 núcleos da CPU com sysbench


Nos testes iniciados a partir desse ponto, não foi considerado o consumo de recursos da GPU, em todos eles (salvo dos coolers) a placa só se encontrava em conexão com o cabo de energia, Wi-Fi ligado, sem qualquer periférico (nada de HDMI, RJ45 ou USBs). Os dados foram retirados do sensor de temperatura interno do SoC.

Nesse teste sem case o Raspberry Pi estava em cima de uma mesa de madeira.

Temperatura ambiente: 22C°
Temperatura do Raspberry Pi 3 após 50 minutos de uptime: 45,1C°

temperatura do raspberry pi 3

A temperatura chegou à 80,1C° após cerca de 3 minutos e 45 segundos. A partir desse momento a diminuição de clock passa a atuar, tornando cada vez mais difícil ela continuar subindo. Continuando a execução, em 30 minutos o máximo medido foi de 82,2C°. Como exemplo, em 81,7C° a frequência já estava em 1036Mhz.


Teste de temperatura com case consumindo os 4 núcleos da CPU com sysbench


No teste seguinte, utilizamos um case de acrílico (bem comum) com uma adaptação. Fechamos a parte referente ao fan para simular um case de acrílico sem furos para o cooler.


Sensor de temperatura

Temperatura ambiente: 23C°
Temperatura do Raspberry Pi 3 em repouso após 10 minutos de uptime: 48,3C°

temperatura do raspberry pi 3

A temperatura chegou à 81,7C° após cerca de 3 minutos e 45 segundos. Continuando a execução após o teste, vários minutos depois executei uma cópia do device /dev/urandom para um arquivo, a temperatura pulou para 86C° levando a frequência do processador à 600Mhz.

Se em um dia meio frio (23C°) a temperatura chegou nesse patamar rapidamente, imagine em um dia quente.

Em testes em que a temperatura do SoC já marcava 83,8C° a temperatura do AR dentro do case já estava na casa dos 44,7C°.

Temperatura dentro do case
Temperatura dentro do case

No gráfico abaixo é possível ver a comparação com e sem case. Além de aquecer um pouco mais com case, o incremento de temperatura de acordo com o tempo é maior.

temperatura do raspberry pi 3


Tempo até a temperatura começar a estabilizar em repouso novamente


temperatura do raspberry pi 3


Teste de temperatura com case e cooler (ar para dentro) consumindo os 4 núcleos da CPU com sysbench


Os testes seguintes utilizam um fan (ou cooler como preferir) nomeado "Pi-Fan", testes com outros tipos deverão causar diferenças, mas vamos lá.

Algumas pessoas tem a dúvida se jogar ar para dentro é mais eficiente do que jogar para fora, testamos nesse case de acrílico as duas formas. Primeiramente vamos começar jogando ar para dentro.


Temperatura ambiente: 22C°
Temperatura do ar dentro do case com sistema em repouso: 22,5C°
Temperatura do Raspberry Pi 3 após 12 minutos de uptime: 33,2C°

temperatura do raspberry pi 3

A temperatura chegou à 55,3C° após cerca de 3 minutos e 45 segundos. Continuando a execução do sysbench após o teste, depois de um tempo a temperatura máxima medida foi de 56,9C°. A temperatura do AR dentro do case na carga máxima ficou em 24C°.


Teste de temperatura com case e cooler (ar para fora) consumindo os 4 núcleos da CPU com sysbench



Temperatura ambiente: 22C°
Temperatura do ar dentro do case com sistema em repouso: 22,5C°
Temperatura do Raspberry Pi 3 após 12 minutos de uptime: 35,4C°

temperatura do raspberry pi 3

A temperatura chegou à 60,1C° após cerca de 3 minutos e 45 segundos. Continuando a execução do sysbench após o teste, depois de um tempo a temperatura máxima medida foi de 60,7C°. A temperatura do AR dentro do case na carga máxima ficou em 23C°.

No gráfico abaixo é possível ver a comparação dos dois últimos testes, ar para dentro e para fora. Foi constatado que ventilando para dentro a temperatura do SoC fica menor, entretanto a temperatura do AR dentro do case é 1C° maior nesse caso. Esse teste (somente SoC) foi realizado uma segunda vez só para confirmar.

temperatura do raspberry pi 3


Conclusão


No gráfico abaixo podemos ver a comparação entre todos os testes.

temperatura do raspberry pi 3

Como dito, a necessidade de refrigeração vai de cada caso, utilize seu Raspberry Pi da forma como quer e monitore as temperaturas.

Esse é um fato de conhecimento da própria fundação Raspberry Pi, no próprio post de perguntas e respostas do fórum oficial há a indicação de utilizar algum tipo de refrigeração caso necessário. Como nem sempre é o caso, adicionar algum dissipador de fábrica só iria aumentar o custo para todos, o que não fazia sentido. Um detalhe em relação ao futuro Raspberry Pi 4 é que o processo de fabricação do SoC deverá ser modificado também para diminuir o aquecimento. Isso foi informado em uma antiga entrevista onde Eben Upton comentou que já estavam no limite térmico do processo de 40nm.

Infelizmente não fizemos testes com dissipadores e outras configurações que levariam a uma bateria bem complexa de combinações (quem sabe uma outra hora).

Os testes como apresentado, levaram em conta somente o consumo total da CPU. Em testes em que a GPU também é consumida, há uma grande probabilidade dessa curva de temperatura ser diferente (para pior). A curva certamente será diferente também para os fãs de overclock.
 
Uma última observação: Há uma forma de desabilitar o limite/aviso de temperatura entretanto você perderá a garantia.

E na sua placa, qual a temperatura para seu uso?

Referências adicionais:
https://www.raspberrypi.org/forums/viewtopic.php?t=137932&f=63
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=138383 
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=138193
https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md
https://www.raspberrypi.org/documentation/configuration/warning-icons.md

26 comentários:

  1. Uso como media center. Com dissipador e sem cooler chega a 61° e com o cooler em 3.3v fica em torno de 41° então valeu a pena. Acho que pode ajudar a otimizar a vida útil da placa.

    ResponderExcluir
    Respostas
    1. Está ótimo! Obrigado pelo feedback!

      Excluir
  2. Excelente artigo! O meu Rasp 3 trabalha na faixa de 30C e 40C.

    ResponderExcluir
  3. Parabéns pelo artigo. Muito esclarecedor. Irei fazer as medições no meu rasp 3.

    ResponderExcluir
  4. Uso a minha Pi3 com games. No meu caso ela chega ao máximo aos 53º com processos mais pesados, como por exemplo os emuladores do PSP e do Nintendo DS. Fora isso, ela fica na faixa dos 45ºC.

    ResponderExcluir
  5. Lembrando que se o ar entrar, vai também entrar poeira mais facilmente na placa E poeira pode causar curto devido a eletricidade estática que se forma na placa.

    ResponderExcluir
  6. Pode não ser a temperatura mais baixa, mas cooler com ar pra fora da mais segurança!

    ResponderExcluir
  7. Meu Raspberry Pi3, utilizando apenas para jogos de SNES, e com dissipadores, com 30 minutos de uso já passa dos 80°, provável que veio com algum problema.

    ResponderExcluir
    Respostas
    1. Dissipador não faz milagre... No meu case antigo usava um cooler c/ dissipadores e não passava dos 60º. Já meu atual me limita apenas aos dissipadores; cheguei já aos 83º com SNES também.

      Excluir
    2. O snes por incrivel que pareça é o que mais aquece no raspberry Pi 3 ...eu jogando tb tinha estes problemas e o aviso de temperatura vinha a toda hora .... só resolvi colocando o cooler junto aos dissipadores (só o dissipador não da conta !) [obs.: a case original do pi é muito bonita, mas é pessima pra isso, já que não tem abertura (furos) e entao, totalmente fechada aquece muito !

      Excluir
  8. Depende muito do local onde mora.
    pois existe locais que são muitos quentes por natureza.

    Mas independente onde mora, sempre usem dissipadores e cooler.

    ResponderExcluir
  9. Moro em Cuiabá e a temperatura ambiente aqui beira os 40°C, e meu Raspberry bate fácil 80°C sem cooler e dissipador só rodando Transmission e com Kodi startado (sem rodar filme nem nada). Vou comprar um kit de dissipadores e cooler, pra cá não tem outro jeito.

    ResponderExcluir
    Respostas
    1. Para atualizar, chegou meu kit de refrigeração, cooler + dissipadores, e a temperatura do processador baixou para uma média de 50-55°C em uso. Uma grande melhoria. Usei o cooler ventilando para dentro.

      Excluir
    2. Eu tinha um desses, mas faz barulho demais. Então eu arrumei um cooler de fonte de computador e liguei em uma fonte de 12 volts. Ficou filé, faz pouco barulho e a temperatura não ultrapassa 38°C.

      Excluir
  10. Eu usava com cooler/dissipador para rodar emuladores. Mas como jogava mais a noite, o barulho do cooler estava me irritando. Peguei um case da BIQU (que ferrou o bluetooth e me obrigou a pegar um adaptador bluetooth USB). Mas ao menos agora sem barulho!

    ResponderExcluir
    Respostas
    1. Este cooler é barulhento demais mesmo ..me irrita...mas ja acostumei a isso....se ao menos houvesse um cooler menos barulhento !

      Excluir
  11. O meu Raspberry pi 3 estava chegando a 80°c em menos de 5 minutos, achei que estava com problema, estava usando uma fonte de 5v 1A, ai substitui a fonte para uma de 5v 3A e resolveu o problema, agora ele trabalha entre 40°c e 50°c! Fica a dica! ;)

    ResponderExcluir
  12. Ótimo artigo! Parabéns!

    Uso meu RPi 3B para enviar dados de ADS-B para os sites de rastreio de voo.
    O RPi 3b aqui trabalha no regime 24/7 (24 horas por 7 dias semanais), desde abril de 2017, o fan joga ar para dentro, a temperatura chega no máximo a 41°C.

    ResponderExcluir
  13. Não percebi a entrada ou saída de ar da caixa, além do local para o cooler. É importante para não depender apenas das folgas nos locais dos conectores.

    ResponderExcluir
  14. Será que um daqueles ventiladores USB apontado para ele já resolveria? Tenho um com recalbox daqueles do mercado livre e uso um bocado porém não posso abrir e colocar um cooler. Sera que nesse caso ajudaria alguma coisa?

    ResponderExcluir