李漢
(廣州航海高等專科學校 輪機系,廣東 廣州 510725)
光電編碼器在工業測速有較為廣泛的應用,光電編碼器的應用技術不斷產生。文獻[1]采用恒基準脈沖法提高光電編碼器測速的精度,文獻[2]采用鎖相環技術提高低速響應速度,但這些方法都以光電編碼器輸出正交無干擾信號為前提,當測速系統處于較大振動的情況下是無能為力的。在振動較大的情況下,文獻[3,4]分析了振動對光電編碼器測速的影響并設計了抗干擾防振動電子線路。本文將介紹一種基于ARM7嵌入式系統的光電編碼器抗振動測速和判向的方法及其應用效果。
目前使用光電編碼器測速的方法有M法、T法和M/T法。M法測量一定周期內的脈沖數,T法測量脈沖的周期值,M/T法測量一定周期內的整數個輸入脈沖的時間值。這3種方法中應用較為廣泛的是M/T法,因為M/T法能在短時間內高精度檢出所測之速,且分辨率與轉速無關。但要求編碼器輸出的脈沖是無干擾的脈沖信號,一旦出現干擾,測量的精確度將大大降低。
在控制系統中,當轉速較高時,電機運行比較平穩,振動小,采用光電編碼器測速準確度較高。但電機轉速較低時,振動對光電編碼器的影響較為明顯,如果不加處理,測速結果將失去實際使用的價值。為了弄清振動對光電編碼器輸出信號的影響,我們使用步進電機作為驅動進行實驗,研究振動對光電編碼器測速的影響,原因是:1)步進電機的轉速與驅動脈沖頻率有關,與負載無關,有利于獲得準確的給定轉速;2)步進電機的調速范圍較寬;3)當轉速低于某一轉速時,步進電機每走一步轉子都會產生震蕩,借此研究振動對光電編碼器測速性能的影響。經過監測表明,傳動軸轉動平穩、無振動時,光電編碼器輸出波形為 A,B兩相正交波形,如圖1a所示。這時使用M/T法測速的精度較高。當傳動軸出現振動時,振動對光電編碼器輸出信號的影響如下。
1)光電編碼器輸出波形在 A相或B相的前沿或后沿出現N個干擾脈沖,如圖1b所示。這時如果仍然使用非抗振動的測速方法,測量結果將具有較大的誤差,且不穩定,導致數據無法使用。
2)干擾脈沖的出現具有隨機性。干擾脈沖可能在脈沖前沿出現,也可能在后沿出現;可能出現1個或若干個,也可能不出現,給準確測速帶來一定的困難。經過大量的觀測,一般情況下 N=0~3。
3)光電編碼器A,B相輸出信號的正交性被破壞,無法使用正交性判斷轉向,如果仍然使用這種轉向判斷方法,將出現測向不穩的現象,即正轉和反轉指示燈不斷閃爍,無法確定轉向。

圖1 光電編碼器輸出波形圖Fig.1 Output waveforms of optical encoder
傳動軸振動時,光電編碼器輸出信號出現干擾脈沖,使測速脈沖計數不準確,同時破壞A,B相信號的正交性,造成判向錯誤。如果對測速方法不加以改進,則大大限制光電編碼器的用途。對于在傳動軸振動的情況下提高光電編碼器測速精度,關鍵是能夠對A,B相的輸出脈沖去偽存真,分辨出哪個脈沖是干擾的,哪個脈沖是真實的。
假設光電編碼器輸出 A,B兩相信號,以 A相信號為測速脈沖信號,B相信號為參考信號。由圖1a可看出,當A相信號的上升沿時刻測得B相信號的電位與A相信號的下降沿時刻測得B相信號的電位不同時,此次脈沖為真實脈沖,反之脈沖為干擾脈沖。甄別編碼器輸出脈沖真實性具體如下:在A相信號的上升沿時刻測量B相信號的電位Vu,下降沿時刻測量B相信號的電位Vd,則:當Vu≠Vd時,判定本次脈沖為真實脈沖;當Vu=Vd時,判定本次脈沖為干擾脈沖。
在測速程序中對真實脈沖,將給以計數,忽略干擾脈沖,這樣在傳動軸出現振動的情況下使用光電編碼器測速的精度將大大提高。
采用如圖2所示的實驗線路來驗證我們的觀點。圖2中采用ARM7單片機LPC2114,光電編碼器 A,B相信號分別由P0.10,P0.11輸入到LPC2114,測速的結果通過 I2C接口電路ZLG7290驅動數碼管顯示出來。P0.10設置為CAP1.0,P0.11設置為GPIO。應用PLC2114內部定時器TIMER1捕獲和匹配功能可完成測速的要求。定時器 TIMER1設置為CAP1.0上升沿、下降沿捕獲并產生中斷;T1MR0匹配中斷并復位,用于產生周期為0.1 s的測速周期。在定時器TIMER1的中斷程序中處理測速計數和定時。

