Какова максимальная / минимальная рабочая температура?

47

В соответствии с заголовком, каковы максимальные и минимальные рабочие температуры Пи, прежде чем он перестает надежно работать? Может ли это также зависеть от используемой SD-карты?

berry120
источник
1
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-2));cat /sys/class/thermal/thermal_zone0/temp;tput rc;done &отобразит темп процессора в верхнем правом углу консоли. Для мониторинга.
NVRM
2
@NVRM с использованием watch /opt/vc/bin/vcgencmd measure_temp (выходы новой меры на каждые две секунд) звучит как более легкий / очиститель способ , чем ваш подход к постоянному мониторингу температуры. Но я могу ошибаться.
Трейдер
Ну, это довольно похоже, catподход работает на всех Linux, в то время как vcgencmdэто специфично для pi.
NVRM

Ответы:

41

Из RPi FAQ :

Какой диапазон температур можно использовать?

Raspberry Pi построен из коммерческих чипов, которые подходят для различных температурных диапазонов; LAN9512 определяется производителями, квалифицированными от 0 ° C до 70 ° C, в то время как точка доступа квалифицируется от -40 ° C до 85 ° C. Возможно, вы обнаружите, что плата будет работать вне этих температур, но мы не приписываем саму доску этим экстремальным значениям.

Jivings
источник
5
Кто-нибудь знает, что такое «AP», то есть какой чип / компонент?
Дэррил Хейн
9
Это прикладной процессор (Broadcom BCM2835), центральный процессор платы.
Байиндирх
3
И само собой разумеется, что, когда устройство запитано, выделяемое тепло может влиять. IE: запуск его при температуре -40 ° C может дать сбой, но если его оставить включенным, компоненты должны быть теплее, чем окружающие, и, следовательно, не иметь - 40. Окружающая среда должна учитывать. -40, вот и я, я парковаю немного Пис на улице в Канаде. :)
Джеймс Т Снелл
2
@Doc Забавно, ты должен упомянуть, а? ;) Я припарковал один на открытом воздухе (в непромокаемой одежде, воздухо- / водонепроницаемом, но без изоляции) при -20 C в течение нескольких часов, и не заметил, что фактическая температура сердечника (от встроенного датчика) упала ниже + 20 C.
Златовласка
1
Есть ли способ обнаружить LAN chipвременную температуру, поскольку ее мертвая температура намного ниже, чем Soc Chip, я думаю, /opt/vc/bin/vcgencmd measure_tempкоманда может сообщить только Soc Chipвременную температуру, верно?
Шон
9

Мой опыт работы с Raspberry Pi 3: SoC начнет снижаться примерно до 80 градусов по Цельсию и, по моему опыту, никогда не позволит себе быть теплее, чем 85 градусов по Цельсию. Это, конечно, температура ядра - температура снаружи чипа должна быть намного ниже, чтобы обеспечить эффективный теплообмен.

Хотя вы (возможно, не поверите мне на слово) не можете уничтожить SoC, оставив его неохлаждаемым, производительность сильно пострадает. (То же самое касается источника питания, кстати). В нашей лаборатории мы начали замечать пропадание кадров и значительное ухудшение возможностей обработки видео, но обнаружили, что 1) он слишком сильно нагревался без радиатора 2) напряжение упало ниже 4,6 В из-за слишком длинных проводов питания 5 В.

В любом экстремальном сценарии наиболее вероятно, что ваша вычислительная мощность сначала уменьшится, а другие проблемы появятся намного позже, если вообще когда-либо. Это может привести к огромной трате времени при поиске программных ошибок («почему моя программа вдруг работает так медленно?!?»), Только чтобы обнаружить, что провода слишком тонкие или радиатор слишком маленький, так что будьте осторожны !

Что касается нижней границы, вы должны проверить все компоненты. Я недавно загрузил Raspi3 при -12 ° C, и камера не работала (впервые за несколько недель, но в другое время температура ночью была не такой низкой). После 15 минут ожидания я перезагрузил его, и он начал работать нормально.

