厲俊
摘要:本設(shè)計(jì)是一個(gè)溫度控制風(fēng)扇系統(tǒng),該系統(tǒng)采用單片機(jī)STC89C52進(jìn)行控制。系統(tǒng)中的溫度傳感器DS18820,可以對(duì)該系統(tǒng)設(shè)置溫度,所設(shè)置的溫度值保存在DS18820溫度傳感器內(nèi)部的E2ROM中,具有掉電保護(hù)功能,即使掉電之后,最后一次設(shè)定的溫度值在E2ROM中不會(huì)丟失。設(shè)定溫度時(shí)需設(shè)定高溫與低溫值,當(dāng)系統(tǒng)正常工作時(shí),系統(tǒng)會(huì)檢測(cè)外部的溫度情況,如所檢測(cè)的溫度高于所設(shè)定高溫值,則單片機(jī)會(huì)控制風(fēng)扇切換到強(qiáng)風(fēng)檔,如果測(cè)得溫度在高溫與低溫之間,則會(huì)自動(dòng)將風(fēng)扇切換到弱風(fēng)檔,如果測(cè)得溫度低于低溫,則會(huì)將風(fēng)扇關(guān)閉。整個(gè)系統(tǒng)控制精準(zhǔn),工作性能穩(wěn)定。
關(guān)鍵詞:DSl8820傳感器:溫控風(fēng)扇:單片機(jī)STC89C52;智能化控制
0引言
大部分傳統(tǒng)風(fēng)扇都是采用機(jī)械方式進(jìn)行控制,這種方式控制的風(fēng)扇噪音大、功能少,同時(shí)不同檔位之間的風(fēng)量變化較大,已很難滿足人們的要求。隨著電子科技的快速發(fā)展,電器都朝著智能化、自動(dòng)化的方向發(fā)展。于是采用微機(jī)方式控制的風(fēng)扇應(yīng)運(yùn)而生。
傳統(tǒng)風(fēng)扇雖然可以通過換擋來調(diào)節(jié)風(fēng)速,但必須通過手動(dòng)的方式實(shí)現(xiàn),并且定時(shí)功能無法根據(jù)環(huán)境溫度自動(dòng)調(diào)節(jié)關(guān)閉時(shí)間,也無法實(shí)現(xiàn)根據(jù)溫度的變化來自動(dòng)調(diào)節(jié)風(fēng)速的大小。大功率電子產(chǎn)品在工作時(shí),為了使其能夠很好地散熱,保持低溫狀態(tài),都會(huì)采用風(fēng)扇對(duì)其降溫,這就需要風(fēng)量大、功率大以及轉(zhuǎn)速大的風(fēng)扇,而一旦風(fēng)扇轉(zhuǎn)速快,功率大了之后,就會(huì)出現(xiàn)噪聲大的問題,而如果使用小功率風(fēng)扇,雖然能減少噪聲,但是又無法使大功率電子設(shè)備保持良好散熱。因此很難實(shí)現(xiàn)兩全其美。
為了使上述的問題得到很好地解決,本文設(shè)計(jì)了一款智能溫控風(fēng)扇系統(tǒng),該系統(tǒng)采用單片機(jī)控制,使用的溫度傳感器具有高精度等特點(diǎn),能夠?qū)崟r(shí)地將當(dāng)前的溫度進(jìn)行顯示,同時(shí)用戶還可以根據(jù)實(shí)際情況對(duì)其進(jìn)行溫度設(shè)定,一旦溫度設(shè)定后,系統(tǒng)就會(huì)根據(jù)外界溫度的變化自動(dòng)控制風(fēng)扇,實(shí)現(xiàn)關(guān)機(jī)、弱風(fēng)、強(qiáng)風(fēng)三擋的自動(dòng)切換,系統(tǒng)具有精確度高,性能穩(wěn)定等特點(diǎn)。
1 系統(tǒng)整體設(shè)計(jì)
智能溫控風(fēng)扇系統(tǒng)核心控制芯片采用STC89C52單片機(jī),對(duì)外界溫度的采集使用型號(hào)為DS18820的數(shù)字溫度傳感器,能精確地測(cè)量外界的溫度情況,使風(fēng)扇的風(fēng)速以及開關(guān)情況能夠?qū)崿F(xiàn)自動(dòng)調(diào)節(jié)。另外,該系統(tǒng)還配備了按鍵以及紅外接收功能,可以通過紅外進(jìn)行遠(yuǎn)程遙控,或者利用按鍵對(duì)風(fēng)扇進(jìn)行控制。用戶可以對(duì)該系統(tǒng)的溫度情況進(jìn)行設(shè)定,如果環(huán)境溫度低于所設(shè)定的最小溫度,系統(tǒng)就會(huì)自動(dòng)將風(fēng)扇關(guān)閉。相反,如果高于這個(gè)溫度,系統(tǒng)就會(huì)重新啟動(dòng)風(fēng)扇。圖1為系統(tǒng)設(shè)計(jì)結(jié)構(gòu)框圖。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)的硬件部分主要包括STC89C52單片機(jī)、DSl8820溫度傳感器、電機(jī)調(diào)速控制模塊、LCD液晶和風(fēng)扇。
2.1 單片機(jī)的選用
STC89C52是一款8位的單片機(jī),功耗小、性能高、工作穩(wěn)定。內(nèi)部集成了4KB的PEROM以及128KB的RAM,對(duì)單片機(jī)編寫的程序可以燒人到該芯片的存儲(chǔ)器當(dāng)中。該單片機(jī)擁有32個(gè)I/O口,中斷口。內(nèi)部擁有16bit的計(jì)數(shù)器以及定時(shí)器。同時(shí)具備一個(gè)全雙工串口,可以很好地對(duì)串口設(shè)備進(jìn)行通信。正因?yàn)槠涔δ軓?qiáng)大、性能穩(wěn)定,所以在很多電子領(lǐng)域當(dāng)中運(yùn)用。
智能溫控風(fēng)扇系統(tǒng)的核心控制器為STC89C52,使用高精度的溫度傳感器實(shí)時(shí)地檢測(cè)外界環(huán)境的溫度變化,能夠精確地檢測(cè)出環(huán)境溫度的微小變化,同時(shí)將所檢測(cè)的溫度情況實(shí)時(shí)地顯示在電路中的顯示器上。另外,用戶使用該系統(tǒng)時(shí),可以根據(jù)自己的需求設(shè)定溫度的上限與下限。一旦溫度設(shè)定好后,系統(tǒng)所檢測(cè)的溫度就會(huì)與設(shè)定的溫度進(jìn)行對(duì)比,然后啟動(dòng)相應(yīng)的控制程序,實(shí)現(xiàn)系統(tǒng)的智能控制。
2.2 溫度傳感器的選用
DS18820是一種改進(jìn)型智能溫度傳感器,其通信方式十分簡單,工作時(shí)無需電源,只要使用一根線便能夠與單片機(jī)控制器進(jìn)行通信。該溫度傳感器所檢測(cè)的溫度可以實(shí)現(xiàn)9-12位數(shù)值讀數(shù),同時(shí)運(yùn)行速度快,可以在93.75ms完成9位數(shù)字量,在750ms實(shí)現(xiàn)12位數(shù)字量,效率高。
基于DS18820的高度集成。外接放大和轉(zhuǎn)換電路,從而大大降低了其誤差因素,有很高的溫度分辨率,所檢測(cè)出來的溫度模擬量會(huì)在該芯片內(nèi)部進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)換成數(shù)字量輸出,簡化了系統(tǒng)編程。同時(shí)該芯片通信采用的是單總線技術(shù),簡化了通信接口,同時(shí)具有較強(qiáng)的抗干擾能力。所以,DS18820可在溫度測(cè)量精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面更便捷、高效。不同溫度下所對(duì)應(yīng)的數(shù)字量的對(duì)照表(見表1)。
2.3 電機(jī)調(diào)速控制模塊的選擇
風(fēng)扇轉(zhuǎn)速的調(diào)節(jié)則是通過電機(jī)控制的,通過將風(fēng)扇兩端的輸入電壓進(jìn)行調(diào)整,實(shí)現(xiàn)對(duì)風(fēng)扇轉(zhuǎn)速的調(diào)節(jié),從而風(fēng)扇進(jìn)行無級(jí)調(diào)速。
本系統(tǒng)中驅(qū)動(dòng)電路的控制則是采用了可控硅型光耦MOC3041M來實(shí)現(xiàn)。其能夠?qū)^零進(jìn)行檢測(cè)和觸發(fā),還具有集光電隔離功能,從而簡化了驅(qū)動(dòng)電路。當(dāng)系統(tǒng)需要響應(yīng)用戶所設(shè)定的溫度參數(shù)時(shí),會(huì)啟動(dòng)風(fēng)扇,此時(shí)單片機(jī)通過I/O口發(fā)出一個(gè)高電平,而所發(fā)出的高電平會(huì)通過一個(gè)反相器,輸出變成低電平,這樣光電耦合器就會(huì)被導(dǎo)通,使得雙向晶閘管處于導(dǎo)通狀態(tài)。系統(tǒng)硬件電路如圖2所示。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件分為主程序模塊、電機(jī)調(diào)速與控制模塊、傳感器溫度檢測(cè)模塊、顯示模塊等。限于篇幅只介紹幾個(gè)關(guān)鍵軟件部分的設(shè)計(jì)。
3.1 主程序
系統(tǒng)上電后,會(huì)對(duì)主程序初始化,接著系統(tǒng)就會(huì)循環(huán)地訪問系統(tǒng)內(nèi)部各個(gè)功能模塊的緩沖區(qū)標(biāo)志,如果發(fā)現(xiàn)那個(gè)功能模塊的標(biāo)志位被置位,則說明需要處理這個(gè)模塊。系統(tǒng)將調(diào)用該模塊相應(yīng)的處理程序?qū)?shù)據(jù)進(jìn)行處理。主程序流程如圖3所示。
3.2 顯示模塊與傳感器溫度檢測(cè)模塊
要實(shí)現(xiàn)對(duì)溫度的檢測(cè)。則需要利用單片機(jī)對(duì)DS18820進(jìn)行控制,控制需分三步:初始化、ROM操作指令以及存儲(chǔ)器操作指令。系統(tǒng)中所使用的晶振為12MHz,因此系統(tǒng)頻率為12MHz。系統(tǒng)需要完成溫度的檢測(cè),則需要分別對(duì)初始化、讀、寫時(shí)序進(jìn)行編程。
3.3 電機(jī)調(diào)速與控制模塊
系統(tǒng)對(duì)電機(jī)調(diào)速控制是通過控制雙向可控硅的通斷達(dá)到調(diào)節(jié)電機(jī)速度的目的,而可控硅的通斷由主控單片機(jī)來實(shí)現(xiàn),這樣便可以在一個(gè)控制周期內(nèi)通過改變可控硅導(dǎo)通和關(guān)斷的次數(shù)達(dá)到調(diào)節(jié)電機(jī)速度的目的。
單片機(jī)上的INTO口可以反應(yīng)工頻電壓過零時(shí)間,因此利用該中斷口來決定控制門的開、關(guān)操作。通過對(duì)中斷的次數(shù)進(jìn)行計(jì)算和判斷,每次產(chǎn)生一個(gè)中斷時(shí),中斷控制量n就會(huì)做減1操作,當(dāng)n為O時(shí),則將控制門關(guān)閉,從而過零脈沖也就無法通過。當(dāng)n不等于0時(shí),控制電平保持為“1”。通過這種方式,達(dá)到調(diào)速的目的。
3.3.1 中斷服務(wù)程序
當(dāng)中斷發(fā)生時(shí),系統(tǒng)響應(yīng)中斷,需要將現(xiàn)場(chǎng)進(jìn)行保護(hù),然后將該中斷的標(biāo)志位進(jìn)行設(shè)置,這樣就能夠確保主程序不會(huì)修改當(dāng)時(shí)的工作參數(shù),接著作減1計(jì)數(shù)。然后再根據(jù)計(jì)數(shù)后的值來決定是否將晶閘管關(guān)閉。當(dāng)處理完中斷所需要執(zhí)行的程序后,需要將中斷的標(biāo)志位進(jìn)行清除,再將原來的數(shù)據(jù)進(jìn)行恢復(fù),還原現(xiàn)場(chǎng),再返回。(在此設(shè)置在1s內(nèi)可以通過100個(gè)波形數(shù))
3.3.2 控制回路執(zhí)行程序
控制回路所執(zhí)行的程序最主要的任務(wù)是將數(shù)據(jù)存儲(chǔ)單元進(jìn)行初始化,將電機(jī)最初的參數(shù)nmin/nmax確定,然后將這個(gè)參數(shù)轉(zhuǎn)換成“有效過零脈沖”的個(gè)數(shù):接著再將所有的中斷進(jìn)行排序,確定中斷優(yōu)先級(jí)。同時(shí)為了使正弦波的完整性更好,在此,將INTO的優(yōu)先級(jí)設(shè)置為最高。處理過程如圖4所示。
采用Protues軟件進(jìn)行仿真測(cè)試,仿真結(jié)果如圖5所示。
4 結(jié)束語
本系統(tǒng)以STC89C52單片機(jī)為核心控件。溫度檢測(cè)采用高精度的數(shù)字溫度傳感器DS18820,將可控硅與風(fēng)扇進(jìn)行串聯(lián),并接到電源與GND之間。通過控制可控硅的通斷頻率以及占空比來對(duì)風(fēng)扇的風(fēng)速進(jìn)行調(diào)節(jié),設(shè)計(jì)簡單、使用方便、穩(wěn)定性高、性能優(yōu)越、節(jié)約電能。用戶在使用本系統(tǒng)時(shí),只需要在用戶界面上設(shè)定需要的溫度參數(shù),系統(tǒng)就會(huì)對(duì)環(huán)境溫度進(jìn)行檢測(cè),同時(shí)對(duì)比所設(shè)置的參數(shù)。進(jìn)行自動(dòng)風(fēng)速調(diào)節(jié)。另外,本系統(tǒng)具有較強(qiáng)的擴(kuò)展性,只需對(duì)系統(tǒng)做適當(dāng)?shù)男薷模湍茉黾硬煌墓δ?。本設(shè)計(jì)具有廣闊的市場(chǎng)前景。