高偉 王云龍 金勇
(南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094)
目前使用光電編碼器常用的測速方法有M法、T法以及M/T法。M法適用于高速測量場合,低速測量時,檢測誤差較大;T法適用于低速場合,高速測量時,檢測誤差大,并且更新速度太快,系統(tǒng)不停地計算更新轉(zhuǎn)速;M/T法可適用于測量高、低速場合,且具有較高的測量精度。光電編碼器在實際工作過程中,干擾和抖動總是客觀存在,忽視它們系統(tǒng)的將會計數(shù)錯誤,測量系統(tǒng)就無精度而言。本文在基于TMS320F28335對輸入A、B、Z相信號進(jìn)行輸入限制,濾除干擾,采用M/T法進(jìn)行測速,通過并口或串口輸出給控制機(jī)。
本文采用的是長春禹衡光學(xué)有限公司的A-ZKD-13-200BM-G05LH光電編碼器。詳細(xì)參數(shù)為:電源電壓DC5 V;分辨率2 000 P/R;最大機(jī)械轉(zhuǎn)速為5 000 r/min。
TI公司的數(shù)字信號處理器TMS320F28335有增強(qiáng)型QEP接口,用于增量式光電編碼器測速。TMS320F28335所有IO口的電平均為3.3 VLVTTL電平,5 VTTL電平不能直接輸入到DSP的輸入口。如圖1所示,因此使用一片74LVC245A與光電編碼器A、B、Z相相連,并擴(kuò)展2路通用輸出I/O口和2個通用輸入I/O口,以便和上位機(jī)通訊的握手信號74LVC245A起到電平轉(zhuǎn)換和緩沖隔離的作用。外擴(kuò)16路輸出并口使用一片74LVTH16245A和5 V系統(tǒng)兼容。一片MAX3232外擴(kuò)一路串口和上位機(jī)進(jìn)行通訊[1]。
理論上,光電編碼器的輸出波形如圖2.。在實際交流伺服系統(tǒng)中,存在著很強(qiáng)的電磁干擾以及光電編碼器本身的擾動,用示波器多次觀察A、B相脈沖,有很多很尖的干擾脈沖,時間持續(xù)很短,如圖3所示(為了便于觀看,圖為示意圖),但DSP的IO口采樣周期更短。如果不進(jìn)行輸入信號處理,QEP是無法完成計數(shù)測速的,在實際系統(tǒng)中運行時,當(dāng)電機(jī)勻速運轉(zhuǎn)時,通過觀察口觀察正交方向標(biāo)志(正反轉(zhuǎn)的狀態(tài)標(biāo)志位)時高時低,即eQEP位置計數(shù)寄存器QPOSCNT時增時減,測速就沒有意義了。
本文所用的光電編碼器最大轉(zhuǎn)速為5000r/min,故A相輸出最大頻率為5 000×2 000/60=0.167 Mhz。通過對DSP的輸入限制寄存器進(jìn)行設(shè)置,使輸入信號需要先與SYSCLKOUT同步,然后在特定的周期進(jìn)行采樣。采樣周期是由A口控制寄存器GPACTRL寄存器的值決定的,本文設(shè)置為輸入限制寄存器QUALPRD2=10,信號的采樣次數(shù)可以是三個信號寬度或者是六個信號寬度,由輸入A口量化選擇寄存器GPAQSEL2確定。本文將QEP的輸入引腳的量化選擇寄存器GPAQSEL2設(shè)置為2,即輸入信號只有在6個被采樣的信號相同時才發(fā)生變化,如圖4所示(圖中量化寄存器 QUALPRD=1)[2]。
采樣頻率為1.5 MHz>>0.167 Mhz。故不會丟失信號。
M/T法測速原理如圖5所示[3]。使能1 ms周期中斷,使能eQEP邊沿捕獲模塊。當(dāng)周期中斷發(fā)生且捕獲鎖存模式QCLM為1時,則位置計數(shù)器GPOSCNT、捕獲計數(shù)器QCTMR的值分別鎖存到GPOSLAT和捕獲時間鎖存寄存器QCTMRLAT中;每當(dāng)捕獲到一個計數(shù)脈沖,則使單位位置溢出標(biāo)志置位,捕獲計數(shù)器QCTMR的值鎖存到捕獲周期寄存器QCPRD中。捕捉計數(shù)器QCTMR的最大計時周期為27.96 ms(0xFFFF×64/150 000 000),當(dāng)轉(zhuǎn)速很小時,也需捕捉到一個脈沖,捕獲計數(shù)器QCTMR最多只能溢出一次,則最小轉(zhuǎn)速
圖1 系統(tǒng)原理圖
圖4 輸入限制時鐘周期
當(dāng)轉(zhuǎn)速很快時,測量周期略大于1 ms,能滿足一般伺服控制系統(tǒng)的實時性要求。
當(dāng)進(jìn)入周期中斷時,首先清除單元位置捕獲事件狀態(tài)標(biāo)志UPEVNT為1,然后等待單元位置捕獲事件再次發(fā)生將位置捕獲狀態(tài)標(biāo)志再次置位(即使等待時間大于1ms,周期中斷也不會發(fā)生,因為上次的周期中斷還沒有結(jié)束,中斷標(biāo)志位還沒有清除),讀捕獲周期寄存器QCPRD值,如果捕獲計數(shù)器QCTMR沒有溢出即溢出標(biāo)志位COEF為0,則測量時間為
反之,測量時間
重新初始化位置計數(shù)器GPOSCNT和單位定時寄存器QUTMR,即軟件初始化位置計數(shù)器SWI=1,單位定時寄存器 QUTMR=0。如果計數(shù)方向標(biāo)志位COEF為0即反轉(zhuǎn),則計數(shù)脈沖為
反之,計數(shù)脈沖為1
位置計數(shù)器QPOSCNT不可能下溢或上溢,只有轉(zhuǎn)速大于6 000 r/min才可能溢出,已超過光電編碼器的最大轉(zhuǎn)速。故轉(zhuǎn)速
周期中斷發(fā)生時,位置計數(shù)器GPOSCNT,捕捉計數(shù)器QCTMR是自動裝載到位置計數(shù)鎖存寄存器GPOSLAT和捕獲時間鎖存寄存器QCTMRLAT中,單元位置捕獲再次發(fā)生時,捕獲計數(shù)器QCTMR的值自動裝載到周期寄存器QCPRD中,故沒有進(jìn)中斷和讀計數(shù)寄存器值的時間消耗。理論上,在極端情況下,時間的檢測會產(chǎn)生±1個時鐘周期即為64/150 μs,在高速時最少的測量周期為1 ms,故速度的理論最大誤差為0.43‰。
程序流程圖如圖6,程序運行時,首先進(jìn)行系統(tǒng)、PIE控制寄存器、GPIO、SCI、eQEP等初始化,然后進(jìn)入for循環(huán),判斷采用哪種方式輸出速度值,等待觸發(fā)中斷,實時更新速度值。
為了驗證測量方法的測量精度和響應(yīng)特性,搭建實驗平臺,采用美國Kollmorgen公司的交流伺服電機(jī),最大轉(zhuǎn)速為3200 r/min,上位機(jī)通過DA輸出電壓值到伺服放大器(范圍-2.5 V~2.5 V),以控制交流伺服電機(jī)轉(zhuǎn)速,光電編碼器裝在輸出軸的下一級上,在減速器輸出端裝有旋轉(zhuǎn)變壓器(16位)與光電編碼器所在級的傳動比為(100∶1)。上位機(jī)每10 ms更新一次電壓值,然后發(fā)出讀信號,測速板檢測到信號后通過并口發(fā)出轉(zhuǎn)速值,并向上位機(jī)發(fā)出可讀信號,上位機(jī)保存時間、輸出電壓值、旋轉(zhuǎn)變壓器的絕對位置值以及并口讀取的速度數(shù)據(jù)。如圖7所示,圖7(a)輸入電壓為幅值為2 V,周期為4 s的正弦波;圖 7(b)為 2.5 V的階躍信號;圖7(c)為輸入正弦電壓時測量轉(zhuǎn)速值,周期相同,幅值約為700的正弦波;圖7(d)為輸入階躍電壓時測量的轉(zhuǎn)速值;圖7(e)為輸入正弦電壓時根據(jù)旋轉(zhuǎn)變壓器兩次采樣位置值差計算出來的轉(zhuǎn)速值;圖7(f)為輸入階躍電壓時根據(jù)旋轉(zhuǎn)變壓器兩次采樣位置值差計算出來的轉(zhuǎn)速值。從圖中可以看出,根據(jù) M/T法測量出來的轉(zhuǎn)速和旋轉(zhuǎn)變壓器計算出來的轉(zhuǎn)速趨勢完全吻合,但更加平滑,測速效果明顯優(yōu)于旋轉(zhuǎn)變壓器根據(jù)位置計算出來的速度值。
圖7 測量結(jié)果圖
本文使用TMS320F28335的片上資源和光電編碼器可實現(xiàn)精確測量電機(jī)轉(zhuǎn)速,充分利用DSP的系統(tǒng)資源,發(fā)送速度數(shù)據(jù),簡化系統(tǒng)軟硬件設(shè)計,如不需要硬件濾除噪聲、正交脈沖的鑒相電路以及倍頻電路,以及濾波程序,提高了系統(tǒng)的穩(wěn)定性和可靠性。采用M/T法測速,能保證在很寬的測速范圍的測量精度,在高速時,響應(yīng)時間快(略大于1ms),能夠滿足一般的伺服系統(tǒng)的速度反饋要求。
[1]TMS320f28× × 和 TMS320f28× × × DSCs的硬件設(shè)計指南[R].TEXAS INSTRUMENTS應(yīng)用報告,2008.
[2]TMS320×2833×,2823× System Control and Interrupts[S].TEXAS INSTRUMENTS Reference Guide,2010.
[3]TMS320×2833×,2823× Enhanced Quadrature Encoder Pulse(eQEP)Module[S].TEXAS INSTRUMENTS Reference Guide,2008.