圖2 光電編碼器抗振動測速線路圖Fig.2 Circuit diagram of vibration proof speed measurement
設定測速周期為 Tc,測速系統運行后,編碼器不斷發出A,B相脈沖信號。系統接收到脈沖之后,必須甄別出 A相的干擾脈沖,從而決定是否對脈沖進行計數或作為計時開始/結束時刻。測速系統從A相信號真實脈沖的下降沿開始計時,在Tc期間對A相信號不斷判定輸入脈沖的真實性,如果輸入為真實脈沖,則測速計數器m加1,如果輸入為干擾脈沖,則測速計數器保持原值不變,直到計時≥Tc,同時真實脈沖下降沿來臨時刻,記錄測速計數器的脈沖數m、實際計時脈沖數Tn,由此計算出轉速n。假設計時時鐘頻率為fc(MHz),則

式中:n為所測轉速,r/min;P為編碼器每轉脈沖數,P=500;fc=1.105 92 MHz;Crmp=60×106fc/P=132 710.4 r/min。
抗振動測速方法對光電編碼器的輸出信號辨別真實脈沖和干擾脈沖,使測速結果的精度在一定條件下大為提高,使光電編碼器應用進入低速有振動的傳動控制領域。
由于干擾脈沖的出現,破壞了光電編碼器A,B相輸出信號的正交性,從而使正交性判斷轉向的方法無法使用,應尋求新的方法。在傳動軸有振動的情況下,為了較為準確地判定轉向,本文采用如下的方法:設置判向計數器Dr,在A相信號脈沖為真實脈沖的下降沿時刻,測量B相信號的電位Vd,當Vd=“1”時 ,Dr加1,當Vd=“0”時,Dr減1,在一個測速周期Tc內Dr>0,則判為正轉;Dr<0,則判為反轉。
判向計數器Dr必須在測速周期開始時清零。這種判向方法的好處是在一個測速周期內記錄A相信號超前于B相信號的脈沖次數來判斷轉向,不會因為幾次干擾造成判向失誤,所以抗振動的性能較好。
實驗條件:步進電機42BYGH023,步進電機驅動器DL-022M-I,光電編碼器OSS-05-2C。步進電機的步距角為1.8°,驅動器10倍細分,電機空載,測速周期0.1 s。實驗結果如表1所示。

表1 抗振動和非抗振動測速方法實驗結果對比Tab.1 Comparison between the results of vibration-proof speed measurement and that of the non-vibration-proof one
實驗結果分析如下:
1)步進電機平穩運行的速段(n≥45 r/min),2種方法測量結果基本相同;
2)轉子振動較大的速段(0.72 r/min≤n≤5.64 r/min),采用抗振動方法的測速結果比較準確,而非抗振動方法的測速結果嚴重偏離給定轉速;
3)在整個轉速給定范圍內(0.72 r/min≤n≤720 r/min)采用抗振動方法皆能正確測向;而出現較大振動的轉速范圍(0.72 r/min≤n≤5.64 r/min),非抗振動方法無法測出正確的轉向。
步進電機給定轉速小于45 r/min時,步進電機轉子振動,采用非抗振動方法測量的結果開始偏離給定轉速,隨著給定轉速減低,振動愈加嚴重,從而非抗振動方法測量的結果愈加偏離給定轉速,最大達3倍之多。由此可見傳動軸振動對光電編碼器測速精度影響之大,如果不采取措施,光電編碼器將無法使用于低速有振動的情況。可見本文所采用的抗振動測速方法是有效的,與非抗振動測速方法相比,其測速范圍相比大些,其精度要高些。
本文介紹的抗振動測速方法的優點是方法簡單易行,即無需復雜的硬件電路,也不需要復雜和耗時的數學運算,僅在測速程序中增加一段甄別干擾脈沖的代碼即可。但由于甄別光電編碼器干擾脈沖的方法較為簡單,故傳動軸扭振振幅比較小時此方法是有效的,要求

式中:Vm為振幅;Y為光電編碼器的槽距。
超過這一要求,將無法甄別干擾脈沖,從而不能對編碼器輸出的脈沖進行準確計數,導致較大的測速誤差。
本文在觀測傳動軸振動對光電編碼器輸出信號影響的基礎上,提出一種簡單易行的甄別光電編碼器干擾脈沖的方法。結合M/T測速方法,形成基于光電編碼器的抗振動測速和判向的方法,并采用步進電機為驅動的實驗系統進行測試。結果表明,本文所采用的抗振動測速方法在傳動軸扭振振幅不大的條件下是有效的,與非抗振動測速方法相比,不僅擴大了光電編碼器的測速范圍,而且測速的精度要高些,因此本文介紹的抗振動測速和判向的方法具有較好的實用價值。
[1]宋剛,秦月霞,張凱,等.基于普通編碼器的高精度測速方法[J].上海交通大學學報,2002,36(8):1169-1172.
[2]汪濤,黃聲華,萬山明.一種基于DSP的伺服電動機轉速檢測方法[J].微電機,2006,39(3):86-88.
[3]崔曉紅,陳宏利.光電編碼器抗干擾防振動電路的設計[J].交通與計算機,2005,23(1):110-112.
[4]劉新建,李迅,張彭.光電編碼器的減振計數電路設計[J].自動化儀表,1999,1(1):39-40.