鄭忠杰,陳德傳
(杭州電子科技大學(xué)自動(dòng)化學(xué)院,浙江杭州310018)
在精密直線伺服控制場(chǎng)合,一般使用光柵尺作為速度、位移檢測(cè)元件,它的測(cè)量精度高,可達(dá)幾微米[1]。為提高光柵尺的分辨率,傳統(tǒng)做法是利用數(shù)字邏輯芯片對(duì)光柵尺的輸出信號(hào)進(jìn)行4倍頻和辨向[2],然后再傳送給后續(xù)處理單元。近年來(lái)也有人用現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)來(lái)實(shí)現(xiàn) 4倍頻和辨向功能[3、4],這樣雖然精簡(jiǎn)了元器件,但 FPGA本身成本也較高。STM32F103VE是意法半導(dǎo)體公司推出的面向工控領(lǐng)域的高性價(jià)比的32位微處理器,共含有8個(gè)16位定時(shí)器,其中6個(gè)定時(shí)器可工作于編碼器模式,內(nèi)置4倍頻和辨向功能,且可抑制脈沖抖動(dòng)[5],模式十分適合于反饋光柵尺的實(shí)時(shí)速度和位置。為此,本文探討了基于STM32F103VE的光柵尺信號(hào)處理和速度位移檢測(cè)方法,具有實(shí)用意義。
本文以普通光柵尺為研究對(duì)象,其輸出4路相位依次相差90°的近似正弦信號(hào)。由方波的信號(hào)特征可知最多可對(duì)正交方波進(jìn)行4倍頻處理,且4倍頻后的每個(gè)信號(hào)脈沖均對(duì)應(yīng)于某一實(shí)際位置。具體的信號(hào)處理過(guò)程如圖1所示,步驟為:(1)對(duì)4路正弦信號(hào)通過(guò)運(yùn)算放大器TL082進(jìn)行差分放大后得到2路正交正弦波;(2)2路正交正弦波經(jīng)施密特觸發(fā)器CD40106整形后得到2路正交方波;(3)2路正交方波經(jīng)光耦隔離后送入微處理器STM32F103VE,由定時(shí)器進(jìn)行4倍頻和辨向,并對(duì)脈沖進(jìn)行加減計(jì)數(shù),進(jìn)而計(jì)算速度位移。
圖1 光柵尺信號(hào)處理過(guò)程
光柵尺輸出4路信號(hào)ui,可表示為:
式中,up為直流偏置,A為信號(hào)幅值,w為光柵柵距,x為光柵位移。由于幅值A(chǔ)很小,因此需將2對(duì)信號(hào)(ui,ui+2)經(jīng)如圖2所示電路進(jìn)行差分放大,得到2路相位依次相差90°正弦信號(hào)uoi,i=0,1。在圖 2 中,R1=R3,R4=R5=2R2,C1=C2,則輸入輸出關(guān)系可表示為:
式中,α=R2/R1為放大系數(shù),與后續(xù)施密特觸發(fā)器的上下門限有關(guān),=R2C1為濾波常數(shù),由關(guān)系式1/<(1 000VmaxN)求出,其中Vmax為光柵尺最大速度,N為光柵尺每毫米線數(shù)。
將2路正弦信號(hào)uoi經(jīng)施密特觸發(fā)器整形后可得2路相位依次相差90°的方波信號(hào)A、B,其電路如圖3所示,波形如圖4所示。圖3中,R6=R7,C3=C4,主要是為了消除運(yùn)放的噪聲,由關(guān)系式R6C3<1/(20×1 000VmaxN)求出。圖4中,VT+和VT-分別為施密特觸發(fā)器CD40106的上下門限。
圖2 帶直流偏置的減法電路
圖3 整形濾波電路
A、B信號(hào)經(jīng)光耦隔離后便可送入微處理器。STM32F103VE的定時(shí)器在編碼器模式下計(jì)數(shù)器的動(dòng)作如圖5所示。計(jì)數(shù)器對(duì)A、B信號(hào)的上升沿和下降沿同時(shí)進(jìn)行計(jì)數(shù)從而實(shí)現(xiàn)4倍頻效果,根據(jù)A、B信號(hào)的超前滯后關(guān)系決定向上計(jì)數(shù)還是向下計(jì)數(shù),此外,圖5也顯示了輸入信號(hào)A、B的抖動(dòng)是如何被抑制的。
圖4 uoi與A、B信號(hào)時(shí)序圖
圖5 編碼器模式下的計(jì)數(shù)器動(dòng)作
為了在光柵尺低速和高速運(yùn)動(dòng)時(shí)使速度都具有較高的檢測(cè)精度,采用M/T法測(cè)速[6],其示意圖如圖6所示。圖6中,Tc是采樣時(shí)鐘,其值固定不變;T是檢測(cè)周期,由采樣脈沖Tc邊沿之后4倍頻信號(hào)的第一個(gè)脈沖邊沿決定,其值是可變的。假設(shè)光柵尺移動(dòng)速度為V,檢測(cè)周期T內(nèi)光柵尺的位移量為d,則:
在檢測(cè)周期T內(nèi)檢測(cè)到的4倍頻脈沖數(shù)為M1,則位移d又可表示為:
若時(shí)鐘脈沖頻率為f0,在檢測(cè)周期T內(nèi)時(shí)鐘脈沖計(jì)數(shù)值為M2,則檢測(cè)周期T為:
圖6 M/T法測(cè)速示意圖
綜合式3 5便可求出移動(dòng)速度為:
對(duì)4倍頻脈沖數(shù)一直累加計(jì)數(shù)得到M3,則光柵尺的位移為:
軟件設(shè)計(jì)方面需用到4個(gè)定時(shí)器,其中定時(shí)器1 3用于M/T法測(cè)速,定時(shí)器4用于位移檢測(cè)。定時(shí)器1工作于定時(shí)模式,每隔Tc時(shí)間產(chǎn)生一個(gè)中斷;定時(shí)器2工作于編碼器模式,用于對(duì)A、B相信號(hào)4倍頻和辨向,及對(duì)脈沖計(jì)數(shù)以獲得M1;定時(shí)器3工作于計(jì)時(shí)模式,用于對(duì)微處理器時(shí)鐘脈沖計(jì)數(shù)以獲得M2;定時(shí)器4工作于計(jì)數(shù)模式,對(duì)4倍頻信號(hào)累加以獲得M1Σ。定時(shí)器1 4的中斷程序如圖7 10所示。
圖7 定時(shí)器1中斷程序
圖8 定時(shí)器2中斷程序
圖9 定時(shí)器3中斷程序
圖10 定時(shí)器4中斷程序
圖8中,M1、M2的計(jì)算公式分別為:
圖9中,M3的計(jì)算公式為:
式中,T4_CNT為定時(shí)器4的當(dāng)前計(jì)數(shù)值。
經(jīng)差分放大后的正弦信號(hào)和整形后所得的方波信號(hào)如圖11所示,從圖11中可以看出,經(jīng)施密特觸發(fā)器整形后所得的方波邊沿十分陡峭。光柵尺輸出正弦信號(hào)的實(shí)際頻率與經(jīng)ST-M32F103VE內(nèi)置4倍頻后的所測(cè)頻率如表1所示,從表1中可知,在中低頻時(shí)所測(cè)頻率值幾乎等于實(shí)際值,在高頻時(shí)也僅有微小誤差,滿足伺服系統(tǒng)的精度要求。
圖11 正弦信號(hào)整形前后波形圖
表1 實(shí)際頻率與測(cè)量頻率
本文所提出的基于STM32F103VE的光柵尺信號(hào)處理和速度位移檢測(cè)方法,及其軟硬件實(shí)現(xiàn)方案,具有容易實(shí)現(xiàn),成本低、可靠性高的特點(diǎn),在直線伺服控制場(chǎng)合有實(shí)用價(jià)值。
[1]陳慶樟.光柵位移傳感器在位置伺服系統(tǒng)中的應(yīng)用及誤差分析[J].機(jī)床與液壓,2008,36(8):216-217.
[2]劉保錄.計(jì)量光柵尺四倍頻辨向電路[J].電氣自動(dòng)化,1995,(6):56-57.
[3]韋雄波,艾武,閆光亞,等.基于FPGA的光柵尺位置速度反饋模塊設(shè)計(jì)[J].湖北工業(yè)大學(xué)學(xué)報(bào),2010,25(1):72-74.
[4]王成元,常國(guó)祥,夏加寬.基于FPGA的光柵信號(hào)智能接口模塊[J].電氣傳動(dòng),2007,37(4):56-61.
[5]劉軍.例說(shuō)STM32[M].北京:北京航空航天大學(xué)出版社,2011:122-128.
[6]阮毅,陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng)-運(yùn)動(dòng)控制系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2004:41-44.