溫度測控系統(tǒng)-xg后_第1頁
溫度測控系統(tǒng)-xg后_第2頁
溫度測控系統(tǒng)-xg后_第3頁
溫度測控系統(tǒng)-xg后_第4頁
溫度測控系統(tǒng)-xg后_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄1緒論1.1 課題背景及意義1.2 本課題的主要內(nèi)容2 PID控制的基本原理2.1 PID控制的介紹2.2 PID控制的基本原理2.3 PID控制器的設(shè)計2.4 PID控制算法3 電路設(shè)計73.1 電路設(shè)計整體思路73.2 基本硬件組成73.2.1 AT89C52單片機介紹73.2.2 鉑電阻測溫調(diào)理電路103.2.3 時鐘電路113.2.4 復(fù)位電路123.2.5 A/D接口電路123.2.6 鍵盤輸入電路133.2.7 顯示電路143.2.8 溫度控制電路154 系統(tǒng)軟件的實現(xiàn)164.1鉑電阻測控系統(tǒng)的主程序164.2 A/D轉(zhuǎn)換子程序174.3 鍵盤處理子程序184.4 溫度標(biāo)度變換

2、模塊184.5 顯示子程序194.6 定時子程序204.7 量化子程序214.8 其他模塊22主要參考文獻(xiàn)致謝1緒論1.1 課題背景及意義溫度是工業(yè)生產(chǎn)中常見的工藝參數(shù)之一,任何物理變化和化學(xué)反應(yīng)過程都與溫度密切相關(guān),因此溫度控制是生產(chǎn)自動化的重要任務(wù)。對于不同生產(chǎn)情況和工藝要求下的溫度控制,所采用的升溫加熱方式,控制方案也有所不同。像電力、化工、石油、冶金、航空航天、機械制造、糧食儲存、酒類生產(chǎn)等領(lǐng)域內(nèi),溫度常常是表征對象和過程狀態(tài)的最重要的參數(shù)之一??梢哉f幾乎所有的工業(yè)生產(chǎn)部門都不得不考慮著溫度這個因素。我國是一個農(nóng)業(yè)大國,近年來我國糧食總產(chǎn)量將近5億噸,這么多糧食使得糧食存儲問題變得格外

3、重要。我國糧食由于沒有及時控制好糧食儲存溫度而造成霉變和發(fā)芽損失是相當(dāng)嚴(yán)重的?;诖朔N情況,所以對糧食儲存溫度的準(zhǔn)確控制是非常必要的。1.2 本課題的主要內(nèi)容采用單片機來對溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。本課題的設(shè)計使用AT89C52單片機作為主控芯片,采用測溫范圍寬、精度高的鉑熱電阻進(jìn)行溫度系統(tǒng)的測量和控制。Pt100溫度傳感器的測溫范圍0100,完全適用糧庫的溫度控制。溫度控制系統(tǒng)具有非線形、時滯以及不確定性。單純依靠傳統(tǒng)的控制方式或現(xiàn)代控制方式都很難達(dá)到高質(zhì)量的控制效果。而智能控制中的PID

4、控制通過從專家們積累的經(jīng)驗中總結(jié)的控制規(guī)律,對溫度進(jìn)行控制,可以有效地解決溫度控制系統(tǒng)的非線性、時滯以及不確定性。本文就是采用PID控制對糧庫溫度進(jìn)行控制。本設(shè)計擬達(dá)到的基本要求為:1)所設(shè)計的溫控儀的溫度測量范圍為0100;2)系統(tǒng)可設(shè)定溫度值;3)設(shè)定的溫度值與測量溫度值可以實時顯示;4)控溫精度在1。本設(shè)計硬件電路部分包括微處理器模塊、溫度控制模塊、A/D轉(zhuǎn)換模塊及顯示模塊和鍵盤部分。系統(tǒng)軟件部分采用PID控制原理進(jìn)行程序編寫,并給出了軟件流程圖及主要源程序。2 PID控制的基本原理2.1 PID控制的介紹 在工程實際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律為比例、積分、微分控制,簡稱PID控制

5、,又稱PID調(diào)節(jié)。PID控制器問世至今已有近70年歷史,它以其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技術(shù)之一。當(dāng)被控對象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時,控制理論的其它技術(shù)難以采用時,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時應(yīng)用PID控制技術(shù)最為方便。即當(dāng)我們不完全了解一個系統(tǒng)和被控對象,或不能通過有效的測量手段來獲得系統(tǒng)參數(shù)時,最適合用PID控制技術(shù)。PID控制,實際中也有PI和PD控制。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計算出控制量進(jìn)行控制的。 2.2 PID控制的基本原理一、模擬PID控制系統(tǒng)組成1、PID調(diào)節(jié)器的結(jié)

6、構(gòu)原理圖 圖211 模擬PID控制系統(tǒng)原理框圖二、模擬PID調(diào)節(jié)器的微分方程和傳輸函數(shù)1、PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,它將給定值r(t)與實際輸出值c(t)的偏差的比例(P)、積分(I)、微分(D)通過線性組合構(gòu)成控制量,對控制對象進(jìn)行控制 式中 2、PID調(diào)節(jié)器的傳輸函數(shù) 三、PID調(diào)節(jié)器各校正環(huán)節(jié)的作用1、比例環(huán)節(jié):即時成比例地反應(yīng)控制系統(tǒng)的偏差信號e(t),偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生控制作用以減小偏差。2、積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強弱取決于積分時間常數(shù)TI,TI越大,積分作用越弱,反之則越強3、微分環(huán)節(jié):能反應(yīng)偏差信號的變化趨勢(變化速率),并能在偏差

