邵小彪,丁紅昌,2,曹國華,2
(1.長春理工大學(xué)機電工程學(xué)院,吉林長春 130022;2.長春理工大學(xué)重慶研究院,重慶 401135)
編碼器精度高、靈敏度高、結(jié)構(gòu)簡單、功耗低,被廣泛應(yīng)用于各個領(lǐng)域,能夠及時有效地測量和反饋角度和位移信息[1-3]。目前,絕對式編碼器具有精度高、壽命長、測量方便、能反映絕對位置信息等優(yōu)點。然而,傳統(tǒng)傳感器細(xì)分電路復(fù)雜,響應(yīng)速度慢。對于增量式編碼器,只能確定旋轉(zhuǎn)角度,不能及時有效地反饋絕對位置信息。單圈絕對式編碼器只能確定一圈內(nèi)的絕對位置信息,當(dāng)角度大于360°時,部分信息會丟失。絕對式編碼器雖然可以有效反饋大于360°的角度信息,但需要多套碼盤,設(shè)計較復(fù)雜。
因此,本文僅使用2組碼道,利用DSP的高速信號采集和計算能力以及FPGA的靈活性和并行處理能力,計算出這2組碼道的波形,確定其絕對位置信息[4-5],最后通過RS485通信接口將得到的數(shù)字角位置傳輸給計算機。大量的實驗數(shù)據(jù)表明,文中編碼器能耗低、結(jié)構(gòu)簡單、測量精度高以及測量穩(wěn)定,可以實現(xiàn)對角度在線測量[6]。
電容式編碼器的基本傳感元件由定子和轉(zhuǎn)子組成,均采用標(biāo)準(zhǔn)PCB技術(shù)制成。定子通過螺孔固定在金屬外殼上,轉(zhuǎn)子與隨元件旋轉(zhuǎn)的軸連接。定子面對轉(zhuǎn)子的一側(cè)覆蓋著發(fā)射電極和接收電極。轉(zhuǎn)子分為兩部分,外圈對應(yīng)精機,采用64對極的鋸齒波形,內(nèi)圈對應(yīng)粗機,采用3對凹形圖形。為了減小電容角位移傳感器的結(jié)構(gòu)尺寸,信號處理電路安裝在接收極定子的另一側(cè)。精機發(fā)射電極和粗機發(fā)射電極做成柵狀分布,各個柵極間存在屏蔽電極,防止相鄰電極間的電容耦合。激勵信號通過半孔和過孔引線連接到發(fā)射電極群。在接收電極和反射電極周圍,使用圓形保護(hù)電極以減少外部干擾的影響。編碼器整體示意圖如圖1所示。
圖1 電容式編碼器的結(jié)構(gòu)模型
電容式旋轉(zhuǎn)編碼器的原理圖和電路模型如圖2和圖3所示。圖中曲線表示轉(zhuǎn)子的輪廓,分為外圈的正弦形狀和內(nèi)圈的凹形形狀,轉(zhuǎn)子旋轉(zhuǎn)時可以產(chǎn)生相關(guān)的幅度調(diào)制正余弦信號;扇區(qū)表示定子的發(fā)射極,分成N組柵極的外圈精機和M組柵極的內(nèi)圈粗機。轉(zhuǎn)子的內(nèi)外圈波形在極坐標(biāo)下的方程表示為:
(1)
式中:R為精機中心圓半徑;Am為精機幅值;φ為機械轉(zhuǎn)角;N為精機柵極組數(shù),設(shè)計為64組;r為粗機中心圓半徑;Bm為粗機幅值;M為粗機柵極組數(shù),設(shè)計為3組。
圖2 電容式編碼器的示意圖
圖3 電路模型圖
(2)
式中:λ為每個發(fā)射段的角寬度,每一發(fā)射段處于正弦波的4個相位之一,且0<λ<(2π/N);θ為轉(zhuǎn)子旋轉(zhuǎn)角度,θ=N·φ,表示電旋轉(zhuǎn)角度是機械角的N倍。
同理,可計算粗機發(fā)射電極與粗機接收電極之間形成的可變電容,表示為:
(3)
式中:γ為每個發(fā)射段的角寬度,每一發(fā)射段處于正弦波的4個相位之一,且0<γ<(2π/M)。
圖2中的精機發(fā)射極的電極組A、B、C、D和粗機發(fā)射極E、F、G、H連接到由FPGA產(chǎn)生的4路相位相差π/2的方波V1、V2、V3和V4,其頻率為25 kHz。用函數(shù)表示為:
(4)
式中n=1,2,3,4,5,…。
一組電極上的電荷是電容乘以4個激勵電壓,則整個精機傳感器的電壓為
(5)
同理,第二發(fā)射極和接收極的工作情況與上述相同,粗機整個傳感器得到的電壓輸出為
(6)
電容式編碼器輸出精、粗兩路調(diào)制電壓為U(t)和V(t)。但精機sinα、cosα信號或粗機sinβ、cosβ信號,相對于高頻方波激勵信號,變換非常緩慢,方波激勵信號可認(rèn)為是其載波信號,因此,需要通過幅頻檢波電路把正余弦信號進(jìn)行提取,檢波的原理圖如圖4所示。
圖4 檢波原理圖
本文設(shè)計的編碼器選用同步檢波方法,由于采用方波激勵信號,不能采用乘法方式進(jìn)行檢波,因此采用開關(guān)電路對調(diào)制信號進(jìn)行檢波。方波激勵信號V1、V2作為開關(guān)選擇信號,對調(diào)制信號進(jìn)行頻譜遷移,使調(diào)制信號的相角α、β信息遷移到低頻區(qū),激勵頻率遷移到高頻區(qū),得到信號I1、I2、Q1和Q2,然后經(jīng)過低通濾波器過濾掉高頻信號,可得到相位角正余弦信號UFS、UFC、UCS和UCC。信號I1、I2、Q1和Q2表示如下:
(7)
相位角正余弦信號UFS、UFC、UCS和UCC表示如下:
(8)
通過反正切可求得α和β,最后再通過正切細(xì)分法,經(jīng)過DSP和FPGA軟件計算可得到精確的角度信息。
樣機的信號處理架構(gòu)如圖5所示,包括激勵模塊、轉(zhuǎn)換電路模塊與角度解算模塊部分。
圖5 電容絕對式編碼器的信號處理結(jié)構(gòu)
信號激勵模塊由FPGA和放大電路組成。通過FPGA產(chǎn)生4路90°相位差的25 kHz方波激勵信號,該信號經(jīng)過放大處理后作為編碼器的激勵源。
轉(zhuǎn)換電路模塊包括信號放大電路、信號檢波電路以及增量轉(zhuǎn)換電路。高頻激勵信號施加在發(fā)射電極后,動板的轉(zhuǎn)動影響敏感區(qū)電容的耦合,產(chǎn)生的精機和粗機兩路微弱的信號,經(jīng)過信號放大電路然后進(jìn)行檢波和濾波處理,最后再進(jìn)行增量轉(zhuǎn)換形成可供AD采集的信號。
角度解算模塊包括AD采集角度解算以及RS485通訊。經(jīng)過轉(zhuǎn)換電路后的信號送至DSP中的AD轉(zhuǎn)換器進(jìn)行采集,然后進(jìn)行角度解算,最后通過RS485發(fā)送至上位機,在上位機中可以實時顯示角度位置的變化,以供后續(xù)誤差分析使用。
激勵信號電路的設(shè)計如圖6所示。由FPGA控制器A1、A2、B1、D1引腳產(chǎn)生4路相差T/4周期的方波信號作為電容角位移傳感器的激勵信號。4路激勵信號施加到芯片HEF4104BT的4、5、11、12引腳上,HEF4104BT芯片將4路激勵信號保持和取反輸出并且激勵信號由芯片1引腳的電勢作為參考電壓,使激勵信號幅值放大4倍,得到8路高壓激勵信號,4路用于精機,4路用于粗機,直接施加到精機和粗機的發(fā)射電極上。
圖6 高頻激勵信號電路
2.3.1 信號放大電路
高頻激勵信號施加在發(fā)射電極后,動板的轉(zhuǎn)動影響敏感區(qū)電容的耦合,產(chǎn)生精機和粗機兩路微弱的信號。因此,信號需要經(jīng)過放大,便于后續(xù)濾波和檢波。本文設(shè)計放大電路采用電流和電壓兩級放大,主要采用AD8512ARM芯片進(jìn)行電路的放大設(shè)計,其電路設(shè)計如圖7所示。
圖7 放大電路
信號輸入到AD8512ARM芯片的2引腳和6引腳中,在3引腳和5引腳上施加參考電壓,電流放大器采用交流鎖相電容放大器,負(fù)反饋調(diào)節(jié)。放大的電流信號輸入ADG749芯片的6引腳和4引腳,F(xiàn)PGA的C1引腳控制ADG749芯片對粗機、精機通道進(jìn)行選擇,5引腳輸出電流信號過濾掉交頻信號,進(jìn)入電壓放大器。經(jīng)過兩級放大和濾波后,信號具有較好的質(zhì)量。
2.3.2 檢波電路
經(jīng)放大電路處理過的信號中含高頻激勵信號和噪聲信號,因此需要一種有效的檢波電路對信號進(jìn)行頻譜分離和濾波,使含有動板機械角度的基波與高頻信號分離。電容角位移傳感器采用同步檢波,設(shè)計開關(guān)選通電路對信號波處理,電路如圖8所示。
圖8 檢波電路
檢波電路采用ADG749芯片的開關(guān)電路對調(diào)制信號進(jìn)行同步檢波。反向電路由電阻R1、R2和運算放大器U1B構(gòu)成,對信號取反,U1B放大器的輸出信號與輸入信號同頻同幅,相差T/2個周期。U2、U3芯片對兩路信號進(jìn)行檢波調(diào)制,F(xiàn)PGA輸出同頻的方波信號V1、V2作為開關(guān)的選擇信號,對兩路相位差180°的調(diào)制信號U(t)和V(t)交替選通,進(jìn)行頻譜遷移,含動板機械角度的正余弦調(diào)制信號遷移到低頻區(qū),激勵頻率遷移到高頻區(qū),高頻調(diào)制信號與基波信號的分離,有利于細(xì)分電路對基波相位角的提取。
2.3.3 增量轉(zhuǎn)換電路
增量轉(zhuǎn)換電路用于動板旋轉(zhuǎn)方向的判別,設(shè)計如圖9所示。通過電壓比較器LMV726把正余弦信號轉(zhuǎn)換成正交增量A、B脈沖信號。正余弦信號轉(zhuǎn)換成TTL脈沖信號,以便實現(xiàn)對傳感器整周期信號進(jìn)行四倍頻計數(shù)。由可DSP正交編碼模塊對脈沖信號上升沿/下降沿采集,判別電容角位移傳感器動板的轉(zhuǎn)向等問題。
圖9 增量轉(zhuǎn)換電路
電容角位移傳感器信號處理系統(tǒng)的結(jié)構(gòu)體由電路硬件設(shè)計完成,具體功能依靠軟件設(shè)計實現(xiàn)。為實現(xiàn)編碼器的高效計算速度,采用以可編程邏輯器件FPGA和數(shù)字信號處理芯片DSP雙處理器為核心的軟件計算,提高傳感器的響應(yīng)速度。軟件設(shè)計主要包括DSP和FPGA同步時鐘、激勵信號的產(chǎn)生、AD采集模塊、角度計算與轉(zhuǎn)換模塊(含細(xì)分)、與上位機通信等,軟件流程如圖10所示。
圖10 軟件流程圖
編碼器上電后,F(xiàn)PGA接收DSP發(fā)送的時鐘信號,產(chǎn)生4路方波激勵信號和開關(guān)選通信號,控制放大電路分別采集2組碼道信號。信號經(jīng)過硬件電路處理后,得到兩路方波信號和兩路正余弦信號。使用DSP中的ADC采集正余弦信號后,即可得到初始位置。方波信號則由正交解碼模塊解算,以確定旋轉(zhuǎn)的粗略角度。ADC獲取正弦和余弦信號再進(jìn)行細(xì)分得到精確的角度。ADC采集和QEP設(shè)置中斷,角度發(fā)生變化時,數(shù)據(jù)將會實時采集和更新,將采集到的數(shù)據(jù)取出,為計算角度做準(zhǔn)備。角度計算完成后由DSP發(fā)送給FPGA,再由FPGA通過RS485接口將獲得的角度值發(fā)送至上位機。
使用細(xì)分將正弦和余弦信號劃分為區(qū)域以提高精度[8-9]。根據(jù)正余弦信號的幅值、交點、峰值的關(guān)系,將1個周期分為8個區(qū)間,每個區(qū)間為45°,對45°區(qū)間進(jìn)行處理,得到一個無符號的正余弦函數(shù)波形。象限Ⅱ和象限Ⅳ的正弦和余弦函數(shù)波形完全相同,周期可以從2π減小到π/2,如圖11所示。
圖11 正弦和余弦信號的細(xì)分
通過比較2組碼道的角度,將編碼器的實際位置顛倒過來。由于2組碼道所表達(dá)的角度信息是相同的,因此可以使用以下公式計算:
360/12·M+a=360/64·N+b
(9)
式中:a、b為DSP解析的準(zhǔn)確角度信息;M的取值范圍為0~63;N的取值范圍為0~3,為整數(shù)。
如果給出參考誤差,則可以確定初始絕對位置信息,如圖12所示。
圖12 絕對位置計算
該軟件是根據(jù)實驗原理設(shè)計的。對2個方波的脈沖數(shù)進(jìn)行分析得出的總脈沖數(shù),總脈沖數(shù)減1,乘以360/64就是粗略的旋轉(zhuǎn)角度。精確的角度值由ADC收集。脈沖通過QEP1A和QEP1B連接。收集的脈沖數(shù)在QPOSCNT寄存器中。設(shè)置時鐘頻率為100 MHz,采用QEP計數(shù)模式,自由運行模式,標(biāo)記第1個索引事件的發(fā)生,并在索引信號的上升沿鎖存。如果發(fā)生索引事件,計數(shù)器的值將被重置。在這種模式下,讀取的值需要除以4才能得到脈沖總數(shù)。將測量的角度通過加減360°,確保它在0°和360°之間。
如圖13所示,q為采集的脈沖數(shù),c11和c22為采集的正余弦信號。在計算出正交解碼單元和反正切函數(shù)后,可以有效地計算出編碼器旋轉(zhuǎn)過的角度,加上起始位置的角度,可以確定最終的絕對位置信息Z并轉(zhuǎn)換為0°到360°的范圍,用變量W表示。
圖13 DSP數(shù)據(jù)解決方案圖
圖14和圖15為測試原型的實驗裝置示意圖和實物圖。該裝置由高精度光電編碼器、實驗臺、信號采集電路和步進(jìn)電機等組成,轉(zhuǎn)臺分辨率0.62″。步進(jìn)電機用來改變角位置和角速度,傳感器安裝系統(tǒng)的設(shè)計目的是將轉(zhuǎn)臺與轉(zhuǎn)子連接起來,調(diào)整轉(zhuǎn)子與定子之間的同心度和平行度。轉(zhuǎn)子直接安裝在轉(zhuǎn)臺的軸上,定子固定在安裝系統(tǒng)的支架上。使用高精度光電編碼器測量轉(zhuǎn)子的角位置作為參考。當(dāng)轉(zhuǎn)子停在某個位置時,可以測試編碼器的精度,當(dāng)轉(zhuǎn)子以某個速度旋轉(zhuǎn)時,可以測試整個范圍內(nèi)的速度和動態(tài)非線性,角位置通過數(shù)據(jù)采集模塊發(fā)送給上位機。
圖14 試驗臺結(jié)構(gòu)示意圖
圖15 檢測試驗臺
當(dāng)步進(jìn)電動機靜止時,數(shù)據(jù)采集電路采集電容傳感器轉(zhuǎn)子角位置,用Matlab軟件將采集的數(shù)據(jù)繪制出來,其角位置波動程度如圖16所示。從圖中可以得出結(jié)論,電容角位移傳感器測量誤差在0.006°上下波動,傳感器測量精度優(yōu)于0.007°。
圖16 轉(zhuǎn)子靜止時測量角度波動
當(dāng)步進(jìn)電機以一定速度勻速旋轉(zhuǎn)時,數(shù)據(jù)采集電路采集到的角位置數(shù)據(jù)通過串口通訊,發(fā)送給計算機,Matlab繪制角度變化如圖17所示,從圖可得出動板旋轉(zhuǎn)一個周期需要0.006 s,這和示波器測量出的正余弦信號和增量方波信號的周期吻合,相位關(guān)系保持一致。
圖17 轉(zhuǎn)子旋轉(zhuǎn)時測量角度變化
表1列出了隨著步進(jìn)電機的旋轉(zhuǎn),作為位置反饋的光電編碼器和待檢測的電容編碼器一個周期內(nèi)動板機械角度變化的實驗數(shù)據(jù)。表1中列出20組實驗數(shù)據(jù),最大誤差為8.70″,最小誤差為0″,計算20組數(shù)據(jù)的平均誤差為4.749″。從實驗數(shù)據(jù)中可得出,本文設(shè)計的電容角位移傳感器測量精度較高,滿足大多數(shù)伺服控制系統(tǒng)和測量系統(tǒng)的精度要求。
表1 實驗數(shù)據(jù)和參考基準(zhǔn)數(shù)值比對
文中設(shè)計了一種電容絕對式編碼器,可以有效計算絕對位置信息,利用DSP的信號處理能力,配合FPGA的靈活性提高效率。編碼器轉(zhuǎn)子為正弦圖形,轉(zhuǎn)子將角度位置轉(zhuǎn)換為基于正交調(diào)制的相位/頻率調(diào)制信號。然后在基于正交解碼和細(xì)分原理的DSP和FPGA處理器中,將相位/頻率調(diào)制信號數(shù)字解碼為角度位置。這種數(shù)字解調(diào)系統(tǒng)可以避免信號不平衡問題。在沒有外殼屏蔽的情況下,電容式編碼器的精度優(yōu)于9.0″。為了進(jìn)一步評估和改進(jìn)電容絕對式編碼器的性能,正在搭建更好的實驗環(huán)境。提高電容式編碼器的信噪比、分析邊緣場效應(yīng)以及誤差補償是今后的發(fā)展方向。