智能儀器課程設(shè)計(jì)自動(dòng)電阻爐溫度控制器_第1頁
智能儀器課程設(shè)計(jì)自動(dòng)電阻爐溫度控制器_第2頁
智能儀器課程設(shè)計(jì)自動(dòng)電阻爐溫度控制器_第3頁
智能儀器課程設(shè)計(jì)自動(dòng)電阻爐溫度控制器_第4頁
智能儀器課程設(shè)計(jì)自動(dòng)電阻爐溫度控制器_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、智能儀表綜合訓(xùn)練說明書題 目:自動(dòng)電阻爐溫度控制器 學(xué)生姓名:xxx學(xué) 號:xxx專 業(yè):測控技術(shù)與儀器班 級:測控08-1班指導(dǎo)教師:x摘 要此電阻爐溫度控制器主要是以單片機(jī)stc89c52為核心,通過s型熱電偶采集熱端溫度并進(jìn)行冷端溫度補(bǔ)償?shù)玫綄?shí)際溫度t,然后經(jīng)放大電路和adc0832模數(shù)轉(zhuǎn)換,并進(jìn)行線性化處理,之后經(jīng)單片機(jī)stc89c52進(jìn)行pid控制,并加入pid參數(shù)的調(diào)整,最后通過液晶顯示器lcd1602實(shí)現(xiàn)溫度值和pid輸出值及參數(shù)值的顯示。它用最簡單的硬件單元和軟件編程實(shí)現(xiàn)了溫度采集、溫度pid控制、溫度顯示、上下限報(bào)警、pid參數(shù)顯示、pid參數(shù)修改等功能。關(guān)鍵詞:adc083

2、2;單片機(jī)stc89c52;lcd顯示;pid控制;s型熱電偶目 錄摘 要1目 錄2第一章 前言31.1熱電偶31.1.1熱電偶及其工作原理31.1.2 熱電偶的冷端溫度補(bǔ)償31.1.3 熱電偶的分類41.2 pid41.2.1 pid簡介41.2.2 pid算法介紹51.2.3 位置式pid算法5第二章 電阻爐溫度控制器總體設(shè)計(jì)62.1功能需求62.2 硬件設(shè)計(jì)72.3 軟件設(shè)計(jì)7第三章 電阻爐溫度控制器硬件設(shè)計(jì)83.1 s型熱電偶83.1.1 s型熱電偶及其分度表83.1.2 s型熱電偶線性化處理93.2 單片機(jī)stc89c52及其外圍接口電路93.2.1 單片機(jī)stc89c5293.2.

3、2 單片機(jī)stc89c52外圍接口電路113.3 adc0832113.4 lcd1602顯示器12第四章 軟件設(shè)計(jì)144.1電阻爐溫度控制器主程序144.2 adc0832數(shù)據(jù)采集子程序154.3熱電偶線性化標(biāo)度變換程序154.4 pid控制程序164.5 pid參數(shù)修改子程序174.6 lcd顯示子程序18第五章 總結(jié)19參考文獻(xiàn)20附錄 a21第一章 前言在使用電阻爐溫度控制器之前,我們有必要了解其制作工藝和一些關(guān)鍵器件的概況,以便我們能夠自己處理它所出現(xiàn)的一些小問題或者為愛好者學(xué)習(xí)提供幫助。因此這一章我們就關(guān)于電阻爐溫度控制器運(yùn)用的基本知識(shí)作一介紹。1.1熱電偶1.1.1熱電偶及其工作

4、原理熱電偶是溫度測量儀表中得關(guān)鍵性元件,因其具有結(jié)構(gòu)簡單,性質(zhì)穩(wěn)定,測溫范圍寬,測量精度高、動(dòng)態(tài)性能好、使用方便以及容易維護(hù)等優(yōu)點(diǎn),現(xiàn)已經(jīng)被用于各種行業(yè)。特別是由于其性質(zhì)穩(wěn)定,在高溫環(huán)境的測量中,熱電偶測溫占有相當(dāng)重要的地位。熱電偶的工作原理主要是利用了熱電效應(yīng),所謂熱電效應(yīng),就是指兩種不同成份的導(dǎo)體(稱為熱電偶絲材或熱電極)兩端接合成回路,當(dāng)兩個(gè)接合點(diǎn)的溫度不同時(shí),在回路中就會(huì)產(chǎn)生電動(dòng)勢。直接測量介質(zhì)的一端稱為工作端,另一端稱為冷端。1.1.2 熱電偶的冷端溫度補(bǔ)償 由熱電偶的測溫原理可知,熱電勢的大小不僅與熱端溫度有關(guān),而且與冷端溫度有關(guān),只有當(dāng)冷端溫度恒定時(shí),才能通過熱電勢的大小去判斷熱