7、信號的值變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減小調(diào)節(jié)時間。2.3 PID控制器的設(shè)計采用AT89C52 單片機設(shè)計基于開關(guān)階躍響應(yīng)的參數(shù)自整定控制器??刂破骺刂屏枯敵鍪褂肞WM控制器整定過程如下:整定過程開始,控制器輸出占空比為100%的PWM波。記錄被控過程的響應(yīng)反饋值,并與設(shè)定值比較。當(dāng)反饋值與設(shè)定值相等時,控制器輸出占空比0%的PWM 波。記錄反饋值,并判斷被控過程的響PWM否達(dá)到最大值。當(dāng)被控過程的響應(yīng)達(dá)到最大值時,由開關(guān)階躍算法計算近似模型參數(shù),再由 整定公式Z- N控制參數(shù)。自整定過程結(jié)束。切換到PID控制,使用PID算法計算PWM波的輸出。2

8、.4 PID控制算法在過程控制中,按偏差的比例(P)、積分(I)和微分(D)進(jìn)行控制的PID控制器(亦稱PID調(diào)節(jié)器)是應(yīng)用最為廣泛的一種自動控制器。它具有原理簡單,易于實現(xiàn),適用面廣,控制參數(shù)相互獨立,參數(shù)的選定比較簡單等優(yōu)點;而且在理論上可以證明,對于過程控制的典型對象“一階滯后純滯后”與“二階滯后純滯后”的控制對象,PID控制器是一種最優(yōu)控制。PID調(diào)節(jié)規(guī)律是連續(xù)系統(tǒng)動態(tài)品質(zhì)校正的一種有效方法,它的參數(shù)整定方式簡便,結(jié)構(gòu)改變靈活(PI、PD、)。參數(shù)的選擇: 比例系數(shù)P對系統(tǒng)性能的影響:比例系數(shù)加大,使系統(tǒng)的動作靈敏,速度加快,穩(wěn)態(tài)誤差減??;P偏大,振蕩次數(shù)加多,調(diào)節(jié)時間加長;P太大時,

9、系統(tǒng)會趨于不穩(wěn)定;P太小,又會使系統(tǒng)的動作緩慢。P可以選負(fù)數(shù),這主要是由執(zhí)行機構(gòu)、傳感器以及控制對象的特性決定的。如果P的符號選擇不當(dāng)對象測量值就會離控制目標(biāo)的設(shè)定值越來越遠(yuǎn),如果出現(xiàn)這樣的情況P的符號就一定要取反。同時要注意的是,力控的策略控制器的PID控制塊的P參數(shù)是PID控制中的增益。 積分控制I對系統(tǒng)性能的影響:積分作用使系統(tǒng)的穩(wěn)定性下降,I?。ǚe分作用強)會使系統(tǒng)不穩(wěn)定,但能消除穩(wěn)態(tài)誤差,提高系統(tǒng)的控制精度。微分控制D對系統(tǒng)性能的影響:微分作用可以改善動態(tài)特性,D偏大時,超調(diào)量較大,調(diào)節(jié)時間較短;D偏小時,超調(diào)量也較大,調(diào)節(jié)時間也較長;只有D合適,才能使超調(diào)量較小,減短調(diào)節(jié)時間。3

10、電路設(shè)計3.1 電路設(shè)計整體思路在溫度測量系統(tǒng)中,實際溫度值由鉑電阻恒流工作調(diào)理電路進(jìn)行測量。為了克服鉑電阻的非線性特點,在信號調(diào)理電路中加入負(fù)反饋非線性校正網(wǎng)絡(luò);調(diào)理電路的輸出電壓經(jīng)ADC0808轉(zhuǎn)換后送入單片機AT89C52;對采樣數(shù)據(jù)進(jìn)行濾波及標(biāo)度變換處理后。由3位7段數(shù)碼管顯示。輸入的設(shè)定值則由4位的獨立式鍵盤電路進(jìn)行調(diào)整,可分為對設(shè)定值的十位和個位進(jìn)行加1減1操作,送入單片機AT89C52后由另一3位7段數(shù)碼管顯示。數(shù)碼管的段碼有74LS05進(jìn)行驅(qū)動,而位碼由三極管2N2222A進(jìn)行驅(qū)動。為了使兩組數(shù)碼管實時顯示,對兩組數(shù)碼管顯示器進(jìn)行動態(tài)掃描。本系統(tǒng)的PID控制由單片機AT89C5

11、2的程序來實現(xiàn)。首先由溫度采樣值與設(shè)定值之差求出溫度的誤差,進(jìn)一步求出誤差的變化率,經(jīng)量化及限幅子程序處理,得到誤差語言變量E和誤差變化率語言變量Ec,直接查詢PID控制表就可獲得控制U,然后由定時子程序處理,發(fā)出控制信號,控制加熱片及風(fēng)扇工作。加熱片及風(fēng)扇的控制電路采用晶體管驅(qū)動的直流電磁繼電器,通過輸出可以改變占空比的PWM波信號,就可改變固態(tài)繼電器的通斷時間,從而達(dá)到調(diào)節(jié)溫度的目的。若系統(tǒng)溫度偏高,則控制風(fēng)扇電路工作,進(jìn)行降溫;若溫度未達(dá)到設(shè)定值,則輸出溫度控制信號,控制加熱電路,進(jìn)行加熱。從而自動控制溫度的目的。整體框圖如圖3-1:傳感器加熱絲LED顯示繼電器控制輸出設(shè)定輸入單片機A/

12、D采集電路信號調(diào)理電路風(fēng)扇雙向可控控制對象圖3-1 整體電路框圖3.2 基本硬件組成3.2.1 AT89C52單片機介紹AT89C52單片機是最新的一種低功耗、高性能內(nèi)含8K字節(jié)閃電存儲器(Flash Memory)的8位CMOS 微控制器,與工業(yè)標(biāo)準(zhǔn)MCS-51指令系列和引腳完全兼容。有超強的加密功能,其片內(nèi)閃電存儲器的編程與擦除完全用電實現(xiàn),數(shù)據(jù)不易揮發(fā),編程/擦除速度快,全8K字節(jié)編程只需3s,擦除時間約用10ms,它的引腳圖見圖3-2,它的主要特點有:1)內(nèi)部程序存儲器為電擦除可編程只讀存儲器EPROM,容量8KB,內(nèi)部數(shù)據(jù)存儲器容量256B(不包括專用寄存器),外部數(shù)據(jù)存儲器尋址空間

