高 鵬,王步來,季文彪,高 響,陳雪琴
(上海海事大學,上海 201306)
在三相異步電機矢量控制系統中,通常將光電編碼器作為檢測元件來測量電機的轉速及電機位置,光電編碼器能輸出 A+、B+ 、Z+、A-、B-、Z-六路脈沖信號,經過信號處理以后接至DSP的正交解碼(QEP)電路,則可完成CPU對電機轉速的檢測。本文采用美國TI公司推出的專為電機調速設計的數字信號處理器TMS320F2812,其具有特殊功能模塊——正交編碼(QEP)電路,可與光電編碼器相連,用于轉速的測量。其中QEP電路內部設有轉向判別和倍頻功能,無需添加其他輔助電路,接口電路設計簡單,而且F2812具有四個功能強大的通用定時器,可靈活應用于各種測速方法。光電編碼器以其結構簡單、低噪聲、成本低、精度高和線性度好的優點被廣泛應用于轉速測量。
采用光電編碼器的數字測速法一般有三種[1]:周期法(M法)、頻率法(T法)和周期/頻率法(M/T法),M/T法是前兩種方法的結合,同時檢測一定數量的反饋脈沖和產生這些脈沖所需的時間,在整個速度范圍內都有較好的準確性,但是對于超低速應用條件,動態響應慢,需要較長的檢測時間才能保證檢測結果的準確度。
在Tc內測出的脈沖個數為M1,用來計算這段時間內的平均轉速。已知電機旋轉1周共產生Z個脈沖,其中Z=倍頻系數×光柵數,則電機轉速:n=60×M1/(Z·Tc)。Z和Tc均為常數,n與M1成正比。M1在高速時大,誤差小,轉速越低,誤差越大,所以只適用于高速測量。
在相鄰輸出脈沖的時間間隔內,用計數器對已知頻率為f0的高頻脈沖進行計數來計算轉速。若測得高頻脈沖的個數為M2,則電機的轉速:n=60×f0/(Z×M2)。高速時,M2小,誤差所占比例大;低速時,M2小,誤差所占比例小,故轉速越高,誤差越大,所以只能用于低速測量。
既要檢測Tc內輸出的脈沖個數M1,又要檢測在此時間內頻率為f0的高頻時鐘脈沖個數M2,則n=60×M1f0/(ZM2)。為了使誤差減小,最好保證光電編碼器脈沖計數器和高頻脈沖計數器同時開啟和關閉,只有等到編碼器輸出脈沖前沿到達時,兩個計數器才能同時開啟或者停止計數。由于M1和M2是由轉速決定的,高速時相當于M法,低速時相當于T法。
TMS320F2812的事件管理器EVA的QEP電路有輸入引腳 CAP1_QEP1、CAP2_QEP2,EVB的QEP電路有輸入引腳CAP3/QEP3、CAP4/QEP4,光電碼盤輸入的兩路正交編碼信號正好從上述的兩個輸入引腳到DSP的QEP電路,然后再通過QEP的譯碼器對正交編碼信號進行譯碼,最后可以得到電機轉子的轉速、旋轉方向、旋轉位置等信息[2]。
正交解碼(QEP)電路的兩個輸入引腳 CAP1_QEP1、CAP2_QEP2是復用引腳,既能做捕獲單元的輸入引腳,也能做QEP電路的輸入引腳,因此需要正確配置捕獲控制寄存器CAPCONA(或CAPCONB)來使能正交解碼電路并禁止捕獲單元,這樣就能把相應的管腳分配給QEP電路使用。正交解碼電路必須選擇一個計數器用于計算電路的輸入脈沖次數,即將QEP電路脈沖信號作為某通用定時器的時鐘源。TMS320F2812的通用定時器2(EvA)或4(EvB)可供其選擇。以通用定時器2為例,首先要求T2定時器工作在定向加/減計數模式。在這種工作模式下,通用定時器T2為QEP電路提供時基。當電機軸上的光電編碼器產生正交編碼脈沖時,將兩路脈沖分別送入正交編碼電路輸入引腳,通過QEP方向檢測邏輯,檢測兩個脈沖序列的先后,進而產生一個方向信號作為選定定時器2的方向輸入,如果電機正轉,則定時器增計數;反之,則定時器減計數。角位置和速度可通過脈沖計數和脈沖頻率輸出。定時器T2在計數器下溢或上溢時發生翻轉,并重新開始計數。
如圖1所示,如果兩列正交解碼輸人脈沖的邊沿均被QEP電路檢測,則T2(或T4)的時鐘頻率是每個時鐘頻率的4倍,即其本身能進行4倍頻,無需添加任何硬件,大大簡化了系統的硬件設計。

