彭文莉


摘要:隨著單片機技術在風扇系統中的融入,智能風扇逐漸進入人們的日常生活。文章設計實現了一個基于51單片機的多功能智能控溫風扇系統。該系統采用DS18B20溫度傳感器檢測環境溫度,主要模塊包括主控模塊、電源電路、MCU控制模塊、溫度采集模塊、無線遙控模塊、電機模塊和數碼管顯示模塊。經過測試,該系統能檢測電風扇周圍環境溫度并且根據用戶設定的調溫模式自動進入識別模式。若是自動調溫模式,系統則會控制電風扇轉速并根據溫度的變化做出相應的調整。
關鍵詞:單片機;風扇系統;控溫;傳感器
中圖分類號:TP311.1文獻標志碼:A
0 引言
隨著計算機技術和通信技術的飛速發展,人們的生活質量逐步提高。在炎熱的夏季,采用空調制冷的頻率遠遠高于風扇。近年來,由于環保意識的增強,風扇又逐漸進入人們的生活,尤其受到老人和兒童的青睞[1]。市場人士稱,家用電風扇其實并沒有隨著空調的普及而淡出市場,近年來反而出現了市場銷售復蘇的態勢[2]。其主要原因:(1)風扇和空調的降溫效果不同,空調有強大的制冷功能,可以快速有效地降低環境溫度,但電風扇的風更溫和,更加適合老人兒童和體質較弱的人使用;(2)電風扇有價格優勢,價格便宜而且相對省電,安裝和使用都非常簡單[3]。將單片機技術融入風扇系統,設計與實現一款具有智能調控風速功能的風扇具有非常重要的現實意義。
1 傳統電風扇存在的問題與現實需求分析
傳統電風扇多采用機械方式進行控制,功能少,噪聲大,各擋的風速變化大[4]。隨著科技的發展和人們生活水平的提高,家用電器產品趨向于自動化、智能化、環?;腿诵曰沟糜晌C控制的智能電風扇得以出現。而傳統的溫控風扇利用風扇軸承附近的測溫探頭偵測風扇的進風口溫度,從而對風扇的轉速進行調節。這種溫控雖然解決了一定的問題,但是存在著精度粗糙,而且溫控的轉速只能做到高速和低速兩極變速。本文基于單片機,將它和主板的CPU溫度偵測相結合并應用于風扇的轉速精確控制上。
本文設計的智能控溫風扇系統,要求在用戶端采用數碼管實時顯示溫度;可以手動設置溫度的上下限,主要包含3個按鍵,分別是設置鍵、加鍵和減鍵。當溫度小于下限風扇不轉,溫度在上下限之間50%時轉動,大于上限時,風扇全速轉動。
2 需求解決方案
基于問題總結和現實需求分析,本系統提出了一種解決方案,總體設計思路闡述如下:系統以STC90C52單片機為基礎,溫度采集選用DSl8B20數字溫度傳感器來檢測溫度,通過無線遙控遠程控制,用戶與單片機的交互需要通過VS1838一體化紅外接收頭來實現,電機使用LM298電機驅動,顯示功能通過LCD12864來實現??傮w框架如圖1所示。
該總體設計方案使得溫度采集模塊可從MCU處理器中獲取CPU的實時溫度信息,MCU處理器將該溫度信息反饋給調速驅動模塊,從而控制電機達到調節風扇風速的目標。(1)本文設計的風扇風級為三級,通過CPU溫度和紅外遙控接收模塊接收的環境溫度實時調整風扇的風級,實現風扇的智能調控。(2)該風扇除三級風級以外,還有一個待機狀態。當MCU處理器溫度處在設定的溫度以下時,將風扇控制在待機狀態,這時的轉速僅為500轉速左右,大大降低了噪聲和風扇的功耗。(3)當MCU處理器的溫度遠遠超過設定的溫度時,調速驅動模塊控制電機在三級以上提高一個轉速。這樣的設計相比傳統的溫控風扇具有更好的靈活性。
3 系統的硬件設計
3.1 控溫風扇系統設計
該控溫風扇系統能獲取紅外線遙控發射模塊讀取的熱敏電阻溫度和MCU處理器的溫度,根據這兩項溫度的高低變化,控制風扇的運轉速度,及時解決噪聲和高功耗的問題。該溫控風扇必須提供足夠的轉速,在高溫下的熱空氣中,風扇能穩定工作。在操作上,風扇的穩壓器可以感受到溫控散熱風扇的加速運轉。而在較低的溫度下,風扇轉速會適當降低,反應時間取決于傳感器的長度及它的熱靈敏度。設計的風扇可以在風扇控制器的控制下,根據溫度的高低自動調整風扇的轉速甚至徹底停轉來達到減小噪聲的目的。
針對環境溫度,利用熱敏電阻感應環境溫度,將環境溫度的數值傳輸給IC控制器,然后IC控制器根據傳回的溫度進行風扇的轉速控制。本文將風扇IC內部設定一個固定的程序,比如,溫度在30℃左右,風扇會以最大擋位持續運行。熱敏電阻偵測到的溫度在25℃左右時,風扇會自動調整轉速,以特定的轉速進行運轉。當熱敏電阻偵測到的溫度小于20℃時,風扇IC控制器會發出停止運轉的指令。
3.2 電源電路設計
單片機電源電路的設計是單片機硬件系統中首先要考慮的一個問題。由于本系統需要連接室內220 V交流電,故本系統采用開關電源將室內U(220 V)交流電壓經過電源變壓器降壓后得到交流電壓U,再經橋式整流得到脈動電壓U。經過一個大電容C和小電容C并聯進行高頻濾波得到電壓U,再經過LM338穩壓器得到相對平滑的電壓U,經輸出整流、輸出濾波電路等把輸出電壓給單片機及其他設備供電。而12864接口電路采用的是12864接口,該接口采用的是兩線的串行接口:一條線是SCK(時鐘線),一條線SID(數據線)。
3.3 溫度傳感器電路設計
本文研究的多功能自動調溫系統中,DS18B20溫度傳感器的作用主要用于檢測風扇當前環境,用來給軟件程序讀取之后根據設定從而達到自動根據不同溫度調整風扇轉速的目的。DS18B20溫度傳感器采用單總線協議與單片機通信,單片機發送一次復位信號后,DS18B20溫度傳感器從低功耗模式轉換到高速模式,等待主機復位。復位結束后,再發送響應信號,并拉高總線準備傳輸數據。一次完整的數據為 40位,按照高位在前、低位在后的順序傳輸。設計該數據格式如表1所示。
表1表明,響應信號的數據校驗和為8位,溫度分為整數部分和小數部分,分別劃分為8位。由于DS18B20溫度傳感器的分辨率只能精確到個位,所以小數部分數據全為 0。校驗和為前 4 個字節數據相加,校驗的目的是保證數據傳輸的準確性。
DS18B20溫度傳感器只有在接收到開始信號后才觸發一次溫度采集,如果沒有接收到主機發送復位信號,則不主動進行溫度采集。當數據采集完畢且無開始信號后,自動切換到低速模式。該電路主要由NPN型晶體管、TLP521-1型光電耦合器和大功率NMOS管組成。上位機程序控制系統將檢測溫度值與系統設定值進行比較,按照PID控制算法進行運算,將單片機中可調的PWM信號,經晶體管驅動后,控制光電耦合器的通斷,繼而控制NMOS管IRF840A的通斷時間,從而控制風扇對象,使其達到設定的風速。
3.4 電機PWM電路設計
電機使用LM298電機驅動,該電機為直流電機,直流電機的控制比較簡單,通過L298N電機驅動配合工作并且性能出眾。電動機是一種旋轉式電動機器,它將電能轉變為機械能,主要包括一個用以產生磁場的電磁鐵繞組或分布的定子繞組和一個旋轉電樞或轉子。在定子繞組旋轉磁場的作用下,其在電樞鼠籠式鋁框中有電流通過并受磁場的作用而使其轉動。這些機器中有些類型可作電動機用,也可作發電機用。它是將電能轉變為機械能的一種機器。通常電動機的做功部分做旋轉運動,這種電動機稱為轉子電動機;也有做直線運動的電動機,稱為直線電動機。
3.5 紅外接收頭和遙控電路設計
實現無線遙控遠程控制需要通過VS1838一體化紅外接收頭來實現功能。這種一體化紅外線接收頭體積小,靈敏度高,外接元件少,抗干擾的能力強,使用起來十分方便。紅外遙控信號是一連串的二進制脈沖。為了使其在無線傳輸過程中免受其他紅外信號的干擾,通常都是先將其調制在特定的載波平率上,然后再經紅外發射二極管發射出去,而紅外線接收裝置則要濾除其他雜波,只接受該特定頻率信號并將其還原成二進制脈沖碼,即解調。在本文所設計的多功能自動調溫系統中,紅外傳感接收頭主要用于接收由無線遙控輸出的信號,實現用戶和單片的交互作用,用來對單片機發出指令。
3.6 OLED12864顯示屏設計
本文設計的顯示屏采用OLED技術。OLED技術的可視角度能降低屏幕的功耗,具有更加完美的可視角度,在物理結構上,兼具柔性、透明等特征,作為風扇的顯示屏會直接提高用戶的體驗,具有核心的優勢。本文設計的屏幕像素矩陣的劃分是比較特殊的,整個屏幕水平方向劃分為8個頁面,垂直方向則是按像素劃分為128 column。每個頁面column包含8個像素,通過一個十六進制數,也就是1個字節,8個位來控制,每個位控制1個像素。即儲存寄存器每個存儲點的0/1控制映射到1個像素點的亮和滅。如果要在左上角顯示一個亮點,需要發送0x01(16進制的1)到數據地址,設計代碼如下:
Wire.beginTransmission(0x3C);// 控制指令
Wire.write(0x40);// 寫地址
Wire.write(0x01);// 寫數據
Wire.endTransmission();// 結束
本文設計的3種模式必須顯示模式和風速,而且不同風速會顯示關、慢、中、快。在溫控模式下,系統還顯示溫度、閾值。定時模式顯示倒計時。
4 系統的軟件設計
程序設計是系統開發不可或缺的一部分,程序設計一般包括繪制程序的流程框圖,編寫程序及匯編幾個步驟。本系統的軟件部分可以分為兩個模式:手動模式和自動模式。在上電進入系統后,本設計會有一個模式選擇的界面產生。軟件的總體設計方案闡述如下:(1)通過PWM驅動控制5 V風扇風速情況;(2)通過步進電機控制風扇搖頭是否啟動;(3)設置是否進行風扇定時;(4)4路按鍵分別負責風扇的啟動/停止、搖頭啟動/停止、風扇速度3擋選擇、定時時間選擇功能;(5)液晶實時顯示風扇的啟動/停止、搖頭啟動/停止、風扇速度3擋情況、定時時間情況;(6)定時結束后,風扇轉動以及搖頭都會停止,和實際使用一致,和按停止按鍵功能一樣;(7)通過藍牙,手機App可查看當前風扇所有狀態,實現控制功能是否完全符合兼容按鍵控制功能。
4.1 模式選擇界面
在選擇模式下可以通過按鍵來切換模式并通過按鍵進入模式,其中,使用K1按鍵來進行模式的選擇,分為自動模式和手動模式;通過K2進入所選擇的模式。部分核心代碼如下。
設備接收命令和按鍵功能對應:*K1# //啟動停止命令;*K2# //搖頭命令;*K3# //速度切換命令;*K4# //定時切換命令。
設備上報命令和紅外數據:*Q1R1S3T15#;Q1 //啟動狀態,如果停止狀態為Q0;R1 //搖頭狀態,如果不搖頭為R0;S3 //風速3擋,可以為0,1,2,3;T15 //定時倒計時剩余15s,如果為T00-T20表示倒計時,如果為TXX表示不定時處于當前狀態。
4.2 手動模式
在手動模式下,通過按鍵來控制風扇的轉動和掃風模式以及退出到選擇界面的功能。在手動模式中,按下K1鍵來進行風扇的加速,分為低速模式、中速模式、高速模式和停止。通過K3來控制掃風,當按下一次K3后,會進入掃風模式,風扇掃風,再次按下K3,停止掃風。按下K4后,會退出手動模式進入模式選擇界面。
4.3 自動模式
在自動模式下,系統會自動檢測周圍環境并決定是否進入掃風模式和使風扇轉動。首先會檢測前方是否有人,若沒有人,無事發生;若有人,進入2。若前方有人,會檢測左側是否有人,若無人且環境溫度大于27℃,風扇轉動但不掃風;若有人,進入3。若左側有人,會檢測右側是否有人,若無人且環境溫度大于27℃,風扇轉動且左半邊掃風;若有人且環境溫度大于27℃,風扇轉動且0度到180度掃風。若環境溫度在27℃到29℃之間,風扇轉速為低速模式;若環境溫度在29℃到31℃之間,風扇轉速為中速模式;若環境溫度在31℃以上,風扇轉速為高速模式。如果要實現自動模式的效果,要在舵機的槳上將電機和紅外模塊粘上,這樣才能更好地實現自動模式中所期望的效果。
5 結語
本文為一種溫控風扇系統,具有靈敏的溫度感測和數碼管顯示功能,系統以STC89C51單片機作為控制平臺對風扇轉速進行控制。可由用戶設置高、低溫度值,測得溫度值在高低溫度之間時打開風扇弱風擋,當溫度升高超過所設定的溫度時自動切換到大風擋,當溫度小于所設定的溫度時自動關閉風扇,控制狀態隨外界溫度而定。所設高低溫值保存在溫度傳感器DS18B20內部E2ROM中,掉電后仍然能保存上次設定值。本系統具有性能穩定、控制準確、成本低、體積小、操作簡單且容易維護等特點。
參考文獻
[1]楊秀秀,晏菁.基于STM32的多功能溫控風扇設計[J].電子測試,2021(19):35-37.
[2]羅政球.基于單片機的多功能遙控智能溫控風扇設計[J].電子制作,2022(7):81-84.
[3]劉晶,鄭紅霞,郭文斌.基于單片機的智能溫控風扇設計[J].農家參謀,2020(22):105-106.
[4]黃浚恒,李冶,劉賓坤.基于51單片機的智能溫控風扇設計[J].物聯網技術,2022(7):127-129.
(編輯 王永超)