13、64KB,外部程序存儲器尋址空間64KB; 2)有三個16位的定時器/計數(shù)器;3)可利用兩根I/O口線作為全雙工的串行口,有四種工作方式,可通過編程選定;4)內(nèi)部ROM中開辟了四個通用工作寄存器區(qū),共32個通用寄存器,以適應(yīng)多種中斷或子程序嵌套的情況; 圖3-2 AT89C52引腳圖 5)內(nèi)部有6個中斷源,分為二個優(yōu)先級,每個中斷源優(yōu)先級是可編程的;6)堆棧位置是可編程的,堆棧深度可達(dá)128字節(jié); 7)內(nèi)部有一個由直接可尋址位組成的布爾處理機,在指令系統(tǒng)中包含了一個指令子集,專用于對布爾處理機的各位進(jìn)行各種布爾處理,特別適用于控制目的和解決邏輯問題; 8)AT89C52的狀態(tài)周期由振蕩器2分頻

14、后獲得,作為芯片工作的基本時間單位。采用12MHz時,AT89C52的狀態(tài)周期為(2/12)10-6 =167ns。系統(tǒng)中所用的中斷簡介:AT89C52芯片內(nèi)部有6個中斷源,在本次設(shè)計中涉及到AT89C52芯片的中斷源有四個,分別是采樣中斷INT0,外部輸入中斷INT1、定時/計數(shù)器T0和T1其中外部中斷INT1中斷優(yōu)先級最高,定時/計數(shù)器T0次高,采樣中斷INT0次低,定時/計數(shù)器T1優(yōu)先級最低。下面就中斷源介紹如下:1)關(guān)于外部中斷INT0與INT1:外部中斷的激活方式分為兩種:一種是電平激活,另一種是邊緣激活。這兩種方式可以靠TCON寄存器中的中斷方式位IT1或IT0來控制。若ITx=0

15、(x為0或1),則采用電平激活方式:在x引腳上檢測到低電平,將觸發(fā)外部中斷。若ITx=1,則采用邊沿激活方式:在相繼的2個周期中,對ITx 引腳進(jìn)行連續(xù)2次采樣,若第一次采樣值為高,第二次為低,則TCON寄存器中的中斷請求標(biāo)志IEx 被置1,以請求中斷。由于外部中斷引腳每個機器周期被采樣一次,為確保采樣由引腳x(x為0或1)輸入的信號至少保持一個機器周期,如果外部中斷為邊緣激活方式,則引腳處的高電平和低電平值至少各保持一個機器周期,才能確保CPU檢測到電平的跳變,而把中斷請求標(biāo)志IEx=1。如果采用電平激活外部中斷方式,外部中斷源應(yīng)一直保持中斷請求有效,直至所請求的中斷得到響應(yīng)時為止。2)關(guān)于

16、定時/計數(shù)器T1、T0和T2:AT89C52有三個定時計數(shù)器T0、T1和T2。在專用寄存器TMOD(定時器方式)中,各有一個控制位(C/),分別用于控制定時/計數(shù)器0和1是工作在定時器方式還是計數(shù)器方式。選擇定時器工作方式時。計數(shù)輸入信號是內(nèi)部時鐘,每隔機器周期使寄存器的值增1。每個機器周期等于12個振蕩器周期,故計數(shù)速率為振蕩器頻率的1/12。當(dāng)采用12MHz晶振時,計數(shù)速率為1MHz。當(dāng)選擇計數(shù)器工作方式時,計數(shù)脈沖來自相應(yīng)的外部引腳T0或T1。當(dāng)輸入信號產(chǎn)生由1至0的跳變時,計數(shù)寄存器(TH0,TL0或TH1、TH0)的值增1每個定時/計數(shù)器還有4種操作模式。模式0:通過TMOD寄存器把

17、定時/計時器0或1置為模式0。在這種模式下,16位寄存器TH1/0+TL1/0只用了13位,TL1/0的高三位未用。模式1:定時/計數(shù)器0或1以全16位參與操作的。模式2:這種模式是把定時計數(shù)器TL0或TL1配置成一個可以自動重裝載的8為計數(shù)器。TL1計數(shù)溢出時,不僅使溢出標(biāo)志TF1置1,而且還自動把TH1中的內(nèi)容重裝載到TL1中。TH1的內(nèi)容可以靠軟件預(yù)置,重裝載后內(nèi)容不變。模式3:操作模式3對定時/計數(shù)器0和定時/計數(shù)器1是不同的。對于定時/計數(shù)器1,設(shè)置為模式3將使它保持原有的計數(shù)值,其作用如同使TR1=0。對于計數(shù)/計數(shù)器0,模式3將使TL0和TH0成為2個互相獨立的8位計數(shù)器。專用寄

18、存器TMOD、TCON用于控制和確定各定時/計數(shù)器的功能和操作模式。這些寄存器的內(nèi)容靠軟件設(shè)置,系統(tǒng)復(fù)位時,寄存器的所有位都被清零。模式控制寄存器TMOD用于控制定時/計數(shù)器0或1的操作模式,其中低4位用于控制定時/計數(shù)器T0,高四位用于控制定時/計數(shù)器T1。其各位定義下:GATEC/M1M0CATEC/M1M0GATE:選通門。GATE=1時,只有x (x=0或1)的引腳為高電平且TR0或TRI置1時,相應(yīng)的定時/計數(shù)器才被選通工作,這時可用于測量在x端出現(xiàn)的正脈沖的寬度。若GATE=0,則只要TR0和TRI 置1,定時/計數(shù)器就被選通,而不管x的電平是高是低。C/:計數(shù)器方式和定時器方式的

