胡 瑞
20世紀(jì)80年代以風(fēng)扇為代表的散熱器開始在我國興起,傳統(tǒng)的散熱器在家庭、醫(yī)院、辦公等公共場所廣泛應(yīng)用[1].然而傳統(tǒng)散熱器無法自動根據(jù)環(huán)境溫度轉(zhuǎn)換檔位,改變風(fēng)速,造成了資源的浪費.基于此,本文設(shè)計了一種新型智能散熱器,可以由實際使用者預(yù)設(shè)各個檔位的開啟溫度,此智能散熱器能夠根據(jù)環(huán)境溫度的變化自動轉(zhuǎn)換到不同的檔位,改變風(fēng)速.
本系統(tǒng)采用AT89C51為控制核心.此時,若環(huán)境溫度低于所有檔位的開啟溫度,散熱器不啟動.當(dāng)環(huán)境溫度處于某個檔位溫度范圍時,散熱器在相對應(yīng)的檔位工作.根據(jù)外界環(huán)境溫度的不同,散熱器自動進(jìn)行檔位選擇.散熱器檔位的不同,對應(yīng)的風(fēng)速也不同.散熱器各個檔位的開啟溫度可以通過按鍵電路由用戶自行輸入.系統(tǒng)處于開啟還是關(guān)閉狀態(tài)、環(huán)境溫度、各個檔位的開啟溫度、當(dāng)前所處的檔位可以顯示在顯示器上.系統(tǒng)整體框圖如圖1所示.系統(tǒng)整體原理圖如圖2所示.
圖1 系統(tǒng)整體框圖
圖2 系統(tǒng)整體原理圖
系統(tǒng)硬件電路的設(shè)計可分為4個部分,包括:按鍵模塊電路設(shè)計,溫度采集模塊電路設(shè)計,電機(jī)驅(qū)動模塊電路設(shè)計,顯示模塊電路設(shè)計.
本文對各個檔位的開啟溫度的設(shè)定是通過按鍵電路來設(shè)定的.本文使用非編碼鍵盤,其結(jié)構(gòu)相對簡單.由于本文所需按鍵相對較少,只需要4個按鍵,所以采取獨立按鍵的形式.每個按鍵均占有一個I/O口,按鍵之間不會相互影響.
本文采用數(shù)字式溫度傳感器DS18B20對環(huán)境溫度進(jìn)行采集.DS18B20以其功耗小、微型化、性能高、抗干擾能力強(qiáng)的優(yōu)點,在實際生活中得到越來越廣泛地應(yīng)用[2].DS18B20具有“單線總線”接口,具有傳輸距離遠(yuǎn),接口簡單,體積小等特點.其測溫范圍為-55℃~125℃,可通過一根接線實現(xiàn)與微處理器的雙向通信.
本文使用L298驅(qū)動芯片,可以用來驅(qū)動直流電動機(jī)和步進(jìn)電動機(jī)、繼電器、線圈等感性負(fù)載[3].L298驅(qū)動芯片內(nèi)部包含4信道邏輯驅(qū)動電路,內(nèi)含2個H-Bridge的高電壓、大電流的雙全橋式驅(qū)動器.單片機(jī)輸出的電流一般無法帶動電機(jī)正常工作,所以需要驅(qū)動電路將電流信號放大.
本文只需要帶動一個直流電動機(jī),所以只使用 ENA 接口.ENA 接口控制 IN1、IN2、OUT1、OUT2.當(dāng)IN1為高/低電平時,OUT1的輸出為高/低電平.同理,當(dāng)IN2為高/低電平時,OUT2輸出也為高/低電平.當(dāng)OUT1與OUT2輸出有電平差時,電機(jī)轉(zhuǎn)動.
本文通過控制IN1與IN2的導(dǎo)通時間,來改變電機(jī)的轉(zhuǎn)速.由PWM知識可知,定頻調(diào)寬方法中,一個周期中,開關(guān)開通時間不同,以及占空比不同,輸出的平均電壓也不同,由此,可以改變電機(jī)的轉(zhuǎn)速.
顯示元件一般有發(fā)光管、LED數(shù)碼管、液晶顯示器.根據(jù)本文所要顯示的內(nèi)容,選擇液晶模塊LM016L.
LM016L液晶模塊采用HD44780控制器.HD44780具有簡單且功能較強(qiáng)的指令集,可以實現(xiàn)字符移動、閃爍等功能.LM016L中VSS接地,VDD接+5V電源,VEE接一個10K的電位器來調(diào)節(jié)對比度,D0~D7與單片機(jī)的P0.0~P0.7相連,P0口需要接10K的上拉電阻.
本系統(tǒng)的軟件設(shè)計主要分為溫度采集、按鍵電路、液晶顯示、直流電機(jī)驅(qū)動.本系統(tǒng)采用C語言進(jìn)行編譯和調(diào)試[4].系統(tǒng)上電后,首先進(jìn)行初始化設(shè)置,初始化后溫度傳感器DS18B20會將環(huán)境溫度發(fā)送給單片機(jī),單片機(jī)將環(huán)境溫度與預(yù)設(shè)的檔位溫度進(jìn)行比較,判斷散熱器處于什么檔位,然后調(diào)節(jié)占空比來改變PWM的脈寬,輸出對應(yīng)的風(fēng)速.按鍵電路可以用來改變各個檔位的開啟溫度,各人可以根據(jù)自己的喜好來預(yù)設(shè)各個檔位的開啟溫度.這里一共劃分為三擋,其中一檔對應(yīng)的占空比為20%,二擋為50%,三擋為80%.
按鍵電路程序設(shè)計主要采用按鍵的掃描形式來判斷被按下的鍵并作出相應(yīng)的反應(yīng)[1].要想改變檔位的開啟溫度,首先需要按下設(shè)定按鍵,當(dāng)檢測到設(shè)定按鍵按下一次時,此時對應(yīng)的是三擋預(yù)設(shè)溫度選項,P1.0輸出低電平,可以改變?nèi)龘醯念A(yù)設(shè)溫度,此時按下溫度加鍵一次,P1.1輸出低電平,三擋預(yù)設(shè)溫度增加一度,同理,按下溫度減鍵一次,P1.2輸出低電平,三擋溫度減少一度.此時,若再按設(shè)定按鍵一次,可以進(jìn)入二擋預(yù)設(shè)溫度選項,再按一次可以進(jìn)入一擋預(yù)設(shè)溫度選項,再按一次又回到三擋預(yù)設(shè)溫度選項.按下退出按鍵,P1.3輸出低電平,按鍵電路不再起作用,直至重新按下設(shè)定鍵.各個檔位預(yù)設(shè)溫度選擇流程圖如圖3所示,主程序流程圖如圖4所示.
圖3 各個檔位預(yù)設(shè)溫度選擇流程圖
圖4 主程序流程圖
以下為按鍵電路的部分程序:
Void key(){if(k1==0){if(k1==0){delay(10);flag++;if(flag>3)flag=1;while(k1==0);}}{...}}
首先在Keil中編寫本設(shè)計所需要的程序,然后在Keil中將該程序生成“**.hex”的文件.打開在Proteus中已畫好的本設(shè)計的電路原理圖,雙擊單片機(jī),在彈出來的屬性對話框中找到“Pro?gram File”將“**.hex”文件加載到單片機(jī)中進(jìn)行仿真.通過仿真可以觀察散熱器在不同的溫度環(huán)境下的轉(zhuǎn)速特性.
在進(jìn)行硬件電路的調(diào)試的時候要注意實際元器件的各引腳排列與Proteus中元器件并不完全一致[5],避免出現(xiàn)不必要的錯誤.本設(shè)計的實際電路通過調(diào)試實現(xiàn)了預(yù)定功能.
本文通過Proteus仿真與硬件調(diào)試相結(jié)合的方式對智能散熱器進(jìn)行設(shè)計.通過仿真與實物驗證實現(xiàn)了本設(shè)計的各項功能.單片機(jī)、DS18B20溫度傳感器、LM016L液晶顯示器等硬件設(shè)備組成了該系統(tǒng)的硬件電路,并采用PWM技術(shù),實現(xiàn)了在不同溫度環(huán)境下散熱器轉(zhuǎn)速自動變化的功能.本設(shè)計具有智能化、結(jié)構(gòu)簡單、成本降低、操作簡單等優(yōu)點.可以在多種場合下應(yīng)用.同時,只要對硬件設(shè)備和程序作出修改便可以在調(diào)速系統(tǒng)、溫度檢測系統(tǒng)、通風(fēng)系統(tǒng)等其他系統(tǒng)下使用,具有一定的市場前景.