找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 5942|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

智能溫度采集與控制系統(tǒng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:71259 發(fā)表于 2014-12-30 23:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1、本設(shè)計(jì)研究的意義:
    溫度的采集與控制系統(tǒng)是一個(gè)很廣泛實(shí)用的系統(tǒng),可以用在各種地方,比如水溫控制、室內(nèi)溫度報(bào)警、加熱控制等。溫度控制系統(tǒng)可以用多種方法實(shí)現(xiàn),比如FPGA編程、微機(jī)控制、單片機(jī)控制等。一片F(xiàn)PGA價(jià)格比較貴,且用為單一的溫度控制系統(tǒng)資源浪費(fèi)很大,而微機(jī)控制也是大材小用。單片機(jī)價(jià)格便宜,用來做溫度控制資源利用合理。而本系統(tǒng)是基于MCS—51單片機(jī)設(shè)計(jì)的智能系統(tǒng),其有對(duì)采集的溫度進(jìn)行實(shí)時(shí)處理能力,且可以根據(jù)溫度的高低來對(duì)其他的裝置比如加熱器等進(jìn)行實(shí)時(shí)地控制。除了可以單獨(dú)作為一個(gè)溫度控制系統(tǒng)外,還可以結(jié)合其他的更為復(fù)雜的系統(tǒng),嵌入到其他的系統(tǒng)中,作為其中一的部分。比如家里用的電火鍋、電冰箱、空調(diào)等大型的產(chǎn)品。
2、實(shí)現(xiàn)功能:
   (1)系統(tǒng)能通過I/O接口線對(duì)加熱裝置進(jìn)行控制,并通過A/D轉(zhuǎn)換電路采集該裝置溫度信息。
   (2可利用兩位LED數(shù)碼管即時(shí)顯示采集的溫度值。用定時(shí)器設(shè)計(jì)定時(shí)功能,使顯示停留時(shí)間為5S,利用單片機(jī)的中斷系統(tǒng)進(jìn)行控制。
   (3)當(dāng)溫度每變化1度時(shí)應(yīng)立即更新顯示。
   (4)對(duì)加熱裝置的某個(gè)溫度值進(jìn)行控制,此實(shí)驗(yàn)設(shè)定為50o,但可以修改
   (5)用一個(gè)單色LED燈顯示加熱情況:燈亮表示正在加熱,滅表示已停止加熱。
                                         二、硬件電路設(shè)計(jì)系統(tǒng)的硬件設(shè)計(jì)框圖如下:



由于本系統(tǒng)是基于AEDK5196ET單片機(jī)實(shí)驗(yàn)系統(tǒng)而設(shè)計(jì)的,故里里面的好多芯片和裝置已經(jīng)安裝固定。下面對(duì)具體的裝置及其在本設(shè)計(jì)系統(tǒng)中的功能和接法進(jìn)行說明:
1、加熱器和溫度傳感器 :這里采用到的是實(shí)驗(yàn)系統(tǒng)上的AEDK—DJ3溫度/壓力實(shí)驗(yàn)平臺(tái)。本實(shí)驗(yàn)只用到其溫度測(cè)量和控制部分。其包括:加熱機(jī)構(gòu)、溫度傳感器和放大器。溫度采集使用熱敏電阻,轉(zhuǎn)化為電信號(hào)送出。加熱器是可控制的,當(dāng)要加熱時(shí),可以向相應(yīng)的管腳寫入“0”,停止加熱時(shí)寫入“1”。在此實(shí)驗(yàn)系統(tǒng)中,當(dāng)DJ3接入AEDK5196ET實(shí)驗(yàn)機(jī)時(shí),可以用芯片74LS273的PO4腳來控制加熱器。接線時(shí)用專用25芯插座把DJ3接到AEDK5196ET實(shí)驗(yàn)機(jī),其輸出端接到AD0809的IN1通道入口。
2、采樣裝置:這里采樣的是實(shí)驗(yàn)箱中的AD0809,其具體的圖形如下:已經(jīng)和單片機(jī)有部分線連接好了。其采入由傳感器轉(zhuǎn)化后的模擬電信號(hào),然后轉(zhuǎn)化為數(shù)字電信號(hào)。送入到MCS—51單片機(jī)中進(jìn)行處理。接線時(shí)把EOC接到單片機(jī)的P1.7口用來進(jìn)行查詢采樣是否完成。片選信號(hào)可以接入74LS138的地址選口。



3、單片機(jī):這是整個(gè)系統(tǒng)的核心裝置。單片機(jī)主的的工作是控制和處理,其先控制A/D采進(jìn)來的數(shù)據(jù)。然后根據(jù)傳感器的溫度——電壓對(duì)比值對(duì)應(yīng)為相應(yīng)的溫度,可以根據(jù)查表法,也可以根據(jù)公式法,本實(shí)驗(yàn)采用的是MCS—51單片機(jī)的查表指令設(shè)計(jì)的查表法。再將對(duì)應(yīng)出來的溫度值進(jìn)行實(shí)時(shí)的處理,包括:和控制溫度(50°)對(duì)比,看是否需要停止加熱;和前一次溫度對(duì)比,看是否需要更換LED的溫度顯示;對(duì)LED的顯示進(jìn)行定時(shí);將加熱與斷開狀態(tài)送到單色LED上顯示等。
4、單色LED:用一個(gè)發(fā)光二極管接到單片機(jī)一個(gè)I/O口,加熱時(shí)此口送出“1”,停止時(shí)此口清零。將單片機(jī)的P1.0口接到74LS240的任一個(gè)入口DLx。
5、八段LED:可以用實(shí)驗(yàn)箱上的兩個(gè)八段LED來顯示溫度的值。它在實(shí)驗(yàn)系統(tǒng)中由可編程芯片8279控制。其裝置圖如下:



     智能溫度采集與控制系統(tǒng)是將上面的裝置聯(lián)合起來,具體的實(shí)現(xiàn)方案如下:由溫度傳感器將溫度信號(hào)轉(zhuǎn)化為模擬電信號(hào),由A/D采樣將模擬電信號(hào)采進(jìn)來并轉(zhuǎn)化為數(shù)字電信號(hào)送給單片機(jī)處理,單片機(jī)將采進(jìn)來的數(shù)字信號(hào)根據(jù)傳感器的溫度——電壓對(duì)比值對(duì)應(yīng)為相應(yīng)的溫度,再將對(duì)應(yīng)出來的溫度值進(jìn)行實(shí)時(shí)的處理,包括:和控制溫度(50°)對(duì)比,看是否需要停止加熱,即對(duì)加熱器實(shí)時(shí)控制;和前一次溫度對(duì)比,看是否需要更換LED的溫度顯示,即對(duì)單色LED實(shí)時(shí)控制;對(duì)LED的顯示進(jìn)行定時(shí);將加熱與斷開狀態(tài)送到單色LED上顯示等。
                                            三、軟件設(shè)計(jì)流程及描述
根據(jù)設(shè)計(jì)思路,寫出實(shí)驗(yàn)流程圖如下:



                        總程序流程圖
(源代碼程序請(qǐng)參見:《智能溫度采集與控制系統(tǒng)源代碼》)
                     
                                             四、設(shè)計(jì)所遇到問題分析
在本次設(shè)計(jì)中遇到下面幾個(gè)問題,但是根據(jù)查資料和請(qǐng)教他人,遂一一解決:
1、八段LED顯示兩位溫度:因?yàn)檫@里用的是AEDK5196ET單片機(jī)實(shí)驗(yàn)系統(tǒng),它里面的LED是用8279控制的,所以得先熟悉8279芯片。用實(shí)驗(yàn)系統(tǒng)上的LED顯示溫度時(shí),必須查LED的段碼表,把對(duì)應(yīng)的數(shù)字對(duì)就為LED的相應(yīng)段碼。其實(shí)要是可以外接的話,可以直接把溫度轉(zhuǎn)化為BCD碼,然后用兩個(gè)74LS48或者74LS47(要看是共陰極還是共陽極選定相應(yīng)的譯碼器)譯碼器接到單片機(jī)的P1口,直接將溫度轉(zhuǎn)化后的BCD碼送出來就可以顯示了。這樣的話,程序可以很簡(jiǎn)短,也沒有那么復(fù)雜了。
2、在寫程序的時(shí)候要注意到的問題有:(1)棧地址SP的設(shè)置問題。因?yàn)樵诔绦蛑杏玫搅吮容^多的寄存器,而SP的剛開始地址為0007H,可以和寄存器地址重復(fù),所以在程序的開始應(yīng)該給其定一個(gè)比較大的值;(2)用一個(gè)直接地址的時(shí)候要注意最好不用寄存器已經(jīng)分配的地址,如想用一個(gè)直接地址存一個(gè)備用數(shù)據(jù),因?yàn)橐呀?jīng)用到了R1R7等寄存器,所以最好不用00H1FH地址;(3)這里用到了查表程序,就要熟悉MCS51單片機(jī)的兩條查表程序,即用DPTRPC和查表程序。其中DPTR的查表程序比較簡(jiǎn)單,但是PC的查表程序就比較復(fù)雜;(4)程序中要注意婁制的問題。要注意單片機(jī)內(nèi)的數(shù)據(jù)只有二進(jìn)制數(shù),當(dāng)人為地送進(jìn)去十進(jìn)制、十六進(jìn)制等數(shù)的時(shí)候,它都一律轉(zhuǎn)化為相等的二進(jìn)制數(shù)處理。所以可以隨意寫入任意進(jìn)制的數(shù)。存在于單片機(jī)內(nèi)的數(shù)一律為二進(jìn)制,但是注意一些碼和常數(shù)的區(qū)別。比如BCD碼,當(dāng)一個(gè)十進(jìn)制數(shù)30寫入單片機(jī)中時(shí),會(huì)被單片機(jī)存為0001 1110,而30BCD碼為0011 0000,所以想把單片機(jī)內(nèi)一個(gè)等于30的常數(shù)顯示于LED上,要先轉(zhuǎn)化為BCD碼,再直接用譯碼器或者用查表法顯示出來。但是這里涉及到是把什么進(jìn)制的數(shù)轉(zhuǎn)化為BCD碼,根據(jù)上面的知識(shí),因?yàn)閱纹瑱C(jī)內(nèi)只有二進(jìn)制數(shù),所以應(yīng)該把二進(jìn)制數(shù)轉(zhuǎn)化為BCD碼。 源碼下載:http://www.torrancerestoration.com/bbs/dpj-29903-1.html


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表