19、選擇位。C/=0,設(shè)置為定時器方式,內(nèi)部計數(shù)器的輸入是內(nèi)部脈沖,其周期等于機器周期;C/=1,設(shè)置為計數(shù)器方式,內(nèi)部計數(shù)器的輸入是來自T0或T1的外部脈沖。M0和M1:操作模式控制位。2位可形成4種編碼,對于4種操作方式。M1=M0=0,對應(yīng)于模式0;M1=0,M0=1,對應(yīng)于模式1;M1=1,M0=0,對應(yīng)于模式2;M1=M0=1,對應(yīng)于模式3。控制寄存器TCON的各位定義為:TF1TR1TF0TR0IE1IT1IE0IT0TF1:定時器1溢出標(biāo)志。當(dāng)定時/計數(shù)器溢出時,由硬件置位,申請中斷,進(jìn)入中斷服務(wù)后被硬件自動清除。TR1:定時器1運行控制位??寇浖梦换蚯宄梦粫r,定時/計時器接通

20、工作,清除時停止工作。TF0:定時器0溢出標(biāo)志。其功能和操作類同于TF1。TR0:定時器0運行控制位。其功能和操作類同于TR1。 IE1:外部沿觸發(fā)中斷1請求標(biāo)志。檢測到在x引腳上出現(xiàn)的外部中斷信號的下降沿時,由硬件置位,請求中斷,進(jìn)入中斷服務(wù)后被硬件自動清除。IT1:外部中斷1類型控制位。靠軟件來設(shè)置或清除,以控制外部中斷的觸發(fā)類型。IT1=1時,是下降沿觸發(fā);IT1=0時,是低電平觸發(fā)。IE0:外部沿觸發(fā)中斷0請求標(biāo)志。其功能和操作類同于IE1。IT0:外部中斷0類型控制位。其功能和操作類同于IT07。3.2.2 鉑電阻測溫調(diào)理電路 Pt100如圖3-3所示,本系統(tǒng)采用恒流工作調(diào)理電路,鉑

21、電阻選用標(biāo)稱值為100的Pt100作為溫度傳感器,其物理、化學(xué)性能在高溫和氧化性介質(zhì)中非常穩(wěn)定,在-259.34630.74溫域內(nèi),可作為溫度標(biāo)準(zhǔn)。A1、A2、和A3采用低漂移運放OP07C,由于有電流流經(jīng)鉑電阻傳感器,所以當(dāng)溫度為0時,在鉑電阻傳感器上有電壓降,這個電壓為鉑電阻傳感器的圖3-3 鉑電阻信號調(diào)理電路偏置電壓,是運放A1輸出電壓的一部分,使恒流工作調(diào)理電路的輸出實際不為0。所以需要對這個偏置電壓調(diào)零,圖中R3為調(diào)零電阻,其作用為當(dāng)溫度為0時,將恒流工作調(diào)理電路的輸出調(diào)到零。又因為鉑電阻的電阻特性為非線性,鉑電阻在0100變化范圍內(nèi)非線性誤差為0.4%,由于本系統(tǒng)無小數(shù)顯示,0.4

22、的誤差本身不會對A/D量化和數(shù)碼管顯示造成影響,但是由于在軟件編制過程中,對標(biāo)度變換子程序中變換系數(shù)作了近似,使得非線性誤差接近0.79%,就可能對A/D量化和數(shù)碼管顯示造成影響,所以加進(jìn)了線性化電路,圖中運放A3、及電阻R1、R4和R6一同構(gòu)成了負(fù)反饋非線性校正網(wǎng)絡(luò)。R5用于調(diào)整運放A2的增益。電路的調(diào)整方法如下(用普通電阻代替鉑電阻進(jìn)行調(diào)整):1)接入相當(dāng)于0的100的電阻,用R3調(diào)零。2)接入相當(dāng)于50的119.70電阻,用R5調(diào)整增益。3)接入相當(dāng)于100的139.10電阻,用R1或R4調(diào)整線性。4)反復(fù)調(diào)整多次,在0100溫度范圍內(nèi)適宜為止。經(jīng)上述信號電路調(diào)理,顯示對照表如表3-1所

23、列。表3-1 顯示對照表理想溫度值/01020304050對應(yīng)電阻值/100103.96107.91111.85115.78119.7實際輸出電壓/V0.0020.5021.0041.5022.0042.505顯示溫度值/01020304050理想溫度值/60708090100對應(yīng)電阻值/123.49127.49131.37135.24139.1實際輸出電壓/V3.0013.5024.0014.4984.996顯示溫度值/60708090100以溫度值為橫坐標(biāo),電壓值為縱坐標(biāo),由表3-1分析非線性誤差可知:在50時,存在最大偏差為0.005,故非線性校正后非線性誤差變?yōu)?.1%,A/D量化及數(shù)

24、碼管顯示就不會產(chǎn)生誤操作。3.2.3 時鐘電路AT89C52單片機芯片內(nèi)部設(shè)有一個反向放大器所構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端,時鐘可以由內(nèi)或外部產(chǎn)生,在XTAL1和XTAL2引腳上外接定時元器件,內(nèi)部振蕩電路就會產(chǎn)生自激振蕩。本系統(tǒng)采用的定時元器件為石英晶體和電容組成的并聯(lián)諧振回路。晶振頻率選擇6MHz,C1、C2的電容值取30pF,電容的大小可起頻率微調(diào)的作用。時鐘電路如圖3-4所示。 圖3-4時鐘電路 3.2.4 復(fù)位電路單片機具有多種復(fù)位電路,本系統(tǒng)采用電平式開關(guān)復(fù)位與上電復(fù)位方式,具體電路如圖3-5所示。當(dāng)上電時,C1相當(dāng)于短路,使單片機復(fù)位,在正常