5、端溫度的高低。 冷端溫度補(bǔ)償方法有冰點(diǎn)法,恒溫遷移法,計(jì)算修正法,電橋補(bǔ)償法,軟件補(bǔ)償法。我們這里采用計(jì)算修正法: 計(jì)算修正法基于中間溫度定律,其計(jì)算公式如式1.1 eab(t,0)=eab(t,t0)+eab(t0,0) (1.1)1.1.3 熱電偶的分類按照工業(yè)標(biāo)準(zhǔn)化的要求,熱電偶可以分為標(biāo)準(zhǔn)化熱電偶和非標(biāo)準(zhǔn)化熱電偶兩種。標(biāo)準(zhǔn)化熱電偶指工藝成熟、能批量生產(chǎn)、性能穩(wěn)定、應(yīng)用廣泛,且具有統(tǒng)一分度表并已列入國際和國家標(biāo)準(zhǔn)文件的熱電偶。非標(biāo)準(zhǔn)化熱電偶是指研究還不夠成熟,雖然已有產(chǎn)品,也能夠使用但是沒有統(tǒng)一的分度表,需要個(gè)別標(biāo)定,給我們的使用帶來不便,因此我們?nèi)粘2蛔鍪褂煤脱芯?。?biāo)準(zhǔn)化熱電偶包括鉑銠

6、10-鉑熱電偶(s型)、鉑銠30-鉑銠6熱電偶(b型)、鎳鎘-鎳硅熱電偶(k型)、鎳鎘-銅鎳熱電偶(e型)、銅-銅鎳熱電偶(t型)。我們著重介紹k型和s型熱電偶:s型熱電偶為貴重金屬熱電偶,其正極導(dǎo)體的化學(xué)成分為鉑銠合金,其中,含銠10%,含鉑90%。負(fù)極為純鉑。s型熱電偶具有準(zhǔn)確度高、測溫區(qū)寬、使用壽命長和穩(wěn)定性好等優(yōu)點(diǎn)。特別是其在高溫下抗氧化性能好,因此我們的產(chǎn)品電阻爐溫度控制器選用熱電偶作為溫度傳感器。k型熱電偶為目前用量最大的廉價(jià)金屬熱電偶。其正極的化學(xué)成分為:ni:cr=90:10;負(fù)極的化學(xué)成分為:ni:si=97:3,測量溫度為-2001300。1.2 pid 1.2.1 pid

