陸胤樺,朱維斌,黃 垚,薛 梓
(1.中國計(jì)量大學(xué)計(jì)量測(cè)試工程學(xué)院,浙江杭州 310018;2.中國計(jì)量科學(xué)研究院,北京 100029)
傳統(tǒng)的角度測(cè)量都是基于靜態(tài)測(cè)量方法,而伴隨著科學(xué)技術(shù)的迅速發(fā)展,運(yùn)動(dòng)狀態(tài)下的動(dòng)態(tài)角度測(cè)量在測(cè)量技術(shù)領(lǐng)域內(nèi)迅速發(fā)展。動(dòng)態(tài)角度測(cè)量由于復(fù)雜程度更高、理論體系尚不完善等原因,動(dòng)態(tài)角度測(cè)量中的誤差源仍缺乏系統(tǒng)性認(rèn)知;同時(shí),工業(yè)發(fā)展對(duì)動(dòng)態(tài)角度測(cè)量的應(yīng)用需求和精度要求都在不斷提高,因此動(dòng)態(tài)角度測(cè)量過程中誤差補(bǔ)償技術(shù)成為該領(lǐng)域研究的重要內(nèi)容[1-2]。
國內(nèi)外眾多學(xué)者針對(duì)動(dòng)態(tài)測(cè)量中的實(shí)時(shí)性與精度問題開展研究。2001年,B. Djokic和E. So討論了濾波器相移對(duì)動(dòng)態(tài)測(cè)量精度的影響[3];2011年,唐聲權(quán)等認(rèn)為運(yùn)動(dòng)中的轉(zhuǎn)臺(tái)在“電路對(duì)碼盤的模擬輸出信號(hào)開始采樣的時(shí)刻”和“采樣信號(hào)通過轉(zhuǎn)換和傳輸后得到數(shù)字形式的位置值的時(shí)刻”的位置是不一樣的;2015年,黃曉敏認(rèn)為動(dòng)態(tài)特性較差的傳感器,測(cè)量結(jié)果不能準(zhǔn)確描述被測(cè)信號(hào)的瞬態(tài)變化,最終導(dǎo)致測(cè)量結(jié)果難以表征輸入信號(hào)[4-6]。2017年,清華大學(xué)分析了多通道激光干涉儀在動(dòng)態(tài)測(cè)量中的同步測(cè)量誤差,并對(duì)光電信號(hào)在處理過程中的延時(shí)誤差給與補(bǔ)償方案[7]。
從上述研究可見,對(duì)于動(dòng)態(tài)測(cè)量過程中的延時(shí)誤差會(huì)對(duì)精度造成影響有著共識(shí)性看法,但對(duì)于誤差的補(bǔ)償并沒有統(tǒng)一的方法。本文針對(duì)圓光柵角度動(dòng)態(tài)測(cè)量過程的延時(shí)誤差補(bǔ)償方法開展研究,分析動(dòng)態(tài)測(cè)量中各種延時(shí)因素影響,提出一種基于代數(shù)導(dǎo)數(shù)估計(jì)法的補(bǔ)償方案,并在FPGA平臺(tái)上完成圓光柵動(dòng)態(tài)角度測(cè)量電路系統(tǒng)的開發(fā),通過實(shí)驗(yàn)證明圓光柵動(dòng)態(tài)測(cè)角系統(tǒng)在不同轉(zhuǎn)速工況下,該電路對(duì)延時(shí)誤差補(bǔ)償?shù)挠行浴?/p>
使用圓光柵進(jìn)行角度測(cè)量是通過增量計(jì)數(shù)完成的。圓光柵每轉(zhuǎn)過一個(gè)柵距對(duì)應(yīng)輸出一個(gè)整周期正余弦莫爾信號(hào),細(xì)分電路通過莫爾信號(hào)相位φ完成細(xì)分并輸出對(duì)應(yīng)脈沖信號(hào),通過脈沖計(jì)數(shù)累加值就可以得到圓光柵轉(zhuǎn)動(dòng)角度θ[8-9]。對(duì)于靜態(tài)測(cè)量,轉(zhuǎn)動(dòng)角度測(cè)量值θm可以表達(dá)為
(1)
式中:Z為累加計(jì)數(shù)值;K為圓光柵圓周刻線數(shù);M為光柵莫爾信號(hào)細(xì)分倍率。
角度靜態(tài)測(cè)量過程中,在每一個(gè)測(cè)量位置圓光柵都靜止不動(dòng),角度測(cè)量值不隨時(shí)間變化。在角度動(dòng)態(tài)測(cè)量過程中,測(cè)量值為一種時(shí)變角度函數(shù),當(dāng)光柵轉(zhuǎn)動(dòng)角速率為ω(t)時(shí),其輸出莫爾信號(hào)的頻率f(t)表達(dá)為
(2)
為了準(zhǔn)確完成動(dòng)態(tài)測(cè)量過程,不僅要求測(cè)得的圓光柵角度值準(zhǔn)確可靠,還需要測(cè)量結(jié)果與測(cè)量發(fā)生位置進(jìn)行對(duì)應(yīng),即動(dòng)態(tài)測(cè)量數(shù)據(jù)結(jié)果需要精確地表示目標(biāo)的當(dāng)前位置和運(yùn)動(dòng)狀態(tài)。但是在動(dòng)態(tài)測(cè)量過程中圓光柵始終處于運(yùn)動(dòng)狀態(tài),角度測(cè)量輸出并不能與圓光柵當(dāng)前位置對(duì)應(yīng),因此存在著由于延時(shí)帶來的誤差,如圖1所示。
(a)
圖1(a)描述了測(cè)量對(duì)象以ω(t)為角速度,由A點(diǎn)轉(zhuǎn)動(dòng)到B點(diǎn)的動(dòng)態(tài)轉(zhuǎn)動(dòng)過程。圖(b)描述了當(dāng)在t1時(shí)刻通過OA位置時(shí),圓光柵的光電接收器產(chǎn)生與OA位置相對(duì)應(yīng)的莫爾信號(hào),該信號(hào)通過放大、調(diào)理、細(xì)分、脈沖轉(zhuǎn)換、計(jì)數(shù)等一系列模擬、數(shù)字電路處理后,在t2時(shí)刻輸出由OA位置觸發(fā)的角度測(cè)量值θm(t),但此時(shí)轉(zhuǎn)臺(tái)位置已經(jīng)到達(dá)OB。OA、OB間的夾角θe(t)就是角度動(dòng)態(tài)測(cè)量中的延時(shí)誤差。因此,在圓光柵動(dòng)態(tài)角度測(cè)量θmc(t)應(yīng)該表達(dá)為
θmc(t)=θm(t)+θe(t)
(3)
延時(shí)誤差主要是由兩部分組成:信號(hào)在電纜及印刷電路板上進(jìn)行傳送時(shí)的路徑長度帶來的信號(hào)延時(shí)τ1;數(shù)字電路中信號(hào)處理算法的耗費(fèi)時(shí)間τ2。當(dāng)光柵勻速運(yùn)動(dòng)時(shí),由延時(shí)引起的延時(shí)誤差與速度線性相關(guān),只要通過連續(xù)跟蹤角速度ω0,也就是光柵莫爾信號(hào)相位的一階導(dǎo)數(shù)就可以量化延時(shí)誤差θe(t),即:
(4)
式中φm(t)為光柵輸出莫爾信號(hào)的相位角測(cè)量值。
使用式(4)可以量化光柵勻速運(yùn)動(dòng)下的延時(shí)誤差,由于φm(t)線性增加,τ1和τ2為恒定值,因此勻速運(yùn)動(dòng)下的延時(shí)誤差大小不變。
在非恒定速度動(dòng)態(tài)測(cè)量中,φm(t)非線性變化,τ1、τ2仍為恒定值,但系統(tǒng)的延時(shí)誤差隨著運(yùn)動(dòng)狀態(tài)的變化而變化。復(fù)雜的光柵運(yùn)動(dòng)狀態(tài)中不僅包含了速度變量,還存在加速度(相位的二階導(dǎo))以及更高階導(dǎo)數(shù)的變量。所以在變速運(yùn)動(dòng)過程中延時(shí)誤差θe(t)不僅與光柵的速度有關(guān),還隨著加速度及相位的更高階導(dǎo)數(shù)變化而變化。要使用莫爾信號(hào)的相位測(cè)量值φm(t)準(zhǔn)確表征延時(shí)誤差,必須考慮實(shí)時(shí)速度、加速度及更高階導(dǎo)數(shù)信息。使用泰勒模型量化光柵運(yùn)動(dòng)狀態(tài),延時(shí)誤差θe(t)表示為
(5)
該模型支持光柵以任意狀態(tài)運(yùn)動(dòng),能夠滿足各種變速復(fù)雜運(yùn)動(dòng)工況下的延時(shí)誤差補(bǔ)償,勻速工況下的延時(shí)誤差對(duì)應(yīng)此模型中n=1的表達(dá)式。延時(shí)誤差補(bǔ)償流程如圖2所示。
圖2 延時(shí)誤差補(bǔ)償流程圖
FPGA具有可多線程工作、設(shè)計(jì)靈活、算法承載能力強(qiáng)等優(yōu)點(diǎn),可以承載光柵信號(hào)動(dòng)態(tài)測(cè)量任務(wù)。為了實(shí)現(xiàn)光柵動(dòng)態(tài)角度測(cè)量目標(biāo),在電路系統(tǒng)中,需要同時(shí)實(shí)施光柵信號(hào)處理和動(dòng)態(tài)補(bǔ)償角度計(jì)算2個(gè)流程任務(wù)。電路系統(tǒng)原理圖如圖3所示。
圖3 電路系統(tǒng)原理圖
由圖3可見,光柵動(dòng)態(tài)角度測(cè)量功能由2個(gè)線程組合完成。其一是對(duì)光柵輸出莫爾信號(hào)進(jìn)行細(xì)分辨向處理的常規(guī)流程,通過對(duì)莫爾信號(hào)的調(diào)理模塊,完成對(duì)傳感器輸出原始信號(hào)的等幅、直流、正交等誤差的補(bǔ)償,再完成對(duì)信號(hào)的細(xì)分,輸出角度值,該測(cè)量值即為靜態(tài)測(cè)量的角度;另一個(gè)線程完成動(dòng)態(tài)測(cè)量的延時(shí)誤差計(jì)算,通過對(duì)信號(hào)的各階導(dǎo)數(shù)計(jì)算,通過式(5)計(jì)算獲得動(dòng)態(tài)測(cè)量的延時(shí)誤差補(bǔ)償值。2個(gè)線程是并行工作的,細(xì)分角度測(cè)量值θm(t)和延時(shí)誤差角度值θe(t)通過式(3)計(jì)算,即可獲得動(dòng)態(tài)角度測(cè)量值。所有信號(hào)補(bǔ)償、計(jì)算功能都在FPGA平臺(tái)上實(shí)現(xiàn)。
由式(5)可知,在動(dòng)態(tài)測(cè)量過程中,補(bǔ)償值需要通過高階導(dǎo)數(shù)計(jì)算,通常計(jì)算用到的是有限差分法(FDM),但是由于有限差分法的測(cè)速精度受外界環(huán)境干擾大,且測(cè)速精度低等問題,不適用于高精度要求的場(chǎng)合。
為了保證測(cè)量精度,本文采用代數(shù)導(dǎo)數(shù)法(ADEM)進(jìn)行信號(hào)微分計(jì)算。該方法對(duì)信號(hào)進(jìn)行擬合并求取相位角的導(dǎo)數(shù),其核心是利用復(fù)頻域中的微分性質(zhì)獲取編碼器信號(hào)相位角的一階導(dǎo)數(shù)信息,并通過拉氏反變換來表達(dá)實(shí)數(shù)域的測(cè)速結(jié)果。微分計(jì)算結(jié)果如式(6)所示:
(6)
代數(shù)導(dǎo)數(shù)法能夠有效提升微分計(jì)算準(zhǔn)確性,以16384刻線數(shù)的圓光柵角度編碼器以30 r/min勻速轉(zhuǎn)動(dòng)工況為例,其轉(zhuǎn)動(dòng)的頻率恒為8.2 kHz,其輸出兩路方波信號(hào)為非均勻信號(hào),分別使用代數(shù)導(dǎo)數(shù)法和有限差分法得到測(cè)速結(jié)果如圖4所示。
圖4 代數(shù)導(dǎo)數(shù)法與有限差分法測(cè)速精度對(duì)比
由圖4可見,代數(shù)導(dǎo)數(shù)法保持±0.1 r/min的測(cè)速精度,而有限差分法測(cè)速精度降至接近±1 r/min。
代數(shù)導(dǎo)數(shù)法能夠在信號(hào)有干擾的情況下完成穩(wěn)定、準(zhǔn)確的微分計(jì)算任務(wù),但是在實(shí)現(xiàn)代數(shù)導(dǎo)數(shù)法的過程中是使用時(shí)變信號(hào)的局部多項(xiàng)式近似模型,只描述了信號(hào)θm(t)的有限階近似項(xiàng)。當(dāng)信號(hào)本身可作無限階次展開時(shí),泰勒多項(xiàng)式的有限N階項(xiàng)模型必然會(huì)引入擬合誤差。圖5顯示了N取不同階數(shù)時(shí)在各自代數(shù)導(dǎo)數(shù)估計(jì)法模型下一階導(dǎo)的計(jì)算精度。
圖5 N=3、4、5時(shí)代數(shù)導(dǎo)數(shù)估計(jì)法一階導(dǎo)數(shù)計(jì)算誤差
由圖5可見,使用有限階次的泰勒模型會(huì)導(dǎo)致擬合誤差,所以代數(shù)導(dǎo)數(shù)估計(jì)法只在一段時(shí)間內(nèi)有效,之后便會(huì)逐漸偏離精度。圖中可看出N值越大,精度保持時(shí)間越長。
為保證測(cè)量精度,N值選擇越大越好,但是隨著N的增大,根據(jù)式(6)的數(shù)據(jù)積分迭代次數(shù)越快速增加,F(xiàn)PGA的資源占用量也隨著增大,硬件資源占用、計(jì)算精度、計(jì)算效率之間存在著相互制約關(guān)系,如表1所示。
表1 參數(shù)對(duì)應(yīng)數(shù)據(jù)表
由表1可知,在資源占用方面,由于N=3時(shí)其精度維持時(shí)間較短,不滿足精度需求,資源占用量的參數(shù)就沒有較大參考價(jià)值。當(dāng)N=5時(shí),資源占用量已經(jīng)達(dá)到總資源量的71%,遠(yuǎn)大于N=4時(shí)的資源占用百分比,這對(duì)于FPGA的資源來說本身就是巨大的負(fù)擔(dān)。
在精度維持時(shí)間方面,以一階導(dǎo)(角速率)計(jì)算誤差為0.001(°)/s為精度收斂邊界。由表1中可以看到,N=5時(shí)的精度維持時(shí)間雖然比N=4要久,但是資源占用又遠(yuǎn)大于4階模型。因此在系統(tǒng)所需精度要求范圍內(nèi),本文轉(zhuǎn)而選N=4,在資源占用量相對(duì)較小情況下,滿足求導(dǎo)精度要求。
式中,qr和cholupdate為標(biāo)準(zhǔn)的Matlab指令,分別表示QR分解和Cholesky分解一階更新。
考慮到泰勒公式的高階導(dǎo)數(shù)計(jì)算量大以及延時(shí)誤差的主要來源是光柵編碼器的轉(zhuǎn)速(相位一階導(dǎo)數(shù))與加速度(相位的二階導(dǎo)數(shù)),實(shí)驗(yàn)僅考慮光柵編碼器的轉(zhuǎn)速與加速度所造成的系統(tǒng)延時(shí)誤差的影響,采用2階泰勒公式進(jìn)行補(bǔ)償驗(yàn)證。
本次實(shí)驗(yàn)旨在驗(yàn)證圓光柵動(dòng)態(tài)角度測(cè)量方法的有效性,因此選用RIGOL DG4162信號(hào)發(fā)生器模擬編碼器輸出正交方波信號(hào),以摒棄其他干擾因素影響。信號(hào)發(fā)生器精度為±2×10-6。動(dòng)態(tài)角度測(cè)量數(shù)據(jù)由自主研制的基于FPGA的測(cè)量電路產(chǎn)生,電路選用Cyclone EP4CE115F29C8作為處理算法加載芯片。電路如圖6所示。
圖6 圓光柵動(dòng)態(tài)角度測(cè)量電路實(shí)物圖
選取圓光柵3種典型運(yùn)動(dòng)工況:恒速轉(zhuǎn)動(dòng),轉(zhuǎn)速線性增加的變速運(yùn)動(dòng)以及轉(zhuǎn)速對(duì)數(shù)變化的變速運(yùn)動(dòng)來開展實(shí)驗(yàn)。對(duì)RIGOL DG4162信號(hào)發(fā)生器分別進(jìn)行設(shè)置3種工況,第1種為信號(hào)頻率均為5 MHz的兩路正交方波信號(hào)均速工況,第2種為信號(hào)頻率在30s內(nèi)從1~10 MHz線性增頻工況,第3種為信號(hào)頻率在30 s內(nèi)頻率從1~10 MHz對(duì)數(shù)增頻工況,信號(hào)占空比均為50%,相位差為90°。實(shí)驗(yàn)結(jié)果如圖7所示。
由圖7(a)可見,在恒頻工況下延時(shí)誤差補(bǔ)償前后的測(cè)量誤差值從-0.15″~-0.08″補(bǔ)償回-0.15″~-0″;圖7(b)中,在線性變頻工況下,呈現(xiàn)不斷擴(kuò)大趨勢(shì),補(bǔ)償后的誤差穩(wěn)定在-0.07″~0.07″范圍內(nèi);圖7(c)中,在對(duì)數(shù)變頻工況下,隨著轉(zhuǎn)速劇烈變化,補(bǔ)償前的測(cè)量誤差擴(kuò)大得更快,補(bǔ)償后的誤差收斂在-0.07″~0.07″范圍內(nèi)。
(a)5 MHz恒頻的測(cè)量結(jié)果
實(shí)驗(yàn)結(jié)果表明,對(duì)于3種典型的運(yùn)動(dòng)工況,延時(shí)誤差補(bǔ)償方案都能夠有效提升動(dòng)態(tài)角度測(cè)量精度,補(bǔ)償后的動(dòng)態(tài)角度測(cè)量誤差均處于-0.07″~0.07″范圍內(nèi),證明了該補(bǔ)償算法對(duì)于延時(shí)誤差都有良好的補(bǔ)償效果,能有效提升動(dòng)態(tài)測(cè)角精度。