25、工作時,按下開關(guān)使單片機復(fù)位,當(dāng)系統(tǒng)時鐘頻率為6MHz時,C1=22uF, R1=200 ,R2=1K。其缺點是干擾易于串入復(fù)位端,在大多數(shù)條件下,不會造成單片機錯誤復(fù)位,但會引起內(nèi)部某些寄存器錯誤復(fù)位,這時可以在RESET端加一個去耦電容。圖3-5 復(fù)位電路3.2.5 A/D接口電路本系統(tǒng)采用5V的電壓源,用Pt100電阻傳感器組成的信號調(diào)理電路作為信號的輸入裝置,當(dāng)鉑電阻傳感器置于溫度場時,調(diào)理電路將根據(jù)鉑電阻的阻值輸出相應(yīng)的電壓值。將起輸出電壓ADC0808的模擬量輸入通道IN0,經(jīng)ADC0808進(jìn)行模數(shù)轉(zhuǎn)換,將標(biāo)準(zhǔn)的模擬信號轉(zhuǎn)換為等價的數(shù)字信號。本設(shè)計選用IN0做為模擬量輸入通道,則將

26、ADC0808的A、B、C三條地址線均置為低電平。轉(zhuǎn)換啟動信號START接到AT89C52的P2.0口,轉(zhuǎn)換結(jié)果狀態(tài)信號EOC接P3.7口,輸出允許信號OE接P3.6口,地址鎖存允許信號ALE接P3.3口,由于ADC0808內(nèi)部沒有時鐘電路,所以用AT89C52的ALE經(jīng)過二分頻接ADC0808的CLK端,VREF-接-5V,VREF+接+5V電壓,通過軟件編程給地址鎖存允許信號ALE一上跳沿使A、B、C地址狀態(tài)送入地址鎖存器中,給START一上跳沿使內(nèi)部寄存器清0,再給其一下跳沿,開始進(jìn)行A/D轉(zhuǎn)換,用最高有效位(1/2滿量程值)與輸入電壓進(jìn)行比較。如果輸入電壓大于最高位,則該位的寄存器(稱

27、為逐位逼近寄存器SAR)倒通,輸出“1”電平。接著用次高位與輸入電壓進(jìn)行比較,如輸入電壓底于最高位和次高位之和,則該位截止、輸出“0”電平。如果次高位加上最高位后仍低于輸入電壓,則該位的逐位逼近寄存器仍然輸出“1”電平。這個逐位比較過程一直進(jìn)行到最低位、數(shù)字輸出代碼逼近模擬輸入量為止。在A/D轉(zhuǎn)換期間,START保持低電平。然后判斷轉(zhuǎn)換結(jié)果狀態(tài)信號EOC是否為1,為1 則將轉(zhuǎn)換好的數(shù)據(jù)經(jīng)ADC0808的8個數(shù)據(jù)輸出端D0D8送到AT89C52的P0.0P0.7口,作為AT89C52的輸入信號。A/D轉(zhuǎn)換接口電路如圖3-6所示。圖3-6 A/D轉(zhuǎn)換接口電路3.2.6 鍵盤輸入電路在本系統(tǒng)中,采用

28、獨立式鍵盤。本鍵盤完成的功能為輸入控制系統(tǒng)的設(shè)定值,以便與系統(tǒng)的采樣值比較,求出系統(tǒng)的誤差與誤差變化率,供以后的PID控制子程序使用。其中第1個鍵和第2個鍵選用雙穩(wěn)態(tài)開關(guān),為后續(xù)鍵盤處理子程序的分支子程序提供便利。第3個鍵和第4個鍵選用按鈕開關(guān)。本系統(tǒng)中編寫的鍵盤處理子程序,主要注重3個問題。1)如何減少開關(guān)的使用次數(shù),以提高開關(guān)的使用壽命。2)如何更快捷,更方便地給出設(shè)定值。3)如何更有利于總程序的整體調(diào)度。為此,采用4個鍵來搭建鍵盤電路,如圖3-7所示。第1個鍵用來判斷是轉(zhuǎn)入控制處理子程序運行,還是轉(zhuǎn)入鍵盤處理子程序運行。若未按下則轉(zhuǎn)控制處理子程序運行,按下則轉(zhuǎn)入鍵盤處理子程序運行;若第1

29、個鍵按下,則第2個鍵開始起作用,用第2鍵來判斷是十位進(jìn)行加減操作,還是個位進(jìn)行加減操作。若第2鍵未按下,轉(zhuǎn)十位進(jìn)行加減操作,否則轉(zhuǎn)個位進(jìn)行加減操作;第3鍵為減1操作,第4鍵為加1操作。為了進(jìn)一步解決上面提出的前兩個問題,將個位與十位的設(shè)定值均設(shè)置為5,如果加1操作結(jié)果等于11,給加1單圖3-7 鍵盤輸入電路元重賦5,如果減1操作結(jié)果等于0FFH,給減1單元重賦5。這樣,考慮最壞情況,即用鍵盤設(shè)置離初始值最遠(yuǎn)的值;第1個鍵和第2個鍵的加入,也充分考慮了總程序的整體調(diào)度。 3.2.7 顯示電路顯示電路采用兩個4位LED顯示數(shù)碼管,共陰極接法,(第1個數(shù)碼管顯示A/D轉(zhuǎn)換數(shù)據(jù)采集的采樣值,選用3位顯

30、示采樣值,顯示范圍0100,而第2個數(shù)碼管顯示由鍵盤輸入的設(shè)定值,用于顯示對系統(tǒng)的溫度設(shè)定,也選用3位顯示設(shè)定值,顯示范圍為0100。)由于LED顯示電路較多選用動態(tài)掃描方式,為了實現(xiàn)LED顯示器的動態(tài)掃描,除了要給顯示器供段(字型代碼)的輸入之外,還有對顯示器加位的控制,即段控和位控。所以需要用P1 DISPLAY2DISPLAY1圖3-8 顯示電路口輸出6段控線;位控線由挑選的P2.1、P2.2、P2.3、P3.0、P3.1和P3.2進(jìn)行輸出,其中P2.1、P2.2和P2.3用于驅(qū)動鍵盤輸入的設(shè)定值的數(shù)碼管位控線,P3.0、P3.1和P3.2用于驅(qū)動顯示A/D轉(zhuǎn)換數(shù)碼管的數(shù)據(jù)碼位控線,位控