圖1 正交解碼電路產生的時鐘和計數方向
本文選用TRD-2T/2TH增量式旋轉編碼器,該光電碼盤的脈沖數為1024,它由5 V電壓供電,有六路輸出,即為 A+、A-、B+、B-、Z+、Z-。其中 A、B 用于測速,它們相位相差90°,每轉一周,輸出1024個脈沖,Z相信號又稱零位信號,是每轉輸出一個脈沖的零位參考信號。
如圖2所示,光電編碼器輸出的三路脈沖信號經過整形之后輸入DS3486,DS3486具有抗干擾能力,可以提高傳輸的精度,使得速度信號可以遠距離的傳輸,然后將輸出信號ENC A和ENC B經過分壓后直接送到DSP的QEP/捕獲單元引腳,這樣,通過正交編碼脈沖電路便可獲得三相異步電機的轉子位置和轉速信息。

圖2 光電編碼器接口電路圖
常用的數字測速方法有M法、T法和M/T法[3]。M法測速是根據在一規定的時間間隔內,光電編碼器所產生的脈沖數來確定轉速,它實際上是測定頻率,適于測量較高的轉速。T法測速是通過測量光電編碼器所產生的相鄰兩個脈沖之間的時間來確定被測轉速,這種方法實際上是測量周期,適于測量較低的轉速。由于所研究課題中轉速給定較高,故本文采用的是M法,測速原理如圖3、圖4所示,定時器T2是一個16位通用定時器,所以當增計數到FFFFh時,如果計數方向還是增計數,那么計數值回到零;當減計數到0時,如果計數方向還是減計數,那么計數值翻轉到FFFFh。

圖3 正轉時轉速計算圖

圖4 反轉時轉速計算圖
本文利用TI公司的TMS320F2812型DSP對光電編碼器輸出脈沖沿的捕獲實現了計數功能[4]。以電機正轉時為例,設置通用定時器1的時鐘輸入為f0,并且開通定時器下溢中斷,中斷周期等于計算轉速的采樣周期T,則定時器每隔時間T向CPU發出一次中斷請求。通用定時器2設置成定向增/減計數模式,以適應正交解碼脈沖電路的計數。轉速測量中斷服務程序如圖5所示。計算轉速的公式為:


圖5 軟件流程圖
轉速的計算是通過光電編碼器獲得的脈沖數和采樣時間來計算的,方向由方向信號Z來決定。脈沖數通過EvaRegs.T2CNT計數,采樣時間為100個PWM中斷周期,即每100×50 μs=5 ms采樣一次。在TI公司CCS3.3中給定轉速的標幺值為0.5,基值為1500 r/min,即給定轉速為750 r/min。由圖6可知光電編碼器的采樣值與實際相符。實際測得電機轉速為742 r/min,軟件計算出的電機轉速為745 r/min,與實際電機轉速相符。

圖6 CCS3.3中轉速采樣值
電機轉速測量是工業控制系統中最基本的需求之一,本文運用的基于DSP的M法測速方法,具有高精度、高分辨率、簡單實用等優點。將該方法在三相異步電機上進行了實驗,實驗結果證實了該方法的正確性。
[1]汪 濤,黃聲華,萬山明.一種基于DSP的伺服電動機轉速檢測方法[J].微電機,2006,39(3):84-88.
[2]顧衛鋼.手把手教你學DSP:基于TMS320X281x[M].北京:北京航空航天大學出版社,2011.
[3]谷海濤,顏湘武,曲 偉.正交編碼電路和捕獲單元在轉角和轉速測量中的應用[J].電氣應用,2005,24(1):113-115.
[4]高 敏,張 爍,朱 明.基于 DSP的 M/T測速法[J].宿州學院學報,2013,28(3):84-86.