基于單片機的電加熱爐溫度控制系統(tǒng)設(shè)計
電加熱爐隨著科學(xué)技術(shù)的發(fā)展和工業(yè)生產(chǎn)水平的提高,已經(jīng)在冶金、化工、機械等各類工業(yè)控制中得到了廣泛應(yīng)用,并且在國民經(jīng)濟中占有舉足輕重的地位。對于這樣一個具有非線性、大滯后、大慣性、時變性、升溫單向性等特點的控制對象,很難用數(shù)學(xué)方法建立精確的數(shù)學(xué)模型,因此用傳統(tǒng)的控制理論和方法很難達到好的控制效果。
單片機以其高可靠性、高性能價格比、控制方便簡單和靈活性大等優(yōu)點,在工業(yè)控制系統(tǒng)、智能化儀器儀表等諸多領(lǐng)域得到廣泛應(yīng)用。采用單片機進行爐溫控制,可以提高控制質(zhì)量和自動化水平。
1 單片機爐溫控制系統(tǒng)結(jié)構(gòu)
本系統(tǒng)的單片機爐溫控制系統(tǒng)結(jié)構(gòu)主要由單片機控制器、可控硅輸出部分、熱電偶傳感器、溫度變送器以及被控對象組成。如圖1所示。
理想的設(shè)定值。
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)硬件結(jié)構(gòu)
以AT89C51單片機為該控制系統(tǒng)的核心,實現(xiàn)對溫度的采集、檢測和控制。該系統(tǒng)的工作流程如圖2所示。系統(tǒng)由變送器經(jīng)A/D轉(zhuǎn)換器構(gòu)成輸入通道,用于采集爐內(nèi)的溫度信號。
變送器可以選用DBW,型號,它將熱電偶信號(溫度信號)變?yōu)?~5 V電壓信號,以供A/D轉(zhuǎn)換用。轉(zhuǎn)換后的數(shù)字量與爐溫數(shù)字化后的給定值進行比較,即可得到實際爐溫和給定爐溫的偏差及溫度的變化率。爐溫的設(shè)定值由BCD 撥碼盤輸入。由AT89C51構(gòu)成的核心控制器按智能控制算法進行推算,得出所需要的控制量。由單片機的輸出通過調(diào)節(jié)可控硅管的接通時間,改變電爐的輸出功率,起到調(diào)溫的作用。
2.2 系統(tǒng)硬件的選擇
a)微型計算機的選擇:選擇AT89C51單片機構(gòu)成爐溫控制系統(tǒng)。它具有8位CPU,3 2根I/O線,4 kB片內(nèi)ROM存儲器,128 kB的RAM存儲器。AT89C51對溫度是通過可控硅調(diào)功器實現(xiàn)的。在系統(tǒng)開發(fā)過程中修改程序容易,可以大大縮短開發(fā)周期。同時,系統(tǒng)工作過程中能有效地保存一些數(shù)據(jù)信息,不受系統(tǒng)掉電或斷電等突發(fā)情況的影響。AT89C51單片機內(nèi)部有128 B的RAM存儲器,不夠本系統(tǒng)使用,因此,采用6264(8 kB)的RAM作為外部數(shù)據(jù)存儲器。
b)熱電偶的選擇:本設(shè)計采用 DBW型熱電偶--鎳絡(luò)-鎳硅(線性度較好,熱電勢較大,靈敏度較高,穩(wěn)定性和復(fù)現(xiàn)性較好,抗氧化性強,價格便宜)對溫度進行檢測。由于溫度是非線性輸出的,而與輸入的mV信號成線性關(guān)系,所以在軟件上將此非線性關(guān)系加以修正,以便正確反映輸入mV信號與溫度之間的關(guān)系。ADC0809把檢測到的連續(xù)變化的溫度模擬量轉(zhuǎn)換成離散的數(shù)字量,輸人到單片機中進行處理。
c)鍵盤輸入的選擇:采用4片BCD撥碼盤作為溫度設(shè)定的輸入單元,輸入范圍為0~9999,可滿足本系統(tǒng)的要求。每位BCD碼盤占4條線,通過上拉電阻接入8255可編程并行I/O擴展口。4片BCD碼盤占8255的 A、B兩口,8255工作方式設(shè)為"0 模式",A、B兩口均為輸入方式。開機后,CPU讀8255口操作,即可將BCD碼盤的設(shè)定溫度讀入并存人相應(yīng)的存儲單元。
d) 顯示器的選擇:采用字符型LCD(液晶顯示器)模塊TC1602A,并且它把LCD控制器、ROM和LCD顯示器用PCB(印制板)連接到一起,只要向 LCD送人相應(yīng)的命令和數(shù)據(jù)便可實現(xiàn)所需要的顯示,使用特別方便靈活。第1行顯示設(shè)定溫度,第2行顯示實際溫度,這樣,溫差一目了然,方便控制。
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)的應(yīng)用程序主要由主程序、中斷服務(wù)程序和子程序組成。主程序的任務(wù)是對系統(tǒng)進行初始化,實現(xiàn)參數(shù)輸入,并控制電加熱爐的正常運行。主程序主要由系統(tǒng)初始化、數(shù)據(jù)采集及處理、智能推理等部分組成。系統(tǒng)初始化包括設(shè)置棧底、工作寄存器組、控制量的初始值、采樣周期、中斷方式和狀態(tài)、定時器的工作方式以及8255的初始化、TC1602A的初始化等。數(shù)據(jù)采集及處理主要包括實時采集電加熱爐的爐溫信號,計算出實際爐溫與理想值的差值以及溫差的變化率,并對爐溫信號進行濾波和限幅處理。主程序如圖3所示。
中斷服務(wù)程序?qū)崿F(xiàn)定時采樣和輸出控制。AT89C51共有6個中斷源:2個外部中斷、2個定時器溢出中斷及2個串行中斷。
子程序主要有采樣子程序、數(shù)字濾波子程序、控制算法子程序、數(shù)字轉(zhuǎn)換子程序、顯示子程序等。在采樣程序中包括對A/D啟動、讀結(jié)果及把A/D結(jié)果轉(zhuǎn)換成為實際溫度值。由于熱電偶本身的非線性及模擬輸人通道存在的非線性,需要將A/D值與溫度值之間對應(yīng)關(guān)系以表格形式存于EPROM中。數(shù)字濾波子程序是將 A/D轉(zhuǎn)換成的數(shù)字量提取有用的量,一方面通過TC1602ALCD模塊顯示出來;另一方面將該溫度值與被控溫度值進行比較,根據(jù)其偏差值的大小及溫度的變化率,通過智能控制器來改變可控硅管的接通時間,從而達到改變電加熱爐的輸出功率,即控制算法子程序是控制器中最重要的一部分,它的原理將在第4節(jié)介紹。
4 智能控制算法
考慮到電加熱爐是一個非線性、時變和分布參數(shù)系統(tǒng),所以本文采用一種新型的智能控制算法。它充分吸取數(shù)學(xué)和自動控制理論成果,與定性知識相結(jié)合,做到取長補短,在實時控制中取得較好的成果。
本系統(tǒng)的智能控制器由數(shù)據(jù)庫、知識庫、推理機、學(xué)習(xí)環(huán)節(jié)、修正環(huán)節(jié)和黑板組成。數(shù)據(jù)庫中存放各個時刻的采樣值y(k)、偏差e(k)、控制量u(k)和生成控制量u(k),所用的控制規(guī)則序號、每條控制規(guī)則的加權(quán)系數(shù)a都是以數(shù)組的形式存放。
知識庫中知識由產(chǎn)生式規(guī)則生成,其規(guī)則集都是按順序排列的。當(dāng)求得偏差e(k)和被調(diào)整量y(k)后,借助黑板進行正向推理,從上到下順序地搜索知識庫中的匹配模式,一旦找到匹配規(guī)則,即可求出控制量u(k)。
學(xué)習(xí)過程是通過修正規(guī)則加權(quán)系數(shù)a,使各種控制規(guī)則產(chǎn)生的控制量隨環(huán)境和控制量效果變化進行修正,從而實現(xiàn)自學(xué)習(xí)的功能。由于被控制對象具有d步時延,因此,y(k)是由(k-d)時刻及其以前所有控制量作用的結(jié)果,則應(yīng)修正控制量u(k-d)的控制規(guī)則所對應(yīng)的控制規(guī)則加權(quán)系數(shù)a[num(k- d)]。
系統(tǒng)爐溫控制過程是一個慢過程,一般采樣間隔長,在此間隔時間內(nèi),被控對象可能受內(nèi)部參數(shù)變化或隨機干擾影響,因而町能導(dǎo)致(k+1)時刻發(fā)出的控制量使控制效果變差,影響系統(tǒng)的控制性能。為補充這一不足,這里引入動態(tài)修正環(huán)節(jié)為:
式中:0 r 1。
最后由修正量和黑板給出的u(k)疊加,得到總輸出控制量為:
式中:β取0.8~0.9。
5 結(jié)束語
本系統(tǒng)以單片機AT89C51為核心,它具有高可靠性、高性能價格比、控制方便簡單和靈活性大等優(yōu)點??刂破鞑捎眯滦偷闹悄芸刂扑惴?,岡而系統(tǒng)升溫快,控溫精度高,穩(wěn)態(tài)誤差可達±5℃以內(nèi),滿足系統(tǒng)要求。整個系統(tǒng)操作簡便,抗干擾能力強、運行可靠。
評論