陸騰云,盧文科,左 鋒,馮 陽,吳子恒
(東華大學 信息科學與技術學院,上海201620)
變壓器式傳感器作為一種互感式的傳感器,是一種機電轉換裝置。由于采用差動形式來連接次級繞組,同時又與變壓器的制作有著相同的原理,因此被稱為差動變壓器式傳感器[1]。差動變壓器由鐵芯、初級繞組、次級繞組等組成,這些組成部分都容易受到溫度的影響,包括繞組的阻值以及鐵芯的磁性。
目前主要的溫度補償方法有硬件補償和軟件補償2種。傳統(tǒng)的傳感器多采用硬件補償?shù)霓k法,但該方法存在補償效果不好、成本過高、生產(chǎn)效果不穩(wěn)定、精度難以提高等缺點[2],因此軟件補償成為當前比較熱門的溫度補償方法。插值法、查表法、最小二乘法、曲線擬合法、BP神經(jīng)網(wǎng)絡算法等都是比較常用的軟件補償方法。在此,運用粒子群算法(PSO)優(yōu)化最小二乘支持向量回歸(LSSVM)的模型(PSO-LSSVM),對差動變壓器式位移傳感器的溫度漂移進行補償,在得到溫度補償?shù)念A測數(shù)據(jù)之后,與原本測得的數(shù)據(jù)相比較,歸納出相應結論。
差動變壓器式位移傳感器主要由1個線框和1個鐵芯組成。初級繞組由線框繞上一組初級線圈組成,為輸入線圈;次級繞組則是在同一線框上另外繞上兩組次級線圈而成,為輸出線圈。同時,在線圈的中心位置放入鐵芯,此鐵芯是用來將被測的位移量轉化為線圈互感量變化的重要裝置,其結構如圖1所示。
圖1 螺線管式差動變壓器結構Fig.1 Solenoid differential transformer structure
圖中,當鐵芯上下移動時,就會使2個次級線圈中的互感量發(fā)生變化。在此,采用反向串聯(lián)的方式,因此當2個次級線圈中的互感量發(fā)生變化時,其電動勢的差即為文中所得到的輸出電壓。在忽略鐵芯損耗和導磁體磁阻以及線圈電容等的理想條件下,其等效電路如圖2所示。
圖2 差動變壓器等效電路Fig.2 Differential transformer equivalent circuit
當激勵電壓U˙加給初級線圈L1a時,根據(jù)電磁感應的原理,感應電動勢U˙2a和U˙2b就會分別在2個次級線圈L2a和 L2b中產(chǎn)生[3]。
在文中所述的假設理想條件下,如果鐵芯此時的位置處于初始的平衡位置,一定存在兩線圈的互感系數(shù) M1-M2,那么必然存在U˙2a=U˙2b[4]。 由于文中采用2個次級線圈反向串聯(lián)的方式連接,于是輸出電壓U˙0=U˙2a-U˙2b=0,此時的差動變壓器輸出為零。 當鐵芯向上移動時,次級線圈L2a中磁通將大于次級線圈L2b中的磁通,使得M1>M2,使次級線圈L2a中的電動勢U˙2a增加,同時使次級線圈L2b中的電動勢U˙2b減小。 反之,U˙2b增加,U˙2a則減小。 因為U˙0=U˙2a-U˙2b,所以當U˙2a,U˙2b隨著鐵芯的位移 X 變化時,U˙0也必將隨著X變化[5]。
粒子群算法是群智能算法的一種,它源于對鳥群社會系統(tǒng)的研究。鳥類被吸引飛向棲息地,這一行為存在3種原則,分別是:每個個體都需要飛離最近的個體避免碰撞;每個個體都需要飛向整個群體的中心位置;每個個體都需要飛向目標棲息地。在這個過程中,一開始的每一個個體都是無特定目標的飛行,直到其中的一個個體飛到了棲息地,那么此時的期望棲息比期望留在鳥群中具有較大的適應值,其結果會是每一個個體飛向棲息地,從而形成一個鳥群,最終鳥群都會落在棲息地[6]。
對于粒子i在第j維空間中運動的速度及其位置,采用以下公式進行更新:
其中:i=1,2,…,M
式中:M為種群的粒子總數(shù);w為慣性權重因子,其取值是非負的,大小會影響整個種群尋找最優(yōu)解的能力,一般設定w為隨著進化而線性減?。籺為此時的迭代次數(shù);xij(t),vij(t)分別為t時刻第i粒子在j維子空間中的位置和速度;c1,c2為加速因子,一般取值為 0~2;r1j(t),r2j(t)為 2 個獨立的隨機函數(shù),取值為 0~1;pij(t)為第j維子空間中第i個粒子的歷史最優(yōu)解;pgj(t)為整個種群子t時刻在第j維子空間中的全局最優(yōu)解。
式(1)的第2項將當前粒子位置與其歷史最優(yōu)位置之差乘上1個隨機函數(shù),是為了將粒子當前位置向其歷史最優(yōu)位置做出一定的隨機調(diào)整;式(1)的第3項將當前粒子位置與整個種群的歷史最優(yōu)位置之差乘上1個隨機函數(shù),是為了將當前粒子位置在向個體最優(yōu)位置做出調(diào)整的同時,向種群最優(yōu)位置做出一定的隨機調(diào)整。
在每一次的迭代過程當中,需要根據(jù)整個種群的目標函數(shù)的值,來確定當前粒子的最優(yōu)位置pij(t)以及整個種群的最優(yōu)位置pgj(t)。 設f(x)為最小化的目標函數(shù),則
在迭代的過程中,根據(jù)式(1)和式(2)更新各個粒子的速度及位置,根據(jù)式(3)和式(4)確定粒子i當前的最好位置及整個種群的群體最優(yōu)位置。一般來說,當?shù)拇螖?shù)達到設定的條件,或者群體搜索到的群體最優(yōu)位置滿足預設條件時,迭代結束。
支持向量機是一種基于統(tǒng)計學習理論的機器學習方法,它是將非線性變換映射到高維特征空間中去,從而在高維特征空間中尋找線性函數(shù),來模擬低維空間中的非線性變換[7]。
支持向量機的結構如圖3所示。在特征空間中,通過線性回歸函數(shù)
對原始數(shù)據(jù)進行分類或者擬合。
圖3 支持向量機結構Fig.3 SVM structure
最小二乘支持向量機有別于標準支持向量機的地方,是用等式約束條件代替了標準支持向量機中的不等式約束條件,同時它的損失函數(shù)采用誤差的二范數(shù)來表示,其效果是調(diào)高整體的收斂速度。它的優(yōu)化問題為
約束條件為
通過對拉格朗日函數(shù)的引入,推導出回歸函數(shù)模型為
式中:c為懲罰因子;ai為拉格朗日乘子;ξi為松弛因子。在此所選取的核函數(shù)為RBF核,即為高斯型徑向基函數(shù):
此外,對于懲罰因子c和核函數(shù)中的參數(shù)σ需要自行選取。
采用最小二乘向量機的技術建立差動變壓器式傳感器的逆模型,要涉及到對于LSSVM的懲罰因子c和σ的選取。文中采用粒子群算法對2個參數(shù)進行選取,提高了模型的抗干擾能力和預測準確度。
PSO-LVSSVM算法的流程如圖4所示。其中,樣本訓練集L是由二維標定試驗得到的位移和溫度數(shù)據(jù)集。粒子適應度函數(shù)表示為預測結果與期望輸出的均方誤差。根據(jù)式(3)和式(4)調(diào)整最優(yōu)位置和全局最優(yōu)位置,具體表示為對于每個粒子,如果它的適應度函數(shù)值比單個粒子歷史最優(yōu)的適應度函數(shù)值小,則更新當前粒子最優(yōu)位置值;如果當前粒子最優(yōu)位置值比歷史全局最優(yōu)的適應度函數(shù)值小,則更新全局最優(yōu)位置值。當?shù)螖?shù)達到設定值則算法結束。此時的值即為最優(yōu)解。由此便得到最優(yōu)的c和σ的取值,即得到最優(yōu)的最小二乘支持向量機模型。
圖4PSO-LSSVM算法流程Fig.4 PSO-LSSVM algorithm flow chart
二維標定試驗的目的,是測量出在不同溫度下,差動變壓器式位移傳感器測得的數(shù)據(jù)。
步驟1 將差動變壓器式位移傳感器模塊和溫度傳感器模塊組合在一起,調(diào)整恒溫箱的溫度并待其穩(wěn)定后調(diào)節(jié)測微頭;
步驟2 在同一溫度下,每0.5 mm記錄1次數(shù)據(jù),數(shù)據(jù)包括差動變壓器式位移傳感器的電壓輸出UX和溫度傳感器的電壓輸出UT;
步驟3 改變恒溫箱的溫度,待溫度穩(wěn)定后,重復步驟2。如此操作若干次,記錄不同溫度下得到的各組數(shù)據(jù)[8]。二維標定試驗數(shù)據(jù)見表1。
根據(jù)表1數(shù)據(jù),作出差動變壓器式位移傳感器的輸入輸出特性曲線,如圖5所示。
表1 二維標定試驗數(shù)據(jù)Tab.1 Two-dimensional calibration experimental data
圖5 溫度補償前傳感器的輸入輸出特性曲線Fig.5 Input and output characteristic curve of sensor before temperature compensation
由圖可見,傳感器的輸入輸出特性曲線隨著溫度的變化而變化,即不同的溫度對應于不同的輸入輸出特性曲線。在此采用了靈敏度溫度系數(shù)和溫度附加誤差來衡量溫度對該傳感器的影響[9]。
靈敏度溫度系數(shù)αs表示靈敏度隨溫度漂移的速度,它的數(shù)學表達式為
溫度附加誤差的數(shù)學表達式為
式中:T2,T1分別為工作的上、下限溫度;Umax,Umin分別為同一位移量下,工作溫度在T1~T2變化時,該傳感器輸出電壓的最大值、最小值。
由表可知,在溫度從20.03℃到60.29℃變化的情況下,T2-T1=(60.29-20.03)℃=40.26℃,傳感器輸入位移X=7.0 mm時,其輸出量的變化量最大,即Umax=8.729 V,Umin=4.556 V,ΔUmax=4.173 V。據(jù)此,由式(10)和式(11),可得
由此可知,該傳感器受溫度的影響比較大,須要對其進行溫度補償。
對于PSO-LSSVM溫度補償模型,先采集位移量和溫度的數(shù)據(jù),之后經(jīng)過二維標定試驗,將數(shù)據(jù)傳輸進PSO-LSSVM算法模型中,得到最終的位移預測值,從而實現(xiàn)溫度的補償[10]。其系統(tǒng)框圖如圖6所示。
圖6 差動變壓器式位移傳感器溫度補償系統(tǒng)Fig.6 Differential transformer type displacement sensor temperature compensation system
在此采用MatLab進行溫度補償模型仿真。因所用粒子群算法只需要優(yōu)化最小二乘向量機中的2個參數(shù),故設置粒子群的維數(shù)為2。同時,設置迭代次數(shù)為 300,加速因子c1=1.8,c2=1.2。
先對原始數(shù)據(jù)進行歸一化,由于文中數(shù)據(jù)趨近于線性分布,而標準化處理相對來說更適用于高斯分布的數(shù)據(jù),因此文中僅考慮對數(shù)據(jù)進行歸一化處理而不進行標準化處理。參數(shù)初始化后,運用PSOLSSVM模型對數(shù)據(jù)進行訓練,得到結果后反歸一化,便可以得到預測位移值。溫度補償后的預測位移值見表2。
表2 溫度補償后的預測位移值Tab.2 Predicted displacement value after temperature compensation
PSO優(yōu)化的LSSVM模型得到的懲罰因子,c=30.1296,核函數(shù)參數(shù)σ=0.0100,預測結果的均方誤差=0.0035。其適應度曲線如圖7所示。
圖7 適應度曲線Fig.7 Fitness curve
由圖可見,粒子群算法只需要迭代約20代就可以找到較優(yōu)的解;當?shù)?00多代后便可以得到最小二乘向量機最優(yōu)的2個參數(shù)值。根據(jù)表2溫度補償后的數(shù)據(jù)作出相應的擬合效果,如圖8所示。
圖8 溫度補償后的擬合效果Fig.8 Fitting effect after temperature compensation
由圖8可見,經(jīng)過PSO-LSSVM算法補償,溫度對于傳感器的影響明顯變小,輸入輸出關系曲線基本保持在同一條曲線上,對于溫度升高后對輸出的影響有了明顯的改善。算法補償后的傳感器誤差分
析如下:
靈敏度溫度系數(shù)αs數(shù)學表達式為
溫度附加誤差δ的數(shù)學表達式為
式中:T2,T1分別為工作的上、下限溫度;X′max,X′min分別為同一位移下工作溫度在T1~T2變化時,該傳感器的預測最大位移值、預測最小位移值。
由表2可知,在溫度從20.03℃到60.29℃變化的情況下,T2-T1=40.26℃,該傳感器的輸入位移X=5.0 mm時,其預測位移值的變化量最大,即X′max=5.0115 mm,X′min=4.9110 mm,ΔX′max=0.1005 mm。 由式(14)和式(15),可得
由溫度補償前后的靈敏度溫度系數(shù)和溫度附加誤差作比較(即式(12)(13)與式(16)(17)比較)可知,αs由補償前的 1.19×10-2減小到了 4.98×10-4,即減小了2個數(shù)量級;δ由補償前的47.81%減小到了2.01%,即減小了1個數(shù)量級。由此表明,基于PSO-LSSVM模型的溫度補償是十分有效的,提高了差動變壓器式位移傳感器的溫度穩(wěn)定性。
針對差動變壓器式位移傳感器的溫度漂移問題,一般來說,存在硬件補償方法和軟件補償方法[11]。在此采用了基于PSO-LSSVM模型的軟件補償方法;利用了PSO的尋優(yōu)能力對LSSVM算法中的懲罰因子c和核函數(shù)參數(shù)σ進行優(yōu)化選取,在使用LSSVM算法前就能得到最優(yōu)的算法模型,提高了算法收斂的速度。由試驗數(shù)據(jù)可知,溫度補償后的靈敏度溫度系數(shù)與溫度附加誤差減小了1~2個數(shù)量級,說明PSO-LSSVM算法對于溫度補償有著很好的效果,而且避免了手動選取參數(shù)的缺點。