李虎修,張承瑞,b,丁信忠,于樂華,胡天亮,b
(山東大學(xué)a.機械工程學(xué)院;b.高效潔凈機械制造教育部重點實驗室;c.控制科學(xué)與工程學(xué)院,濟南 250061)
永磁同步電機(Permanent Magnet Synchronous Motor,PMSM)具有結(jié)構(gòu)緊湊、高功率密度、高氣隙磁通和高轉(zhuǎn)矩慣性比等優(yōu)點,在數(shù)控機床、工業(yè)機器人、航空航天等領(lǐng)域逐漸取代了直流伺服系統(tǒng),得到了廣泛應(yīng)用[1-2]。
永磁同步電機的高性能控制需要精確的轉(zhuǎn)子的位置和速度信號去實現(xiàn)磁場定向控制和速度反饋[3]。此外,在伺服控制系統(tǒng)中,反饋電流的不穩(wěn)定并不是由于PWM噪聲而是由于速度檢測精度的限制引起的[4]。因此,在高性能伺服系統(tǒng)中,永磁同步電動機高精度的速度反饋是實現(xiàn)高性能運動控制的重要要求。
通常電機轉(zhuǎn)速檢測是通過計算一定采樣時間內(nèi)電機軸端增量式編碼器反饋回的脈沖個數(shù)來實現(xiàn)的,然而由于每個采樣周期內(nèi)存在非完整周期脈沖信號丟失,尤其是在低速運行情況下,這種方法檢測出的轉(zhuǎn)速并不能滿足高性能伺服系統(tǒng)速度控制要求。本文利用FPGA并行處理的優(yōu)勢,同時檢測編碼器速度反饋信號完整周期個數(shù)和非完整周期脈沖長度,消除了非完整周期脈沖信號丟失對轉(zhuǎn)速檢測精度的影響。在FPGA內(nèi)通過硬件描述語言完成了高精度轉(zhuǎn)速檢測的硬件實現(xiàn),一方面提高了轉(zhuǎn)速檢測的精度,同時加快了系統(tǒng)的響應(yīng)速度,通過在伺服電機速度檢測上的實際應(yīng)用,并與M/T法檢測出的速度進(jìn)行比較,結(jié)果表明,該方法的轉(zhuǎn)速檢測精度(尤其是低速時)優(yōu)于傳統(tǒng)方法。
在伺服控制系統(tǒng)中,常用的測速方法有三種:M法、T 法和 M/T 法[5]。
M法測速是利用在規(guī)定的采樣時間間隔T內(nèi)編碼器輸出的脈沖個數(shù)來獲得被測轉(zhuǎn)速。這種方法測量的轉(zhuǎn)速會產(chǎn)生±1個編碼器脈沖的計數(shù)誤差,在低速情況下,隨著轉(zhuǎn)速降低,采樣時間內(nèi)脈沖個數(shù)減少,測量誤差將快速增大。因此,M法只有在被測轉(zhuǎn)速或編碼器分辨率較高時,才有較高的測量精度。
T法測速是通過高頻脈沖來測量兩個相鄰編碼器脈沖之間的時間間隔來獲得被測轉(zhuǎn)速,這種方法測量的轉(zhuǎn)速對時間的測量會產(chǎn)生±1個時鐘周期的計數(shù)誤差。在高速情況下,隨著轉(zhuǎn)速升高,脈沖時間間隔變小,測量誤差增大。因此,T法只有在被測轉(zhuǎn)速較低時,有較高的測量精度。
M/T法測速是將M法和T法結(jié)合起來,既檢測采樣時間間隔內(nèi)編碼器輸出的脈沖個數(shù),又檢測該采樣時間間隔內(nèi)高頻脈沖的個數(shù)。該方法在高速時,相當(dāng)于M法測速;在低速時,相當(dāng)于T法測速。因此M/T法具有較高的速度測量范圍,并可獲得較高的檢測精度。M/T測速方法的原理圖如圖1所示。
圖1 M/T測速方法原理圖
檢測時間Td是采樣周期內(nèi)編碼器第一個脈沖跟最后一個脈沖之間的時間間隔;M1是在這個采樣周期內(nèi)編碼器輸出脈沖的個數(shù)。另外,如果在這個采樣周期內(nèi)高頻脈沖的個數(shù)是M2,則計算出的電機平均速度是:
其中,Z是編碼器倍頻后每轉(zhuǎn)輸出的脈沖總數(shù);f0是高頻脈沖的頻率;Tt是實際檢測時間并且Tt=M2/f0。
根據(jù)式(1)可得每個采樣周期編碼器輸出的脈沖個數(shù)為:
在用M/T法速度檢測時,由于只采樣編碼器脈沖信號的上升沿或下降沿,采樣周期的開始和結(jié)束時刻并不一定位于編碼器脈沖的上跳沿或下降沿,所以在每個采樣周期內(nèi)會存在首尾兩個編碼器脈沖信號的非完整周期,在計算電機轉(zhuǎn)速時該方法最大會有±1個編碼器脈沖信號的誤差,則根據(jù)式(2)可得采用M/T法速度檢測最大誤差率為:
取采樣周期是4ms,編碼器分辨率是2,500p/r,則根據(jù)式(3)可畫出M/T法速度檢測時由于首尾非完整周期脈沖信號的丟失引起的最大速度檢測誤差率曲線如圖2所示。
圖2 最大速度檢測誤差率曲線
根據(jù)圖2分析可以看出,M/T測速方法在電機轉(zhuǎn)速大于100r/min較高的速度范圍內(nèi)具有較高的檢測精度。因此,在伺服控制系統(tǒng)中,電機轉(zhuǎn)速檢測最廣泛應(yīng)用的是M/T法[6-7]。然而,在低速情況下,由于無法測出非完整周期脈沖信號的長度,隨著電機轉(zhuǎn)速的下降,非完整周期脈沖信號所占的比例增大,轉(zhuǎn)度檢測精度將快速的下降,傳統(tǒng)的M/T法的轉(zhuǎn)速檢測精度完全不能滿足高性能伺服系統(tǒng)的控制要求。為滿足高性能伺服系統(tǒng)對速度反饋的要求,本文對傳統(tǒng)的M/T法進(jìn)行擴展,將每個采樣周期內(nèi)首尾兩個非完整編碼器脈沖信號檢測出來,用于速度計算,以提高速度檢測精度。
目前,得益于微控制器(microprogrammed control unit,MCU)先進(jìn)的接口技術(shù),許多微控制器具有專用的編碼器接口,該接口可以根據(jù)正交光電編碼器的速度和方向自動的計數(shù)編碼器脈沖值然后計算電機轉(zhuǎn)速,并且在普通的速度范圍內(nèi)具有比較高的檢測精度。
然而由于這種專用編碼器接口只能采集完整脈沖信號的個數(shù),無法實現(xiàn)對非完整脈沖長度的檢測。為了滿足高性能伺服系統(tǒng)對速度反饋精度的要求,設(shè)計了一種基于FPGA+ARM的永磁同步電動機高精度轉(zhuǎn)速檢測方法,該方法是M/T速度檢測方法的擴展應(yīng)用,具有更高的轉(zhuǎn)速檢測精度,在此稱其為擴展M/T速度檢測法。
該速度檢測方法充分利用FPAG并行運行的優(yōu)勢與ARM控制器信號處理和數(shù)據(jù)計算的優(yōu)勢,將FPGA與ARM結(jié)合起來進(jìn)行高精度速度檢測。該方法利用FPGA的并行運行方式既檢測采樣周期內(nèi)編碼器速度反饋信號完整周期個數(shù)又檢測非完整周期長度,從而彌補了傳統(tǒng)只使用ARM進(jìn)行速度檢測無法檢測非完整周期長度的問題,充分提高了速度檢測精度。然后將檢測出的編碼器信號通過SPI總線通訊傳給ARM,然后利用ARM的計算能力以及控制能力計算出電機實際轉(zhuǎn)速從而實現(xiàn)其他的控制功能,其系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 速度檢測結(jié)構(gòu)框圖
FPGA進(jìn)行編碼器脈沖信號檢測的原理如圖4所示。
圖4 FPGA檢測編碼器脈沖信號原理圖
其中Tt即為速度采樣周期;tn1、tn2分別為采樣周期內(nèi)首尾兩個非完整脈沖長度;Tm、Tn+1分別為兩個非完整脈沖的整脈沖長度;Tn-1、Tn為采樣周期內(nèi)最后兩個完整脈沖長度;Mn為采樣周期內(nèi)完整脈沖的個數(shù);T'n+1為上一采樣周期內(nèi)最后一個非完整脈沖長度。
該方法進(jìn)行編碼器脈沖檢測時,需要五個計數(shù)器同時工作,計數(shù)首尾兩個非完整脈沖長度tn1、tn2的計數(shù)器T1、T3;計數(shù)采樣周期內(nèi)完整脈沖個數(shù)Mn的計數(shù)器T2;計數(shù)采樣周期內(nèi)最后兩個完整脈沖長度Tn-1、Tn的計數(shù)器 T4、T5。其中計數(shù)器 T2以編碼器脈沖信號上升沿為計數(shù)時鐘,其他計數(shù)器都以FPGA系統(tǒng)時鐘為計數(shù)時鐘。此時將充分發(fā)揮FPGA并行運行的優(yōu)勢。具體檢測過程為:
當(dāng)采樣周期開始信號到來,打開計數(shù)器T1并檢測編碼器脈沖信號上升沿,上升沿到來,關(guān)閉計數(shù)器T1,同時打開計數(shù)器 T2、T3、T4和 T5。計數(shù)器 T2在整個采樣周期內(nèi)采樣編碼器脈沖上升沿的個數(shù),在采樣周期結(jié)束時關(guān)閉計數(shù)器;計數(shù)器T3打開后,隨時檢測編碼器脈沖的上升沿,檢測到上升沿將計數(shù)器清零重新檢測直到采樣周期結(jié)束關(guān)閉計數(shù)器;計數(shù)器T4、T5打開后,檢測到倒數(shù)第二個跟最后一個編碼器脈沖上升沿時分別關(guān)閉計數(shù)器T4、T5。
將以上計數(shù)器的值實時的通過SPI總線通訊傳給ARM進(jìn)行速度計算,則得出的速度為:
由于速度環(huán)的采樣頻率遠(yuǎn)高于等效轉(zhuǎn)矩Te的變化頻率,故可認(rèn)為等效轉(zhuǎn)矩Te在一個采樣周期內(nèi)不變,即:
由牛頓第二定律可得:
其中,J為電機等效轉(zhuǎn)動慣量;α為電機的轉(zhuǎn)動角加速度。
聯(lián)合式(5)和(6)可得:
即在每個采樣周期內(nèi)可近似的看做電機的轉(zhuǎn)動加速度是恒定不變的,則Tn+1可以通過前兩個脈沖信號的變化估計出來,即:
將式(5)和(9)代入式(4)得:
為將該方法與傳統(tǒng)M/T法進(jìn)行速度檢測精度對比,建立包含兩套速度檢測方法的實驗平臺。具體實驗配置框圖如圖5所示。
圖5 實驗平臺配置框圖
本文實驗平臺由高性能永磁同步伺服驅(qū)動系統(tǒng)、帶有以太網(wǎng)接口的速度檢測系統(tǒng)兩套、上位機一臺組成。高性能交流伺服驅(qū)動系統(tǒng)由控制板控制,使永磁同步電機輸出恒定轉(zhuǎn)速,永磁同步電機軸端裝有2,500線的正交編碼器用于速度反饋;速度檢測系統(tǒng)的以太網(wǎng)接口用于FPGA跟上位機通訊,可實現(xiàn)將檢測出的電機轉(zhuǎn)速上傳到上位機,并實時的做出電機反饋速度波形;兩套速度檢測系統(tǒng)采用不同的速度檢測方法用于對比試驗,一套采用M/T法實現(xiàn)速度檢測,將編碼器信號與ARM專用編碼器接口相接,直接進(jìn)行電機速度檢測,然后將檢測出的電機轉(zhuǎn)速通過SPI總線通訊傳給FPGA,然后通過以太網(wǎng)接口將數(shù)據(jù)傳輸?shù)缴衔粰C;另一套采用擴展M/T速度檢測方法,將編碼器信號與FPGA直接相連接,通過FPGA檢測編碼器脈沖信號,然后將檢測出的脈沖信號通過SPI總線通訊傳給ARM進(jìn)行速度計算,然后將計算出的電機轉(zhuǎn)速重新通過SPI總線傳給FPGA,然后通過以太網(wǎng)接口將數(shù)據(jù)傳輸?shù)缴衔粰C。
圖6所示試驗結(jié)果顯示傳統(tǒng)M/T法速度檢測方法與擴展M/T速度檢測方法速度檢測精度。圖6a顯示在電機以100r/min轉(zhuǎn)動時,兩種方法的速度檢測結(jié)果。圖6b顯示在電機以50r/min轉(zhuǎn)動時,兩種方法的速度檢測結(jié)果。其中ωM/T為使用M/T法測量出的速度;ωNew為使用擴展M/T法測量出的速度。
圖6 不同速度下的速度檢測結(jié)果
圖7實驗結(jié)果顯示了在±100r/min速度指令下的速度響應(yīng)和速度檢測精度。
圖7 ±100r/min速度指令下的速度檢測結(jié)果
試驗結(jié)果顯示,在低速下使用M/T方法,由于編碼器非完整周期脈沖信號的誤差,速度檢測結(jié)果波動較大。相比之下,由于同時檢測完整周期信號個數(shù)和非完整周期脈沖信號的長度,擴展M/T速度檢測方法仍舊能夠比較精確地進(jìn)行速度檢測。
由實驗結(jié)果可知,擴展M/T速度檢測方法能夠精確的檢測出采樣周期內(nèi)首尾兩個非完整周期脈沖信號的長度,并用于電機轉(zhuǎn)速度計算,具有較寬的測速范圍以及較高的速度檢測精度。因此該方法對于提高交流伺服系統(tǒng)速度反饋精度以及速度控制性能具有重要的意義。
本文首先分析了常用的速度測量方法M/T速度檢測法,從M/T法的原理入手分析每個采樣周期內(nèi)的首尾兩個非完整編碼器脈沖信號對轉(zhuǎn)速檢測精度的影響。為了消除這種影響,設(shè)計了擴展M/T速度檢測法。該方法同時檢測采樣周期內(nèi)編碼器速度反饋信號完整周期個數(shù)和非完整周期脈沖長度,對于消除速度檢測誤差,提高速度檢測的精度具有重要的意義。
[1]Mohamed YAI.Adaptive self-tuning speed control for permanent magnet synchronous motor drive with dead time[J].IEEE Transactions on Energy Conversion,2006,21(4):855-862.
[2]王宏,于泳,徐殿國.永磁同步電動機位置伺服系統(tǒng)[J].中國電機工程學(xué)報,2004,24(7):151-155.
[3]劉毅,賀益康,秦峰,等.基于轉(zhuǎn)子凸極跟蹤的無位置傳感器永磁同步電機矢量控制研究[J].中國電機工程學(xué)報,2005,25(17):121-126.
[4]CHIASSON,J.,Modeling and High-Performance Control of Electric Machines.New York:The Institute of Electrical and Electronics Engineers,Inc,2005.
[5]周正干,李然,李和平.高精度數(shù)字式轉(zhuǎn)速測量系統(tǒng)的研究[J]. 測控技術(shù),2000,15(5):60-61.
[6]鄧建,林樺.基于DSP的絕對式光電編碼器的電機轉(zhuǎn)速測量[J].測試技術(shù)與檢測設(shè)備,2010,37(1):50-52.
[7]秦曉飛,王云寬,鄭軍,等.交流伺服系統(tǒng)震動魯棒M/T測速算法[J].電機與控制學(xué)報,2010,14(5):97-103.