眼看已经进入三伏天,你的树莓派有没有开始发烧呢?为了提高树莓派散热效果,通常我们在树莓派上加装散热风扇,但是问题是只要通电,散热风扇就一直转,有的强力风扇甚至会发出噪音。为解决这个问题,下面使用了一个三极管来控制树莓派散热风扇。当树莓派CPU温度超过设定的值时,就开启风扇进行散热;当温度降到设定值时,就关闭风扇,减少风扇运转的噪音。
连接原理图
三极管的三个管脚分别为发射极、基极和集电极,我使用的时D8550,其封装图为:
三极管D8550和树莓派的连接如下图。
原理图如下图。
风扇控制脚本
树莓派的15号引脚连接到了三极管的基极(引脚编号可参看这里),当温度过高时,GPIO引脚输出低电平,可以开启风扇。python程序为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/python2
#coding:utf8
#自动风扇控制程序,使用wiringPi的gpio命令来操作GPIO
import commands,time
#控制风扇的GPIO
FAN_GPIO = 15
commands.getoutput('sudo gpio mode '+str(FAN_GPIO)+' OUTPUT')
while True:
# 获取CPU温度
tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' )
cpu_temp_raw = tmpFile.read()
tmpFile.close()
cpu_temp = round(float(cpu_temp_raw)/1000, 1)
print cpu_temp
#如果温度大于50`C,就启动风扇
if cpu_temp >= 50.0 :
commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 0')
#如果温度小于45`C,就关闭风扇
if cpu_temp = 45.0 :
commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 1')
time.sleep(10)
保存为 cool.py 后,运行程序。
1
sudo python cool.py
当温度高于50度就开启风扇降温,温度降到45度以下时关闭风扇,这样可以防止风扇在临界点往复。
效果图
完成后的效果图如下。
文章来源blog.lxx1.com
本文来自:树莓派实验室
链接地址:http://shumeipai.nxez.com/2017/07/13/raspberry-pi-to-achieve-temperature-monitoring-and-control-fan-cooling.html
眼看已经进入三伏天,你的树莓派有没有开始发烧呢?为了提高树莓派散热效果,通常我们在树莓派上加装散热风扇,但是问题是只要通电,散热风扇就一直转,有的强力风扇甚至会发出噪音。为解决这个问题,下面使用了一个三极管来控制树莓派散热风扇。当树莓派CPU温度超过设定的值时,就开启风扇进行散热;当温度降到设定值时,就关闭风扇,减少风扇运转的噪音。
连接原理图
三极管的三个管脚分别为发射极、基极和集电极,我使用的时D8550,其封装图为:
三极管D8550和树莓派的连接如下图。
原理图如下图。
风扇控制脚本
树莓派的15号引脚连接到了三极管的基极(引脚编号可参看这里),当温度过高时,GPIO引脚输出低电平,可以开启风扇。python程序为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/python2
#coding:utf8
#自动风扇控制程序,使用wiringPi的gpio命令来操作GPIO
import commands,time
#控制风扇的GPIO
FAN_GPIO = 15
commands.getoutput('sudo gpio mode '+str(FAN_GPIO)+' OUTPUT')
while True:
# 获取CPU温度
tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' )
cpu_temp_raw = tmpFile.read()
tmpFile.close()
cpu_temp = round(float(cpu_temp_raw)/1000, 1)
print cpu_temp
#如果温度大于50`C,就启动风扇
if cpu_temp >= 50.0 :
commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 0')
#如果温度小于45`C,就关闭风扇
if cpu_temp = 45.0 :
commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 1')
time.sleep(10)
保存为 cool.py 后,运行程序。
1
sudo python cool.py
当温度高于50度就开启风扇降温,温度降到45度以下时关闭风扇,这样可以防止风扇在临界点往复。
效果图
完成后的效果图如下。
文章来源blog.lxx1.com
本文来自:树莓派实验室
链接地址:http://shumeipai.nxez.com/2017/07/13/raspberry-pi-to-achieve-temperature-monitoring-and-control-fan-cooling.html