黃浚恒,李 冶,劉賓坤
(大連理工大學(xué)城市學(xué)院,遼寧 大連 116000)
散熱風(fēng)扇在生活中是不可或缺的,但是只依靠人工手動(dòng)地開啟與停止風(fēng)扇是比較繁瑣的,而且也不能精確地感知周圍的溫度,所以加入單片機(jī)對(duì)風(fēng)扇進(jìn)行控制是一種更有效和更方便的方法?,F(xiàn)如今很多人利用單片機(jī)控制風(fēng)扇進(jìn)行散熱,比如在電腦機(jī)房里,考慮到線路問(wèn)題,室內(nèi)溫度不能太高,這種情況下為了保證電路的穩(wěn)定性和可靠性,就可以考慮采用單片機(jī)控制風(fēng)扇這種方式。為此,本文設(shè)計(jì)了一種智能溫度控制風(fēng)扇,此裝置通過(guò)溫度傳感器監(jiān)測(cè)溫度并且用單片機(jī)控制風(fēng)扇的轉(zhuǎn)速。
溫控風(fēng)扇系統(tǒng)由復(fù)位電路、晶振電路、5 V電源、電機(jī)驅(qū)動(dòng)、LCD顯示、溫度采集電路、獨(dú)立按鍵電路、風(fēng)扇控制電路、蜂鳴器提示電路組成。
微處理器模塊:STC89C51單片機(jī)擁有32位雙向輸入輸出線、2個(gè)16位定時(shí)器、5個(gè)中斷源、1個(gè)全雙工的異步串行口,具有抗干擾能力強(qiáng)、寬電壓、不怕電源抖動(dòng)的特點(diǎn)。單片機(jī)最小系統(tǒng)主要由時(shí)鐘電路、復(fù)位電路、電源電路和STC89C51單片機(jī)組成。其中時(shí)鐘電路提供的時(shí)鐘信號(hào)為單片機(jī)提供一個(gè)時(shí)間基準(zhǔn);復(fù)位電路是為了使單片機(jī)回到原始狀態(tài)重新執(zhí)行程序;5 V電源主要為單片機(jī)供電以保證其正常工作。
顯示模塊:LCD顯示模塊可以只用D4~D7作為四位數(shù)據(jù)分兩次傳送,能節(jié)省I/O口資源;顯示屏能顯示32個(gè)字符,即2行16個(gè)字符;有8位數(shù)據(jù)總線和3個(gè)控制端口,可以調(diào)節(jié)對(duì)比度和背光。LCD1602是一種顯示字母、數(shù)字、符號(hào)的點(diǎn)陣型液晶模塊。顯示內(nèi)容分兩種:一種是常用字符,存儲(chǔ)在CGROM中,用戶可以直接調(diào)用;另一種是自定義的字符,同樣存儲(chǔ)在CGROM中。在LCD顯示模塊中,當(dāng)輸入的接口信號(hào)RS=0、RW=1時(shí),引腳E輸出高電平,輸出的D0~D7為狀態(tài)字,此時(shí)為讀狀態(tài)模式;當(dāng)輸入的RS=1、RW=1時(shí),E輸出高電平,輸出的D0~D7為數(shù)據(jù),此時(shí)為讀數(shù)據(jù)模式;當(dāng)輸入的RS=0、RW=0時(shí),E輸出低電平,此時(shí)為寫命令模式;當(dāng)輸入的RS=1、RW=0時(shí),E輸出低電平,此時(shí)為讀命令模式。
溫度采集模塊:系統(tǒng)采用的DS18B20溫度傳感器有64位ROM、溫度傳感器、溫度報(bào)警觸發(fā)器TH和TL三個(gè)主要數(shù)字部件,具有非易失性用戶可編程上限的報(bào)警功能和較低的觸發(fā)點(diǎn),只需要一根總線與微處理器進(jìn)行連接;還可以直接從數(shù)據(jù)線供電,無(wú)需外部電源。每個(gè)DS18B20溫度傳感器都許可多個(gè)DS18B20在同一總線上運(yùn)行,因此使用一個(gè)單片機(jī)就可以很簡(jiǎn)單地控制大面積的DS18B20,可以用在工業(yè)系統(tǒng)、熱敏系統(tǒng)、溫度監(jiān)控系統(tǒng)上。DS18B20在一條線的單個(gè)端口條件下要先建立一個(gè)協(xié)議,才可對(duì)存儲(chǔ)器進(jìn)行操作處理;一條指令對(duì)DS18B20進(jìn)行一次溫度測(cè)量,將所測(cè)量的結(jié)果放到暫存器中,可以用一條讀指令把暫存器中的數(shù)據(jù)讀出。DS18B20通過(guò)一個(gè)振蕩器來(lái)確定一個(gè)門周期,計(jì)數(shù)器在周期內(nèi)對(duì)這個(gè)振蕩器所產(chǎn)生的脈沖進(jìn)行計(jì)數(shù)來(lái)得到相對(duì)應(yīng)的溫度值。
按鍵模塊:按鍵一端與單片機(jī)的I/O口相連接,另一端與地相連接。單片機(jī)的I/O在沒(méi)有作為輸出的情況下默認(rèn)高電平,當(dāng)按鍵按下后相當(dāng)于I/O口短接電源地,這種按鍵的接觸方式會(huì)產(chǎn)生抖動(dòng)的情況,所以在程序中需要適當(dāng)?shù)丶由隙虝旱难訒r(shí)消抖。通過(guò)檢測(cè)I/O口是否會(huì)出現(xiàn)低電平并進(jìn)行消抖就可以判斷是否有按鍵按下,再執(zhí)行對(duì)應(yīng)的功能。設(shè)置鍵的作用是能在加值鍵和減值鍵之間進(jìn)行切換,方便控制溫度值的范圍。加值鍵能調(diào)整溫度的上限值,減值鍵能調(diào)整溫度的下限值。三個(gè)按鍵的功能如下:
(1)第一個(gè)位置的按鍵:按下后進(jìn)入上下限設(shè)置。
(2)第二個(gè)位置的按鍵:在所對(duì)應(yīng)的模式下,對(duì)應(yīng)參數(shù)加1。
(3)第三個(gè)位置的按鍵:在所對(duì)應(yīng)的模式下,對(duì)應(yīng)參數(shù)減1。
驅(qū)動(dòng)模塊:采用了L9110S電機(jī)驅(qū)動(dòng),L9110是為控制電機(jī)和驅(qū)動(dòng)電機(jī)而設(shè)置的一個(gè)兩通道推挽式功率放大集成器件,其特點(diǎn)是:具有較低的飽和壓降;TTL/CMOS輸出電平可以直接連接CPU,并且具有比較好的抗干擾性;低靜態(tài)的工作電流;內(nèi)置的鉗位二極管能夠釋放出反向沖擊的電流,使其在驅(qū)動(dòng)繼電器、直流電機(jī)、步進(jìn)電機(jī)時(shí)更安全可靠。兩個(gè)輸出的電平可以驅(qū)使電機(jī)進(jìn)行正反轉(zhuǎn),L9110的IA引腳接高電平,單片機(jī)的I/O口接IB引腳,所以單片機(jī)I/O口輸出低電平時(shí)電機(jī)轉(zhuǎn)動(dòng),當(dāng)I/O口輸出高電平時(shí)電機(jī)停止。
蜂鳴器模塊:蜂鳴器選用5 V的電磁式有源蜂鳴器,由于蜂鳴器的工作電流一般比較大,以致單片機(jī)的I/O口無(wú)法直接驅(qū)動(dòng),所以要利用三極管開關(guān)電路來(lái)驅(qū)動(dòng)。本文選用的是8550三極管,它是一個(gè)PNP型的三極管。當(dāng)I/O口輸出低電平時(shí),三極管導(dǎo)通,蜂鳴器響起;當(dāng)I/O口輸出高電平時(shí),三極管截止,蜂鳴器也停止響聲。
系統(tǒng)通過(guò)溫度傳感器采集周圍環(huán)境的溫度,將采集到的溫度轉(zhuǎn)換為溫度信號(hào),把溫度信號(hào)傳輸給單片機(jī),單片機(jī)對(duì)溫度信號(hào)進(jìn)行加工處理并輸出到顯示屏中,在顯示屏上顯示出當(dāng)前的溫度數(shù)值,調(diào)用風(fēng)扇的控制函數(shù),進(jìn)而控制風(fēng)扇的轉(zhuǎn)速大小。當(dāng)所測(cè)的溫度超出設(shè)定的溫度閾值時(shí),風(fēng)扇為最高轉(zhuǎn)速,蜂鳴器報(bào)警;當(dāng)所測(cè)的溫度處于設(shè)定的溫度閾值之間時(shí),風(fēng)扇為正常轉(zhuǎn)速,蜂鳴器停止;當(dāng)所測(cè)的溫度值低于設(shè)定的溫度閾值時(shí),風(fēng)扇停止,蜂鳴器停止。主程序流程如圖1所示。
圖1 主程序流程
使用Proteus制作出原理圖,選擇程序后運(yùn)行加載程序,得到的結(jié)果如圖2所示。當(dāng)前環(huán)境溫度為28.12 ℃,處于設(shè)置的溫度上限值和下限值之間,蜂鳴器停止,風(fēng)扇低速轉(zhuǎn)動(dòng),LED燈亮,通過(guò)加值鍵和減值鍵調(diào)整溫度閾值來(lái)控制風(fēng)扇轉(zhuǎn)速。在仿真過(guò)程中添加一個(gè)上拉排阻,它的作用為:增強(qiáng)輸出引腳的驅(qū)動(dòng)能力,提高輸出電平;提高芯片輸入信號(hào)的噪聲容限,增強(qiáng)抗干擾能力,提高輸出的高電平值。
圖2 Proteus仿真圖
系統(tǒng)的軟件方面通過(guò)Keil軟件進(jìn)行編寫,將編寫好的程序生成.HEX文件后通過(guò)下載器下載到單片機(jī)中。通過(guò)觀察整個(gè)系統(tǒng)運(yùn)行的狀態(tài),然后對(duì)程序進(jìn)行修改和調(diào)試,最終能夠獲到一個(gè)完整的程序。在調(diào)試過(guò)程中發(fā)現(xiàn)按鍵按下抖動(dòng)會(huì)產(chǎn)生誤差,致使實(shí)驗(yàn)數(shù)據(jù)產(chǎn)生偏差,所以加入延時(shí)函數(shù)判斷按鍵按下與松開的狀態(tài),以此來(lái)消除因抖動(dòng)帶來(lái)的誤差。在實(shí)驗(yàn)中發(fā)現(xiàn)顯示屏的亮度很低,不便于觀察,因此加入電位器、旋轉(zhuǎn)電位器可以調(diào)整顯示屏的對(duì)比度,使顯示屏更加明亮。為了使風(fēng)扇的溫度閾值能夠在加減鍵之間進(jìn)行切換,所以添加了一個(gè)設(shè)置切換按鍵。
在如今信息飛速發(fā)展的時(shí)代,單片機(jī)在各行各業(yè)里都是不可缺少的,人們靈活地使用單片機(jī)能增加許多工作效率。本文將51單片機(jī)與風(fēng)扇結(jié)合起來(lái),實(shí)現(xiàn)了智能溫控風(fēng)扇系統(tǒng),主要基于51單片機(jī)和DS18B20溫度傳感器監(jiān)測(cè)環(huán)境溫度,監(jiān)測(cè)到的溫度值會(huì)被返還給單片機(jī);單片機(jī)通過(guò)分析和比較接收到的溫度值來(lái)控制風(fēng)扇的轉(zhuǎn)速。該系統(tǒng)能夠監(jiān)測(cè)環(huán)境溫度并針對(duì)溫度變化做出相應(yīng)的調(diào)整措施,解決了以前需要人工操作且效率低下的問(wèn)題,為社會(huì)生產(chǎn)和生活提供了便利。