奚建榮
摘 要:針對(duì)目前壁掛爐采暖中溫度控制不準(zhǔn)確的現(xiàn)狀,以單片機(jī)為控制中心,采用Dallas公司的“一線總線”數(shù)字化溫度傳感器DS18B20以及脈沖控制器件,設(shè)計(jì)一款多點(diǎn)測(cè)溫及溫度控制系統(tǒng);系統(tǒng)能夠同時(shí)測(cè)量多點(diǎn)溫度,并根據(jù)溫度設(shè)定實(shí)時(shí)控制各回路通斷及壁掛爐的燃燒與停止,從而進(jìn)一步提高居室的舒適性及采暖系統(tǒng)的經(jīng)濟(jì)性。
關(guān)鍵詞:51單片機(jī);DS18B20;多點(diǎn)溫度檢測(cè);溫度控制系統(tǒng)
中圖分類號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004 373X(2009)02 186 03
Multi-point Temperature Control System Based on 51 Single Chip Computer
XI Jianrong
(Weinan Teachers University,Weinan,714000,China)
Abstract:A multi-point temperature control system based on MCS-51 single chip computer is designed to solve the inaccurate problem of current temperature control system.Using DS18B20,"1-Wire" digital thermometer,and the component controlled by electric pulse.According to the temperatures got from multi-pointtemperature sensor,it can control heating water circuit and the burning or shutting of the stove.It makesthe room more comfortable and enhances the efficiency of the heating system.
Keywords:single chip computer;DS18B20;multi-point temperature measurement;temperature control system
隨著生活水平的提高,人們對(duì)家居需求由面積需求變?yōu)槭孢m需求。地板采暖采用輻射方式供暖,符合人體生理需求曲線,如果控制系統(tǒng)選取得當(dāng),不僅可以提高房間舒適度,更可以使系統(tǒng)運(yùn)行費(fèi)用降低許多。如今一般是在典型位置安裝一個(gè)溫控裝置,溫控裝置連接到壁掛爐,溫控器根據(jù)室溫和溫度設(shè)定直接控制鍋爐運(yùn)行,各房間不同回路由工作人員憑經(jīng)驗(yàn)手動(dòng)調(diào)節(jié)分水器球閥,改變不同回路的流量,從而達(dá)到調(diào)節(jié)各房間的室溫的效果。使用這種控制方法,即使是有經(jīng)驗(yàn)的工作人員,也難以調(diào)節(jié)得十分準(zhǔn)確,何況各家庭成員由于年齡不同,所需舒適溫度不同,需要經(jīng)常對(duì)室溫進(jìn)行調(diào)節(jié)。
針對(duì)以上問題,利用SST89E564RC單片機(jī)及新型測(cè)溫器件設(shè)計(jì)了多點(diǎn)溫控采暖控制系統(tǒng),根據(jù)室內(nèi)各點(diǎn)溫度設(shè)定實(shí)時(shí)控制采暖系統(tǒng),從而提高居室的舒適性以及采暖的經(jīng)濟(jì)性。
1 系統(tǒng)設(shè)計(jì)目標(biāo)
系統(tǒng)總體設(shè)計(jì)思想是以SST89E564RC單片機(jī)為控制核心,整個(gè)系統(tǒng)硬件部分包括溫度檢測(cè)部分、控制執(zhí)行部分、顯示及鍵盤系統(tǒng)及最小系統(tǒng)基本電路。系統(tǒng)利用單片機(jī)獲得溫度傳感器數(shù)據(jù)并與系統(tǒng)設(shè)計(jì)值進(jìn)行比較,根據(jù)比較結(jié)果分別控制執(zhí)行系統(tǒng)。溫度控制系統(tǒng)控制框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
根據(jù)系統(tǒng)所需完成的功能,設(shè)計(jì)系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
2.1 控制核心
系統(tǒng)采用SST89E564RC單片機(jī)作為控制核心,進(jìn)行溫度采集、信息顯示及執(zhí)行機(jī)構(gòu)的控制。SST89E564RC是美國(guó)SST公司推出的高可靠、小扇區(qū)結(jié)構(gòu)的FLASH單片機(jī),內(nèi)部嵌入72 KB的SuperFlash,1 KB的RAM,通過對(duì)其RAM做進(jìn)一步擴(kuò)展,可滿足嵌入系統(tǒng)操作系統(tǒng)的運(yùn)行條件。
2.2 溫度傳感器
溫度傳感器采用Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20。該傳感器支持 “一線總線”接口,可方便地進(jìn)行多點(diǎn)溫度測(cè)量,還可以程序設(shè)定9~12位的分辨率,最高精度為±0.062 5 ℃,分辨率設(shè)定及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在E2PROM中,掉電后依然保存。該產(chǎn)品支持3~5.5 V的電壓范圍,因其體積小使系統(tǒng)設(shè)計(jì)更靈活、方便。
DS18B20的管腳排列如圖3所示,其中DQ為數(shù)字信號(hào)輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端。
DS18B20內(nèi)部結(jié)構(gòu)主要由4部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。
光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)1根總線上掛接多個(gè)DS18B20的目的。
DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括9 B高速暫存RAM和1 B非易失性的可電擦除的E2PROM,后者存放高溫度和低溫度觸發(fā)器TH,TL和結(jié)構(gòu)寄存器,該字節(jié)第7位(TM)為0,低5位一直都是1,第6,5位(R1,R0)用來設(shè)置分辨率,如表1所示。
根據(jù)DS18B20的通信協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:每一次讀寫之前都要對(duì)其進(jìn)行復(fù)位,復(fù)位成功后發(fā)送1條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500 μs,然后釋放,DS18B20收到信號(hào)后等待16~60 μs左右,后發(fā)出60~240 μs的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。由于DS18B20采用的是單線進(jìn)行控制與讀取數(shù)據(jù),因此對(duì)操作的時(shí)序要求非常嚴(yán)格,否則由于時(shí)序不匹配,將無法完成對(duì)器件的正確操作。
2.3 控制執(zhí)行部分
(1) 壁掛爐燃燒系統(tǒng)控制。
控制電路采用了脈沖繼電器器件作為整個(gè)系統(tǒng)的總控部分,當(dāng)所有居室溫度均達(dá)到設(shè)定值時(shí),停止壁掛爐的工作。該繼電器的特點(diǎn)是:當(dāng)線圈收到一個(gè)脈沖信號(hào)后,線圈通電,電磁鐵吸合,帶動(dòng)觸頭閉合接通需要控制的電路,當(dāng)下一個(gè)信號(hào)到來后,電磁鐵吸合,觸頭斷開,切斷被控制的電源,因此其具有自鎖和信號(hào)遙控功能。由于磁鐵的作用,控制脈沖消失后滑片位置不發(fā)生變化,保持穩(wěn)定狀態(tài),所以該器件具有功耗小、具有記憶功能。
(2) 居室溫度控制。
各居室溫度控制在燃燒控制系統(tǒng)工作前提下,根據(jù)各居室溫度測(cè)量返回值,采用上海歐凱電磁閥制造有限公司生產(chǎn)的OK6515自保持脈沖電磁閥控制各回路的通斷。脈沖電磁閥采用脈沖和永磁技術(shù),只需通過控制器切換脈沖的電極觸點(diǎn)來改變電磁閥的開關(guān)狀態(tài),當(dāng)控制器發(fā)出電脈沖時(shí),驅(qū)動(dòng)閥芯克服永磁力產(chǎn)生上下移,使閥瓣到位后在永磁作用下處于自保持狀態(tài)。
2.4 圖形液晶顯示模塊
為了能夠提供形象直觀的用戶顯示界面,系統(tǒng)采用圖形液晶顯示模塊LCD12864,其具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、6條控制線及電源線,可與CPU直接接口,顯示各種字符及圖形??紤]到系統(tǒng)中漢字的使用量少,因此選用不帶漢字庫(kù)的LCD。對(duì)于使用的漢字分別提取其字模并以二進(jìn)制形式保存于內(nèi)部FLASHROM中。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要依據(jù)系統(tǒng)程序流程以及DS18B20的時(shí)序要求進(jìn)行代碼編寫。為了降低開
發(fā)難度,提高開發(fā)效率,系統(tǒng)開發(fā)中引入了μC/OS-Ⅱ嵌入式操作系統(tǒng)并移植了LCD顯示驅(qū)動(dòng)。另一方面,為了確保對(duì)DS18B20操作時(shí)序的精確性,對(duì)DS18B20進(jìn)行初始化和讀寫代碼仍采用匯編語言。
3.1 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
系統(tǒng)所需數(shù)據(jù)結(jié)構(gòu)包括各測(cè)溫元件的序列號(hào)表,漢字字模存儲(chǔ)、系統(tǒng)運(yùn)行時(shí)間表存儲(chǔ)、各溫控點(diǎn)的設(shè)定值及測(cè)量值、系統(tǒng)時(shí)間的存放及一些臨時(shí)數(shù)據(jù)存儲(chǔ)。
為了區(qū)別多個(gè)溫度傳感器,在系統(tǒng)初始化時(shí)讀入傳感器中的64位序列號(hào),并將其存入程序存儲(chǔ)空間,以便程序運(yùn)行期間進(jìn)行比對(duì),共需64 B。
漢字字模采用16×16字庫(kù)進(jìn)行提取,其中每個(gè)漢字需32 B,約15個(gè)字,為了方便程序功能的升級(jí)改進(jìn),在程序存儲(chǔ)空間中按20個(gè)字進(jìn)行空間分配,需要存儲(chǔ)空間640 B。
系統(tǒng)運(yùn)行時(shí)間表的設(shè)計(jì)以小時(shí)為設(shè)置單位,需要保存24個(gè)值;為了減少時(shí)間比較過程中的數(shù)據(jù)計(jì)算量以及方便編程,對(duì)每個(gè)值采用一個(gè)字節(jié)存儲(chǔ),這里共需24 B存儲(chǔ)空間,這里仍然使用程序存儲(chǔ)空間進(jìn)行存儲(chǔ),以便在系統(tǒng)掉電時(shí)設(shè)定值不會(huì)丟失。
3.2 系統(tǒng)程序設(shè)計(jì)
系統(tǒng)程序設(shè)計(jì)主要使用KeilC51進(jìn)行編寫,但由于對(duì)DS18B20器件的讀寫時(shí)序要求比較嚴(yán)格,故采用匯編代碼,其中溫度讀取子程序主要代碼如下:
GET_TEM:…
MOV DPTR,DS_TABLE ;指向器件序號(hào)表入口
LOOP: MOV R7,7;逐個(gè)讀取溫度
MOVA,#055H ;ROM匹配
LCALL WRITE_SERIAL
LCALLDELAY
MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令
LCALL WRITE_1820
LCALL DELAY ;延時(shí)750 μs(12位)
LCALL INIT_1820 ;準(zhǔn)備讀溫度前先復(fù)位
LCALLDELAY
LCALLWRITE_1820
MOV A,#0BEH ;發(fā)出讀溫度命令
LCALL WRITE_1820
LCALL READ_18200;保存讀出的溫度數(shù)據(jù)
DJNZ R7,LOOP
CLR P1.4
RET
4 結(jié) 語
微型計(jì)算機(jī)在智能化電器發(fā)展中起著至關(guān)重要的作用,而單片機(jī)經(jīng)濟(jì)實(shí)用、開發(fā)簡(jiǎn)便,因而在工業(yè)控制、家電智能化等領(lǐng)域占據(jù)了廣泛的市場(chǎng)。這里針對(duì)目前溫度控制器現(xiàn)狀設(shè)計(jì)了一種新方案,利用單片機(jī)及新型測(cè)溫器件設(shè)計(jì)了一種多點(diǎn)溫控采暖控制系統(tǒng),該系統(tǒng)能夠同時(shí)測(cè)量多點(diǎn)溫度,并根據(jù)溫度設(shè)定實(shí)時(shí)控制各回路通斷及壁掛爐的燃燒與停止,從而進(jìn)一步提高居室的舒適性以及采暖系統(tǒng)的經(jīng)濟(jì)性。
參考文獻(xiàn)
[1]胡學(xué)海.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì).北京:電子工業(yè)出版社,2007.
[2]張?chǎng)危畣纹瑱C(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,2005.
[3]Jean J Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μCOS-Ⅱ.2版.邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2003.
[4]楊屹.μCOS51 移植心得.http://blog.21ic.com/user1/2563/archives/2007/39152.html.
[5]徐卓農(nóng),張永忠.單片機(jī)系統(tǒng)中的漢字顯示.單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2001(7):132-136.
[6]傅勤毅,李海浪.單片機(jī)與液晶顯示器的接口及應(yīng)用.今日電子,2005(6):70-72.
[7]佚名.數(shù)字溫度傳感器DS18B20資料[EB/OL].http://www.picavr.com/news/2008-02/4189.htm,2008.
[8]Dallas.DS18B20.pdf [EB/OL].http://cn.datasheet123.com/215746/DS18B20.html,2008
[9]馬忠梅,籍順心,張凱,等.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì) [M].4版.北京:北京航空航天大學(xué)出版社,2007.
[10]張齊.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)基于C語言[M].北京:電子工業(yè)出版社,2004.