角度傳感器在與FPGA正確配合下能夠幫助工程師打造出無與倫比的機械。 作者:N. N. Murty Scientist “F” S. B. Gayen Scientist “F” Manish Nalamwar Scientist “D” [email protected] K. Jhansi Lakshmi, 技術(shù)官“C” 印度海德拉巴印度國防研究發(fā)展組織IMARAT研究中心雷達導引頭實驗室 自從人類發(fā)明了轉(zhuǎn)輪,我們就希望了解如何通過改變精度提高轉(zhuǎn)輪轉(zhuǎn)動效率。在過去幾個世紀,科學家和工程師已經(jīng)研發(fā)了許多方法來實現(xiàn)此目標,期間輪-軸系統(tǒng)的基本原理得到了廣泛應(yīng)用,從汽車、音量旋鈕、各種機械形式的齒輪到簡陋的手推車,幾乎每種機械系統(tǒng)均采用了這一原理[1]。 經(jīng)過多個時代的探索,人們發(fā)現(xiàn)讓轉(zhuǎn)輪高效運轉(zhuǎn)的最重要因素并非轉(zhuǎn)輪本身(為何不徹底改造它呢?),而是轉(zhuǎn)輪的軸角。目前測量和優(yōu)化軸角的最有效方法是采用角度傳感器�,F(xiàn)有許多種角度傳感器都能夠通過輪軸監(jiān)控和改進促進輪周效率優(yōu)化;但如果配合使用FPGA,您就能夠取得非常顯著的效果,同時能夠提高眾多應(yīng)用中的輪軸/輪周效率。 在詳細介紹工程師們?nèi)绾巫罴牙?a href="http://www.qingdxww.cn/keyword/賽靈思" target="_blank" class="relatedlink">賽靈思FPGA達到上述目的之前,先讓我們簡單回顧一下角度傳感器的部分基本原理。目前得到廣泛應(yīng)用就是編碼器和分解器這兩類角度傳感器。 編碼器和分解器的類型 編碼器分為增量和絕對兩個基本類別。增量編碼器可以監(jiān)控輪軸上的兩個位置,并且可以在輪軸每次經(jīng)過這兩個位置時產(chǎn)生A或B脈沖。獨立的外部電動計數(shù)器然后從這些脈沖解讀出轉(zhuǎn)速和旋轉(zhuǎn)方向。雖然適用于眾多應(yīng)用,但是增量式計數(shù)器確實存在某些不足。例如,在輪軸停轉(zhuǎn)情況下,增量編碼器在開始運行之前必須首先通過調(diào)回到某個指定校準點來實現(xiàn)自身校準。另外,增量式計數(shù)器易受到電氣干擾的影響,導致發(fā)送到系統(tǒng)的脈沖不準確,進而造成旋轉(zhuǎn)計數(shù)錯誤。不僅如此,許多增量編碼器屬于光電器件 – 如果對目標應(yīng)用有影響,則無法用于輻射危險區(qū)域。 ![]() 圖1 – 分解器轉(zhuǎn)子激勵 分解器繞組 ROTOR:轉(zhuǎn)子 STATOR:定子 絕對編碼器是監(jiān)控輪軸旋轉(zhuǎn)計數(shù)和方向的傳感器系統(tǒng)。在基于絕對編碼器的系統(tǒng)中,用戶一般把轉(zhuǎn)輪連接到具有電觸頭或光電基準的輪軸。在輪軸運行時,基于絕對編碼器的系統(tǒng)會記錄旋轉(zhuǎn)和運行方向,同時產(chǎn)生易于轉(zhuǎn)換成代碼(最常見的是二進制碼或格雷碼)的并行數(shù)字輸出。絕對編碼器的優(yōu)勢在于只需要校準一次(一般是在工廠中校準),而無需每次使用前都校準。此外,絕對編碼器一般比其它編碼器更可靠。不過,絕對編碼器一般很昂貴,而且它們不利于進行并行數(shù)據(jù)傳輸,尤其是在測量其讀數(shù)的電子系統(tǒng)距離編碼器較遠情況下。 分解器就其本身而言是一種旋轉(zhuǎn)變壓器——一種輸出電壓與其所監(jiān)控的輸入軸角唯一關(guān)聯(lián)的模擬器件。它是一款具有0~360旋轉(zhuǎn)角度的絕對位置傳感器,其直接連接到輪軸并報告轉(zhuǎn)速和位置。分解器與編碼器相比有諸多優(yōu)勢。分解器非常穩(wěn)健可靠,能夠經(jīng)受帶有灰塵、油污、極端溫度、振動和輻射的嚴酷環(huán)境。作為一種變壓器,分解器可以提供信號隔離以及對電氣干擾的自然共模抑制。除了這些特性之外,分解器只需要四根線就可進行角數(shù)據(jù)傳輸,這使其能夠適用于從重工業(yè)、微型系統(tǒng)到航空航天工業(yè)等各種應(yīng)用。 無刷分解器得到了進一步改進,其無需與轉(zhuǎn)子的滑環(huán)連接。因此,這種分解器更可靠,而且使用壽命更長。 分解器采用兩種方式獲取與軸角相關(guān)的輸出電壓。在第一種方式中,如圖1所示的轉(zhuǎn)子繞組由交變信號激勵,而輸出來自兩個定子繞組。由于定子是以機械方式定位到正確角度,因此輸出信號幅度是通過軸角的三角正弦和余弦關(guān)聯(lián)。正弦與余弦信號均具有與原始激勵信號相同的相位;僅其幅度隨輪軸的旋轉(zhuǎn)通過正弦與余弦進行調(diào)制。 ![]() 圖2 – 分解器數(shù)字轉(zhuǎn)換器(RDC)方框圖 圖中文字如下: ROTOR REFERENCE:轉(zhuǎn)子基準 STATOR INPUTS:定子輸入 COSINE MULTIPLIER:余弦乘法器 SINE MULTIPLIER:正弦乘法器 UP /DOWN COUNTER:遞增/遞減計數(shù)器 LATCHES:鎖存器 DETECTOR:檢測器 ERROR:誤差 INTEGRATOR:積分器 VELOCITY:速度 DIGITAL ANGLE:數(shù)字角度 WHEN ERROR = 0:當誤差=0 在第二種方式中,定子繞組由相位正交的交變信號激勵。然后在轉(zhuǎn)子繞組中感應(yīng)電壓。繞組的幅度和頻率固定,但其相移隨軸角變化。 分解器可以放置到需要測量角度的位置[2]。而電子裝置一般指的是分解器數(shù)字轉(zhuǎn)換器(RDC),可以放置到需要測量數(shù)字輸出的位置。分解器的模擬輸出(含有輪軸角位置信息)然后經(jīng)RDC轉(zhuǎn)換成數(shù)字形式。 典型RDC的功能 一般而言,分解器的兩個輸出會應(yīng)用到RDC的正弦與余弦乘法器[3]。這些乘法器結(jié)合正弦和余弦查找表以及函數(shù)構(gòu)成乘法數(shù)模轉(zhuǎn)換器。圖2顯示了其功能。 暫且假設(shè)開始時遞增/遞減計數(shù)器的當前狀態(tài)是一個代表試驗角度(trial angle)ψ的數(shù)值。轉(zhuǎn)換器設(shè)法調(diào)整數(shù)字角度ψ,使其一直等于并跟蹤所測量的模擬角度θ。 分解器的定子輸出電壓為: V1= V sinωt sinθ 方程1 V2= V sinωt cosθ 方程2 其中θ是分解器轉(zhuǎn)子的角度。數(shù)字角度ψ應(yīng)用到余弦乘法器,其余弦乘以V1得出下式: V sinωt sinθ cosψ 方程3 數(shù)字角度ψ另外還應(yīng)用到正弦乘法器,乘以V2得出下式: V sinωt cosθ sinψ 方程4 這兩個信號由誤差放大器相減求得出波形的誤差信號: (V sinωt sinθcosψ – V sinωt cosθ sinψ) 方程5 V sinωt (sinθ cosψ- cosθ sinψ) 方程6 根據(jù)三角恒等式,其簡化為: V sinωt [sin (θ -ψ)] 方程7 ![]() 圖3 – SD-14620方框圖(單信道) 圖中文字如下: REFERENCE CONDITIONER:基準調(diào)節(jié)器 BIT DETECTOR:位檢測器 “S” OPTION SYNTHESIZED REFERENCE:“S”選項綜合基準 INPUT OPTION:輸入選項 CONTROL TRANSFORMER:控制變壓器 GAIN:增益 DEMODULATOR:解調(diào)器 HYSTERESIS:滯后 INTEGRATOR:積分器 DC/DC CONVERTER:DC/DC轉(zhuǎn)換器 14/16 BIT UP/DOWN COUNTER:14/16位遞增/遞減計數(shù)器 VCO & TIMING:VCO與時序 DATA LATCHES:數(shù)據(jù)鎖存器 FILTER:濾波器 47μf external capacitor:47μf外部電容 ![]() 圖4 – OSC-15802基準振蕩器方框圖 圖中文字如下: QUAD OSCILLATOR:四線組振蕩器 檢測器采用分解器的轉(zhuǎn)子電壓作為基準同步解調(diào)此AC誤差信號。這會產(chǎn)生與sin (θ -ψ)成正比的DC誤差信號。 DC誤差信號饋送到積分器,其輸出驅(qū)動一個由電壓控制的振蕩器。而VCO會導致遞增/遞減計數(shù)器按正確方向計數(shù),從而在一次計數(shù)中產(chǎn)生: sin (θ -ψ)→0 方程8 當取得此結(jié)果,則: θ -ψ→0 方程9 因此, θ = ψ 方程10 因此,計數(shù)器的數(shù)字輸出ψ代表著角度θ。鎖存器可以在不中斷回路跟蹤情況下實現(xiàn)此數(shù)據(jù)向外部的傳輸。 此電路等效于2型伺服回路,因為它實際上有兩個積分器。一個是累計脈沖的計數(shù)器;另一個是位于檢測器輸出端的積分器。在具有恒定旋轉(zhuǎn)速度輸入的2型伺服回路中,輸出數(shù)字字連續(xù)跟隨或跟蹤該輸入,而無需外部導出轉(zhuǎn)換。 RDC典型實例:SD-14621 SD-14621是數(shù)據(jù)設(shè)備公司(DDC)生產(chǎn)的小型低成本RDC。它有兩條具備可編程分辨率控制功能的信道。分辨率編程功能允許選擇10、12、14或16位模式[4]。此功能允許低分辨率高速跟蹤或者更高分辨率支持更高精度。由于其大小、成本、精度與多功能性,此轉(zhuǎn)換器適用于高性能軍用、商用及位置控制系統(tǒng)。 器件的運行需要一個+5V電壓。轉(zhuǎn)換器有兩個對模擬地為±4V電壓范圍的速度輸出(VEL A、VEL B),可用于替代轉(zhuǎn)速計。為兩條信道(/BIT A與/BIT B)提供兩個內(nèi)置測試輸出,以指示信號丟失(LOS)。 此轉(zhuǎn)換器由三大部分組成:輸入前端、誤差處理器和數(shù)字接口。前端對于同步器、分解器和直接輸入端有所不同。電子Scott-T用于同步器輸入,分解器調(diào)節(jié)器用于分解器輸入,而正弦與余弦電壓跟隨器用于直接輸入端。這些放大器可以饋送高精度控制變壓器(CT)。CT的另一個輸入是16位數(shù)字角度ψ,其輸出是兩個輸入之間的模擬誤差角度或差分角度。CT采用放大器、交換機、邏輯電路與電容器以查準率執(zhí)行SINθ COSψ - COSθ SINψ = Sin(θ-ψ)的三角函數(shù)計算。 與常規(guī)精密電阻器相比,這些電容器按查準率使用,以獲得更高精度。另外,這些電容器(與運算放大器一起用作計算元件)進行高速采樣,以消除偏移和運算放大器偏差。 DC誤差處理進行積分運算,然后得到驅(qū)動電壓控制振蕩器的速度電壓。此VCO與速度積分器結(jié)合在一起構(gòu)成遞增積分器:一種2型伺服反饋回路。 基準振蕩器 我們設(shè)計中采用的OSC-15802功耗振蕩器也是DDC公司提供。此器件適用于RDC、同步器、LVDT和感應(yīng)式傳感器應(yīng)用[5]。頻率與振幅輸出可以分別由電容器和電阻器編程。輸出頻率范圍介于400Hz~10kHz之間,輸出電壓為7Vrms。圖4顯示了器件的方框圖。 饋送到分解器和RDC的振蕩器輸出用作基準信號。 FPGA的I/O電壓為3.3V,而RDC的電壓為5V。我們采用電壓收發(fā)器實現(xiàn)兩個器件之間的電壓兼容。 VIRTEX-5 FX30T FPGA與RDC接口 我們在設(shè)計中采用賽靈思Virtex-5 FX30T FPGA [6]。FPGA的I/O電壓為3.3V,而RDC的電壓為5V。因此我們采用電壓收發(fā)器來實現(xiàn)這兩個器件之間的電壓兼容。通過賽靈思提供的GPIO IP核與FPGA建立內(nèi)部連接,如圖5所示。 為了簡單起見,圖5僅顯示一條具有一個分解器接口的信道。您可以在本文件隨附的賽靈思開發(fā)板描述(XBD)文件找到RDC的引腳詳情以及FPGA對應(yīng)的專用引腳。詳情見該文件第一部分。 ![]() 圖5 – RDC與Virtex-5 FPGA的接口(單信道) 圖中文字如下: TRANSCEIVER:收發(fā)器 RESOLVER:分解器 REF SIGNAL:基準信號 POWER OSCILLATOR (OSC-15802):功耗振蕩器 SIGNAL CHAIN:信號鏈 器件驅(qū)動程序詳細說明 在本例中,F(xiàn)PGA采用20MHz的外部輸入時鐘。此FPGA具有一個運行頻率為200MHz的PowerPC 440硬核。RDC的時序圖見圖6與圖7。 ![]() 圖6 – INHIBIT時序 ![]() 圖7 – ENABLE時序 根據(jù)RDC的時序圖,我們開發(fā)、測試并驗證了實際硬件的功能是否正確 [4]。器件驅(qū)動程序的實際編碼包含在單獨的XBD文件中。根據(jù)時序圖,我們生成了用于回路的所需延遲。在200MHz運行速率下進行處理時,每個計數(shù)都對應(yīng)5納秒的延遲。 器件驅(qū)動程序有三部分編碼:RDC初始化、控制信號的生成及從RDC信道A的讀取、以及控制信號的生成及從RDC信道B的讀取。RDC初始化是設(shè)置信號方向和缺省值的階段。例如,利用以下語句,信號方向?qū)⒃O(shè)置為從FPGA“輸出”到RDC。 XGpio_WriteReg(XPAR_RESOLUTION_CNTRL_CH_A_ BASEADDR,XGPIO_TRI_OFFSET,0x000); 下一個語句通過寫入“0x3”來設(shè)置16位分辨率(即:拉高): XGpio_WriteReg(XPAR_RESOLUTION_CNTRL_CH_A_ BASEADDR,XGPIO_DATA_OFFSET,0x03); 圖8為編碼截屏。注:為了簡化,我們僅提供一條信道的編碼。 我們已經(jīng)看到,角度傳感器可以幫助工程師創(chuàng)造更好的轉(zhuǎn)輪,進而設(shè)計出眾多更高效的機械裝置。分解器是一種尤為有用的角度傳感器,只要能夠與FPGA正確配合和控制,其就能夠幫助工程師打造出無與倫比的機械裝置。 參考資料 1. 數(shù)據(jù)設(shè)備公司“同步器/分解器轉(zhuǎn)換手冊”。 2. John Gasking, “分解器數(shù)字轉(zhuǎn)換器:光電軸角編碼器簡單低成本替代方案” AN-263,美國模擬器件公司 3. Walt Kester, “分解器數(shù)字轉(zhuǎn)換器” MT-030, 美國模擬器件公司 4. 數(shù)據(jù)設(shè)備公司SD-14620 系列數(shù)據(jù)手冊。 5. 數(shù)據(jù)設(shè)備公司OSC-15802數(shù)據(jù)手冊。 6. 賽靈思Virtex-5系列簡介 ![]() 圖8- RDC器件驅(qū)動程序編碼截屏 |