本文章是基於ubuntu的樹莓派控制降溫風扇,採用python編寫,具有開機自啟的功能,有很好的降低噪音的功能。其思路是獲取cpu溫度,並依據不同溫度產生不同的pwm來進行控制風扇。具體**如下:
import rpi.gpio as gpio
import time
fan=
18#bcm引腳編號
temp_min=
30temp_max=
50gpio.setmode(gpio.bcm)
gpio.setup(fan,gpio.out)
#gpio.output(fan,gpio.high)
gpio.setwarnings(
false
)pwm = gpio.pwm(fan,50)
pwm.start(
100)
time.sleep(5)
pwm.stop(
)print
("風扇防止卡死程式執行結束"
)# 設定風扇
while
true
:file
=open
("/sys/class/thermal/thermal_zone0/temp"
)# 讀取結果,並轉換為浮點數
temp =
float
(file
.read())
# 關閉檔案
file
.close(
)print
("溫度: %.1f"
%(temp/
1000))
if temp
1000
: pwm.stop(
)print
("溫度低於設定值,風扇關閉"
)#set_fan(0)#低電平,為開啟風扇
elif temp>temp_max*
1000
: pwm.start(
100)
;print
("溫度高於最高設定值,風扇全速執行"
)#set_fan(1)#高電平,為關閉風扇
else
: dc =
(temp - temp_min *
1000)*
100/
((temp_max - temp_min)
*1000
) pwm.start(dc)
print
("pwm duty cycle:%.1f"
%dc)
time.sleep(10)
#每隔十秒檢測一下溫度
gpio.cleanup(
)
硬體電路圖如下:
這裡點解電容的作用是為了防止噪音產生的。
最後為了防止樹莓派每一次開機都要自己去啟動指令碼,所以我們設定一下開機自啟動。
我這裡使用的是supervisor來操作,操作流程如下
安裝supervisorsudo apt install supervisor
開啟配置檔案目錄cd /etc/supervisor/conf.d
新建配置檔案touch pwmfs.conf
編寫配置檔案內容vim /etc/supervisor/conf.d/pwmfs.conf
配置檔案內容如下:
[program:pwmfs]
command
= python3 /home/ubuntu/pwmfs.py
autostart =
true
注:其中/home/ubuntu/pwmfs.py就是你存放指令碼的位置。
重啟服務sudo systemctl restart supervisor
其他命令
檢視supervisor執行狀態:sudo supervisorctl status
檢視後台程序號:ps -aux|grep pwmfs| grep -v grep
樹莓派 溫度控制散熱風扇
樹莓派9層外殼自帶乙個散熱風扇,風扇是2針的,不能控制,插上電源後就一直全速運轉,晚上噪音很大。而且,一直執行,風扇壽命也會降低。考慮加乙個電機驅動模組,使用pwm控制風扇電壓。cpu溫度如果低於一定程度,風扇可以直接停轉。自帶風扇標記說明5v電壓下只有0.16a電流,在 找到乙個體積小,低的驅動模...
樹莓派風扇散熱自動控制
因為樹莓派風扇如果一直轉很吵的。在網上看到有人diy了一下,通過python 來實現風扇自動控制。我也嘗試做一下。需要新增乙個三極體。這裡就不說了。建立乙個 usr local src fan.py檔案。coding utf 8 讓風扇達到一定的溫度時再執行。import sys import ti...
樹莓派基於python的pwm產生
import rpi.gpio as gpio 匯入gpio口驅動模組 import time 匯入時間模組 pwm pin 18 定義pwm輸出引腳 gpio.setmode gpio.bcm 定義樹莓派gpio引腳以bcm方式編號 gpio.setup pwm pin,gpio.out 使能gp...