1 引言
本文設(shè)計了以串級調(diào)節(jié)為基礎(chǔ),對汽溫對象進行系統(tǒng)辨識,利用神經(jīng)網(wǎng)絡(luò)進行建模,并加入中間點溫度作為前饋信號的控制方案,并利用單純形法對PID參數(shù)尋優(yōu),用以檢驗智能算法在控制系統(tǒng)中應(yīng)用的有效性。直流爐中間點溫度是一個非常重要的參數(shù),是燃水比是否恰當(dāng)?shù)囊罁?jù)。由于兩級噴水減溫的控制基本相同,因此本文只以一級噴水減溫為例來說明所設(shè)計的系統(tǒng)。
2 神經(jīng)網(wǎng)絡(luò)PID控制器的Matlab數(shù)字仿真
2.1 系統(tǒng)辯識
在訓(xùn)練參數(shù)給定的情況下,改變神經(jīng)網(wǎng)絡(luò)隱層個數(shù)以及各層神經(jīng)元個數(shù),經(jīng)訓(xùn)練均可得到不同的網(wǎng)絡(luò),但其擬合訓(xùn)練數(shù)據(jù)的能力不同。依據(jù)各網(wǎng)絡(luò)的擬合性能指標(biāo),選取擬合效果最佳的具有兩個隱層的神經(jīng)網(wǎng)絡(luò),來代替實際的廣義被控對象。該網(wǎng)絡(luò)的兩隱層激活函數(shù)均采用Sigmoid型(S型)函數(shù),輸出層采用purelin線性激活函數(shù),各層的神經(jīng)元個數(shù)分別為[3,3,10,1]。這樣所建立的神經(jīng)網(wǎng)絡(luò)具有最好的控制效果。圖2-1-2給出了此網(wǎng)絡(luò)結(jié)構(gòu)下基于trainbr訓(xùn)練的誤差變化曲線。
訓(xùn)練后期,SSE值基本保持不變,這說明該網(wǎng)絡(luò)已經(jīng)接近收斂了。
2.2 PID參數(shù)優(yōu)化
在由神經(jīng)網(wǎng)絡(luò)將對象的特性和模型辨識出來以后,我們用單純形法對PID參數(shù)進行優(yōu)化,目標(biāo)函數(shù)采用改進后的綜合目標(biāo)函數(shù),得到的結(jié)果如圖2-2-1:(優(yōu)化效果較好)
圖2-1-2 基于trainbr訓(xùn)練的誤差變化曲線
圖2-2-1 單純形法優(yōu)化結(jié)果
2.3 神經(jīng)網(wǎng)絡(luò)與經(jīng)典PID控制的對比
將該神經(jīng)網(wǎng)絡(luò)控制器與經(jīng)典的PID控制器作比較,用MATLAB對其進行仿真,仿真曲線如圖2-3-1,2-3-2,2-3-3所示。圖2-3-1,2-3-2,2-3-3中,曲線1為內(nèi)、外回路的控制器均采用PID控制器的仿真曲線;曲線 2 為內(nèi)回路控制器采用神經(jīng)網(wǎng)絡(luò)控制器、外回路控制器采用PID控制器的仿真曲線。綜上所示,對于主汽溫系統(tǒng),采用神經(jīng)網(wǎng)絡(luò)辨識的自整定PID控制器的串級控制,其超調(diào)量較小,過渡時間小,穩(wěn)態(tài)精度高,而對于系統(tǒng)參數(shù)變化具有較強的適應(yīng)能力。
圖2-3-1 加階躍輸入(r=1)時的響應(yīng)曲線
圖2-3-2 加階躍輸入(r=1)時的響應(yīng)曲線
圖2-3-3 對象參數(shù)變化時的響應(yīng)曲線
3 基于神經(jīng)網(wǎng)絡(luò)辨識的PID溫度控制控制仿真實驗
3.1實物仿真實驗
通過仿真,可以得知神經(jīng)網(wǎng)絡(luò) PID 控制器的性能要優(yōu)于常規(guī) PID 控制器,為了進一步驗證這一點,本文采用了實驗?zāi)M這一方法來進行檢驗。在實驗中采用了由電阻爐加熱的水溫控制系統(tǒng)來進行了模擬,實驗系統(tǒng)如圖3-1所示。針對神經(jīng)網(wǎng)絡(luò)PID 控制器的控制效果以及抗擾動和魯棒性能,結(jié)合硬件和軟件的設(shè)計,實驗內(nèi)容著眼點集中在:(1)不同控制周期對于溫度控制的影響;(2)神經(jīng)網(wǎng)絡(luò) PID 控制器的階躍響應(yīng);(3)神經(jīng)網(wǎng)絡(luò) PID 控制器的抗擾動以及對被控對象的魯棒性;(4)PID控制參數(shù)的在線整定。
圖3-1 實驗系統(tǒng)設(shè)計圖
3.2 硬件設(shè)計
系統(tǒng)的主要硬件組成:
(1)電源部分利用變壓器將外界交流220V電壓變?yōu)?.5V,再利用整流橋?qū)⑵湔鳛橹绷?5V電壓,供給單片機及系統(tǒng)使用。
?。?)主芯片部分采用AT89S51芯片,它是一個有4 kBFlash可編程、可擦除只讀存儲器(E2PROM)的低壓、高性能8位單片機。
(3)溫度檢測采用DS18B20傳感器,DS18B20僅有3個引腳,采用1-wire技術(shù),測量溫度范圍為 -55°C~+125°C,精度最高可達12位(0.0625度)。從DS18B20的數(shù)據(jù)引腳輸出的是直接已經(jīng)轉(zhuǎn)化后的溫度數(shù)字信號,大大提高了系統(tǒng)的抗干擾性。
(4)鍵盤部分用三個按鍵實現(xiàn)操作,一個按鍵實現(xiàn)設(shè)定溫度與實際溫度的切換,另外兩個按鍵實現(xiàn)是定溫度時增加和減少設(shè)定值。上電后LED顯示當(dāng)前溫度,按下切換鍵后即可進行溫度設(shè)定,再次按下切換鍵可返回到當(dāng)前溫度顯示。
?。?)顯示部分利用74HC164將一位輸入變?yōu)?位并行輸出并送到LED進行顯示.
?。?)本系統(tǒng)利用MAX232芯片與上位機進行通信。
?。?)輸出部分采用固態(tài)繼電器將單片機+5V輸出轉(zhuǎn)換位為20V交流輸出以控制電爐的通斷,從而達到控制水溫的目的。
3.3 軟件設(shè)計
這個實驗裝置以AT89S51為核心,AT89S51單片機模糊控制系統(tǒng)要完成數(shù)據(jù)采集、數(shù)據(jù)顯示、溫度控制及串行通信等功能。整個溫度控制系統(tǒng)程序可劃分為以下幾個部分,主程序、中斷子程序、數(shù)據(jù)采集濾波放大子程序,A/D轉(zhuǎn)換子程序、顯示子程序、讀取鍵盤子程序,報警子程序,RS232通信模塊等等。系統(tǒng)程序的編制采用了模塊化的結(jié)構(gòu),它們之間通過軟件接口連接。本系統(tǒng)的軟件采用C語言編寫,在WAVE6000版本的集成開發(fā)環(huán)境下進行編譯連接。由于神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)運算量巨大,所以我們將系統(tǒng)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練和辨識以及PID參數(shù)尋優(yōu)部分放在上位機上,由MATLAB完成計算之后經(jīng)由MATLAB與C語言的接口將優(yōu)化后的數(shù)據(jù)發(fā)送到下位機,由下位機來完成執(zhí)行功能。
4 創(chuàng)新觀點
本文作者創(chuàng)新點:基于系統(tǒng)辨識及神經(jīng)網(wǎng)絡(luò)的基本理論及PID參數(shù)整定方法及遺傳算法的基本原理及基本操作,提出基于遺傳算法尋優(yōu)PID參數(shù)的構(gòu)想。在對神經(jīng)網(wǎng)絡(luò)辨識PID控制器在過熱蒸汽溫度控制上的仿真發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)辨識PID控制器能夠滿足溫度控制要求,具有相當(dāng)好的魯棒性。利用電阻爐水溫控制實驗來模擬過熱蒸汽的控制,通過分析實驗數(shù)據(jù)發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò) PID 控制要優(yōu)于常規(guī) PID 控制器,可以達到響應(yīng)快、超調(diào)小、抗擾動和魯棒性好的要求。
參考文獻:
[1] 何一文,陳鐵軍,苗小冬.基于單元模型的神經(jīng)網(wǎng)絡(luò)預(yù)測控制及其應(yīng)用.微計算機信息, 2006年第8-2期,P290-292
[2]陳大禧,朱鐵光,大型回轉(zhuǎn)機械診斷現(xiàn)場實用技術(shù),北京:機械工業(yè)出版社,2002
[3]何立民.單片機應(yīng)用技術(shù)選編(5)[M].北京:北京航空航天大學(xué)出版社,1997
[4]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2005
[5]周立功.ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例[M].北京:北京航空航天大學(xué)出版社,2006