,,,
(華中科技大學 機械科學與工程學院,湖北 武漢 430074)
在高精度運動控制中通常采用輸出正余弦信號的位置檢測元件進行位置和速度反饋。這樣的位置檢測元件包括旋轉(zhuǎn)編碼器、直線光柵尺、圓光柵、旋轉(zhuǎn)變壓器或者球柵尺等。對于生產(chǎn)商來說,設(shè)計基于正余弦信號的光學編碼器遠比設(shè)計帶有大量行編號的TTL編碼器容易[1],用戶通過合適的插值方法可以從正余弦信號中提取高分辨率的位置信息,并且這種模擬量的正余弦信號頻率成分單一,與方波相比可以傳輸較遠的距離而不衰減或者畸變[2]。如何從正余弦信號中提取出位置信息,尤其是提取出高分辨率的位置信息一直是國內(nèi)外研究的主要課題。
從正余弦信號中提取位置信息通常稱為正余弦信號的細分。正余弦細分一般包括硬件細分和軟件細分2種方式。硬件細分中比較成熟的是電阻鏈細分技術(shù),文獻[2-3]對電阻鏈細分技術(shù)做了詳細的論述。理論上電阻鏈細分可以達到很高的細分數(shù),但是實際上隨著細分數(shù)的提高,對電阻的阻值精度要求越來越高,并且后續(xù)電路中所用比較器數(shù)量也會成倍增加,不利于高倍細分。
高倍細分中通常都采用軟件細分,正余弦信號攜帶的位置信息與正余弦信號的相位信息一一對應(yīng),細分的主要目的是從正余弦信號中提取相位信息。根據(jù)細分方式的不同,軟件細分又包括開環(huán)細分和閉環(huán)細分2種方法。開環(huán)細分根據(jù)正弦值和余弦值直接提取相位信息,其原理如下式:
求取反正切有2種方法:文獻[4-5]介紹了查表的方法;文獻[6-8]介紹了通過CORDIC算法計算反正切值的方法。實驗證明,通過這2種方法得到的結(jié)果都只包含了1個正余弦周期中的相位信息,不包括多個周期中的位置信息,因此除了對單圈正余弦信號細分外,這種細分一般采用粗精細分相結(jié)合的方法[5]。然而粗精細分的途徑不一樣,粗精細分的跳變沿通常是不同步的,這影響了細分結(jié)果線性度。另外,正余弦信號質(zhì)量直接影響了反正切的相位值,為了達到較高倍數(shù)的細分必須對正余弦信號濾波。因為電機轉(zhuǎn)速范圍通常較大,故編碼器正余弦信號的頻率范圍也較大,通常情況下噪聲頻率與信號頻率部分重疊,故增加了濾波器的設(shè)計難度。文獻[7-8]在信號處理中增加了FIR濾波器,這種濾波器對正余弦信號的濾波效果很有限,并且增加了系統(tǒng)硬件資源。
本文提出了一種環(huán)路跟蹤細分的方法,該方法是根據(jù)閉環(huán)細分原理提出來的。這種方法容易用FPGA實現(xiàn),對信號噪聲抑制效果較開環(huán)細分方法好,可以達到1 024細分以上。
環(huán)路跟蹤細分法是基于閉環(huán)細分的思路,其細分原理如圖1所示。
圖1 環(huán)路跟蹤框圖Fig.1 The block diagram of tracking-loop
θ是當前時刻的位置值,φ是上一時刻的位置值。環(huán)路跟蹤細分主要基于以下三角函數(shù)式:
將A,B分別用θ,φ替換可以得到:
對于很小的位置變化量δ=θ-φ有
將式(3)代入式(4)得到
將位置變化量δ=θ-φ代入PI控制器。負反饋的目的是將位置變化量減小到零。同時,通過PI控制器建立了1個二階低通濾波器,該濾波器是對位置變化量濾波而非直接對正余弦信號濾波,極大地抑制了噪聲。
將圖1簡化為圖2,可以求得系統(tǒng)的傳遞函數(shù)為
ω0和ξ決定了系統(tǒng)的固有頻率和阻尼系數(shù)。對最大輸入信號頻率fmax=1kHz,ω0=2πf0=628 000rad/s。ω0確定后不同ξ對系統(tǒng)響應(yīng)和超調(diào)量的影響如圖3所示??梢愿鶕?jù)系統(tǒng)需求選擇合適的固有頻率和阻尼系數(shù)。
圖2 簡化的跟蹤環(huán)路框圖Fig.2 The simplified block diagram of the tracking-loop
圖3 系統(tǒng)動態(tài)響應(yīng)Fig.3 The dynamic response of the system
環(huán)路跟蹤細分與開環(huán)求反正切細分的硬件結(jié)構(gòu)相同,都是通過由運算放大器構(gòu)成的差分接收電路將輸入的正余弦信號轉(zhuǎn)換為單端信號,再通過AD采樣,將正余弦信號送至FPGA做處理。FPGA細分后的數(shù)據(jù)頻率遠遠高于輸入信號頻率,對傳輸接口和電纜以及電磁干擾性要求較高,所以細分后的信號通常通過串行傳輸協(xié)議打包輸出。常見的協(xié)議形式有Endat,Biss,Hiperface等等。系統(tǒng)硬件結(jié)構(gòu)圖如圖4所示。
圖4 系統(tǒng)硬件結(jié)構(gòu)圖Fig.4 The structure diagram of the system hardware
根據(jù)圖1可知,跟蹤環(huán)路細分算法中主要用到了乘法器、積分器和正余弦函數(shù)模塊。其中乘法器可以直接采用硬件乘法器,積分器可以通過簡單的VHDL實現(xiàn),不再贅述。這里主要介紹正余弦函數(shù)的實現(xiàn)。
CORDIC算法將直角坐標中復雜的算術(shù)運算轉(zhuǎn)換為極坐標中簡單的加法移位操作,簡化了三角函數(shù)的計算,因此文中通過CORDIC算法實現(xiàn)正余弦函數(shù)。限于篇幅CORDIC算法的原理這里不再做詳細的介紹,可以參考文獻[6,9]。CORDIC算法特別適合采用流水線結(jié)構(gòu)設(shè)計。CORDIC算法的單次迭代結(jié)構(gòu)圖如圖5所示,CORDIC算法模塊主要由移位寄存器和加法器組成。對16位迭代需要15級迭代流水線。
圖5 CORDIC迭代結(jié)構(gòu)Fig.5 Iterative CORDIC structure
文中選用Altera公司Cyclone III系列FPGA和12位高速AD轉(zhuǎn)換器,根據(jù)圖4設(shè)計了硬件電路,對HEIDEHAINN公司一款編碼器輸出的正余弦信號做了1 024細分,細分效果如圖6所示。其中D_A為采集到的正弦波,Position為細分后的數(shù)據(jù),從Position[9]到Position[0]依次是1,2,4,8,16,32,64,128,512,1 024細 分。 從圖6中可以看出1 024細分波形清晰,達到了預期的效果。
圖6 跟蹤環(huán)路細分實驗結(jié)果Fig.6 Subdivision experimental results of tracking-loop
正余弦信號輸出的位置檢測元件通常用在高精度運動控制中做位置和速度反饋,通過對正余弦信號細分可以提高位置檢測精度。文中分析了傳統(tǒng)的正余弦編碼器信號細分方法,針對傳統(tǒng)電阻鏈細分法細分數(shù)低,細分硬件復雜,開環(huán)細分方法中粗精結(jié)合跳變沿不同和開環(huán)細分濾波難度大的問題,提出了一種基于跟蹤環(huán)路的細分方法并對跟蹤環(huán)路細分方法原理做了詳細介紹,分析了固有頻率和阻尼系數(shù)對控制環(huán)路的影響,并且采用通用模擬器件和FPGA搭建了硬件平臺實現(xiàn)了CORDIC算法和PI控制器模塊,對跟蹤環(huán)路細分做了驗證。實驗結(jié)果證明,這種細分方法可滿足高精度角度控制要求。
[1]Krah J O,Schmirgel H.FPGA Based Sine-cosine Encoder Feedback Processing for Servo Drive Applications[C]∥International Exhibition &Conference for Power Electronics Intelligent Motion Power Quality 2007.Nuremberg,Germany:Mesago PCIM GmbH,2007:1-6.
[2]張善鍾.計量光柵技術(shù)[M].北京:機械工業(yè)出版社,1985.
[3]張國雄,金篆芷.測控電路[M].北京:機械工業(yè)出版社,2005.
[4]史敬灼,王秀麗,徐殿國.交流伺服系統(tǒng)光電編碼器信號處理電路設(shè)計與實現(xiàn)[J].微特電機,2007,35(11):18-19.
[5]隋繼平.高速正余弦細分裝置[P].CN 101729071A,2010.
[6]盧少武,唐小琦,馬澤龍,等.CORDIC算法在光柵莫爾條紋細分中的應(yīng)用[J].自動化儀表,2010,31(5):23-25.
[7]常海濤,葉孝佑,孫雙花,等.基于FPGA的正交信號細分系統(tǒng)研究[J].計量學報,2008,29(4A):36-39.
[8]喻洪麟,黃良明,王遠干.莫爾條紋信號的DSP濾波及細分技術(shù)研究[J].光電工程,2004,9:61-65.
[9]Andraka R.A Survey of CORDIC Algorithms for FPGA Based Computers[C]∥FPGA1998.ACM/SIGDA International Symposium on Field Programmable Gate Arrays.Monterey,CA,USA:ACM,1998.