張衛(wèi)波,梁昆,朱清
(福州大學 機械工程及自動化學院,福建 福州 350116)
增壓柴油機在客車、貨車、轎車等車型上的應用越來越廣泛。在穩(wěn)態(tài)工況下,相比于普通柴油機,渦輪增壓器可以提高發(fā)動機的動力性、排放性及經(jīng)濟性等。而實際運行工況總是多變的,發(fā)動機性能需要實時改變,常規(guī)渦輪增壓柴油機在多變的運行工況下,存在嚴重渦輪遲滯現(xiàn)象,變化的供油量與進氣量無法同步變化,影響柴油機的輸出性能[1-2]。可變截面渦輪增壓器(VGT)是解決以上問題的有效手段,可根據(jù)實際工況改變VGT開度,從而改變柴油機運行工況。
對于VGT的控制,國內(nèi)外學者主要采用PID控制。昆明理工大學提出前饋控制與自適應PIDGT開度[3]。北京理工大學通過PID算法的閉環(huán)目標升壓反饋,提高了發(fā)動機的容積效率[4]。HONG S等研究人員提出了一種以SIMC為基礎的乘用車柴油機升壓控制器增益調(diào)度策略,用于滿足VGT的非線性特性[5]。而單獨使用PID控制,并不能對增壓柴油機參數(shù)之間的非線性關系進行處理,所以本文對非線性關系采用非線性模型預測,同時利用量子粒子群算法對VGT開度尋優(yōu)。
對于預測模型,常見的預測方法可以分為熱力學建模和數(shù)據(jù)統(tǒng)計兩種方式[6]。熱力學建模方法是對發(fā)動機物理和化學過程的簡化和假設,同時考慮發(fā)動機運行工況,模型需要調(diào)整和校準,因此這不可避免地導致其在校準區(qū)域外的預測誤差。數(shù)據(jù)統(tǒng)計方法主要針對輸入變量和輸出之間的線性關系,但在處理非線性問題時,存在預測不靈活且缺乏準確性。這兩種方法都不適合于解決非線性關系,而BP神經(jīng)網(wǎng)絡具有并行計算和以任意精度逼近非線性系統(tǒng)的能力[7-8]。為此本文采用BPNN建立預測模型。
預測模型是根據(jù)增壓柴油機數(shù)據(jù),準確預測下一時刻發(fā)動機的進氣量與排氣壓力。在發(fā)動機中,空氣通過進氣管進入氣缸,并且隨著發(fā)動機轉(zhuǎn)速的變化,單位時間內(nèi)進入的空氣量隨之改變。因此,進氣流量與發(fā)動機的轉(zhuǎn)速息息相關,同時,下一時刻的進氣流量與之前的進氣流量也有關系。對此,本文選用前面時刻的發(fā)動機轉(zhuǎn)速、VGT開度、排氣壓力和進氣流量來預測下一時刻的進氣流量。即模型輸入量表示為:
x(k)=[Pex(k),VGT(k),Neg(k),ma(k)]T
(1)
式中:Pex(k)、VGT(k)、Neg(k)、ma(k)分別為k時刻下的排氣壓力、VGT開度、發(fā)動機轉(zhuǎn)速和進氣流量。同時下一時刻的進氣流量和排氣壓力作為輸出量表示為:
(2)
根據(jù)式(1)和式(2)的輸入量和輸出量,選用3層神經(jīng)網(wǎng)絡結構構造預測模型,結構如圖1所示。神經(jīng)網(wǎng)絡的輸入層、隱含層和輸出層神經(jīng)元個數(shù)分別設為I、H和Q,隱含層輸入表示為:
Iinput=w1x(k)+b1
(3)
Iinput=[Iinput1,…,Iinputa,…,IinputH]T,a=1,2,…,H
(4)
其中:w1∈RH×I是輸入層和隱含層之間的權值矩陣;b1∈RH×I是隱含層的閾值矩陣;Iinput∈RH×1是隱含層的輸入量矩陣,隱含層的輸入量傳遞至激活函數(shù)Sigmoid,得到隱含層的輸出量,輸出量表示為:
(5)
Ooutput=[Ooutput1,…,Ooutputa,…,OoutputH]T
a=1,2,…,H
(6)
其中:Ooutputa和Iinputa分別是隱含層第a個神經(jīng)元的輸出量和輸入量;Ooutput∈RH×1是隱含層輸出量矩陣。而預測模型的輸出量表示為:
(7)
其中:w2∈RO×H是隱含層和輸出層之間的權值矩陣;b2∈RO×1是輸出層的閾值矩陣。
本文通過AMESim商業(yè)軟件建立的六缸增壓柴油機,再調(diào)整發(fā)動機轉(zhuǎn)速、噴油脈寬和VGT開度,運行模型從而得到訓練樣本,見圖2和圖3。另外,BP神經(jīng)網(wǎng)絡需要在訓練之前對權值和閾值進行初始化,而不同的初始權值和閾值會導致訓練出來的網(wǎng)絡的預測效果不同[9]。因此為了尋找最優(yōu)初始值從而提高網(wǎng)絡的預測精度,本文采用遺傳算法(GA)對神經(jīng)網(wǎng)絡初始值進行尋優(yōu),再利用BP神經(jīng)網(wǎng)絡對預測模型進行權值優(yōu)化,最終得到進氣量預測模型。同時,神經(jīng)網(wǎng)絡中的隱含層個數(shù)對預測模型產(chǎn)生影響,本文通過多次試驗,對比不同隱含層神經(jīng)元個數(shù)對模型的誤差影響,將隱含層神經(jīng)元個數(shù)設置為40。
圖1 BP預測模型結構
圖2 訓練輸入數(shù)據(jù)
圖3 訓練輸出數(shù)據(jù)
為了驗證進氣量預測模型的預測能力,本文在相同輸入量下,對比進氣流量的預測值與實際值。對于輸入量使用Gaussian信號,設置VGT均值為0.5,方差為0.04,周期為0.5s,轉(zhuǎn)速設置為均值2500r/min,方差為1000,周期為0.5s,噴油脈寬設置為均值1.3ms,方差為0.06,周期為0.5s。預測模型的預測值和實際值對比結果見圖4和圖5。本文對于預測模型結果的誤差采用3種評價標準,見表1。從表1可以看出,進氣流量和排氣壓力的均方誤差低于0.2,平均絕對誤差在0.1左右,而進氣流量的平均絕對百分比誤差在2%左右,排氣壓力的平均絕對百分比誤差為4%左右。從這些數(shù)據(jù)可以看出,該預測模型可以準確地預測出增壓柴油機下一時刻的進氣流量和排氣壓力。
圖4 排氣壓力真實值與預測值對比圖
圖5 進氣流量真實值與預測值對比圖
表1 模型誤差評價指標
普通PSO算法出現(xiàn)粒子快速匯聚在局部最優(yōu)解處,同時導致粒子的過早收斂和種群數(shù)量過快減少。另外,普通PSO算法需要設置慣性因子和加速因子參數(shù),需修改的參數(shù)數(shù)量較多,而量子粒子群算法(QPSO)可以有效解決這兩個問題[10]。在QPSO算法[11-12]中,其舍棄了粒子的運動方向?qū)傩裕W游恢玫母屡c之前的位置無關,增強了粒子的隨機性。
同時,由于考慮到VGT的開度不僅僅影響下一時刻的進氣流量,同時對未來時刻的進氣流量皆有影響。另外,在控制VGT時,不宜將VGT開度大幅度變化,大幅度變化會導致柴油機進氣流量的波動,從而出現(xiàn)柴油機輸出轉(zhuǎn)矩波動。因此,本文將進氣流量變化和VGT開度變化都考慮在內(nèi),算法的適應度函數(shù)表現(xiàn)如下:
(8)
n=1,…,Np
(9)
Q=diag(qk+1,qk+2,…,qk+n,…,qk+Np),n=1,2,…,Np
(10)
對于其中VGT粒子變化,本文采用QPSO算法,其粒子位置變化如下:
P(t)=θ(t)pbesti(t)+[1-θ(t)]gbest(t)
(11)
(12)
其中:θ是0~1的隨機數(shù);t為迭代次數(shù);為0~1的隨機數(shù);α為創(chuàng)新參數(shù),該參數(shù)是QPSO唯一需要修改的參數(shù)。另外,公式(12)中,該式取加號與減號的概率一樣,均為50%。
對于進氣流量的參考值,本文根據(jù)實時的燃油消耗量和轉(zhuǎn)速,計算得出實際需要的進氣流量作為期望進氣流量。增壓柴油機工作時,過量空氣系數(shù)一般在1.5~2.4之間。通過多次試驗,本款柴油機過量空氣系數(shù)在1.7左右時,其輸出轉(zhuǎn)矩大于其他過量空氣系數(shù)下的輸出轉(zhuǎn)矩。因此,本文選取1.7為本款柴油機的最優(yōu)過量空氣系數(shù)。
為了對比QPSO和SPSO的優(yōu)化能力,本文隨機選取一個增壓柴油機工況,采用公式(8)作為適應度函數(shù),比較SPSO和QPSO優(yōu)化過程。同時,試驗分別在預測時域為5和10進行。在預測時域為5的試驗中,粒子種群設置為10,迭代次數(shù)設置為10;在預測時域為10的試驗中,粒子種群取15,迭代次數(shù)取15,試驗結果見圖6和圖7。
圖6 預測時域為5的迭代結果
圖7 預測時域為10的迭代結果
本文利用BP神經(jīng)網(wǎng)絡構建預測模型,預測出未來時刻增壓柴油機的進氣流量和排氣壓力。通過比較各個粒子VGT開度下的適應度值,尋找出最優(yōu)VGT開度。再利用最優(yōu)的VGT開度控制增壓柴油機,使其達到過量空氣系數(shù)期望值和轉(zhuǎn)矩期望值。整體控制流程圖如圖8所示。首先,利用BP預測模型預測出預測時域Np下的進氣流量,再與期望進氣流量比較,獲得兩者之間的誤差以及VGT開度的差值構成目標函數(shù)。然后,求解各個粒子的目標函數(shù)值,利用QPSO算法迭代對VGT開度尋優(yōu),得到最優(yōu)的VGT開度,使增壓柴油機平穩(wěn)達到轉(zhuǎn)矩期望值。
圖8 非線性模型預測控制流程圖
本文使用AMESim和MATLAB/Simulink進行聯(lián)合仿真,通過AMESim軟件生成S函數(shù),添加至Simulink模塊中,實現(xiàn)AMESim進行柴油機仿真,Simulink進行控制輸出[13]。本文每0.1s對柴油機數(shù)據(jù)進行采集,并對VGT開度進行控制,同時鑒于預測模型對預測進氣流量存在誤差,本文在VGT開度尋優(yōu)前,先對下一時刻進氣流量預測,若其與期望流量相差在5%以內(nèi),將不調(diào)節(jié)VGT開度,保持原有VGT開度,避免VGT的過度調(diào)控。接下來的仿真試驗中,本文將預測時域取為5,迭代次數(shù)和種群數(shù)量取10,權值p取為1,權值Q取值如下:
Q=diag(10,10,10,10,10)
(13)
本次仿真主要是模擬在柴油機工作時,負載瞬間變化,對比PID算法和BP-QPSO算法的適應能力。本文使柴油機轉(zhuǎn)速調(diào)至1500r/min,在5s末,燃油消耗量由0.106kg/min階躍為0.169kg/min,之后燃油消耗量維持在0.169kg/min。在5s后分別使用PID算法和BP-QPSO算法控制VGT開度,運行結果見圖9和圖10。從圖中可以看出,兩種算法控制VGT開度都將增壓柴油機的過量空氣系數(shù)提高至1.7,使用BP-QPSO算法對VGT控制,使柴油機運行更加平穩(wěn),而PID需要經(jīng)過一段時間才能使轉(zhuǎn)矩平穩(wěn)。由于PID算法使VGT開度出現(xiàn)大幅度減少,導致渦輪遲滯加重,柴油機運行不平穩(wěn)。因此,BP-QPSO算法在瞬態(tài)響應工況下,相比于PID算法可以使增壓柴油機運行更加平穩(wěn)。
圖9 轉(zhuǎn)矩階躍響應變化
圖10 增壓柴油機過量空氣系數(shù)變化
在本次仿真中,保持轉(zhuǎn)速和燃油消耗量在一段時間內(nèi)不變,之后使增壓柴油機在某時刻轉(zhuǎn)速和燃油消耗量階躍,通過BP-QPSO算法控制VGT開度,使增壓柴油機具備轉(zhuǎn)矩和過量空氣系數(shù)跟隨能力。增壓柴油機轉(zhuǎn)速和燃油消耗量變化見圖11,增壓柴油機運行結果見圖12和圖13。從圖中可以看出,增壓柴油機的轉(zhuǎn)矩和過量空氣系數(shù)可以在較短時間內(nèi)達到期望值,并且轉(zhuǎn)矩變化相對比較平穩(wěn),同時每個階段的過量空氣系數(shù)都可以穩(wěn)定在1.7左右,使增壓柴油機輸出期望轉(zhuǎn)矩。
圖11 柴油機轉(zhuǎn)速以及燃油消耗量變化
圖12 增壓柴油機轉(zhuǎn)矩變化
1) 鑒于增壓柴油機參數(shù)之間呈現(xiàn)出非線性,本文采用BP神經(jīng)網(wǎng)絡建立預測模型,對未來時刻進氣流量和排氣壓力進行準確預測,為VGT的控制提供了依據(jù)。
圖13 增壓柴油機過量空氣系數(shù)變化
2) 通過對普通PSO算法和量子PSO算法做對比,發(fā)現(xiàn)量子PSO算法調(diào)節(jié)參數(shù)少,同時適應度下降更快,結果相比于普通PSO表現(xiàn)更優(yōu)。
3) 本文在兩種響應仿真中,利用QPSO算法對VGT進行尋優(yōu),從仿真結果可以看出,該算法通過控制VGT開度,使增壓柴油機轉(zhuǎn)矩平穩(wěn)運轉(zhuǎn)至期望值,具備良好的轉(zhuǎn)矩跟隨能力。