51單片機的智能溫控風扇設計探討

前言:尋找寫作靈感?中文期刊網用心挑選的51單片機的智能溫控風扇設計探討,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

51單片機的智能溫控風扇設計探討

摘要:針對傳統散熱風扇只能依靠人工手動控制且無法精確感知周圍環境溫度的問題,根據溫控風扇的用途,設計了可以檢測周圍環境溫度且能改變室溫的智能溫控風扇。該設計主要基于51單片機和DS18B20溫度傳感器,通過溫度傳感器監測溫度,將所監測的溫度值返還給單片機,單片機對溫度值進行分析和比較,進而控制風扇的轉速。該設計能有效地降低室內溫度,從而降低因溫度過高而帶來的危害,并且解決了傳統人工操作效率低下的問題。

關鍵詞:單片機STC89C51;溫控風扇;溫度檢測;DS18B20;智能控制;L9110S電機驅動芯片

0引言

散熱風扇在生活中是不可或缺的,但是只依靠人工手動地開啟與停止風扇是比較繁瑣的,而且也不能精確地感知周圍的溫度,所以加入單片機對風扇進行控制是一種更有效和更方便的方法?,F如今很多人利用單片機控制風扇進行散熱,比如在電腦機房里,考慮到線路問題,室內溫度不能太高,這種情況下為了保證電路的穩定性和可靠性,就可以考慮采用單片機控制風扇這種方式。為此,本文設計了一種智能溫度控制風扇,此裝置通過溫度傳感器監測溫度并且用單片機控制風扇的轉速。

1溫控風扇系統的硬件設計

溫控風扇系統由復位電路[1]、晶振電路、5V電源、電機驅動、LCD顯示、溫度采集電路、獨立按鍵電路、風扇控制電路、蜂鳴器提示電路組成。微處理器模塊:STC89C51單片機擁有32位雙向輸入輸出線、2個16位定時器、5個中斷源、1個全雙工的異步串行口,具有抗干擾能力強、寬電壓、不怕電源抖動的特點。單片機最小系統主要由時鐘電路、復位電路、電源電路和STC89C51單片機組成。其中時鐘電路提供的時鐘信號為單片機提供一個時間基準;復位電路是為了使單片機回到原始狀態重新執行程序;5V電源主要為單片機供電以保證其正常工作。顯示模塊:LCD顯示模塊可以只用D4~D7作為四位數據分兩次傳送,能節省I/O口資源;顯示屏能顯示32個字符,即2行16個字符;有8位數據總線和3個控制端口,可以調節對比度和背光。LCD1602是一種顯示字母、數字、符號的點陣型液晶模塊[2]。顯示內容分兩種:一種是常用字符,存儲在CGROM中,用戶可以直接調用;另一種是自定義的字符,同樣存儲在CGROM中。在LCD顯示模塊中,當輸入的接口信號RS=0、RW=1時,引腳E輸出高電平,輸出的D0~D7為狀態字,此時為讀狀態模式;當輸入的RS=1、RW=1時,E輸出高電平,輸出的D0~D7為數據,此時為讀數據模式;當輸入的RS=0、RW=0時,E輸出低電平,此時為寫命令模式;當輸入的RS=1、RW=0時,E輸出低電平,此時為讀命令模式。溫度采集模塊:系統采用的DS18B20溫度傳感器有64位ROM、溫度傳感器、溫度報警觸發器TH和TL三個主要數字部件,具有非易失性用戶可編程上限的報警功能和較低的觸發點,只需要一根總線與微處理器進行連接;還可以直接從數據線供電,無需外部電源。每個DS18B20溫度傳感器都許可多個DS18B20在同一總線上運行,因此使用一個單片機就可以很簡單地控制大面積的DS18B20,可以用在工業系統、熱敏系統、溫度監控系統上。DS18B20在一條線的單個端口條件下要先建立一個協議,才可對存儲器進行操作處理[3];一條指令對DS18B20進行一次溫度測量,將所測量的結果放到暫存器中,可以用一條讀指令把暫存器中的數據讀出[4]。DS18B20通過一個振蕩器來確定一個門周期,計數器在周期內對這個振蕩器所產生的脈沖進行計數來得到相對應的溫度值。按鍵模塊:按鍵一端與單片機的I/O口相連接,另一端與地相連接。單片機的I/O在沒有作為輸出的情況下默認高電平[5],當按鍵按下后相當于I/O口短接電源地,這種按鍵的接觸方式會產生抖動的情況,所以在程序中需要適當地加上短暫的延時消抖[6]。通過檢測I/O口是否會出現低電平并進行消抖就可以判斷是否有按鍵按下,再執行對應的功能。設置鍵的作用是能在加值鍵和減值鍵之間進行切換,方便控制溫度值的范圍。加值鍵能調整溫度的上限值,減值鍵能調整溫度的下限值。三個按鍵的功能如下:(1)第一個位置的按鍵:按下后進入上下限設置。(2)第二個位置的按鍵:在所對應的模式下,對應參數加1。(3)第三個位置的按鍵:在所對應的模式下,對應參數減1[7]。驅動模塊:采用了L9110S電機驅動,L9110是為控制電機和驅動電機而設置的一個兩通道推挽式功率放大集成器件[8],其特點是:具有較低的飽和壓降;TTL/CMOS輸出電平可以直接連接CPU,并且具有比較好的抗干擾性;低靜態的工作電流;內置的鉗位二極管能夠釋放出反向沖擊的電流,使其在驅動繼電器、直流電機、步進電機時更安全可靠[9]。兩個輸出的電平可以驅使電機進行正反轉,L9110的IA引腳接高電平,單片機的I/O口接IB引腳,所以單片機I/O口輸出低電平時電機轉動,當I/O口輸出高電平時電機停止。蜂鳴器模塊:蜂鳴器選用5V的電磁式有源蜂鳴器,由于蜂鳴器的工作電流一般比較大,以致單片機的I/O口無法直接驅動,所以要利用三極管開關電路來驅動。本文選用的是8550三極管,它是一個PNP型的三極管。當I/O口輸出低電平時,三極管導通,蜂鳴器響起;當I/O口輸出高電平時,三極管截止,蜂鳴器也停止響聲。