7、簡介pid控制是工程應(yīng)用中最廣泛的控制規(guī)律,它的主要特點(diǎn)是其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便。其各種參數(shù)的特征如下:比例調(diào)節(jié)的作用是按比例反映系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用以減小偏差。比例作用大,可以加快調(diào)節(jié),減小誤差,但是過大的比例作用會(huì)使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)不穩(wěn)定。積分調(diào)節(jié)的作用是使系統(tǒng)消除穩(wěn)態(tài)誤差,因?yàn)橐坏┯姓`差,積分調(diào)節(jié)就起作用,直至無誤差,積分調(diào)節(jié)的輸出維持常量。微分調(diào)節(jié)的作用是反映系統(tǒng)偏差信號的變化率,具有預(yù)見性,能預(yù)見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用,使偏差還沒有形成即被微分調(diào)節(jié)作用消除,因此微分作用可以改善系統(tǒng)的動(dòng)態(tài)性能。1.2

8、.2 pid算法介紹pid算法有位置式和增量式輸出兩種。增量式pid算法輸出得到的結(jié)果是增量,也就是說,在上一次的控制量的基礎(chǔ)上需要增加(負(fù)值意味著減少)的控制量。例如,在晶閘管電動(dòng)機(jī)調(diào)速系統(tǒng)中,控制量的增量意味著晶閘管的觸發(fā)相位在原有的基礎(chǔ)上需要提前或滯后的量。位置式算法輸出則表現(xiàn)為當(dāng)前的觸發(fā)相位應(yīng)該在什么位置。又如在溫度控制系統(tǒng)中,增量式算法表現(xiàn)為在上次通電時(shí)間比例的基礎(chǔ)上,還需要增加或減少的通電時(shí)間比例;位置式算法輸出則直接指明本周期內(nèi)要通電多長時(shí)間1.2.3 位置式pid算法位置式pid算法可以直接指出需要通電多長時(shí)間,因此其受到廣泛應(yīng)用。其計(jì)算公式如式1.2下: (1.2) 式中,為

9、基本偏差,表示當(dāng)前測量值與設(shè)定目標(biāo)值之間的差值,結(jié)果可以是正或負(fù)。當(dāng)設(shè)定目標(biāo)作為被減數(shù)時(shí),正數(shù)表示還沒有達(dá)到設(shè)定值。負(fù)數(shù)表示已經(jīng)超過了設(shè)定值。累計(jì)偏差,它是每次偏差值的代數(shù)和。,和是pid算法的3個(gè)控制參數(shù),分別稱為比例常數(shù)、積分常數(shù)和微分常數(shù),對不同的控制對象選擇不同的數(shù)值,需要經(jīng)過現(xiàn)場整定才能獲得較好的效果。第二章 電阻爐溫度控制器總體設(shè)計(jì)此電阻爐溫度控制器主要是以單片機(jī)stc89c52為核心,通過熱電偶采集熱端溫度并進(jìn)行冷端溫度補(bǔ)償?shù)玫綄?shí)際溫度t,然后經(jīng)放大電路和adc0832模數(shù)轉(zhuǎn)換,并進(jìn)行線性化處理,之后經(jīng)單片機(jī)stc89c52進(jìn)行pid控制,并加入pid參數(shù)的調(diào)整,最后通過液晶顯示

10、器lcd1602實(shí)現(xiàn)溫度值和pid輸出值及參數(shù)值的顯示。它用最簡單的硬件單元和軟件編程實(shí)現(xiàn)了溫度采集、溫度pid控制、溫度顯示、上下限報(bào)警、pid參數(shù)顯示、pid參數(shù)修改等功能。2.1功能需求電阻爐溫度控制器實(shí)際上是以單片機(jī)為核心,根據(jù)設(shè)定溫度值與采集溫度值進(jìn)行比較求出偏差然后pid運(yùn)算對電阻爐溫度進(jìn)行控制。此控制系統(tǒng)可實(shí)現(xiàn)以下功能:溫度采集:溫度控制:溫度顯示:上下限報(bào)警顯示:參數(shù)顯示:pid控制參數(shù)設(shè)定修改:其單回路控制系統(tǒng)圖2.1如下所示:圖2.1 單片機(jī)單回路控制系統(tǒng)2.2 硬件設(shè)計(jì)電阻爐溫度控制器主要有單片機(jī)at89c52、a/d轉(zhuǎn)換器、按鍵、lcd顯示、加熱爐、傳感器、ssr輸出控

11、制組成的控制系統(tǒng)。其組成框圖如圖2.2所示:圖2.2 硬件組成框圖2.3 軟件設(shè)計(jì)該電阻爐溫度控制器采用模塊化的結(jié)構(gòu)設(shè)計(jì)。其主程序流程圖如圖2.3所示:其軟件部分的的設(shè)計(jì)由adc0832采樣子程序、中斷子程序、lcd初始化子程序、pid控制子程序、pid參數(shù)按鍵修改子程序。adc0832采集溫度信號,信號經(jīng)a/d轉(zhuǎn)換后送至單片機(jī)stc89c52進(jìn)行pid處理,用戶可以根據(jù)自身?xiàng)l件對pid參數(shù)進(jìn)行調(diào)整,之后lcd顯示器顯示溫度值和pid處理值,從而控制電阻爐溫度。 圖2.3 主程序流程圖第三章 電阻爐溫度控制器硬件設(shè)計(jì)3.1 s型熱電偶3.1.1 s型熱電偶及其分度表s型熱電偶首先是標(biāo)準(zhǔn)化熱電偶

12、,偶絲直徑規(guī)定為0.5mm,允許偏差-0.015mm,其正極(sp)的名義化學(xué)成分為鉑銠合金,其中含銠為10%,含鉑為90%,負(fù)極(sn)為純鉑,故俗稱單鉑銠熱電偶。該熱電偶長期最高使用溫度為1300,短期最高使用溫度為1600。而且s型熱電偶在正常長期使用溫度為8001300左右時(shí)測量的精度最高,而在800以內(nèi)的測溫準(zhǔn)確度不高,而長期使用溫度在1300以上就很容易損壞熱電偶。因此我們在對其分度表的計(jì)算時(shí)溫度設(shè)定為01300,因?yàn)殡娮锠t正符合其要求,并為長期使用電器。s型熱電偶分度表如下表3.1所示:表3.1 s型熱電偶分度表 3.1.2 s型熱電偶線性化處理此電阻爐溫度傳感器中s型熱電偶溫度

13、傳感器采集0-1300的溫度進(jìn)行顯示控制,根據(jù)s型熱電偶分度表列出其對應(yīng)的mv電壓,由于所用單片機(jī)stc89c52能夠控制的電壓信號為0-5v,以及編程轉(zhuǎn)換值,因此根據(jù)以上進(jìn)行標(biāo)度變換處理得表3.2所示:表3.2 標(biāo)度變換表溫度值()分度表值(mv)a/d采樣值(v)轉(zhuǎn)換值00003002.3230.883456005.2371.991019008.4483.211164130013.15552553.2 單片機(jī)stc89c52及其外圍接口電路3.2.1 單片機(jī)stc89c52 stc89c52是一種低功耗、高性能cmos8位微控制器,具有 8k 在系統(tǒng)可編程flash 存儲(chǔ)器。在單芯片上,擁

14、有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得stc89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案stc89c52的引腳分布如圖3.1所示,各部分引腳功能如下1. p0.0p0.7引腳:作為i/o引腳使用時(shí),p0口是漏極開路雙向口,向口鎖存器寫入1時(shí),i/o引腳將懸空,是高阻輸入引腳;在讀寫外部存儲(chǔ)器時(shí)p0口作低8位數(shù)據(jù)/地址總線。2. p1.0p1.7引腳:內(nèi)部帶有弱上拉的準(zhǔn)雙向i/o口,作輸入引腳使用前,先向p1口鎖存器寫入1,使p1口引腳上拉至高電平;另外,p1.0與p1.1還有第二功能:t2(p1.0)定時(shí)器t2的計(jì)數(shù)輸入端或定時(shí)器t2的時(shí)鐘輸出端,t2ex(p1

15、.1)定時(shí)器t2的外部觸發(fā)輸入端。圖3.1 stc89c52引腳分布圖3. p2.0p2.7引腳: 內(nèi)部帶有弱上拉的準(zhǔn)雙向i/o口,作輸入引腳使用前,先向p2口鎖存器寫入1,使p2口引腳上拉至高電平;在讀/寫外部存儲(chǔ)器時(shí),p2口輸出高8位地址信號a15a8。4. p3.0p3.7引腳:內(nèi)部帶有弱上拉的準(zhǔn)雙向i/o口,作輸入引腳使用前,先向p3口鎖存器寫入1,使p3口引腳上拉至高電平;另外,p3口還有第二功能:rxd(p3.0)串行數(shù)據(jù)接收(輸入)端;txd(p3.1)串行數(shù)據(jù)發(fā)送(輸出)端;(p3.2)外中斷0輸入端;(p3.3)外中斷1輸入端;t0(p3.4)定時(shí)/計(jì)數(shù)t0的外部輸入端;t1

16、(p3.5)定時(shí)/計(jì)數(shù)t1的外部輸入端;(p3.6)外部數(shù)據(jù)存儲(chǔ)器寫選通信號,低電平有效;(p3.7)外部數(shù)據(jù)存儲(chǔ)器讀選通信號,低電平有效;5. 引腳:外部程序存儲(chǔ)器選擇信號,低電平有效;在復(fù)位期間cpu檢測并鎖存引腳的電平狀態(tài),當(dāng)讀引腳為高電平時(shí),從片內(nèi)程序存儲(chǔ)器取指令,只有當(dāng)程序計(jì)數(shù)器pc超出片內(nèi)程序存儲(chǔ)器地址編碼范圍時(shí),才轉(zhuǎn)到外部程序存儲(chǔ)器中取指令;當(dāng)該引腳位低電平時(shí),一律從外部程序存儲(chǔ)器中取指令。6. :外部程序存儲(chǔ)器讀選通信號,低電平有效。7ale:低8位地址鎖存信號,在訪問外部程序存儲(chǔ)器時(shí),ale下降沿鎖存從p0口輸出的低8位地址信息a7a0,以便隨后將p0口作為數(shù)據(jù)總線使用;在正

17、常情況下,ale輸出信號為1/6振蕩頻率,并可用作外部時(shí)鐘或定時(shí)信號。8. xtal1:片內(nèi)晶振電路反向放大器輸入端,接cpu內(nèi)部時(shí)鐘電路; xtal2:片內(nèi)晶振電路反向放大器輸出端;9. rst:復(fù)位信號輸入端,高電平有效;10. vcc:電源引腳,vss:電源地。stc89c52系列單片機(jī)屬于mcs51型系列單片機(jī),它們的存儲(chǔ)器在組織結(jié)構(gòu)上有4個(gè)物理上相互獨(dú)立的空間:片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器,內(nèi)部數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。其中片外數(shù)據(jù)存儲(chǔ)區(qū)共64kb,相應(yīng)的地址空間為0000fffffh;片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)共256b,其中80hffh為sfr(特殊功能寄存器區(qū)),20h2fh為位尋址區(qū)

18、,00h1fh為r0r7工作寄存器區(qū),30h7fh為用戶存儲(chǔ)數(shù)據(jù)用的存儲(chǔ)區(qū),共80個(gè)字節(jié);片內(nèi)程序存儲(chǔ)區(qū)有4kb,通過=1進(jìn)行選通;片外程序存儲(chǔ)區(qū)有64kb是通過=0進(jìn)行選通。3.2.2 單片機(jī)stc89c52外圍接口電路 該電阻爐溫度控制器中使用了stc89c52單片機(jī),以及adc0832a/d轉(zhuǎn)換器、晶振電路、復(fù)位電路、按鍵、lcd1602液晶顯示器。其連接原理圖如圖3.2:3.3 adc0832該電阻爐溫度控制器所用的a/d轉(zhuǎn)換器是adc0832, adc0832 為8位分辨率a/d轉(zhuǎn)換芯片,其最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的

19、模擬電壓輸入在05v之間。芯片轉(zhuǎn)換時(shí)間僅為32s,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過di 數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。 圖3.2 stc89c52外圍接口電路圖其封裝及引腳如圖3.3所示,引腳介紹如下:cs_ 片選使能,低電平芯片使能ch0 模擬輸入通道0,或作為in+/-使用ch1 模擬輸入通道1,或作為in+/-使用 gnd 芯片參考0 電位(地)di 數(shù)據(jù)信號輸入,選擇通道控制do 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出圖3.3 adc0832引腳圖3.4 lcd1602顯示器lcd,又稱

20、液晶顯示器(liquid crystal display),為平面超薄的顯示設(shè)備,它由一定數(shù)量的彩色或黑白像素組成,放置于光源或者反射面前方。功耗很低,因此倍受工程師青睞,適用于使用電池的電子設(shè)備。它的主要原理是以電流刺激液晶分子產(chǎn)生點(diǎn)、線、面配合背部燈管構(gòu)成畫面。lcd與單片機(jī)連接如圖3.4所示 圖3.4 lcd1602與單片機(jī)連接圖其引腳介紹如表3.3所示:表3.3 lcd1602引腳介紹表編號符號引腳說明編號符號引腳說明1vss電源地9d2雙向數(shù)據(jù)線2vdd5v電源正極10d3雙向數(shù)據(jù)線3vl液晶顯示偏壓11d4雙向數(shù)據(jù)線4rs數(shù)據(jù)/命令選擇12d5雙向數(shù)據(jù)線5r/w讀/寫選擇13d6雙

21、向數(shù)據(jù)線6e使能信號14d7雙向數(shù)據(jù)線7d0雙向數(shù)據(jù)線15bla背光源正極8d1雙向數(shù)據(jù)線16blk背光源負(fù)極其主要技術(shù)參數(shù)如下:顯示容量:16*2個(gè)字符芯片工作電壓:4.5-5.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.95*4.35(w*h)mm第四章 軟件設(shè)計(jì)4.1電阻爐溫度控制器主程序電阻爐溫度控制器主程序首先進(jìn)行液晶初始化,然后判斷1s標(biāo)志是否執(zhí)行;如果是,進(jìn)行ad采樣,執(zhí)行ad處理子程序,adc0832采集電壓信號;之后判斷是否有按鍵按下,執(zhí)行按鍵處理子程序;若沒有按鍵按下,計(jì)算pid值;隨后對數(shù)據(jù)顯示處理,顯示pid值,結(jié)束。其主程序流程圖如圖4

22、.1所示圖4.1 主程序流程圖4.2 adc0832數(shù)據(jù)采集子程序按照adc0832的工作方式,可以得到如圖4.2所示的程序流程圖。在將adc0832的端口定義好后,用cs=0選通adc0832,之后,將di端置1,開始ad轉(zhuǎn)換,然后送入通道0或者1的選擇信息,在do端先輸出d7-d0數(shù)據(jù),再輸出d0-d7數(shù)據(jù),然后比較兩次輸出的數(shù)據(jù)值是否相等,若不相等,繼續(xù)采樣,若相等,返回采樣值。 圖4.2 adc0832數(shù)據(jù)采集子程序4.3熱電偶線性化標(biāo)度變換程序性標(biāo)度變換是熱電偶采集溫度與a/d轉(zhuǎn)換器之間的橋梁,是關(guān)鍵性環(huán)節(jié),流程圖如圖4.3所示在程序中,dat代表a/d線性標(biāo)度變換值,首先dat與轉(zhuǎn)

23、換值進(jìn)行比較,判斷其符合哪一個(gè)段內(nèi);mdat表示顯示溫度值,當(dāng)dat判斷其處于哪一個(gè)段內(nèi),這樣根據(jù)線性標(biāo)度變換公式,即可求出其采集的溫度值;之后返回溫度值mdat,以備lcd顯示器顯示。圖4.3 線性標(biāo)度變換子程序4.4 pid控制程序單片機(jī)對a/d采集的溫度需要進(jìn)行與設(shè)定溫度值進(jìn)行比較,然后經(jīng)過pid控制,其pid控制流程圖如圖4.4所示首先,定義偏差et= indat-tedat(indat表示測量值,tedat表示設(shè)定值),偏差之和sumet,連續(xù)兩偏差之差et_temp;然后判斷20ms標(biāo)志flag2是否為1,若是,進(jìn)行pid計(jì)算,算出pout,若否,輸出上次pout。此pid為了顯示

24、方便,保證輸出為正,因此判定pout是否為負(fù)。圖4.4 pid控制程序4.5 pid參數(shù)修改子程序?yàn)榱四軌驖M足用戶的需要,電阻爐溫度控制器能偶調(diào)整不同的pid參數(shù),以便控制溫度。其pid參數(shù)修改子程序流程圖如圖4.5所示:簡單介紹這幾個(gè)按鍵功能:1鍵功能鍵:選擇修改kp、ki、kd2鍵加1鍵3鍵減1鍵4鍵確定鍵圖4.5 pid參數(shù)修改子程序4.6 lcd顯示子程序根據(jù)設(shè)計(jì)要求,進(jìn)行l(wèi)cd顯示程序的編寫,流程如圖4.6所示。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。設(shè)置顯示的字符模式,顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模

25、塊在哪里顯示字符,最后將字符碼寫入到指定位置。 圖4.6 lcd顯示程序第五章 總結(jié) 這次智能儀器設(shè)計(jì),我們在王老師的指導(dǎo)下,做了關(guān)于自制電阻爐溫度控制器的設(shè)計(jì)。雖然,由于某些硬件的短缺,沒能做成一個(gè)完整的電阻爐溫度控制器,但是基本上做出了溫度的采集、pid控制、顯示等。在這次設(shè)計(jì)中,我們通過自己查閱資料,和同學(xué)老師交流辯論,加深了對熱電偶、a/d轉(zhuǎn)換器、pid控制、單片機(jī)中斷等好多理論知識(shí)理解。同時(shí),再做這個(gè)設(shè)計(jì)我們需要學(xué)會(huì)protel99畫原理圖、visio畫流程圖、如鵬版keil進(jìn)行軟件編程、stc_isp_v4.7.9軟件下載.這些東西對于我來說是第一次接觸,但是通過這次設(shè)計(jì)的親自完成

26、,雖然不敢說已經(jīng)全部掌握,但至少我能夠自己在以后的運(yùn)用的輕松操縱。對于我們所做得這個(gè)電阻爐溫度控制器的設(shè)計(jì),首先,在硬件方面我們選的是stc89c52作為單片機(jī)對溫度進(jìn)行pid控制,adc0832作為a/d轉(zhuǎn)換器進(jìn)行a/d采樣,熱電偶作為溫度傳感器,lcd顯示器作為溫度和其他參數(shù)顯示。對于硬件的連接不成問題。其次,在軟件方面,我們用到了adc0832采集子程序、線性標(biāo)注變換子程序、pid控制子程序、pid參數(shù)修改子程序、lcd顯示子程序、以及最重要的主程序。這些程序經(jīng)過我們的努力基本上實(shí)現(xiàn)了其各自的功能,也和主程序密切連接。最后,我們的設(shè)計(jì)基本上符合了老師規(guī)定的要求,但是在細(xì)節(jié)方面也許有許多的

27、不足和漏洞,我們會(huì)不斷的改進(jìn),也希望大家給我們指正,我們將會(huì)不斷完善我們的作品??偟膩碚f,這次設(shè)計(jì)讓我學(xué)習(xí)了不少東西。第一、理論學(xué)習(xí)是必須的,我們必須一直注重自己的理論學(xué)習(xí),踏踏實(shí)實(shí)把理論知識(shí)學(xué)習(xí)好,才能順利實(shí)踐。第二、理論固然重要,但是沒有實(shí)踐的演練,理論永遠(yuǎn)只是一紙空文,學(xué)習(xí)理論的最終目的是為了實(shí)踐,因此我們應(yīng)該不斷實(shí)踐。第三、在這個(gè)網(wǎng)絡(luò)發(fā)達(dá)的時(shí)代,我們應(yīng)該學(xué)會(huì)運(yùn)用網(wǎng)上的知識(shí),目的就是學(xué)會(huì)學(xué)習(xí),高效做事。參考文獻(xiàn)1 王學(xué)智.熱電偶測溫及其冷端溫度補(bǔ)償 湖北水利水電職業(yè)技術(shù)學(xué)院j 2011.022 杜洋.a/d轉(zhuǎn)換芯片adc0832的應(yīng)用j.電子制作,2006.7.3 張懷廣. “prote

28、l99”快速入門的幾個(gè)技巧j. 科教文匯(下旬刊), 2010.05 .4 李建海,張大為,張凱,劉迪. 數(shù)字pid控制器在溫度控制系統(tǒng)中的應(yīng)用j. 電子測量技術(shù) 2009.04 . 5 劉伏文. 單片機(jī)c和匯編語言混合編程j. 電子制作, 2007,(06) .6 于志贛,劉國平,張旭斌. 液顯lcd1602模塊的應(yīng)用j. 機(jī)電技術(shù), 2009,(03) .7 李實(shí). 基于模糊pid算法的電阻爐溫度控制系統(tǒng)設(shè)計(jì)j. 鞍鋼職工大學(xué) 2011,(05)8 任國強(qiáng). 標(biāo)準(zhǔn)s型熱電偶整百度點(diǎn)熱電勢的自動(dòng)計(jì)算j. 計(jì)量技術(shù), 1994,(11) 9 吳健, 侯文,鄭賓. 基于stc89c52單片機(jī)的溫

29、度控制系統(tǒng)j. 中北大學(xué)電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室 2011,(04)10 李忠虎,李希勝.過程參數(shù)檢測技術(shù)及儀表m.北京計(jì)量出版社 2009年第1版11 潘永雄.新編單片機(jī)原理與應(yīng)用m.西安:西安電子科技大學(xué)出版2007第一版12 周祖茗.液顯模塊lcd1602的接口設(shè)計(jì)及編程技巧j.中國科技縱橫,2010.14.附錄 a源程序#include /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#include intrins.h sbit rs = p10; /pin4sbit rw = p11; /pin5sbit en = p12; /pin6sbit key1 = p1

30、4; /pin6sbit key2 = p15; /pin6sbit key3 = p16; /pin6sbit key4 = p17; /pin6/adc0832的引腳sbit adcs =p20; /adc0832 chip seclectsbit addi =p37; /adc0832 k insbit addo =p37; /adc0832 k outsbit adclk =p36; /adc0832 clock signal #define uchar unsigned char#define uint unsigned int#define date p0 #define rs_c

31、lr rs=0 #define rs_set rs=1#define rw_clr rw=0 #define rw_set rw=1 #define en_clr en=0#define en_set en=1#define init_temp 800#define min_temp 100#define max_temp 900/#define max 1500uchar code temp_data=0123456789;uchar code temp_min=temp is most min; uchar code temp_max=temp is most max;uchar tem1

32、10=0,45,101,164,255;uchar tem210=0,300,600,900,1300; uchar temp118=wd: pid: ,temp216=p= i= d= ;uchar getdata; /獲取adc轉(zhuǎn)換回來的值bit flag,flag2;uchar time_20ms,time_ms,time_1s,bottem,data1,data2,kemp;char et,sumet,et_temp; int pout,out;char kp=5;ki=10;kd=15; int init_pid( uchar indat,uchar tedat,char et_ol

33、d);/*讀adc0832函數(shù)*/ /采集并返回unsigned int adc0832(unsigned char channel) /ad轉(zhuǎn)換,返回結(jié)果 uchar i=0; uchar j; uint dat=0; uchar ndat=0; if(channel=0)channel=2; if(channel=1)channel=3; addi=1; _nop_(); _nop_(); adcs=0;/拉低cs端 _nop_(); _nop_(); adclk=1;/拉高clk端 _nop_(); _nop_(); adclk=0;/拉低clk端,形成下降沿1 _nop_(); _no

34、p_(); adclk=1;/拉高clk端 addi=channel&0x1; _nop_(); _nop_(); adclk=0;/拉低clk端,形成下降沿2 _nop_(); _nop_(); adclk=1;/拉高clk端 addi=(channel1)&0x1; _nop_(); _nop_(); adclk=0;/拉低clk端,形成下降沿3 addi=1;/控制命令結(jié)束 _nop_(); _nop_(); dat=0; for(i=0;i8;i+) dat|=addo;/收數(shù)據(jù) adclk=1; _nop_(); _nop_(); adclk=0;/形成一次時(shí)鐘脈沖 _nop_();

35、 _nop_(); dat=1; if(i=7)dat|=addo; for(i=0;i8;i+) j=0; j=j|addo;/收數(shù)據(jù) adclk=1; _nop_(); _nop_(); adclk=0;/形成一次時(shí)鐘脈沖 _nop_(); _nop_(); j=j7; ndat=ndat|j; if(i=1; adcs=1;/拉低cs端 adclk=0;/拉低clk端 addo=1;/拉高數(shù)據(jù)端,回到初始狀態(tài) dat=8; dat|=ndat; return(dat); /return ad k/*中斷*/void init_time() tmod=0x10; th1=(65536-20

36、000)/256; tl1=(65536-20000)%256; ea=1; et1=1; tr1=1;/*/* 微秒延時(shí)函數(shù) */*/void delay_us(unsigned int n) /延時(shí) 如果需要高精度延時(shí) 請嵌入?yún)R編 if (n = 0) return ; while (-n); /*/* 毫秒函數(shù)聲明 */*/ void delay_ms(unsigned char i) unsigned char a, b; for (a = 1; a i; a+) for (b = 1; b; b+) ; /*/* 寫入命令函數(shù) */*/ void lcd_write_com(unsi

37、gned char com) rs_clr; rw_clr; en_set; date = com; delay_us(5); en_clr; /*/* 寫入數(shù)據(jù)函數(shù) */*/ void lcd_write_data(unsigned char data) rs_set; rw_clr; en_set; date = data; delay_us(5); en_clr; /*/* 寫入字符串函數(shù) */*/ void lcd_write_str(unsigned char x,unsigned char y,unsigned char *s) if (y = 0) lcd_write_com(0

38、x80 + x); else lcd_write_com(0xc0 + x); while (*s) lcd_write_data( *s); s +; if(bottem=1) lcd_write_com(0x0f);lcd_write_com(0xc0); if(bottem=2) lcd_write_com(0x0f);lcd_write_com(0xc5); if(bottem=3) lcd_write_com(0x0f);lcd_write_com(0xca); /*/* 初始化函數(shù) */*/ void lcd_init(void) lcd_write_com(0x38); /*顯示

39、模式設(shè)置*/ delay_ms(5); lcd_write_com(0x38); delay_ms(5); lcd_write_com(0x38); delay_ms(5); lcd_write_com(0x38); lcd_write_com(0x08); /*顯示關(guān)閉*/ lcd_write_com(0x01); /*顯示清屏*/ lcd_write_com(0x06); /*顯示光標(biāo)移動(dòng)設(shè)置*/ delay_ms(5); lcd_write_com(0x0c); /*顯示開及光標(biāo)設(shè)置*/ int spdat(uchar dat)uchar i;int mdat;for(i=0;item1i&dattem1i+1)mdat=tem2i+(float)dat/tem1i)*tem2i;return mdat;voi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論