林建華
(閩南理工學(xué)院,福建 石獅 362700)
在國內(nèi),大部分農(nóng)村地區(qū)普遍使用電風(fēng)扇作為夏天降溫防暑設(shè)備。夏秋季節(jié)白天溫度高,電風(fēng)扇應(yīng)置于高速檔,大風(fēng)量才使人感到?jīng)鏊?;到了夜里,氣溫降低,?dāng)人們?nèi)胨?,?yīng)該逐步減小風(fēng)速,以免使人受涼感冒。雖然電風(fēng)扇都有手動調(diào)節(jié)檔位的功能,但必須要人手動切換檔速,睡著了就沒辦法了。利用 AT89S52單片機設(shè)計智能溫控電風(fēng)扇控制系統(tǒng),能解決深夜當(dāng)人們熟睡時因溫度下降而導(dǎo)致著涼,或是從睡夢中醒來去控制電風(fēng)扇風(fēng)速的問題。本控制系統(tǒng)實時顯示檢測溫度值,并根據(jù)用戶設(shè)定的上、下限溫度值自動在相應(yīng)溫度下作出高速檔、低速檔、停止的動作,從而實現(xiàn)智能控制電風(fēng)扇的風(fēng)速目的,形成一個經(jīng)濟的、節(jié)能的智能溫控系統(tǒng)。
系統(tǒng)設(shè)計的總框圖如圖1所示。
單片機通過檢測DS18B20采集的溫度作相應(yīng)處理并送數(shù)碼管顯示當(dāng)前溫度值,同時當(dāng)前顯示溫度值與用戶設(shè)定的上、下限溫度值進(jìn)行比較,根據(jù)比較的結(jié)果控制高速檔、低速檔、停止檔相對應(yīng)的繼電器的通斷,從而控制電風(fēng)扇的電動機接線方式,實現(xiàn)對風(fēng)扇風(fēng)速的控制。硬件電路設(shè)計包括單片機主控電路、數(shù)碼管顯示電路、溫度采集、蜂鳴器、繼電器控制電路、+5V供電電源等。主程序編程用來實現(xiàn)對溫度的檢測、數(shù)碼顯示、蜂鳴器、繼電器控制等處理功能。
圖1 系統(tǒng)結(jié)構(gòu)框圖
AT89S52單片機作為本系統(tǒng)的控制核心,用于控制溫度采集、數(shù)碼管顯示、蜂鳴器、繼電器控制及用戶上下限溫度值設(shè)置鍵。在本系統(tǒng)設(shè)計電路中,溫度采集定義 DS18B20的DQ端口為P3.3;數(shù)碼管顯示電路定義P0口連接七段數(shù)碼管,P2口作為數(shù)碼管的位選信號;P1.0為手動檔電源開關(guān),P1.1為自動檔電源開關(guān),P1.2為高速檔,P1.3為低速檔,P1.4 為顯示值減1,P1.5為顯示值加1, P1.6 為設(shè)置鍵;P3.0為蜂鳴器報警等。
2.1.1 溫度采集
溫度采集電路主要采用溫度傳感器DS18B20作為感測溫度的核心元件,它可把采集的溫度信號轉(zhuǎn)換成數(shù)字量,送單片機處理后,輸出送數(shù)碼管顯示當(dāng)前溫度值。DS18B20的DQ端口接P3.3口,如圖2所示。
圖2 溫度采集
2.1.2 數(shù)碼管顯示電路
數(shù)碼管顯示電路利用8個共陽數(shù)碼管、PNP三極管、電阻構(gòu)成。單片機的P0口作為段碼輸入,P2口作為位選,并用8550三極管做驅(qū)動。P0口做I/O口時要加上拉電阻,所以給P0各端口加一個10KΩ的電阻。為了防止燒壞數(shù)碼管,給數(shù)碼管各段各加一個220Ω的限流電阻。顯示時數(shù)據(jù)通過P0口送給數(shù)碼管顯示,通過P2口對數(shù)碼管進(jìn)行位選,數(shù)碼管被逐位掃描顯示其當(dāng)前溫度值。如圖3所示,
圖3 數(shù)碼管顯示電路
2.1.3 用戶上下限溫度值設(shè)置
用戶上下限溫度值設(shè)定由單片機的P1.4、P1.5、P1.6口外接的3個點動按鈕S1、S2、S3來完成,如圖3所示。S3為設(shè)置鍵,S2為顯示溫度值加1,S1為顯示溫度值減1。當(dāng)按下設(shè)置鍵S3,進(jìn)入上限溫度值設(shè)置項,此時按下S2鍵,溫度值加1,長按S2不放可實現(xiàn)快速加1,按下S1鍵,上限溫度值減1,長按S1不放可實現(xiàn)快速減1。再一次按設(shè)置鍵S3,進(jìn)入下限溫度值設(shè)置項,此時按S2、S1鍵,可對下限值加 1或減 1。上限溫度值和下限溫度值的設(shè)置范圍為-9℃~99℃,可以滿足一般使用要求。再按一次設(shè)置鍵S3,可切換到手動控制狀態(tài),此時數(shù)碼管顯示的是當(dāng)前溫度值,這時電風(fēng)扇切換到手動控制模式。再次按下設(shè)置鍵 S3,又切換到溫控自動控制,或按接P1.7腳的S4按鍵,也可以從手動控制切換到溫控模式。
2.1.4 繼電器控制電路
繼電器控制電路由單片機的 P1.0~P1.3控制,如圖 4所示。上電默認(rèn)為智能溫控模式,電風(fēng)扇一通電,P1.1輸出低電平,Q11導(dǎo)通,繼電器K2吸合,K1釋放。單片機自動檢測溫度傳感器采集的溫度信號轉(zhuǎn)換成數(shù)字量,送數(shù)碼管顯示,并與用戶設(shè)置的上、下限溫度值進(jìn)行比較,當(dāng)前顯示溫度值高于用戶設(shè)定的上限溫度值時,P1.2輸出低電平,Q12導(dǎo)通,繼電器K3吸合,電源接通電風(fēng)扇電機的高速檔;當(dāng)前顯示溫度值介于用戶所設(shè)的上、下限溫度值時,P1.3輸出低電平,Q13導(dǎo)通,繼電器K4吸合,電源接通電機的低速檔;當(dāng)前顯示溫度值低于下限溫度值時,關(guān)閉風(fēng)扇。
當(dāng)要切換到手動控制時,按S3設(shè)置鍵3次,從智能溫控模式切換到手動控制,P1.0輸出低電平,Q10導(dǎo)通,繼電器K1吸合,K2釋放。此時可以通過調(diào)節(jié)定時器及調(diào)速檔開關(guān)控制電風(fēng)扇的風(fēng)速。按下S4時,又可切換到智能溫控模式。
圖4 繼電器控制電路
單片機+5V供電電源采用LM7805集成穩(wěn)壓器,220V電源經(jīng)變壓器降壓、整流、濾波后送入LM7805穩(wěn)壓,輸出端接一個470uF和0.1uF電容濾除紋波,得到+5V穩(wěn)壓電源。電路如圖5所示。
圖5 供電電源電路
單片機首先對DS18B20進(jìn)行復(fù)位和檢測,當(dāng)檢測到傳感器存在時,發(fā)出溫度轉(zhuǎn)換命令和讀取溫度命令,將從DS18B20讀取的二進(jìn)制溫度值轉(zhuǎn)換為七段碼在數(shù)碼管上顯示出來。顯示功能由溫度顯示子程序?qū)崿F(xiàn),數(shù)碼管逐位掃描顯示當(dāng)前溫度值。用戶可根據(jù)需要自行設(shè)置風(fēng)速檔的切換上、下限溫度值,硬件設(shè)計上可通過3個按鍵,由按鍵檢測函數(shù)程序提供軟件支持。用戶設(shè)定的上、下限溫度值均保存到DS18B20的EEROM內(nèi),在單片機掉電后仍然保存設(shè)定值,再次上電時從DS18B20的EEROM中讀取上次設(shè)定的上、下限溫度值。用戶要實現(xiàn)根據(jù)當(dāng)前溫度實時的控制電風(fēng)扇的風(fēng)速,需要在程序中不斷的判斷當(dāng)前溫度值是否超過或低于設(shè)定的上、下限溫度值范圍,此部分功能由溫度比較程序來完成。在執(zhí)行程序不斷將當(dāng)前溫度和設(shè)定動作溫度進(jìn)行比較判斷,控制高速檔、低速檔相應(yīng)繼電器的吸合與釋放,從而實時控制電風(fēng)扇的風(fēng)速。
根據(jù)已定義的單片機各端口及設(shè)計的硬件電路,編寫程序,并利用單片機Proteus ISIS和Keil軟件對智能溫控電風(fēng)扇控制進(jìn)行調(diào)試、仿真測試,直至實現(xiàn)其控制要求。
然后按已設(shè)計的硬件電路圖對各單元電路進(jìn)行安裝與焊接,并確保電路安裝正確無誤。用燒寫器將KEIL軟件對應(yīng)源程序編譯生成的.HEX文件寫入 AT89S52單片機芯片中。組裝整個系統(tǒng),將單片機插入到目標(biāo)板中,進(jìn)行整機的調(diào)試。
風(fēng)扇接上電源,如數(shù)碼管顯示當(dāng)前溫度值22.5℃-L,表明電風(fēng)扇處于低速檔運行。按設(shè)置鍵S3及S2、S1鍵可重新設(shè)置上、下限溫度值,如果將上限溫度值設(shè)為25.0℃,將下限溫度值設(shè)為23.0℃。確定后,因當(dāng)前溫度值低于下限溫度值,電風(fēng)扇停止,數(shù)碼管顯示 22.1℃-P。然后用手捏著DS18B20,顯示溫度逐步上升,當(dāng)達(dá)到下限溫度值23℃時,繼電器K4吸合,電風(fēng)扇接通低速檔,數(shù)碼管顯示23.X℃-L。溫度繼續(xù)的上升,當(dāng)高于25℃時,繼電器K3吸合,電風(fēng)扇切換到高速檔,數(shù)碼管顯示25.X℃-H。當(dāng)手移開DS18B20,溫度下降,低于 25.0℃時,又切換到低速檔。當(dāng)?shù)陀?3.0℃時,關(guān)閉電風(fēng)扇。
按設(shè)置鍵S3三次,可切換到手動控制模式。此時數(shù)碼管顯示當(dāng)前溫度值。此時可通過手動調(diào)節(jié)定時器和調(diào)速開關(guān)控制電風(fēng)扇的風(fēng)速。再按S4時,又切換到智能溫控模式。
經(jīng)實驗測試表明,該系統(tǒng)實現(xiàn)了預(yù)期的控制功能。
該系統(tǒng)利用 AT89S52單片機實現(xiàn)的智能溫控電風(fēng)扇控制系統(tǒng),性能可靠,控制準(zhǔn)確,成本低,解決了人們手動操作的麻煩,具有重要的應(yīng)用價值。如將電路和程序稍作修改,還可以實現(xiàn)其他一些控制功能,如大棚溫度控制、電動機溫度檢測、加熱爐、熱處理爐和鍋爐溫度檢測等,系統(tǒng)移植性強,控制方便。
[1]劉綠山,劉建群,李仕勇,等.基于AT89S52單片機的溫控系統(tǒng)[J].微計算機信息,2007,(17).
[2]吳金戍,沈慶陽,郭庭吉.8051單片機實踐與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[3]榮俊昌.新型電風(fēng)扇原理與維修[M].北京:高等教育出版社,2004.
[4]明德剛.DS18B20在單片機溫控系統(tǒng)中的應(yīng)用[J].貴州大學(xué)學(xué)報(自然科學(xué)版),2006,(1).
[5]馬云峰.單片機與數(shù)字溫度傳感器DS18B20的接口設(shè)計[J].計算機測量與控制,2007,(4).
[6]孟武勝,李亮.基于AT89C52單片機的步進(jìn)電機控制系統(tǒng)設(shè)計[J].微電機,2007,(3).