2溫控風扇系統的軟件設計

系統通過溫度傳感器采集周圍環境的溫度,將采集到的溫度轉換為溫度信號,把溫度信號傳輸給單片機,單片機對溫度信號進行加工處理并輸出到顯示屏中,在顯示屏上顯示出當前的溫度數值,調用風扇的控制函數,進而控制風扇的轉速大小。當所測的溫度超出設定的溫度閾值時,風扇為最高轉速,蜂鳴器報警;當所測的溫度處于設定的溫度閾值之間時,風扇為正常轉速,蜂鳴器停止;當所測的溫度值低于設定的溫度閾值時,風扇停止,蜂鳴器停止。主程序流程如圖1所示。

3電路仿真

使用Proteus制作出原理圖,選擇程序后運行加載程序,得到的結果如圖2所示。當前環境溫度為28.12℃,處于設置的溫度上限值和下限值之間,蜂鳴器停止,風扇低速轉動,LED燈亮,通過加值鍵和減值鍵調整溫度閾值來控制風扇轉速。在仿真過程中添加一個上拉排阻,它的作用為:增強輸出引腳的驅動能力,提高輸出電平;提高芯片輸入信號的噪聲容限,增強抗干擾能力,提高輸出的高電平值。

4系統調試

系統的軟件方面通過Keil軟件進行編寫,將編寫好的程序生成.HEX文件后通過下載器下載到單片機中。通過觀察整個系統運行的狀態,然后對程序進行修改和調試,最終能夠獲到一個完整的程序[10]。在調試過程中發現按鍵按下抖動會產生誤差,致使實驗數據產生偏差,所以加入延時函數判斷按鍵按下與松開的狀態,以此來消除因抖動帶來的誤差。在實驗中發現顯示屏的亮度很低,不便于觀察,因此加入電位器、旋轉電位器可以調整顯示屏的對比度,使顯示屏更加明亮。為了使風扇的溫度閾值能夠在加減鍵之間進行切換,所以添加了一個設置切換按鍵。

5結語

在如今信息飛速發展的時代,單片機在各行各業里都是不可缺少的,人們靈活地使用單片機能增加許多工作效率。本文將51單片機與風扇結合起來,實現了智能溫控風扇系統,主要基于51單片機和DS18B20溫度傳感器監測環境溫度,監測到的溫度值會被返還給單片機;單片機通過分析和比較接收到的溫度值來控制風扇的轉速。該系統能夠監測環境溫度并針對溫度變化做出相應的調整措施,解決了以前需要人工操作且效率低下的問題,為社會生產和生活提供了便利。

作者:黃浚恒 李冶 劉賓坤 單位:大連理工大學城市學院

亚洲精品一二三区-久久