馬 志,戰(zhàn) 強
(北京航空航天大學 機械工程及自動化學院,北京 100191)
在編織物的力學性能測試中,有時需要對編織物進行加熱,然后再進行壓縮,這樣就可以測試出各種編織物在不同溫度下的可壓縮性。但由于加熱系統(tǒng)都會表現(xiàn)出遲滯性和非線性,傳統(tǒng)PID調(diào)節(jié)控制效果并不理想,而編織物熱壓縮試驗機對于精度要求又比較高,因此需要引入RBF神經(jīng)網(wǎng)絡控制,從而改善系統(tǒng)的控制性能[1]。
為了對編織物進行面加熱,在加熱底座內(nèi)并排放置4支250 W的電熱管,溫度測量采用2支Pt100鉑電阻溫度傳感器,對采集到的溫度平均值之后反饋到控制單元。系統(tǒng)的主控制器采用ARM_Cotex M3內(nèi)核的STM32F103芯片,最高頻率為72 MHz,它通過發(fā)送PWM信號來控制繼電器,進而驅(qū)動電熱管進行加熱。
Pt100鉑電阻傳感器接入專用的信號放大器后,輸出1 V~5 V電壓信號,然后進行數(shù)模轉(zhuǎn)換。A/D轉(zhuǎn)換單元采用12位帶符號的AD7327芯片,采樣頻率500 Hz,通過SPI串口與控制器進行數(shù)據(jù)通訊。加熱系統(tǒng)結(jié)構框圖如圖1所示。
電加熱裝置是具有自平衡能力的裝置,可以用一階慣性滯后環(huán)節(jié)近似表示被控對象的數(shù)學模型[2,3],其傳遞函數(shù)為:
其中:T為時間常數(shù);k為放大系數(shù);τ為滯后系數(shù)。這3個參數(shù)可以通過測量系統(tǒng)的飛升曲線獲得,如圖2所示。其中,OA表示滯后時間,AB表示加熱時間,AC的斜率表示加熱系數(shù),則在此加熱系統(tǒng)中,被控對象可以表示為:
圖1 加熱系統(tǒng)結(jié)構框圖
圖2 飛升曲線
增量式PID控制器輸出增量為:
其中:KP,Ki,Kd分別為比例系數(shù)、積分系數(shù)、微分系數(shù);XP,Xi,Xd分別為比例控制器、積分控制器以及微分控制器對應的輸入。PID控制器性能指標取為:
其中:r(k)為給定值;y(k)為輸出值。
Kp,Ki,Kd采用梯度下降法進行如下調(diào)整:
其中:ηi為學習速率;e(k)為誤差;?y/?Δu為被控對象的Jacobian信息,即對象的輸出對輸入變化控制的靈敏度,可通過RBF(徑向基)神經(jīng)網(wǎng)絡進行辨識得到。只要在線計算出?y/?Δu,PID控制器的3個參數(shù)就可以實現(xiàn)在線調(diào)整,這樣就構成了RBF(徑向基)神經(jīng)網(wǎng)絡PID控制器[4],其結(jié)構如圖3所示。
圖3 RBF神經(jīng)網(wǎng)絡PID控制器
在RBF(徑向基)神經(jīng)網(wǎng)絡中采用3-6-1三層結(jié)構。在第k次采樣時刻,網(wǎng)絡輸出為ym(k),目標是逐漸逼近實際輸出y(k)。神經(jīng)網(wǎng)絡的輸入為X=[x1,x2,x3]=[u(k),y(k),y(k-1)]T,隱含層設置6個單元,輸出向量為 H=[h1,h2,…,h6]T,從隱含層到輸出層的連接權系數(shù)為 W =[w1,w2,…,w6]T,則 RBF神經(jīng)網(wǎng)絡結(jié)構如圖4所示。
圖4 RBF神經(jīng)網(wǎng)絡結(jié)構
設網(wǎng)絡隱含單元的數(shù)據(jù)中心矩陣為C=[c1,c2,…,c6],第j個隱含單元的數(shù)據(jù)中心向量為Cj=[c1j,c2j,c3j]T,隱含單元帶寬系數(shù)為Bj=[b1,b2,…b6]T,從輸入層到隱含層為非線性映射,這里引用高斯基函數(shù),則第j個隱含單元的輸出為:
則辨識網(wǎng)絡的輸出為:
選取辨識器的性能指標為:
在第k次采樣時刻,使用梯度下降法來修正神經(jīng)網(wǎng)絡的輸出權系數(shù)、帶寬參數(shù)、中心數(shù)據(jù)的增量值分別為:
為了實現(xiàn)J更快的收斂,在輸出權系數(shù)、帶寬參數(shù)以及中心數(shù)據(jù)增量計算式后面分別添加一個動量項α,則相應的修正公式為:
在第k時刻,ym(k)=y(tǒng)(k),那么對象的輸出對輸入的靈敏度為:
這樣就可以用來調(diào)整PID控制器的3個參數(shù),實現(xiàn)更好的控制性能。
分別采用傳統(tǒng)PID控制器和基于RBF神經(jīng)網(wǎng)絡的PID控制器針對編織物加熱模型進行控制。由于基于RBF神經(jīng)網(wǎng)絡PID控制器結(jié)構復雜,這里采用Simulink Function模塊來表達,應用Simulink的仿真結(jié)構如圖5所示。
圖5 RBF-PID控制器與PID控制器仿真結(jié)構圖
經(jīng)過大量的調(diào)試與實驗[5],最終在PID控制器中選取的比例、積分、微分3個系數(shù)分別為2.7,0.08,0.02。在基于RBF(徑向基)神經(jīng)網(wǎng)絡PID控制器中,設置輸出權系數(shù)W、帶寬系數(shù)B以及中心數(shù)據(jù)C的初始值均為隨機數(shù),神經(jīng)網(wǎng)絡的學習速率為0.15,PID的學習速率為0.1,動量項系數(shù)α為0.05,則系統(tǒng)的階躍響應和矩形波響應分別如圖6、圖7所示。
由圖6、圖7可知,應用傳統(tǒng)的PID控制器,系統(tǒng)具有25%左右的超調(diào)量,而應用RBF-PID控制器,系統(tǒng)的超調(diào)量幾乎為零。而且,應用RBF-PID控制器后,系統(tǒng)的響應速度也有了一定的提高。
圖6 系統(tǒng)階躍響應曲線
圖7 系統(tǒng)矩形波響應曲線
本文以STM32F103微控制器為核心,搭建了編織物加熱的硬件系統(tǒng),并對其進行了數(shù)學建模。對于加熱系統(tǒng)這樣帶有大延時的遲滯系統(tǒng),傳統(tǒng)的PID調(diào)節(jié)往往不能達到理想的結(jié)果,應用RBF(徑向基)神經(jīng)網(wǎng)絡強大的函數(shù)逼近能力在線辨識,實時跟蹤被控對象的變化,這樣就構成了基于RBF神經(jīng)網(wǎng)絡的PID控制器。最后通過Matlab仿真,驗證了這種控制器的優(yōu)越性,并使得控制系統(tǒng)具有更快響應性與更小的超調(diào)量。
[1] 屈毅.溫室溫度控制系統(tǒng)的神經(jīng)網(wǎng)絡PID控制[J].農(nóng)業(yè)工程學報,2011,27(2):307-311.
[2] 歐陽磊.基于自整定PID控制器的溫度控制系統(tǒng)研究[D].淮南:安徽理工大學,2009:21-22.
[3] 陸桂明.基于模糊PID控制的電鍋爐溫度控制系統(tǒng)的研究[D].哈爾濱:哈爾濱理工大學,2003:6-7.
[4] 趙娟平,任永彬.基于RBF神經(jīng)網(wǎng)絡的PID控制[J].微計算機信息,2007,23(10):76-78.
[5] 劉金琨.先進PID控制的MATLAB仿真[M].北京:電子工業(yè)出版社,2004.