楊洪濤,范祿源,胡 毅
(1.安徽理工大學(xué)機(jī)械工程學(xué)院,安徽淮南 232001;2.合肥工業(yè)大學(xué)儀器科學(xué)與光電工程學(xué)院,安徽合肥 230009)
自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)是參考傳統(tǒng)關(guān)節(jié)臂測量機(jī)結(jié)構(gòu),加上6個伺服電機(jī)和伺服驅(qū)動器、高精度光電編碼器組成的閉環(huán)控制系統(tǒng),可以實(shí)現(xiàn)自動定位和測量[1-4]。為了實(shí)現(xiàn)測量機(jī)高精度定位測量,需實(shí)現(xiàn)電機(jī)閉環(huán)控制系統(tǒng)的精確控制和6個關(guān)節(jié)角度的高精度測量,這就要求對控制系統(tǒng)關(guān)鍵組成部分(光電編碼器)實(shí)現(xiàn)高精度實(shí)時測量。目前國內(nèi)外對于光電編碼器的測量主要采用單片機(jī)、DSP加A/D芯片方法,可以實(shí)現(xiàn)對光電編碼器的角度測量,但受限于A/D芯片自身精度,現(xiàn)有系統(tǒng)測量精度、實(shí)時性、抗干擾性無法滿足自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)的要求[5-6]。本文設(shè)計(jì)了一種基于FPGA組合設(shè)計(jì)方法的光電編碼器角度實(shí)時測量系統(tǒng),可以實(shí)現(xiàn)對增量式光電編碼器輸出信號的抗擾動、四倍頻辨相計(jì)數(shù)、數(shù)據(jù)傳輸?shù)裙δ堋?/p>
自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)整體結(jié)構(gòu)如圖1所示。測量機(jī)根據(jù)上位機(jī)的輸入指令,結(jié)合路徑規(guī)劃算法,驅(qū)動6個電機(jī)轉(zhuǎn)動,同時將光電編碼器輸出信號實(shí)時反饋至電機(jī)驅(qū)動器中,不斷修正電機(jī)控制參數(shù),通過測頭觸發(fā)信號的反饋,將當(dāng)前的光電編碼器角度帶入運(yùn)動學(xué)正解中求出被測點(diǎn)的空間位置,實(shí)現(xiàn)測量機(jī)精確定位和測量。由自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)工作原理可知,光電編碼器用于實(shí)時修正電機(jī)控制參數(shù)和6個關(guān)節(jié)角度的高精度測量,因此保證光電編碼器角度測量系統(tǒng)的實(shí)時性和精確性是實(shí)現(xiàn)自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)高精度定位測量的基礎(chǔ)。
圖1 自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)整體結(jié)構(gòu)圖
本文使用EP4CE10F17C8芯片的FPGA作為核心板,開展光電編碼器角度實(shí)時測量系統(tǒng)的研究。因文章篇幅有限,本文僅對其中1個角度測量系統(tǒng)進(jìn)行設(shè)計(jì),其他5個采用相同的結(jié)構(gòu)。測量系統(tǒng)結(jié)構(gòu)如圖2所示,主要由抗擾動、四倍頻辨相計(jì)數(shù)、數(shù)據(jù)傳輸和上位機(jī)顯示4個模塊組成,實(shí)現(xiàn)光電編碼器輸出信號消除干擾和噪聲、辨別轉(zhuǎn)向、計(jì)算轉(zhuǎn)角、數(shù)據(jù)傳輸至上位機(jī)顯示功能。
圖2 測量系統(tǒng)結(jié)構(gòu)框圖
自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)實(shí)際工作時,產(chǎn)生的機(jī)械振動和存在的電磁干擾會造成光電編碼器輸出信號含有高頻脈沖噪聲,降低整個系統(tǒng)的測量精度,為了測量的角度更加接近實(shí)際值,光電編碼器角度實(shí)時測量系統(tǒng)必須加入抗擾動電路。
本模塊采用如圖3所示的原理圖輸入設(shè)計(jì)方式,由D觸發(fā)器、與門、或非門和JK觸發(fā)器組成[7]。D觸發(fā)器和JK觸發(fā)器保證A、B兩相輸出信號中,維持4倍及以上時鐘頻率的有效信號通過本模塊,而干擾和噪聲因持續(xù)時間短,在JK觸發(fā)器處被濾除。經(jīng)過反復(fù)調(diào)試,為本模塊提供50 kHz時鐘頻率時,消除干擾和噪聲的效果最好。
圖3 抗擾動模塊電路圖
自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)進(jìn)行測量時,因被測點(diǎn)的空間位置不同,導(dǎo)致測量機(jī)每次工作時各關(guān)節(jié)的轉(zhuǎn)向和角度不同,故需要設(shè)計(jì)測量光電編碼器轉(zhuǎn)向和轉(zhuǎn)角的四倍頻辨相計(jì)數(shù)電路,保證測量機(jī)的定位測量精度。
依據(jù)光電編碼器輸出軸轉(zhuǎn)動時,A、B兩相信號在一個周期內(nèi)發(fā)生00→10→11→01→00(正轉(zhuǎn))或00→01→11→10→00(反轉(zhuǎn))狀態(tài)變化的特點(diǎn),本模塊采用Verilog HDL語言設(shè)計(jì)方式。當(dāng)檢測到濾波后的A、B兩相信號發(fā)生上述狀態(tài)變化時,觸發(fā)本模塊進(jìn)行計(jì)數(shù),正轉(zhuǎn)加1,反轉(zhuǎn)減1。故在一個信號周期內(nèi),計(jì)數(shù)頻率是光電編碼器輸出信號頻率的4倍,提高了系統(tǒng)的測量精度,進(jìn)一步提高了自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)的定位測量精度。
為了保證上位機(jī)可以實(shí)時地接收四倍頻辨相計(jì)數(shù)模塊中完整的數(shù)據(jù),本模塊在Qsys軟件中搭建由時鐘、Nios II、SDRAM、JTAGUART、System ID和PIO 6個IP核組成的實(shí)時數(shù)據(jù)傳輸系統(tǒng),其構(gòu)架如圖4所示。其中PIO IP核設(shè)置為32位的輸入端口,保證數(shù)據(jù)傳輸?shù)耐暾?;時鐘IP核頻率設(shè)置為100 MHz,保證數(shù)據(jù)傳輸?shù)膶?shí)時性。
圖4 數(shù)據(jù)傳輸系統(tǒng)架構(gòu)圖
上位機(jī)顯示模塊在Visual Studio的MFC應(yīng)用程序中進(jìn)行設(shè)計(jì)與開發(fā),完成與下位機(jī)通訊、指令輸入、實(shí)時顯示數(shù)據(jù)、系統(tǒng)參數(shù)調(diào)整和數(shù)據(jù)保存等功能,其流程圖如圖5所示。
圖5 軟件系統(tǒng)流程圖
為了驗(yàn)證本文設(shè)計(jì)的抗擾動模塊具有很好的濾波效果,對測量系統(tǒng)是否包含抗擾動電路的2種情況進(jìn)行了仿真實(shí)驗(yàn)。為了保證仿真結(jié)果更加接近真實(shí)值,仿真實(shí)驗(yàn)的時鐘信號即CLK_DIANLU設(shè)置為50 kHz。從圖6所示的實(shí)驗(yàn)結(jié)果可以看出,測量系統(tǒng)無抗擾動電路時,光電編碼器的A、B兩相輸出信號中存在的干擾和噪聲會進(jìn)入四倍頻辨相計(jì)數(shù)模塊中,引起計(jì)數(shù)錯誤,造成角度測量不準(zhǔn)確,而加入抗擾動電路后,光電編碼器輸出信號中的干擾和噪聲被濾除,保證了角度測量值與實(shí)際值的一致性,因此抗擾動模塊可以有效濾除干擾和噪聲。
(a)無抗擾動電路
(b)加入抗擾動電路圖6 抗擾動模塊仿真結(jié)果
為了驗(yàn)證上述基于FPGA組合設(shè)計(jì)方法的光電編碼器角度實(shí)時測量系統(tǒng)的可行性,本文以增量式光電編碼器為研究對象,利用現(xiàn)有的實(shí)驗(yàn)裝置搭建驗(yàn)證平臺。實(shí)驗(yàn)系統(tǒng)如圖7所示,由FPGA開發(fā)板、USB-6229數(shù)據(jù)采集卡、增量式光電編碼器和上位機(jī)組成。將光電編碼器通過柔性聯(lián)軸器固定至由電機(jī)帶動的精密絲杠末端,F(xiàn)PGA開發(fā)板與數(shù)據(jù)采集卡在絲杠轉(zhuǎn)速為0.80 r/s時,同時采集光電編碼器的輸出信號并保存,其中數(shù)據(jù)采集卡采用一個信號周期內(nèi)計(jì)數(shù)頻率是光電編碼器輸出信號頻率4倍的X4編碼類型。從表1和表2所示的光電編碼器正反轉(zhuǎn)過程中部分實(shí)驗(yàn)數(shù)據(jù)可以看出,F(xiàn)PGA與16位USB-6229數(shù)據(jù)采集卡在光電編碼器轉(zhuǎn)動到某一位置時的數(shù)據(jù)完全相同,因此本文設(shè)計(jì)的測量系統(tǒng)可以實(shí)現(xiàn)16位分辨率的高精度測量。同時由圖8所示的實(shí)驗(yàn)結(jié)果可知,F(xiàn)PGA與數(shù)字采樣頻率為1 MHz的USB-6229數(shù)據(jù)采集卡在光電編碼器輸出軸正反轉(zhuǎn)過程中采集的數(shù)據(jù)完全吻合,因此本文設(shè)計(jì)的測量系統(tǒng)可以實(shí)現(xiàn)1 MHz采樣頻率的實(shí)時數(shù)據(jù)采集。
圖7 實(shí)驗(yàn)裝置圖
表1 光電編碼器正轉(zhuǎn)部分?jǐn)?shù)據(jù) (°)
表2 光電編碼器反轉(zhuǎn)部分?jǐn)?shù)據(jù) (°)
本文設(shè)計(jì)了能夠用于自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)的關(guān)節(jié)角度實(shí)時測量系統(tǒng),分析了基于FPGA設(shè)計(jì)的光電編碼器角度實(shí)時測量系統(tǒng)中各模塊的目的和實(shí)現(xiàn)方法,搭建了實(shí)驗(yàn)平臺,并通過抗擾動模塊的仿真實(shí)驗(yàn)、FPGA與數(shù)字采樣頻率為1 MHz的16位USB-6229數(shù)據(jù)采集卡同步對比實(shí)驗(yàn)驗(yàn)證了該測量系統(tǒng)的可行性。從實(shí)驗(yàn)結(jié)果可以看出,抗擾動模塊可以有效濾除干擾和噪聲,且在相同的實(shí)驗(yàn)條件下,F(xiàn)PGA與數(shù)據(jù)采集卡同時測量光電編碼器正反轉(zhuǎn)的數(shù)據(jù)完全吻合。由于光電編碼器與圓光柵輸出信號格式類似,該測量系統(tǒng)可以延伸到圓光柵角度測量。因此,本文設(shè)計(jì)的基于FPGA組合設(shè)計(jì)方法的光電編碼器角度實(shí)時測量系統(tǒng)可以直接用于自驅(qū)動關(guān)節(jié)臂坐標(biāo)測量機(jī)。
(a)光電編碼器正轉(zhuǎn)
(b)光電編碼器反轉(zhuǎn)