Кроме того, я думаю, что сетевой / USB-чип на самой плате не оценен ниже 0 C. Если вам нужны такие крайности, я предлагаю подождать вычислительного модуля 3, который будет иметь диапазон от -20 до 80C, просто не предоставляя проблемных фишка вообще :)

xmp125a
источник
7

Я вижу, что на вопрос ОП ответили авторитетно, но вот мой опыт в 2 цента:

С основным прозрачным пластиковым корпусом без вентиляторов и радиаторами AP AR AP работает при температуре около 50C (122F), а мой Pi3 работает нормально. Когда я снимаю верхнюю часть пластиковой оболочки, температура падает до 47-48.

Таким образом, мой вывод заключается в том, что корпус не наносит ощутимого вреда в этом отношении.

Команда для возврата температуры процессора в стандартный вывод: vcgencmd measure_temp


Я вижу в комментариях, что uhohупоминается, что если вы хотите использовать температуру в программе Python, команда os.popen('vgencmd measure_temp').read()вернет текстовую версию числа температуры.

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

Вот как я использую Popen, чтобы получить температуру в целочисленной переменной:

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

Выше взято из этого кода:

Пингуйте веб-сайт и включите ли выход в режиме онлайн / офлайн?

В этом посте показано, как использовать fpingнесколько различных способов, даже если результатыstderr

Также включает в себя пример от колыбели до могилы, который использует данные и строит графики в реальном времени по мере их поступления. Он показывает Python и gnuplot. Мы не видим достаточно этих примеров всей системы здесь.

SDsolar
источник
1
просто убедитесь, что в средах с очень высокой
температурой
Отличный момент. Моя температура в помещении составляет 75F, что чуть ниже 24C, и дверь открыта наружу, поэтому есть хороший поток воздуха.
SDsolar
1
Это очень полезно! (проведет голосование через 12 часов после истечения моей квоты на этот день). Кажется, это os.popen('vcgencmd measure_temp').read()делает температуру (текст) доступной и в Python. как иcommands.getstatusoutput('vcgencmd measure_temp')[1]
Uhoh
1
TNX для команд Python. Такой подход к использованию os.popenи тому .readподобное может оказаться очень полезным. Не говоря уже о том, что commands.getstatusoutput ... [1] я часто использую Python с внешними командами, но не сталкивался ни с одной из них. Отлично сработано. Кстати, чем больше вопросов вы ответите, тем больше очков вы получите, и ограничения будут сняты довольно быстро. Этот конкретный SE - жесткая толпа, но они определенно признают ценный вклад в базу данных.
SDsolar
1
Я увеличил количество голосов сегодня; в то время как я провел несколько часов в поисках некоторых вещей, которые я продолжал наталкивать (как я чувствовал) полезные посты с нулевым количеством голосов Я не понял, что делает некоторые сайты SE более щедрыми, а другие - не такими.
Uhoh
0

Следующее - немного вне вопроса, но общий случай использования, который мог бы дать некоторые идеи.

Это может быть адаптировано к любым видам входов, датчикам gpio, интернет-данным.

Как график температуры процессора сверхурочно?

Установите gnuplot

Gnuplot может отображать данные в терминале, не требует никакого X-сервера и использует очень мало ресурсов.

Это работает гладко даже на модели самой медленной малины пи 1 / ноль.

sudo apt install gnuplot

Пример gnuplotскрипта для создания файла:

temperature скрипт для хранения сверхурочных данных.

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

Дайте права на выполнение этого скрипта:

chmod +x temperature

Отсоединить и запустить в цикле 1 с до следующей перезагрузки:

nohup watch ./temperature &

Позже, график данных:

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

введите описание изображения здесь

Это простой пример, температура в градусах Цельсия * 1000 и секунды с начала, которые будут расширены в вашем собственном наборе скриптов.

Чтобы убить watchпетлю,killall watch

Удачного взлома;)

NVRM
источник