基于51單片機(jī)的多點(diǎn)溫度控制系統(tǒng)設(shè)計(jì)
DSl8820溫度傳感器的內(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所示。本文引用地址:http://butianyuan.cn/article/163826.htm
根據(jù)DSl8820的通信協(xié)議,主機(jī)控制DSl8820完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:每一次讀寫之前都要對(duì)其進(jìn)行復(fù)位,復(fù)位成功后發(fā)送1條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DSl8820進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500μs,然后釋放,DSl8820收到信號(hào)后等待16~60μs左右,后發(fā)出60~240μs的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。由于DSl8820采用的是單線進(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ù)各居室溫度測量返回值,采用上海歐凱電磁閥制造有限公司生產(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)采用圖形液晶顯示模塊LCDl2864,其具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、6條控制線及電源線,可與CPU直接接口,顯示各種字符及圖形??紤]到系統(tǒng)中漢字的使用量少,因此選用不帶漢字庫的LCD。對(duì)于使用的漢字分別提取其字模并以二進(jìn)制形式保存于內(nèi)部FLASHROM中。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要依據(jù)系統(tǒng)程序流程以及DSl8820的時(shí)序要求進(jìn)行代碼編寫。為了降低開發(fā)難度,提高開發(fā)效率,系統(tǒng)開發(fā)中引入了μC/OS一Ⅱ嵌入式操作系統(tǒng)并移植了LCD顯示驅(qū)動(dòng)。另一方面,為了確保對(duì)DSl8820操作時(shí)序的精確性,對(duì)DSl8820進(jìn)行初始化和讀寫代碼仍采用匯編語言。
3.1 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
系統(tǒng)所需數(shù)據(jù)結(jié)構(gòu)包括各測溫元件的序列號(hào)表,漢字字模存儲(chǔ)、系統(tǒng)運(yùn)行時(shí)間表存儲(chǔ)、各溫控點(diǎn)的設(shè)定值及測量值、系統(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字庫進(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ì)主要使用KeilC5l進(jìn)行編寫,但由于對(duì)DSl8820器件的讀寫時(shí)序要求比較嚴(yán)格,故采用匯編代碼,其中溫度讀取子程序主要代碼如下:
4 結(jié) 語
微型計(jì)算機(jī)在智能化電器發(fā)展中起著至關(guān)重要的作用,而單片機(jī)經(jīng)濟(jì)實(shí)用、開發(fā)簡便,因而在工業(yè)控制、家電智能化等領(lǐng)域占據(jù)了廣泛的市場。這里針對(duì)目前溫度控制器現(xiàn)狀設(shè)計(jì)了一種新方案,利用單片機(jī)及新型測溫器件設(shè)計(jì)了一種多點(diǎn)溫控采暖控制系統(tǒng),該系統(tǒng)能夠同時(shí)測量多點(diǎn)溫度,并根據(jù)溫度設(shè)定實(shí)時(shí)控制各回路通斷及壁掛爐的燃燒與停止,從而進(jìn)一步提高居室的舒適性以及采暖系統(tǒng)的經(jīng)濟(jì)性。
評(píng)論