31、線的數(shù)目等于數(shù)碼管顯示的位數(shù)。P1接口最多可有連接8個LED顯示器。為了提高顯示亮度,通常加74LS05進(jìn)行段控輸出驅(qū)動,與七段數(shù)碼管的段碼驅(qū)動輸入端相連,由于位控線的驅(qū)動電流比較大,八段全亮需要4060mA,所以用三極管9012進(jìn)行提高驅(qū)動能力,其集電極接到七段數(shù)碼管的位碼驅(qū)動輸入端,三極管的發(fā)射極接地,將AT89C52的P3.0、P3.1、P3.2口分別與一個2K的電阻相連接到三極管的基極,用于驅(qū)動采樣值顯示數(shù)碼管,將AT89C52的P2.0、P2.1和P2.2口分別與一個2K的電阻連接到三極管的基極,用于驅(qū)動設(shè)定值顯示數(shù)碼管。顯示電路如圖3-8所示。3.2.8 溫度控制電路系統(tǒng)加熱絲與風(fēng)

32、扇均采用圖3-9所示電路形式。此電路采用了晶體管驅(qū)動的直流電磁繼電器。當(dāng).P3.4或P3.5為低電平時,繼電器RL1吸合;P3.4和P3.5為高電平時,繼電器RL1釋放。采用這種控制邏輯可以使繼電器在上電復(fù)位或單片機受控復(fù)位時不吸合。繼電器由晶體管2N2222A,可以提供所需的驅(qū)動電流。鉑電阻測溫系統(tǒng)的完整電路如圖3-10所示。圖3-9 輸出信號控制電路圖3-10 鉑電阻測溫系統(tǒng)的完整電路4 系統(tǒng)軟件的實現(xiàn)4.1鉑電阻測控系統(tǒng)的主程序打開單片機電源開關(guān)、讓單片機上電復(fù)位。啟動A/D轉(zhuǎn)換,將環(huán)境溫度(模擬量)轉(zhuǎn)換成數(shù)字量,為下一步的數(shù)字顯示做好準(zhǔn)備;接著,把單片機的各種參數(shù)進(jìn)行初始化,調(diào)用數(shù)據(jù)采

33、集子程序,并且將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行濾波;再將濾波后的數(shù)據(jù)經(jīng)溫度標(biāo)度變換后送顯示數(shù)碼管進(jìn)行顯示,我們可以從數(shù)碼管中看出環(huán)境的溫度,通過鍵盤我們可以改變設(shè)定值,此時,根據(jù)鍵盤掃描判斷S1鍵是否按下,S1鍵按下則會轉(zhuǎn)入鍵盤處理程序,沒有則調(diào)用誤差e處理子程序和誤差變化率ec處理子程序,將誤差e和誤差變化率ec進(jìn)行量化,通過查PID控制規(guī)則,得出占空比控制變化量U,采用不同的定時來改變繼電器的通斷,從而完成對加熱和風(fēng)扇的控制。鉑電阻測控系統(tǒng)主程序流程圖如圖4-1。Y調(diào)顯示子程序賦初值啟動AD調(diào)溫標(biāo)變換子程序調(diào)數(shù)據(jù)采集子程序調(diào)數(shù)字濾波子程序調(diào)誤差e處理子程序調(diào)鍵盤處理子程序調(diào)誤差變化率ec處理子程序調(diào)溫標(biāo)

34、變換子程序調(diào)顯示子程序調(diào)E、EC量化子程序調(diào)控制子程序N調(diào)數(shù)據(jù)采集子程序S1鍵按下嗎?開始結(jié)束圖 4-1 鉑電阻測控系統(tǒng)的主程序流程圖4.2 A/D轉(zhuǎn)換子程序先送地址鎖存允許信號ALE一上跳沿,使A、B、C地址狀態(tài)送入地址鎖存器中,然后送START一上跳沿使內(nèi)部寄存器清0,再給其一個下跳沿,開始進(jìn)行A/D轉(zhuǎn)換,然后判斷轉(zhuǎn)換結(jié)束狀態(tài)信號是否為1。為0則繼續(xù)等待轉(zhuǎn)換,為1則將緩好的數(shù)字量經(jīng)ADC0808的8個數(shù)據(jù)輸出端D0D8送到AT89C52的P0.0P0.7口。流程圖如圖4-2所示。NY開始送ALE上跳沿,鎖存地址送START上跳沿,內(nèi)部寄存器清0送START下降沿,啟動A/D轉(zhuǎn)換EOC=0嗎

35、?取A/D轉(zhuǎn)換數(shù)據(jù),送R0結(jié)束圖4-2 A/D轉(zhuǎn)換處理子程序流程圖4.3 鍵盤處理子程序鍵盤處理子程序流程圖如圖4-3所示鍵盤處理子程序是用來改變設(shè)定值的,通過此程序我們可以輸入預(yù)定的設(shè)定值。它通過S1來判斷程序是轉(zhuǎn)入控制子程序還是鍵盤子程序,S1按下則轉(zhuǎn)入鍵盤處理子程序,S1沒按下則轉(zhuǎn)入控制子程序。用S2來設(shè)定我們輸入的是個位數(shù)字還是十位數(shù)字。用S3和S4鍵對設(shè)定值進(jìn)行加一減一操作最后調(diào)用顯示子程序?qū)⒃O(shè)定值送數(shù)碼管進(jìn)行顯示。4.4 溫度標(biāo)度變換模塊控制系統(tǒng)在讀入被測模擬信號并轉(zhuǎn)換成數(shù)字量后,需轉(zhuǎn)換成操作人員所熟悉的物量。這種轉(zhuǎn)換就是標(biāo)度變換。線性標(biāo)度變換的公式為: Y=(Ymax-Ymin)

