李 朋 高立民 吳易明
(中國科學院西安光學精密機械研究所1,陜西 西安 710119;中國科學院研究生院2,北京 100049)
光柵碼盤是一種精密測量角度信息的傳感器,測量精度歷來被視作衡量光柵碼盤性能的一項重要指標。提高光柵碼盤測量精度的方法有很多種。其中一種方法是通過提高光柵的刻劃數(shù)量來實現(xiàn),但由于現(xiàn)有工藝刻劃水平的限制以及成本的制約,這種方法不作為提高光柵碼盤精度的主流方法;另一種方法是對光柵碼盤輸出信號進行細分,這是目前常用的方法,如幅值分割法[1]、四倍頻法[2]、互補函數(shù)法[3]、電阻鏈法[4]以及鎖相倍頻細分法[5]等。雖然這些方法都可以達到細分的目的,但存在很多缺點,如四倍頻法細分過程簡單,但細分倍數(shù)比較低;幅值分割法細分精度高,但算法占用的存儲空間大。
梯形函數(shù)逼近一般用于求解函數(shù)值,目的是簡化計算過程。它用折線來擬合已知函數(shù),可以很容易地計算出結果。計算過程無需查表,節(jié)省了存儲空間,只要逼近步長選擇得當,就可以達到很高的精度。
在理想狀況下,從光柵碼盤輸出的四路信號經(jīng)差分放大后得到兩路正交的正弦信號[6],即:
現(xiàn)在假設用采樣脈沖對兩路信號進行采樣,得到的光柵信號如圖1所示。
圖1 光柵信號Fig.1 Grating signals
上升沿觸發(fā),第i個采樣脈沖所對應的幅值為Asinxi,假設在第(i+1)個上升沿到來時所走過的相位為dxi,那么第(i+1)個脈沖所對應的正弦波的幅值應為Asin( xi+dxi)。
由于采樣脈沖的頻率很高、dxi很小,對其采用梯形公式逼近,得到:
此處振幅A并不影響展開,因此不予以考慮。由于sin( xi+dxi)、sinxi、cosxi以及 cos(xi+dxi)都可以由采樣得到,因此,式(2)、式(3)其實是關于dxi的一階方程。
由式(2)、式(3)可以分別求得dxi:
每經(jīng)過一個脈沖采樣就會得到一個dxi值。假設經(jīng)過了N個脈沖采樣,則可得波形所走過的總相位為:
光柵信號采樣頻率決定著細分算法的精度,如果采樣頻率太低,就會造成光柵信號信息的丟失,使細分誤差較大。
不同采樣頻率時的細分誤差如圖2所示。
圖2 不同采樣頻率時的細分誤差Fig.2 Subdivision error under different sampling frequencies
雖然采樣頻率越高、光柵信號信息就越不容易丟失,但采樣頻率也不是越高越好。因為采樣頻率越高,信息量就會越大,要求的數(shù)據(jù)處理周期就會越短。
通常芯片數(shù)據(jù)處理速度都是確定的,這也決定了光柵信號頻率和采樣頻率的上限。如采用浮點運算單元(float point unit,F(xiàn)PU)做一次加法或減法運算需要七個時鐘周期,做一次除法運算需要35個時鐘周期。如果芯片時鐘頻率為100 MHz,那么用此算法做一次細分運算就要使用57個時鐘周期,大約0.57 μs。為了保證運算時間充足,將每次運算的時間設定為1 μs,則數(shù)據(jù)處理的頻率為1 MHz。
同時,為了保證細分精度,假設對每個波形至少采樣13個點,那么對應的光柵信號頻率就不能超過77 kHz。如果信號頻率超過77 kHz,就會出現(xiàn)丟數(shù)現(xiàn)象,這在一定程度上帶來了運算誤差,從而影響測量精度。
雖然直接利用式(4)、式(5)可以求解dxi的值,但是所得到的結果是近似值,并不是真實值,它們之間存在著一定的誤差,而且在某些點還會出現(xiàn)小數(shù)除大數(shù)的情況,如式(4)在 π/2和3π/2處、式(5)在0和 π處,這會引起較大的細分誤差。
為使除數(shù)不出現(xiàn)極小值,對式(4)和式(5)分以下兩種區(qū)間應用:在區(qū)間(-π/4+kπ,π/4+kπ)時調(diào)用式(4),在區(qū)間(π/4+kπ,3π/4+kπ)時調(diào)用式(5)。對于區(qū)間邊界點,即當兩個采樣點不在同一區(qū)間時,由第二個邊界點來決定。這樣通過區(qū)間劃分來選取對應細分公式,可以很好地提高測量精度,消除較大誤差點。
由于累加法存在誤差積累的固有缺陷[7],因此必須對數(shù)據(jù)處理作一點修正。由前文可知,當信號波形被劃分為兩種區(qū)間后,每種區(qū)間的相位長度為π/2 rad。因此,可將數(shù)據(jù)處理公式寫成:
式中:前兩項為精碼部分,分別表示最后一個區(qū)間和第一個區(qū)間所轉(zhuǎn)過的相位;第三項為粗碼部分,代表轉(zhuǎn)過的區(qū)間數(shù),K為正轉(zhuǎn)區(qū)間數(shù),M為反轉(zhuǎn)區(qū)間數(shù)。
在計算過程中,因為每個計算區(qū)間的相位長度為π/2 rad,所以當一個完整的計算區(qū)間計算完畢后其結果只會是π/2或-π/2。但由于外界干擾或光柵自身刻劃的影響[8-9],計算結果可能不是 π/2 或 - π/2,只是接近π/2或-π/2,所以規(guī)定計算完一個完整的計算區(qū)間后,不論這一個區(qū)間的計算結果如何,都進行強制賦值。如果此區(qū)間計算結果在π/2鄰域內(nèi)(對于鄰域半徑可以根據(jù)試驗環(huán)境設定),則強制計算結果為π/2;在計算結果在-π/2鄰域內(nèi),則強制計算結果為-π/2。在計算完畢一個區(qū)間后,根據(jù)計算值來決定K和M是否加1,然后令計算值歸零,開始新一輪計算。這樣由疊加所引起的誤差累積現(xiàn)象就被控制在一個計算區(qū)間內(nèi),基本可以忽略。
前文已提及理想波形下算法所帶來的誤差,此處主要討論波形不理想情況下所引起的誤差。所謂波形不理想主要是指從光柵碼盤出來的兩路信號幅值不相等或相位不正交。
假設所獲得到的兩路信號差分放大后為:
針對式(8),下面分兩種情況進行討論。
①當A0=A1、δ不為0時,將采集到的值代入式(4),可得:
令 dxi=0.1 rad,δ分別取 0.1 rad、0.01 rad、0.001 rad時,可以計算得到 π/2區(qū)間內(nèi)的 dxi,誤差值為 ( d xi-d)。(-π/4~+π/4)區(qū)間內(nèi)的細分誤差如圖3所示。
圖3 信號非正交所引起的細分誤差Fig.3 Subdivision error caused by non-orthogonal signals
從圖3可以看出,δ越大,它引起的計算誤差越大,且誤差在一個計算區(qū)間內(nèi)是關于區(qū)間中點近似對稱的。因此,在一個完整的計算區(qū)間內(nèi),由于正負疊加,δ的影響是不斷減小的,其最大誤差只會出現(xiàn)在前半個計算區(qū)間或后半個計算區(qū)間。現(xiàn)在假設 δ=0.1 rad、dxi=0.1 rad,那么在π/4 rad區(qū)間內(nèi)的采樣點為八個,引起的計算誤差大約為0.08 rad,約為兩個采樣點間的相位差大小。因此,對整個精度來講并不會有多大影響。但是如果δ很大,就不能忽略其影響,此時需要有一個相位補償電路[10]。
② 當 δ=0、A0≠A1時,式(4)、式(5)分別為:
為驗證算法的精度,在Matlab平臺下對算法進行仿真試驗。
設采樣步距角在0.02~0.20 rad之間,并每隔0.02 rad進行一次仿真,每次仿真設為100步。梯形函數(shù)逼近法細分結果如表1所示。
表1 細分結果Tab.1 Subdivision results
從表1可以看出,梯形擬合算法的細分精度較高。
綜合以上分析可以看出,梯形函數(shù)逼近數(shù)字細分法計算簡單,而且其精度僅與信號頻率和采樣頻率有關,采樣頻率越快,精度越高。同時,梯形函數(shù)逼近數(shù)字細分法不需要辨向電路[11-13],這大大簡化了電路設計過程,并且可以在一定程度上消除由相位不正交所引起的誤差,提高了測量精度。
[1]羅華,高山,李翔龍.粗光柵信號全數(shù)字化處理法實現(xiàn)高倍數(shù)細分[J].光學精密工程,2007,15(2):283 -288.
[2]王度橋,劉勇,周崗,等.光電碼盤脈沖信號四倍頻檢測方法的分析與研究[J].航電技術,2009,29(8):14 -17.
[3]徐從裕,余曉芬.基于互補函數(shù)算式的光柵快速細分方法[J].電子測量與儀器學報,2006,20(3):6-9.
[4]張興華,王克逸.光柵信號電阻鏈高倍細分法的誤差校正的研究[J].電子測量技術,2008,31(7):35 -39.
[5]郭雨梅,崔晉玲,劉雪艷,等.鎖相式莫爾條紋信號細分方法[J].哈爾濱工業(yè)大學學報:工學版,2007,39(9):1496-1498.
[6]唐小琦,劉世峰,王平江,等.正切法莫爾條紋信號幅值分割細分的誤差分析[J].計量學報,2007,7(3):220 -223.
[7]陳赟,張紅勝.光電軸角編碼器的編碼方式及其發(fā)展趨勢[J].中國光學與應用光學,2009,2(2):126-133.
[8]陳赟.曝光量對碼盤、圓光柵均勻性誤差的影響[J].計量技術,2005(12):28-29.
[9]黃宗升,秦石喬,王省書,等.光柵角編碼器誤差分析及用激光陀螺標校的研究[J].儀器儀表學報,2007,28(10):1866 -1869.
[10]呂孟軍,郭琪,呂印曉.莫爾條紋信號相位誤差補償[J].光學精密工程,2009,17(7):1694 -1700.
[11]蔣晶,蔣東方,高航.高可靠性增量式光電編碼器接口電路設計[J].測控技術,2009,28(2):1 -4.
[12]李擁軍,范永坤,楊輝.光電編碼器濾波技術研究[J].自動化儀表,2008,29(7):21 -23.
[13]孫祥明,齊明俠,沈蓉.編碼器換向誤碼輸出原因探討及鑒相電路改進[J].石油大學學報:自然科學版,2004,29(4):91 -94.