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