36、(X-Nmin)/(Nmax-Nmin)+Ymin (4-1)式中,Y為參數(shù)測量值;Ymax為測量范圍最大值;Ymin為測量范圍最小值;Nmax為Ymax對應(yīng)的A/D轉(zhuǎn)換值;Nmin為Ymin對應(yīng)的A/D轉(zhuǎn)換值;X為測量值Y對應(yīng)的A/D轉(zhuǎn)換值。本系統(tǒng)中,Ymin=0,Ymax=100,Nmin =0,Nmax =255,則 Y=(100-0)(X-0)(255-0)+0=X+ (4-2)其中,=0.39,=0。由于x的系數(shù)為小數(shù),在單片機中編制像0.39這樣的小數(shù)的乘法程序很難實現(xiàn),如果將其近似取值為0.4,則乘以最大A/D轉(zhuǎn)換 值后,會產(chǎn)生0.01255=2.55的誤差。所以,設(shè)線性系數(shù)為,

37、最終轉(zhuǎn)化的結(jié)果為100,通過=100256/255=100.39可確定系數(shù)。是四舍五入取100還是取101,將其放入單片機進(jìn)行調(diào)試,結(jié)果發(fā)現(xiàn)取100時,顯示最高只能顯示99,所以選用101。NYYYYNS2鍵按下嗎?S4鍵按下嗎?S3鍵按下嗎?NNNYYK4鍵按下嗎?K3鍵按下嗎?顯示緩沖器十位減調(diào)顯示程序顯示緩沖器個位加調(diào)顯示程序顯示緩沖器個位減顯示緩沖器十位加調(diào)顯示程序調(diào)顯示程序調(diào)控制子程序S1鍵按下嗎?開始返回圖4-3鍵盤處理子程序流程圖4.5 顯示子程序顯示模塊的功能為:使第1個數(shù)碼管顯示A/D轉(zhuǎn)換數(shù)據(jù)采集的采樣值,而第2個數(shù)碼管顯示由鍵盤輸入的設(shè)定值,用于顯示對系統(tǒng)的溫度設(shè)定,在整個

38、系統(tǒng)進(jìn)行測控的過程中,兩數(shù)碼管同時顯示,顯示程序中采樣值顯示采用了常規(guī)的顯示程序,不再贅述,這里只談編寫顯示程序中鍵盤顯示時的一點注意,由于最后生成的設(shè)定值是由十位或個位的加1鍵和十位或個位的減1鍵輸入,必須嚴(yán)格區(qū)分才可以編制其顯示程序,此處采用的方法是將個位的加1、減1鍵輸入的值存放在28H,而十位的加1、減1鍵輸入的值存放在34H,然后驅(qū)動不同的位碼即可正常顯示。流程圖如4-4所示。二進(jìn)制轉(zhuǎn)換為十進(jìn)制送鍵盤處理百為數(shù)顯示送A/D采集百位數(shù)顯示送A/D采集十位數(shù)顯示送鍵盤處理十位數(shù)顯示送鍵盤處理個位數(shù)顯示送A/D采集個位數(shù)顯示延時延時延時延時延時延時開始返回圖4-4 顯示處理子程序流程圖4.

39、6 定時子程序定時程序主要是用于完成PID查詢表的占空比控制,總體思想是根據(jù)PID控制表中占空比控制變量U的不同取值,采用不同的定時來改變繼電器的通斷,進(jìn)而完成對加熱和風(fēng)扇的控制。根據(jù)繼電器的機械特性,要求其不能頻繁通斷,所以通斷要有一定長的時間,但是又要考慮到控制能及時的根據(jù)新的采樣值和設(shè)定值的變化來做出相應(yīng)的動作,所以采用以下方法:以占空比1/4為例說明,定時器T0、T1仍都采用方式1定時,T0專用于置低電平定時,即雙向可控硅導(dǎo)通,T1專用于置高電平定時,即雙向可控硅關(guān)斷,先將P3.4口置低電平,啟動T0定時,定時長度僅取10ms,高字節(jié)存放0ECH,低字節(jié)存放78H,循環(huán)次數(shù)為1次,每次

40、10ms定時完成后,不直接進(jìn)行循環(huán),而是插入數(shù)據(jù)采集程序、標(biāo)度變換和顯示程序,然后再進(jìn)行循環(huán),循環(huán)1次后,P3.4口置高電平,啟動T1定時,為了方便計算占空比,定時長度仍取10ms,循環(huán)次數(shù)為3次,同上,10ms定時完成后,仍不直接進(jìn)行循環(huán),而是插入數(shù)據(jù)采集程序、標(biāo)度變換和顯示程序,然后再進(jìn)行循環(huán),循環(huán)3次后返回主程序,這樣就完成了占空比為1/4的定時。流程圖如圖4-5所示。YYYYNNNN置定時方式1T0循環(huán)次數(shù)送寄存器R2P3.4口置底電平T0賦定時初值P3.4口置高電平調(diào)顯示子程序調(diào)溫標(biāo)變換子程序啟動T0調(diào)顯示子程序啟動T1調(diào)溫標(biāo)變換子程序T1賦定時初值10ms到了嗎?10ms到了嗎?R

