最高/最低工作温度是多少?


47

根据标题,Pi可靠停止工作之前的最高和最低额定工作温度是多少?这还取决于所用的SD卡吗?


1
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-2));cat /sys/class/thermal/thermal_zone0/temp;tput rc;done &将在控制台的右上角显示cpu temp。用于监视。
NVRM

2
@NVRM 使用 watch /opt/vc/bin/vcgencmd measure_temp(每两秒钟输出一个新的度量值)听起来比您进行恒温监视的方法更简单/更干净。但是,我可能错了。
trejder

好吧,这些都非常相似,该cat方法适用于所有linux,而vcgencmd特定于pi。
NVRM

Answers:


41

RPi常见问题解答

可用温度范围是多少?

Raspberry Pi是由符合不同温度范围要求的商用芯片构建的。LAN9512由制造商指定,其合格温度范围为0°C至70°C,而AP则为-40°C至85°C。您可能会发现该板将在这些温度范围之外工作,但我们并没有使板本身达到这些极限。


5
有谁知道“ AP”是什么,即哪个芯片/组件?
Darryl Hein

9
这是主板的应用处理器(Broadcom BCM2835)。
bayindirh

3
并有理由认为,随着设备的通电,产生的热量可能会增加。.IE:在-40摄氏度下启动它可能会失败,但是,如果让它继续运行,则组件应比环境温度高,因此不应- 40 环境应该考虑在内。-40,我来了,我要在加拿大外面停车。:)
詹姆斯·T·斯内尔

2
@Doc Funny你应该提到那个。;)我在-20 C下将一个车停在户外(在短绒衣内,气密/防水,但没有绝缘)达几个小时,并且没有注意到实际的核心温度(通过内置传感器)降至+ 20 以下C.
goldilocks

1
有什么方法可以检测到LAN chip温度,因为它的死温度远低于Soc Chip,我相信/opt/vc/bin/vcgencmd measure_temp命令只能报告Soc Chip温度,对吗?
肖恩


9

我对Raspberry Pi 3的体验:SoC将在大约80摄氏度时开始减速,以我的经验,绝不会让自己温度超过85摄氏度。当然,这是核心温度-芯片外部的温度必须低得多,以促进有效的热交换。

尽管您(可能不相信我的话)无法通过不冷却来破坏SoC,但性能会受到严重影响。(电源,BTW也是如此)。在我们的实验室中,我们开始注意到帧丢失和视频处理能力的显着下降,结果发现1)没有散热器时它变得太热2)由于5V电源线太长而导致电压降至4.6V以下。

在任何一种极端情况下,您的处理能力很可能首先会降低,而其他问题则要晚得多(如果有的话)出现。当试图找出软件错误(“为什么我的程序突然突然运行如此缓慢?!?”)时,这会导致大量时间浪费,只是发现电线太细或散热器太小,所以要当心!

关于下限,应检查所有组件。我最近在-12C低温下启动了Raspi3,并且相机无法正常工作(数周内第一次,但其他时候晚上的温度却不太低)。等待15分钟后,我重新启动了它,它开始正常工作。

另外,我认为主板上的网络/ USB芯片本身的额定温度不低于0C。如果您需要这种极端条件,我建议您等待Compute Module 3(温度范围为-20至80C),只需不提供问题的电源即可。芯片:)


7

我看到OP的问题已经得到了权威的回答,但这是我2分钱的经验值:

使用基本的透明塑料无风扇外壳和散热器,ARM AP的运行温度约为50C(122F),我的Pi3可以正常工作。当我取下塑料外壳的顶部时,温度下降到47-48。

因此,我的结论是,外壳在这方面不会造成任何可衡量的危害。

在stdout中返回CPU温度的命令是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

上面是从此代码中获取的:

Ping网站并在线或离线打开输出?

这篇文章展示了如何以fping几种不同的方式使用,即使结果以stderr

还包括一个从摇篮到坟墓的示例,该示例利用数据并对其进场进行实时绘制。它显示了Python和gnuplot。我们在这里看不到这些完整的系统示例。


1
只要确保在高温下良好的空气流动就可以开始:)
stevieb

优点。我的室温是75°F,刚好低于24°C,而且门向外面敞开,所以空气流通良好。
SDsolar

1
这非常有帮助!(当我当天的配额到期时,将在12小时内进行投票)。似乎这也os.popen('vcgencmd measure_temp').read()使温度(文本)在Python中也可用。一样commands.getstatusoutput('vcgencmd measure_temp')[1]
uhoh

1
TNX for Python命令。这种使用os.popen.read类似的方法可能非常方便。更不用说commands.getstatusoutput ... [1] 我倾向于将Python与外部命令一起使用很多,但是没有遇到任何一个。做得好。顺便说一句,您回答的问题越多,您将获得的积分就越多,并且限制也会很快消除。这个特定的SE是一个艰苦的人群,但是他们肯定会认识到对数据库的宝贵贡献。
SDsolar

1
我今天投票最多。我花了几个小时来寻找一些事情,而这些事情我一直都以零投票的方式出现在有用的帖子中。我还没有弄清楚是什么使一些SE网站更加慷慨,而其他网站却没有那么丰富。
uhoh

0

以下是一个超出问题范围的问题,但是可能会提供一些想法的一般用例。

它可以适应任何类型的输入,gpio传感器,互联网数据。

如何绘制CPU温度超时图?

安装gnuplot

Gnuplot可以在终端中绘制数据图,不需要任何X服务器,并且使用很少的资源。

即使在最慢的树莓派模型1 / zero上,它也能正常工作。

sudo apt install gnuplot

生成gnuplot文件的脚本示例:

temperature 脚本来存储数据超时。

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

授予此脚本执行权:

chmod +x temperature

断开并以1s循环运行,直到下次重新启动:

nohup watch ./temperature &

以后,绘制数据图:

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

在此处输入图片说明

这是一个准系统示例,温度以摄氏度* 1000为单位,自开始以来的秒数,将在您自己的脚本套件中进行扩展。

为了杀死watch循环,killall watch

快乐黑客;)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.