Jaka jest maksymalna / minimalna temperatura pracy?

47

Jak w tytule, jakie są maksymalne i minimalne operacyjne wskaźniki temperatury PI zanim przestanie niezawodnie pracuje? Czy może to zależeć również od używanej karty SD?

berry120
źródło
1
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-2));cat /sys/class/thermal/thermal_zone0/temp;tput rc;done &wyświetli temperaturę procesora w prawym górnym rogu konsoli. Do monitorowania.
NVRM
2
@NVRM wykorzystujące watch /opt/vc/bin/vcgencmd measure_temp (wyjścia nowego środka na każde dwie sekundy) brzmi jak łatwiejszy / sposób czystsze niż swoim podejściu do stałego monitorowania temperatury. Ale mogę się mylić.
trejder
Cóż, są one dość podobne, catpodejście działa na wszystkich systemach Linux, podczas gdy vcgencmdjest specyficzne dla pi.
NVRM,

Odpowiedzi:

41

Z FAQ RPi :

Jaki jest użyteczny zakres temperatur?

Raspberry Pi jest zbudowany z komercyjnych układów, które są zakwalifikowane do różnych zakresów temperatur; LAN9512 jest określony przez producentów kwalifikujących się od 0 ° C do 70 ° C, podczas gdy AP kwalifikuje się od -40 ° C do 85 ° C. Może się okazać, że tablica będzie działać poza tymi temperaturami, ale nie kwalifikujemy samej tablicy do takich ekstremów.

Jivings
źródło
5
Czy ktoś wie, co to jest „AP”, tj. Który układ / komponent?
Darryl Hein
9
To procesor aplikacji (Broadcom BCM2835), procesor płyty głównej.
bayindirh
3
I jest oczywiste, że gdy urządzenie jest zasilane, wytwarzane ciepło może uwzględniać czynnik. IE: Uruchomienie go w temperaturze -40 ° C może się nie powieść, ale jeśli pozostanie włączone, elementy powinny być cieplejsze niż temperatura otoczenia, a zatem nie w - 40 Środowisko powinno uwzględniać. -40, nadchodzę, parkuję trochę Pis na zewnątrz w Kanadzie. :)
James T Snell
2
@Doc Zabawne, że powinieneś wspomnieć, eh. ;) Zaparkowałem jeden na zewnątrz (w tupperwear, wodoszczelny, ale bez izolacji) w temperaturze -20 ° C na kilka godzin i nie zauważyłem, że rzeczywista temperatura rdzenia (z wbudowanego czujnika) spadła poniżej + 20 C.
Złotowłosa
1
czy jest jakiś sposób na wykrycie LAN chiptemp, ponieważ jego temperatura martwa jest znacznie niższa niż Soc Chip, myślę, że /opt/vc/bin/vcgencmd measure_temppolecenie może zgłaszać tylko Soc Chiptemp, prawda?
Shawn
9

Moje doświadczenie z Raspberry Pi 3: SoC zacznie dławić się w temperaturze około 80 stopni Celsjusza i, z mojego doświadczenia, nigdy nie pozwoli się ogrzać powyżej 85 stopni Celsjusza. Jest to oczywiście temperatura rdzenia - temperatura na zewnątrz układu będzie musiała być znacznie niższa, aby ułatwić wydajną wymianę ciepła.

Chociaż ty (prawdopodobnie nie wierz mi na słowo) nie możesz zniszczyć SoC, pozostawiając go bez chłodzenia, wydajność zostanie poważnie ograniczona. (To samo dotyczy zasilacza, BTW). W naszym laboratorium zaczęliśmy zauważać spadki klatek i znaczną degradację możliwości przetwarzania wideo, ale okazało się, że 1) było za gorąco bez radiatora 2) napięcie spadło poniżej 4,6 V z powodu zbyt długich przewodów zasilających 5 V.

W każdym ekstremalnym scenariuszu najprawdopodobniej moc obliczeniowa najpierw spadnie, a inne problemy pojawią się znacznie później, jeśli w ogóle. Może to prowadzić do ogromnej straty czasu podczas próby wyśledzenia błędów oprogramowania („dlaczego mój program nagle działa tak wolno?!?”), Tylko po to, aby odkryć, że przewody są zbyt cienkie lub radiator jest zbyt mały, więc uważaj !

Jeśli chodzi o dolną granicę, powinieneś sprawdzić wszystkie elementy. Niedawno uruchomiłem Raspi3 w temperaturze -12 ° C i aparat nie działał (pierwszy raz od tygodni, ale innym razem temperatury w nocy nie były tak niskie). Po 15 minutach oczekiwania ponownie go uruchomiłem i zaczął działać normalnie.

