隨著生活水平的提高,人們對(duì)家居需求由面積需求變?yōu)槭孢m需求。地板采暖采用輻射方式供暖,符合人體生理需求曲線(xiàn),如果控制系統(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ì)以上問(wèn)題,我們利用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í)行部分、顯示及鍵盤(pán)系統(tǒng)及最小系統(tǒng)基本電路。系統(tǒng)利用單片機(jī)獲得溫度傳感器數(shù)據(jù)并與系統(tǒng)設(shè)計(jì)值進(jìn)行比較,根據(jù)比較結(jié)果分別控制執(zhí)行系統(tǒng)。溫度控制系統(tǒng)控制框圖如圖1所示。
圖1溫度控制系統(tǒng)控制框圖
2系統(tǒng)硬件設(shè)計(jì)
根據(jù)系統(tǒng)所需完成的功能,設(shè)計(jì)系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖2設(shè)計(jì)系統(tǒng)硬件結(jié)構(gòu)
2.1控制核心
系統(tǒng)采用SST89E564RC單片機(jī)作為控制核心,進(jìn)行溫度采集、信息顯示及執(zhí)行機(jī)構(gòu)的控制。SST89E564RC是美國(guó)SST公司推出的高可靠、小扇區(qū)結(jié)構(gòu)的FLASH單片機(jī),內(nèi)部嵌入72KB的Super-FLASH,1KB的RAM,通過(guò)對(duì)其RAM做進(jìn)一步擴(kuò)展,可滿(mǎn)足嵌入系統(tǒng)操作系統(tǒng)的運(yùn)行條件。
2.2溫度傳感器
溫度傳感器采用DALLAS半導(dǎo)體公司的數(shù)字化溫度傳感器DSl8820。該傳感器支持“一線(xiàn)總線(xiàn)”接口,可方便地進(jìn)行多點(diǎn)溫度測(cè)量,還可以程序設(shè)定9~12位的分辨率,最高精度為±0.0625℃,分辨率設(shè)定及用戶(hù)設(shè)定的報(bào)警溫度存儲(chǔ)在E2PROM中,掉電后依然保存。該產(chǎn)品支持3~5.5V的電壓范圍,因其體積小使系統(tǒng)設(shè)計(jì)更靈活、方便。DSl8820的管腳排列如圖3所示,其中DQ為數(shù)字信號(hào)輸入/輸出端;GND為電源地;VDD為外接供電電源輸人端。
圖3DSl8820
DSl8820內(nèi)部結(jié)構(gòu)主要由4部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。
光刻ROM中的64位序列號(hào)是出廠(chǎng)前被光刻好的,它可以看作是該DSl8820的地址序列碼。光刻ROM的作用是使每一個(gè)DSl8820都各不相同,這樣就可以實(shí)現(xiàn)1根總線(xiàn)上掛接多個(gè)DSl8820的目的。
DSl8820溫度傳感器的內(nèi)部存儲(chǔ)器包括9B高速暫存RAM和1B非易失性的可電擦除的E2PROM,后者存放高溫度和低溫度觸發(fā)器TH,TL和結(jié)構(gòu)寄存器,該字節(jié)第7位(TM)為0,低5位一直都是1,第6,5位(R1,R0)用來(lái)設(shè)置分辨率,如表1所示。
表1DSl8820溫度測(cè)量分辨率表
根據(jù)DSl8820的通信協(xié)議,主機(jī)控制DSl8820完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)其進(jìn)行復(fù)位,復(fù)位成功后發(fā)送1條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DSl8820進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線(xiàn)下拉500μs,然后釋放,DSl8820收到信號(hào)后等待16~60μs左右,后發(fā)出60~240μs的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。由于DSl8820采用的是單線(xiàn)進(jìn)行控制與讀取數(shù)據(jù),因此對(duì)操作的時(shí)序要求非常嚴(yán)格,否則由于時(shí)序不匹配,將無(wú)法完成對(duì)器件的正確操作。
2.3控制執(zhí)行那分
(1)壁掛爐燃燒系統(tǒng)控制。控制電路采用了脈沖繼電器器件作為整個(gè)系統(tǒng)的總控部分,當(dāng)所有居室溫度均達(dá)到設(shè)定值時(shí),停止壁掛爐的工作。該繼電器的特點(diǎn)是:當(dāng)線(xiàn)圈收到一個(gè)脈沖信號(hào)后,線(xiàn)圈通電,電磁鐵吸合,帶動(dòng)觸頭閉合接通需要控制的電路,當(dāng)下一個(gè)信號(hào)到來(lái)后,電磁鐵吸合,觸頭斷開(kāi),切斷被控制的電源,因此其具有自鎖和信號(hào)遙控功能。由于磁鐵的作用,控制脈沖消失后滑片位置不發(fā)生變化,保持穩(wěn)定狀態(tài),所以該器件具有功耗小、具有記憶功能。
(2)居室溫度控制。各居室溫度控制在燃燒控制系統(tǒng)工作前提下,根據(jù)各居室溫度測(cè)量返回值,采用上海歐凱電磁閥制造有限公司生產(chǎn)的OK6515自保持脈沖電磁閥控制各回路的通斷。脈沖電磁閥采用脈沖和永磁技術(shù),只需通過(guò)控制器切換脈沖的電極觸點(diǎn)來(lái)改變電磁閥的開(kāi)關(guān)狀態(tài),當(dāng)控制器發(fā)出電脈沖時(shí),驅(qū)動(dòng)閥芯克服永磁力產(chǎn)生上下移,使閥瓣到位后在永磁作用下處于自保持狀態(tài)。
2.4圖形液晶顯示模塊
為了能夠提供形象直觀(guān)的用戶(hù)顯示界面,系統(tǒng)采用圖形液晶顯示模塊LCDl2864,其具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線(xiàn)、6條控制線(xiàn)及電源線(xiàn),可與CPU直接接口,顯示各種字符及圖形??紤]到系統(tǒng)中漢字的使用量少,因此選用不帶漢字庫(kù)的LCD。對(duì)于使用的漢字分別提取其字模并以二進(jìn)制形式保存于內(nèi)部FLASHROM中。
3系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要依據(jù)系統(tǒng)程序流程以及DSl8820的時(shí)序要求進(jìn)行代碼編寫(xiě)。為了降低開(kāi)發(fā)難度,提高開(kāi)發(fā)效率,系統(tǒng)開(kāi)發(fā)中引入了μC/OS一Ⅱ嵌入式操作系統(tǒng)并移植了LCD顯示驅(qū)動(dòng)。另一方面,為了確保對(duì)DSl8820操作時(shí)序的精確性,對(duì)DSl8820進(jìn)行初始化和讀寫(xiě)代碼仍采用匯編語(yǔ)言。
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ì),共需64B。漢字字模采用16×16字庫(kù)進(jìn)行提取,其中每個(gè)漢字需32B,約15個(gè)字,為了方便程序功能的升級(jí)改進(jìn),在程序存儲(chǔ)空間中按20個(gè)字進(jìn)行空間分配,需要存儲(chǔ)空間640B。系統(tǒng)運(yùn)行時(shí)間表的設(shè)計(jì)以小時(shí)為設(shè)置單位,需要保存24個(gè)值;為了減少時(shí)間比較過(guò)程中的數(shù)據(jù)計(jì)算量以及方便編程,對(duì)每個(gè)值采用一個(gè)字節(jié)存儲(chǔ),這里共需24B存儲(chǔ)空間,這里仍然使用程序存儲(chǔ)空間進(jìn)行存儲(chǔ),以便在系統(tǒng)掉電時(shí)設(shè)定值不會(huì)丟失。
3.2系統(tǒng)程序設(shè)計(jì)
系統(tǒng)程序設(shè)計(jì)主要使用KeilC5l進(jìn)行編寫(xiě),但由于對(duì)DSl8820器件的讀寫(xiě)時(shí)序要求比較嚴(yán)格,故采用匯編代碼,其中溫度讀取子程序主要代碼如下:
|