眼看已经进入三伏天,你的树莓派有没有开始发烧呢?为了提高树莓派散热效果,通常我们在树莓派上加装散热风扇,但是问题是只要通电,散热风扇就一直转,有的强力风扇甚至会发出噪音。为解决这个问题,下面使用了一个三极管来控制树莓派散热风扇。当树莓派CPU温度超过设定的值时,就开启风扇进行散热;当温度降到设定值时,就关闭风扇,减少风扇运转的噪音。
连接原理图
三极管的三个管脚分别为发射极、基极和集电极,我使用的时D8550,其封装图为:
三极管D8550和树莓派的连接如下图。
原理图如下图。
风扇控制脚本
树莓派的15号引脚连接到了三极管的基极(引脚编号可参看这里),当温度过高时,GPIO引脚输出低电平,可以开启风扇。python程序为:
#!/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 后,运行程序。
sudo python cool.py
当温度高于50度就开启风扇降温,温度降到45度以下时关闭风扇,这样可以防止风扇在临界点往复。
效果图
完成后的效果图如下。
文章来源 blog.lxx1.com
站长您好,请问使用别人的原创图片应不应该注明出处,就把开头改一句话然后照搬过来的文章应不应该取得授权或者注明出处?
不好意思刚看到留言,之前不知道图片为原创图片现已经在文末补上了出处。抱歉哦。另外在一个月前试图通过邮件联系贵方,似乎没有得到回复,期待您的回复。
其实可以用PWM来调速。。。更灵活一些。。
怎么让它在后台执行呢?ctrl+z也不行,每次还得开个tty运行它。
命令后面加个&即可
用 screen 命令可以让他在后台运行,需要安装 apt-get install screen
是的
之前做过PMW调速的,感觉不实用,日常挂机的时候超温的时间很少。另外我在基极上串联了个1.2k的电阻,要不三极管容易烧。
我今天试了一下,为啥我用VCC和GND以及第12个GPIO口驱动一个小继电器(5V那种),GPIO的HIGH和LOW都是一样的结果,,没法通过GPIO12来控制继电器通断,就是一打开GPIO就直接导通,而只有关闭GPIO(GPIO.cleanup())之后才能断开继电器。
顶一个alert(1)
其实有问题,树莓派的GPIO高电平电压是3.3V,当把GPIO设置为高电平的时候,小风扇会有声音
按照博主的方法,我的5V小风扇转不起来,只能点亮上面的灯。。。,GPIO高电平貌似只有3.4V?
那个我发现在34.5度左右可以很容易的控制风扇的转动