陳智晗,孟亞男,劉宇菲,張賽
(吉林化工學(xué)院,吉林吉林,132022)
鍋爐是一個非常重要的設(shè)備,其生產(chǎn)過程由于涉及多個輸入/輸出變量,導(dǎo)致控制過程變得非常復(fù)雜,再加上外界的干擾,使得傳統(tǒng)的PID 控制器對鍋爐的控制效果很不理想。因此,研究人員將目光投向了智能控制技術(shù),相信通過智能控制技術(shù)可以提高鍋爐自動化程度,最終實(shí)現(xiàn)鍋爐自主驅(qū)動能力。先輩在實(shí)現(xiàn)對非線性系統(tǒng)的控制過程中,提出了多種控制算法,如專家控制算法、預(yù)測控制算法、模糊控制算法等。這些算法在應(yīng)用中都表現(xiàn)出了良好的控制效果,為本文采用的BP 神經(jīng)網(wǎng)絡(luò)對PID 控制器參數(shù)的整定,調(diào)控鍋爐的進(jìn)料量擾動對床溫回路控制系統(tǒng)影響的研究提供了有力的支持[1]。
神經(jīng)網(wǎng)絡(luò)是一種基于生物神經(jīng)系統(tǒng)的計(jì)算模型,其學(xué)習(xí)能力強(qiáng)大,主要利用神經(jīng)元和網(wǎng)絡(luò)連接來解決復(fù)雜問題,如分類、回歸、模式識別和時間序列預(yù)測等問題。BP 神經(jīng)網(wǎng)絡(luò)是一種常見的人工神經(jīng)網(wǎng)絡(luò),也是最早被提出的反向傳播算法,其包括輸入層、隱含層和輸出層。在訓(xùn)練中,首先將神經(jīng)元接收到的加權(quán)后的輸入信號作為輸入信號進(jìn)行處理,并將處理結(jié)果傳遞給與之相連的下一層神經(jīng)元,計(jì)算出其誤差,然后通過反向傳播算法調(diào)整神經(jīng)元之間的權(quán)重值,使誤差逐漸減小,獲得最終的權(quán)重矩陣和偏置值,最后將其反向傳遞到隱含層和輸入層進(jìn)行修改,并通過不斷的迭代,直到達(dá)到誤差允許范圍或達(dá)到訓(xùn)練次數(shù)的最大值,才會停止。綜上,BP 神經(jīng)網(wǎng)絡(luò)的三層結(jié)構(gòu),通過誤差反向傳達(dá)算法進(jìn)行訓(xùn)練可以對輸入數(shù)據(jù)進(jìn)行高度學(xué)習(xí)和分析,從而輸出更加準(zhǔn)確的結(jié)果[2]。BP 神經(jīng)網(wǎng)絡(luò)的基本傳播過程如圖1 所示。BP 神經(jīng)網(wǎng)絡(luò)因其高效和準(zhǔn)確性得到了廣泛應(yīng)用,尤其在圖像和語音識別等領(lǐng)域表現(xiàn)突出,成為實(shí)現(xiàn)人工智能的重要技術(shù)手段。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
循環(huán)流化床鍋爐的床溫受進(jìn)料量擾動影響,當(dāng)刮板輸送機(jī)的傳送速度時,爐膛內(nèi)的碳含量逐漸增多,床溫不斷升高,記錄循環(huán)流化床床溫隨時間變化的數(shù)據(jù),此過程與二階慣性環(huán)節(jié)近似等效,則傳遞函數(shù)表達(dá)式[3]如式(1)所示:
其中,K 代表放大系數(shù),τ 代表滯后時間,s 代表拉普拉斯算子,T1、T2代表時間常數(shù)。
PID 算法是一種通過比較被控對象實(shí)際輸出值與期望輸出值之間偏差,來動態(tài)調(diào)整被控對象的輸出,并通過調(diào)整比例、積分和微分系數(shù),達(dá)到系統(tǒng)需要的控制效果的反饋控制算法[4],其控制的微分方程為:
其中,KP為比例系數(shù),KI為積分系數(shù),KD為微分系數(shù)。
PID 控制器的參數(shù)整定方法有多種,如:Ziegler-Nichols 參數(shù)整定法、ISTE 法、擴(kuò)充臨界比例法、階躍響應(yīng)曲線法等。其中Ziegler-Nichols 參數(shù)整定法具有簡單、易于實(shí)現(xiàn)、收斂快等優(yōu)點(diǎn),因此本文在PID 控制器的參數(shù)整定過程中,先使用該調(diào)參方法對參數(shù)進(jìn)行初步確定,再根據(jù)經(jīng)驗(yàn)法對參數(shù)進(jìn)行微調(diào),經(jīng)過反復(fù)測試,得出進(jìn)料量擾動下床溫回路的PID 控制器參數(shù)取值為:KP=0.021、KI=0.046、KD=50。
2.3.1 BP-PID 原理
BP-PID 算法通過結(jié)合BP 神經(jīng)網(wǎng)絡(luò)和PID 控制算法的優(yōu)點(diǎn),使其具有良好的自適應(yīng)控制效果和魯棒性,能夠?qū)崿F(xiàn)系統(tǒng)性能指標(biāo)的最優(yōu)化控制規(guī)律,其核心思想是使用神經(jīng)網(wǎng)絡(luò)作為調(diào)節(jié)器,通過其自學(xué)習(xí)能力實(shí)現(xiàn)對PID 參數(shù)的整定,使得控制器的性能穩(wěn)定且靈活[5],能夠在實(shí)際應(yīng)用中適應(yīng)多種情況的控制需求。
2.3.2 BP-PID 控制器系統(tǒng)結(jié)構(gòu)
BP-PID 控制器由兩部分組成:BP 神經(jīng)網(wǎng)絡(luò)和常規(guī)的PID 控制器,其結(jié)構(gòu)簡圖如圖2 所示。其中BP 神經(jīng)網(wǎng)絡(luò)輸入層的神經(jīng)元為3 個,即該控制器有三個輸入,分別為系統(tǒng)輸入r(t),系統(tǒng)輸出y(t),系統(tǒng)誤差e(t);輸出層的神經(jīng)元個數(shù)也為3,其輸出則是PID 控制器的三個系數(shù)(KP、KI、KD),由此實(shí)現(xiàn)對控制系統(tǒng)進(jìn)行實(shí)時的整定[6],并根據(jù)系統(tǒng)狀態(tài)動態(tài)調(diào)節(jié)參數(shù)值,增強(qiáng)控制器的智能性和實(shí)時性,從而能夠更好地適應(yīng)各種運(yùn)行環(huán)境。
圖2 BP-PID 控制器
2.3.3 BP-PID 算法流程
(1)確定BP 神經(jīng)網(wǎng)絡(luò)各層的加權(quán)系數(shù)、學(xué)習(xí)速率和慣性系數(shù)等參數(shù)。
(2)對輸入信號和反饋信號進(jìn)行采樣,并計(jì)算誤差。(3)確定輸入。
(4)計(jì)算神經(jīng)網(wǎng)絡(luò)各層的輸入和輸出。
(5)通過增量式PID 控制公式,計(jì)算PID 控制器的控制輸出,增量式PID 控制公式[7]如式(3)所示:
(6)通過神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí),調(diào)整輸出層和隱含層的權(quán)值,然后返回步驟(2),直至滿足期望結(jié)果。
BP-PID 流程圖如圖3 所示。
圖3 BP-PID 流程圖
2.3.4 參數(shù)設(shè)置
(1)隱含層及其節(jié)點(diǎn)數(shù)的選取
神經(jīng)網(wǎng)絡(luò)中隱含層層數(shù)會影響神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效果,因其沒有固定的選取標(biāo)準(zhǔn),一般是經(jīng)過大量的實(shí)驗(yàn)經(jīng)驗(yàn)和不斷的實(shí)踐探索進(jìn)行確定,而隱含層節(jié)點(diǎn)數(shù)決定神經(jīng)網(wǎng)絡(luò)的擬合能力,可以通過經(jīng)驗(yàn)公式進(jìn)行確定,經(jīng)驗(yàn)公式[8]如式(6)所示:
其中:m 代表隱含層節(jié)點(diǎn)數(shù),n 代表輸入層節(jié)點(diǎn)數(shù),l為輸出層節(jié)點(diǎn)數(shù)。
綜上,根據(jù)經(jīng)驗(yàn)選定隱含層層數(shù)為8,由公式可得隱含層節(jié)點(diǎn)數(shù)為3。
(2)激活函數(shù)選取
通常來說,神經(jīng)元節(jié)點(diǎn)的激活函數(shù)需要滿足連續(xù)、有界、非常值的函數(shù)外,還要滿足實(shí)際系統(tǒng)設(shè)計(jì)和訓(xùn)練應(yīng)用等等的復(fù)雜性問題,從而選取tanh 函數(shù)為激活函數(shù)。tanh 函數(shù)如圖4 所示。
圖4 雙曲線正切函數(shù)(tanh)
(3)學(xué)習(xí)速率的確定
目前神經(jīng)網(wǎng)絡(luò)最佳學(xué)習(xí)速率的選取還沒有固定的方法,僅僅是通過實(shí)驗(yàn)經(jīng)驗(yàn)得出學(xué)習(xí)速率的范圍是在(0~1)之間,本文則選取的學(xué)習(xí)速率統(tǒng)一為0.035。
2.3.5 BP-PID 控制器搭建
BP-PID 控制器通過Matlab 軟件搭建模塊并連接以構(gòu)建系統(tǒng)模型,如圖5 所示。圖中上半部分為BP-PID 控制器,下半部分為普通PID 控制器。
圖5 BP-PID 控制器和PID 控制器
圖5 中BP-PID 控制模 塊主要通過S-Function 模塊完成代碼編寫和設(shè)計(jì)BP 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)的控制策略,完成對KP、KI、KD數(shù)值根據(jù)控制對象的變化做出及時調(diào)整的任務(wù),BP-PID 控制模塊如圖6 所示。
圖6 BP-PID 控制模塊
基于以上原理,在鍋爐正常運(yùn)行,即:負(fù)荷80%~100%狀態(tài)下,利用BP-PID 算法控制方案與設(shè)計(jì)的PID 控制器進(jìn)行實(shí)驗(yàn)對比[9],為保證系統(tǒng)權(quán)值的隨機(jī)性,初始權(quán)值通過reshape 函數(shù)創(chuàng)建;系統(tǒng)采樣時間Ts 取 0.1s;學(xué)習(xí)速率xite 為0.035;慣性系數(shù)alfa 為0.365,如圖7 所示。
圖7 BP-PID 參數(shù)設(shè)置
實(shí)驗(yàn)結(jié)果如圖8 所示,從圖中可以看出,經(jīng)過PID 控制器整定的曲線具有超調(diào),超調(diào)量約為0.135,調(diào)節(jié)時間約為1585s。經(jīng)過BP-PID 算法優(yōu)化整定的曲線基本實(shí)現(xiàn)無超調(diào),調(diào)節(jié)時間約為1089s。綜上,采用BP 神經(jīng)網(wǎng)絡(luò)算法進(jìn)行參數(shù)整定,系統(tǒng)的各項(xiàng)性能指標(biāo)較好,仿真結(jié)果較為理想。
圖8 控制器曲線對比
針對循環(huán)流化床鍋爐正常運(yùn)行時,進(jìn)料量擾動對床溫的影響,實(shí)驗(yàn)通過采用BP 神經(jīng)網(wǎng)絡(luò)算法進(jìn)行PID 參數(shù)的優(yōu)化整定。在該算法中,選用了二階滯后傳遞函數(shù)作為被控對象。通過Matlab 編寫算法,并使用Simulink 模型進(jìn)行實(shí)驗(yàn)和仿真。實(shí)驗(yàn)結(jié)果表明,采用BP-PID 算法,實(shí)現(xiàn)了對系統(tǒng)性能指標(biāo)的最優(yōu)化控制規(guī)律,并可以根據(jù)系統(tǒng)狀態(tài)動態(tài)調(diào)節(jié)參數(shù)值,增強(qiáng)了控制器的智能性和實(shí)時性。