,,,
(華中科技大學(xué) 機(jī)械科學(xué)與工程學(xué)院,湖北 武漢 430074)
在高精度運(yùn)動控制中通常采用輸出正余弦信號的位置檢測元件進(jìn)行位置和速度反饋。這樣的位置檢測元件包括旋轉(zhuǎn)編碼器、直線光柵尺、圓光柵、旋轉(zhuǎn)變壓器或者球柵尺等。對于生產(chǎn)商來說,設(shè)計(jì)基于正余弦信號的光學(xué)編碼器遠(yuǎn)比設(shè)計(jì)帶有大量行編號的TTL編碼器容易[1],用戶通過合適的插值方法可以從正余弦信號中提取高分辨率的位置信息,并且這種模擬量的正余弦信號頻率成分單一,與方波相比可以傳輸較遠(yuǎn)的距離而不衰減或者畸變[2]。如何從正余弦信號中提取出位置信息,尤其是提取出高分辨率的位置信息一直是國內(nèi)外研究的主要課題。
從正余弦信號中提取位置信息通常稱為正余弦信號的細(xì)分。正余弦細(xì)分一般包括硬件細(xì)分和軟件細(xì)分2種方式。硬件細(xì)分中比較成熟的是電阻鏈細(xì)分技術(shù),文獻(xiàn)[2-3]對電阻鏈細(xì)分技術(shù)做了詳細(xì)的論述。理論上電阻鏈細(xì)分可以達(dá)到很高的細(xì)分?jǐn)?shù),但是實(shí)際上隨著細(xì)分?jǐn)?shù)的提高,對電阻的阻值精度要求越來越高,并且后續(xù)電路中所用比較器數(shù)量也會成倍增加,不利于高倍細(xì)分。
高倍細(xì)分中通常都采用軟件細(xì)分,正余弦信號攜帶的位置信息與正余弦信號的相位信息一一對應(yīng),細(xì)分的主要目的是從正余弦信號中提取相位信息。根據(jù)細(xì)分方式的不同,軟件細(xì)分又包括開環(huán)細(xì)分和閉環(huán)細(xì)分2種方法。開環(huán)細(xì)分根據(jù)正弦值和余弦值直接提取相位信息,其原理如下式:
求取反正切有2種方法:文獻(xiàn)[4-5]介紹了查表的方法;文獻(xiàn)[6-8]介紹了通過CORDIC算法計(jì)算反正切值的方法。實(shí)驗(yàn)證明,通過這2種方法得到的結(jié)果都只包含了1個正余弦周期中的相位信息,不包括多個周期中的位置信息,因此除了對單圈正余弦信號細(xì)分外,這種細(xì)分一般采用粗精細(xì)分相結(jié)合的方法[5]。然而粗精細(xì)分的途徑不一樣,粗精細(xì)分的跳變沿通常是不同步的,這影響了細(xì)分結(jié)果線性度。另外,正余弦信號質(zhì)量直接影響了反正切的相位值,為了達(dá)到較高倍數(shù)的細(xì)分必須對正余弦信號濾波。因?yàn)殡姍C(jī)轉(zhuǎn)速范圍通常較大,故編碼器正余弦信號的頻率范圍也較大,通常情況下噪聲頻率與信號頻率部分重疊,故增加了濾波器的設(shè)計(jì)難度。文獻(xiàn)[7-8]在信號處理中增加了FIR濾波器,這種濾波器對正余弦信號的濾波效果很有限,并且增加了系統(tǒng)硬件資源。
本文提出了一種環(huán)路跟蹤細(xì)分的方法,該方法是根據(jù)閉環(huán)細(xì)分原理提出來的。這種方法容易用FPGA實(shí)現(xiàn),對信號噪聲抑制效果較開環(huán)細(xì)分方法好,可以達(dá)到1 024細(xì)分以上。
環(huán)路跟蹤細(xì)分法是基于閉環(huán)細(xì)分的思路,其細(xì)分原理如圖1所示。
圖1 環(huán)路跟蹤框圖Fig.1 The block diagram of tracking-loop
θ是當(dāng)前時刻的位置值,φ是上一時刻的位置值。環(huán)路跟蹤細(xì)分主要基于以下三角函數(shù)式:
將A,B分別用θ,φ替換可以得到:
對于很小的位置變化量δ=θ-φ有
將式(3)代入式(4)得到
將位置變化量δ=θ-φ代入PI控制器。負(fù)反饋的目的是將位置變化量減小到零。同時,通過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)路跟蹤細(xì)分與開環(huán)求反正切細(xì)分的硬件結(jié)構(gòu)相同,都是通過由運(yùn)算放大器構(gòu)成的差分接收電路將輸入的正余弦信號轉(zhuǎn)換為單端信號,再通過AD采樣,將正余弦信號送至FPGA做處理。FPGA細(xì)分后的數(shù)據(jù)頻率遠(yuǎn)遠(yuǎn)高于輸入信號頻率,對傳輸接口和電纜以及電磁干擾性要求較高,所以細(xì)分后的信號通常通過串行傳輸協(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)路細(xì)分算法中主要用到了乘法器、積分器和正余弦函數(shù)模塊。其中乘法器可以直接采用硬件乘法器,積分器可以通過簡單的VHDL實(shí)現(xiàn),不再贅述。這里主要介紹正余弦函數(shù)的實(shí)現(xiàn)。
CORDIC算法將直角坐標(biāo)中復(fù)雜的算術(shù)運(yùn)算轉(zhuǎn)換為極坐標(biāo)中簡單的加法移位操作,簡化了三角函數(shù)的計(jì)算,因此文中通過CORDIC算法實(shí)現(xiàn)正余弦函數(shù)。限于篇幅CORDIC算法的原理這里不再做詳細(xì)的介紹,可以參考文獻(xiàn)[6,9]。CORDIC算法特別適合采用流水線結(jié)構(gòu)設(shè)計(jì)。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è)計(jì)了硬件電路,對HEIDEHAINN公司一款編碼器輸出的正余弦信號做了1 024細(xì)分,細(xì)分效果如圖6所示。其中D_A為采集到的正弦波,Position為細(xì)分后的數(shù)據(jù),從Position[9]到Position[0]依次是1,2,4,8,16,32,64,128,512,1 024細(xì) 分。 從圖6中可以看出1 024細(xì)分波形清晰,達(dá)到了預(yù)期的效果。
圖6 跟蹤環(huán)路細(xì)分實(shí)驗(yàn)結(jié)果Fig.6 Subdivision experimental results of tracking-loop
正余弦信號輸出的位置檢測元件通常用在高精度運(yùn)動控制中做位置和速度反饋,通過對正余弦信號細(xì)分可以提高位置檢測精度。文中分析了傳統(tǒng)的正余弦編碼器信號細(xì)分方法,針對傳統(tǒng)電阻鏈細(xì)分法細(xì)分?jǐn)?shù)低,細(xì)分硬件復(fù)雜,開環(huán)細(xì)分方法中粗精結(jié)合跳變沿不同和開環(huán)細(xì)分濾波難度大的問題,提出了一種基于跟蹤環(huán)路的細(xì)分方法并對跟蹤環(huán)路細(xì)分方法原理做了詳細(xì)介紹,分析了固有頻率和阻尼系數(shù)對控制環(huán)路的影響,并且采用通用模擬器件和FPGA搭建了硬件平臺實(shí)現(xiàn)了CORDIC算法和PI控制器模塊,對跟蹤環(huán)路細(xì)分做了驗(yàn)證。實(shí)驗(yàn)結(jié)果證明,這種細(xì)分方法可滿足高精度角度控制要求。
[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]張善鍾.計(jì)量光柵技術(shù)[M].北京:機(jī)械工業(yè)出版社,1985.
[3]張國雄,金篆芷.測控電路[M].北京:機(jī)械工業(yè)出版社,2005.
[4]史敬灼,王秀麗,徐殿國.交流伺服系統(tǒng)光電編碼器信號處理電路設(shè)計(jì)與實(shí)現(xiàn)[J].微特電機(jī),2007,35(11):18-19.
[5]隋繼平.高速正余弦細(xì)分裝置[P].CN 101729071A,2010.
[6]盧少武,唐小琦,馬澤龍,等.CORDIC算法在光柵莫爾條紋細(xì)分中的應(yīng)用[J].自動化儀表,2010,31(5):23-25.
[7]常海濤,葉孝佑,孫雙花,等.基于FPGA的正交信號細(xì)分系統(tǒng)研究[J].計(jì)量學(xué)報(bào),2008,29(4A):36-39.
[8]喻洪麟,黃良明,王遠(yuǎn)干.莫爾條紋信號的DSP濾波及細(xì)分技術(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.