41、2=0嗎?R6=0嗎?T1循環(huán)次數(shù)送寄存器R6返回開始圖4-5 定時處理子程序4.7 量化子程序?qū)τ谙到y(tǒng)采樣值和設(shè)定值求出的溫度誤差e和溫度變化率ec,不能直接查詢PID控制表,需要經(jīng)過量化程序,得到量化后誤差變量E和誤差變化率變量EC才可以對應(yīng)于誤差控制表的行列值,進(jìn)行查詢控制,所以需要編制量化程序。溫度誤差e的量化比較簡單,如圖4-6所示量化程序流程圖。YN取誤差e符號C1誤差e量化結(jié)果求補求誤差e量化結(jié)果誤差e求補取誤差e量化因子Ke取誤差e量化因子Ke求誤差e量化結(jié)果C1=1嗎?開始返回圖4-6 量化子程序流程圖 溫度變化率ec的量化因子Kec=2.5,采用整數(shù)和小數(shù)分而治之的方法,先

42、將誤差變化率ec乘以2,送入量化暫存單元2CH,再取誤差變化率ec,將其除以2送入量化暫存單元2DH,再使2CH和2DH里的內(nèi)容相加,即可完成量化因子2.5的功能,誤差變化率ec的量化子程序流程圖同理可得。4.8 其他模塊模擬信號都必須經(jīng)過A/D轉(zhuǎn)換后才能被計算機接受,干擾作用于模擬信號之后,使A/D轉(zhuǎn)換結(jié)果偏離真實值。如果僅采樣一次,單片機無法確定該結(jié)果是否可信,為了克服干擾,加進(jìn)了中值數(shù)字濾波子程序,流程圖如圖4-7所示。為了進(jìn)行采樣值數(shù)碼顯示加入了二十進(jìn)制轉(zhuǎn)換子程序,為了求取誤差及誤差變化率,加入將鍵盤設(shè)定值進(jìn)行十二轉(zhuǎn)換子程序2CHec量化暫存單元3DH暫存單元2DHec量化暫存單元3E

43、H暫存單元2EH暫存單元3FH暫存單元2FH暫存單元40H暫存單元30H暫存單元41H暫存單元YYYYYYNNNNNN31H送A(32H)送2AH(31H)與(32H)交換嗎?(32H)送2AH(32H)送24H(32H)送2AH(32H)送2AH(31H)(32H)嗎 ?(31H)(32H)嗎 ?(33H)(31H)嗎 ?(31H)(33H)嗎 ?(32H)(33H)嗎 ?(32H)(33H)嗎 ?(32H)送2AH開始返回圖4-7 中值數(shù)字濾波子程序流程圖主要參考文獻(xiàn) 1 張毅剛,彭喜源.曲春波.MCS51單片機應(yīng)用設(shè)計M.哈爾濱工業(yè)大學(xué)出版社,1997.2 鄧力.PROTEUS 和51單

44、片機的電路仿真J.中國科技信息,2006,(8): 45-46.3 張靖武.周靈彬.單片機系統(tǒng)的PROTEUS設(shè)計與仿真M.電子工業(yè)出版社2004.5孫涵芳徐愛卿主編的MCS-51、96系列單片機原理及應(yīng)用6何立民主編的MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配制與接口技術(shù)7趙秀菊主編的單片機與測控技術(shù)8胡壽松主編的自動控制原理第五版致謝本文的研究工作是在我的導(dǎo)師馮根生的指導(dǎo)下完成的。在完成論文的這段時間內(nèi),馮老師無論是在學(xué)習(xí)上還是在生活上都給予我很大關(guān)懷和指導(dǎo),尤其是針對一些技術(shù)細(xì)節(jié)方面對我們進(jìn)行深入淺出的講解,使我受益匪淺。他學(xué)識淵博,品德高尚,治學(xué)態(tài)度嚴(yán)謹(jǐn),工作認(rèn)真負(fù)責(zé),具有親切、和藹和平

45、易近人的師長風(fēng)范。是我們學(xué)習(xí)和生活中的楷模,所有的這一切都將會對我以后的工作和人生產(chǎn)生深遠(yuǎn)的影響。同時,在此我要向我的導(dǎo)師馮根生致以最誠摯的感謝和深深的敬意!同時,我還要對四年來辛勤培養(yǎng)我的蚌埠坦克學(xué)院的領(lǐng)導(dǎo)和基礎(chǔ)部教員,正是由于他們的高尚的自我奉獻(xiàn)精神,才有了我們今天的學(xué)業(yè)有成,在此向他們表示衷心的謝意!此外,在大學(xué)四年期間,我還得到了隊長和教導(dǎo)員在生活上給予的無微不至的關(guān)心和幫助,在此對他們表示感謝!其次,我還要感謝平常在生活和學(xué)習(xí)中給予我指導(dǎo)和幫助的同學(xué),正是由于他們,讓我在異地他鄉(xiāng)感到了家的溫暖,在此向他們表示由衷的謝意!同時,我也要感謝我的父母,在漫長的求學(xué)生涯中,是他們給我物質(zhì)上的支持和精神上的鼓勵,才能讓我今天有更大的能力為國家作出自己的貢獻(xiàn)。最后,衷心感謝在百忙之中評閱我的論文和參加答辯的各位專家、教授!摘 要本文主要介紹基于AT89C52的PID控制算法的溫控儀的設(shè)計,設(shè)計應(yīng)用于糧庫的溫度控制。設(shè)計包括PID控制的基本原理、電路設(shè)計、系統(tǒng)的軟件實現(xiàn)以及系統(tǒng)仿真。首先介紹PID控制算法的實現(xiàn),包括PID控制的基本原理和PID控制程序的設(shè)計思想。其次,是介紹系統(tǒng)的電路設(shè)計,它從系統(tǒng)電路設(shè)計的整體思路到基本硬件組成等方面進(jìn)行分析說

溫馨提示

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

最新文檔

評論

0/150

提交評論