Uważam też, że układ sieciowy / USB na samej płycie nie ma oceny poniżej 0 C. Jeśli potrzebujesz takich ekstremów, proponuję poczekać na moduł obliczeniowy 3, który będzie miał zakres od -20 do 80 ° C, po prostu nie dostarczając problematycznych żeton w ogóle :)

xmp125a
źródło
7

Widzę, że na pytanie PO udzielono autorytatywnej odpowiedzi, ale oto moje doświadczenie warte 2 centy:

Dzięki podstawowej przezroczystej obudowie bez wentylatora i radiatorom ARM AP działa w temperaturze około 50 ° C (122 ° F), a mój Pi3 działa dobrze. Kiedy zdejmuję górną część plastikowej skorupy, temperatura spada do 47-48.

Zatem doszedłem do wniosku, że obudowa nie powoduje żadnej mierzalnej szkody w tym względzie.

Poleceniem powrotu temperatury procesora w standardowym wyjściu jest vcgencmd miara_temp


Widzę w komentarzach, które uhohwspominają, że jeśli chcesz użyć temperatury w programie Python, polecenie os.popen('vgencmd measure_temp').read()zwróci tekstową wersję numeru temperatury.

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

Oto sposób, w jaki używam Popena, aby zamienić temperaturę w zmienną całkowitą:

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

Powyższe pochodzi z tego kodu:

Pinguj stronę internetową i włącz wyjście, jeśli jest online / offline?

Ten post pokazuje, jak używać fpingna kilka różnych sposobów, mimo że wyniki pojawiają się jakostderr

Zawiera także przykład „od kołyski do grobu”, który korzysta z danych i drukuje je na żywo w miarę ich wprowadzania. Pokazuje Pythona i gnuplot. Nie widzimy tutaj wystarczającej liczby przykładów z całego systemu.

SDsolar
źródło
1
po prostu upewnij się, że jest dobry ruch powietrza w środowiskach o bardzo wysokich temperaturach na początek :)
stevieb 16.09.16
Doskonały punkt Moja temperatura w pomieszczeniu wynosi 75 ° C, czyli nieco poniżej 24 ° C, a drzwi są otwarte na zewnątrz, więc przepływ powietrza jest dobry.
SDsolar
1
To jest bardzo pomocne! (podniesie głos za 12 godzin, kiedy wygaśnie moja kwota na dany dzień). Wygląda na to, os.popen('vcgencmd measure_temp').read()że temperatura (tekst) jest dostępna również w Pythonie. tak jakcommands.getstatusoutput('vcgencmd measure_temp')[1]
uhoh,
1
TNX dla poleceń Pythona. Takie podejście do używania os.popeni .readtym podobne może się bardzo przydać. Nie wspominając, commands.getstatusoutput ... [1] że często używam Pythona z zewnętrznymi poleceniami, ale nie natknąłem się na żadną z nich. Dobra robota. btw, im więcej pytań odpowiesz, tym więcej punktów otrzymasz, a ograniczenia zostaną zniesione dość szybko. Ta konkretna SE jest trudnym tłumem, ale zdecydowanie doceniają cenny wkład do bazy danych.
SDsolar
1
Zwiększyłem dziś liczbę głosów; podczas gdy spędziłem kilka godzin, szukając pewnych rzeczy, które wciąż mi się podobały (co czułem, że są) pomocne posty z zerową liczbą głosów. Nie zorientowałem się, co czyni niektóre strony SE bardziej hojnymi, a inne mniej.
uhoh,
0

Poniżej znajduje się trochę poza pytaniem, ale ogólny przypadek użycia, który może dać pewne pomysły.

Można to dostosować do dowolnego rodzaju danych wejściowych, czujników GPIO, danych internetowych.

Jak wykreślić wykres temperatury czasu pracy procesora?

Zainstaluj gnuplot

Gnuplot może tworzyć wykresy danych w terminalu, nie wymaga żadnego serwera X i zużywa bardzo mało zasobów.

Działa płynnie nawet w najwolniejszym modelu Raspberry Pi 1 / zero.

sudo apt install gnuplot

Przykład skryptu do zbudowania gnuplotpliku:

temperature skrypt do przechowywania danych w godzinach nadliczbowych.

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

Przyznaj uprawnienia do wykonywania tego skryptu:

chmod +x temperature

Odłącz i uruchom w pętli 1s do następnego restartu:

nohup watch ./temperature &

Później wykreśl dane:

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

wprowadź opis zdjęcia tutaj

Jest to prosty przykład, temperatura w stopniach Celsjusza * 1000 i sekundy od początku, które zostaną rozszerzone we własnym pakiecie skryptów.

Aby zabić watchpętlę,killall watch

Miłego hakowania;)

NVRM
źródło