树莓派风扇散热自动控制

时间:2024-04-01 15:05:57

前言:

(本篇是个雏形讲述了一些细节但不够统一,查看完整版点击这里

树莓派3b 发热量很大,需要加风扇以及散热片散热降温,

但是市面上的风扇都很简陋不能自动随温度变化而自动开启或关闭降温,浪费电能,且有不小的噪音。

为了解决以上问题,上网搜索,发现有前人制作的经验,虽能满足以上要求,但又略显不足,所以决定diy改进这个可以实现自动控制的简单电路。

正文:

     使用的三极管是在万能充上卸下来的 型号是8550

树莓派风扇散热自动控制树莓派风扇散热自动控制

从旧电脑上拆下来的杜邦线母头带线

树莓派风扇散热自动控制树莓派风扇散热自动控制

像这样连接起来                                                           我使用了5V正极 GND gpio14(wiringpi 15)三个引脚

树莓派风扇散热自动控制树莓派风扇散热自动控制

接线方法

树莓派风扇散热自动控制

以下是驱动代码(注意缩进)

树莓派风扇散热自动控制

#!/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)
 
    #如果温度大于47`C,就启动风扇
    if cpu_temp >= 47 :
        commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 0')
    #如果温度小于40`C,就关闭风扇
    if cpu_temp <= 40 :
        commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 1')
    
    time.sleep(10)


(本篇是个雏形讲述了一些细节但不够完整,点击这里,查看完整版。)


参考资料

PNP型              我用的就是S8550 pnp型三级管

NPN型三极管 

PNP与NPN1     三极管s8050和s8550的区别

8550三极管引脚图

树莓派 40Pin 引脚对照表        树莓派---GPIO应用详解

wiringPi简介、安装和管脚说明


前人博客

树莓派实现温度监控并控制风扇散热 (这一个跟本文所述方法很相似)


gpio控制风扇转速 pwm方案

 

设计草稿
树莓派风扇散热自动控制
友情链接:、
https://blog.newnius.com/raspberry-control-fan-with-transistor.html
http://blog.csdn.net/qq_37887537/article/details/78396555