《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于PMAC的激光掃描尺寸測量系統(tǒng)
基于PMAC的激光掃描尺寸測量系統(tǒng)
摘要: 為了方便實現(xiàn)對這類簡單、一維尺寸、高效、高精度,且易于數(shù)據(jù)管理的測量,在此提出一種可在PMAC控制卡控制的普通運動平臺上實施激光掃描測量的系統(tǒng)。它融合了以上兩種測量方法,即通過對激光信號的檢測獲得被測物的邊緣信號,并根據(jù)此信號鎖存光柵尺讀數(shù),以得到被測物的邊緣位置,從而進一步得到尺寸值。
Abstract:
Key words :

引 言
    在機械加工中經(jīng)常需要對一些簡單的幾何尺寸,如直徑、邊距等進行測量。這類工作重復(fù)性大,工作量大,傳統(tǒng)的手工測量不僅增加了現(xiàn)場工作人員的工作強度,精度低,且手工測量的數(shù)據(jù)在統(tǒng)計處理時也很不方便。這類工作如果使用坐標測量儀等精度高,通用性強的儀器測量,在經(jīng)濟和效率上都很難滿足要求。另有一種專門的激光掃描傳感器可用于此類測量,但其測量精度是建立在對獨立運動系統(tǒng)速度的精確控制上的,這無疑增加了成本。為了方便實現(xiàn)對這類簡單、一維尺寸、高效、高精度,且易于數(shù)據(jù)管理的測量,在此提出一種可在PMAC控制卡控制的普通運動平臺上實施激光掃描測量的系統(tǒng)。它融合了以上兩種測量方法,即通過對激光信號的檢測獲得被測物的邊緣信號,并根據(jù)此信號鎖存光柵尺讀數(shù),以得到被測物的邊緣位置,從而進一步得到尺寸值。
    這種方法具有光電測量高速、非接觸的優(yōu)點,又可充分利用技術(shù)成熟、應(yīng)用廣泛的光柵尺資源。由于光柵尺的精度通常都較高,此測量系統(tǒng)可在一定范圍內(nèi)獲得較高的精度。

1 測量原理及整體構(gòu)造
    測量系統(tǒng)由工控機、PMAC控制卡、運動測控系統(tǒng)(包括光柵尺、伺服電機、絲杠等)、激光發(fā)射裝置和光電檢測裝置組成。系統(tǒng)的主要原理如圖1所示,被測物裝在實驗臺上,并隨實驗臺一起運動,運動的控制由PMAC控制卡完成,它讀人光柵尺的讀數(shù),并輸出給電機的控制量。被測物兩側(cè)分別是激光發(fā)射裝置和光電檢測元件,當被測物位于光路中時,檢測元件處于斷開狀態(tài);當被測物離開時,元件導(dǎo)通。隨著被測物的移動,當其邊沿通過激光束時,檢測元件會產(chǎn)生由通到斷或由斷到通的跳變。通過一定的設(shè)置,PMAC可檢測到這些跳變信號,并鎖存當時的光柵尺讀數(shù),這樣就得到被測物的邊沿位置,而通過測量前后兩個邊沿位置,就可得到所需的尺寸值。

    激光器采用了小功率半導(dǎo)體激光器,波長為640 nm。其小巧的體積和較低的價格使其非常適用于這類應(yīng)用場合。光電檢測元件采用普通的金屬封裝光電三極管。
    PMAC插在工控機的PCI插槽內(nèi),并通過PCI總線進行通信。通信的主要內(nèi)容有兩方面:向PMAC發(fā)運動控制指令,從而使其完成平臺的運動控制;從 PMAC內(nèi)讀取其鎖存的被測物邊沿位置讀數(shù),從而完成結(jié)果的輸出、保存及分析工作。為方便對采集數(shù)據(jù)的處理分析,以及便于研究系統(tǒng)性能,該系統(tǒng)采用了工控機加PMAC的組織方案,在系統(tǒng)定型后可以使用更加經(jīng)濟的方案,如ARM-Linux加PMAC。
    PMAC控制卡的使用是很靈活的,要構(gòu)成上面所述的系統(tǒng)需要對其進行一些設(shè)置。下面將詳細介紹在這種應(yīng)用中PMAC卡的設(shè)置方法及上下位機通信的實現(xiàn)辦法。

2 PMAC卡的設(shè)置
2.1 PMAC卡簡介
    PMAC運動控制卡是Delta-Tau公司推出的,它是可通過多種方式與微機接口的系列控制卡。該例使用的是PCI接口控制卡:PMAC-PC。

 

    PMAC本質(zhì)上是一個基于DSP芯片的多功能板上系統(tǒng)。該例的PMAC有2個主接口,每個主接口可以同時控制4臺電機的運動。對于每一臺電機,主接口都有一組相應(yīng)的引腳(如圖2所示)。分別負責(zé)光柵尺信號輸入,電機控制輸出和標志信號輸入。在該例中主接口通過跳線設(shè)置為光電隔離模式。

 

    除主接口外,PMAC還有一系列通用的模擬、數(shù)字輸入/輸出口。這些端口與其DSP內(nèi)存統(tǒng)一編址,可通過統(tǒng)一的方式存取。PMAC地址空間的功能是預(yù)設(shè)固定的,如某一部分地址保存的數(shù)據(jù)代表某臺電機的設(shè)置,另一部分則是用戶應(yīng)用所保存的數(shù)據(jù)。為方便上位機對PMAC內(nèi)存的操作和應(yīng)用程序的編寫,其內(nèi)存被按其功能劃分為各種變量,如I變量、M變量、P變量。I變量的值設(shè)置了PMAC卡的工作環(huán)境,這又使I變量可被劃分為許多種類型,如電機設(shè)置I變量、通信設(shè)置I變量、編碼器I變量、P變量(供用戶程序使用的全局變量、M變量(指針變量),即其本身所代表的內(nèi)存地址存儲的是另一個存儲單元的地址)。M變量可根據(jù)需要指向任意存儲位置,包括內(nèi)存和端口寄存器。不過在PMAC上電時,部分M變量會被預(yù)先初始化為指向特殊位置的值,如M203的缺省值指向2號編碼器的位置捕獲寄存器。
2.2 位置捕獲功能的設(shè)置
    位置捕獲功能是指在一個外部事件進入某一寄存器時,鎖存相應(yīng)的當前編碼器位置。這是一個完全由與編碼器相關(guān)的硬件電路來完成的任務(wù),所以它惟一的延遲就是硬件門的延遲,這使它具有非常高的位置捕捉精度。
    電路的工作方式可通過軟件選擇,如可設(shè)置讀入外部事件的位置。設(shè)置是通過相關(guān)編碼器I變量完成的。每一個編碼器都可通過5個I變量來設(shè)置,位置捕獲功能相關(guān)的變量為編碼器I變量2和編碼器I變量3。變量3設(shè)置事件捕捉的位置,如可將其設(shè)為通過HOME標志捕捉。變量2設(shè)置外部事件的捕捉方式,如是上跳沿還是下跳沿。PMAC共可設(shè)置16個編碼器,每個編碼器的I變量是按順序5個一組編排的,依次為I900~I979。對于編碼器2(編號從1開始),若將其設(shè)置為捕捉HOME標志的上跳沿信號進行位置捕捉,則可通過向PMAC發(fā)送命令“I907=2”和“I908=0”來實現(xiàn)。每一個編碼器都對應(yīng)于一組寄存器,通過這些寄存器可設(shè)置編碼器的工作方式,如前面對編碼器I變量的設(shè)置,實際就是向這些寄存器的某些位寫入某些值。通過這些寄存器也可讀取編碼器信息,如當編碼器完成一次位置捕捉后,被鎖存的位置就保存在這些寄存器中,對于編碼器2,該寄存器的位置為X:MYMC007的所有24位。編碼器還根據(jù)位置捕捉的情況自動設(shè)置某些標志位,即當完成一次捕捉時將標志置1。此時,無論外部信號有什么變化都不會再進行捕捉,當捕捉結(jié)果被取走時(即對相應(yīng)寄存器有讀操作),編碼器自動將標志置0,并重新開始響應(yīng)外部事件進行新的位置捕捉。對于編碼器2,該標志位的位置為X:MYMC004的第17位(從0開始,共24 位)。
2.3 PLC程序的設(shè)置
    PMAC是一個多任務(wù)的計算機應(yīng)用系統(tǒng)。它除了能通過各種設(shè)置和運動程序完成高精度的定位和對復(fù)雜運動的控制任務(wù)外,還可分時執(zhí)行多類其他任務(wù),并根據(jù)任務(wù)的實時性要求,分配任務(wù)的優(yōu)先級,高優(yōu)先級的任務(wù)會打斷低優(yōu)先級的任務(wù)。PLC程序是PMAC所支持的用戶程序之一,在任務(wù)優(yōu)先級上處于最末的后臺處理級。它可在用戶的主機上編寫,之后下載到PMAC上執(zhí)行。與PMAC支持的另一種優(yōu)先級較高的用戶程序——運動程序相比。 PLC程序沒有運動語句,其在功能上與可編程邏輯控制器非常類似。
    在該應(yīng)用中,PLC程序的任務(wù)是判斷是否發(fā)生位置捕獲,如發(fā)生,則將其讀人數(shù)組中,并對捕獲的位置進行計數(shù)。之所以要將值讀入數(shù)組中,是因為由于激光掃過被測物邊緣時會由于邊緣的反射產(chǎn)生抖動,以致采集到的數(shù)據(jù)多于1個,為防止后面的數(shù)據(jù)沖掉前面的數(shù)據(jù),故將掃過一個邊緣產(chǎn)生的數(shù)據(jù)放入數(shù)組中。
    可用的PLC程序如下:

  
    在程序中m203指向編碼器2的位置捕捉寄存器;m217指向編碼器2的位置捕捉狀態(tài)標志位;m33指向P變量220,這是數(shù)組第一個元素的位置;m34指向m33的低12位,這樣就可操作m33,使其在讀人捕捉位置后指向下一個P變量。

3 測量系統(tǒng)特性初探
    為研究系統(tǒng)的測量性能,以20 mm標準量塊為被測物,在上述系統(tǒng)上進行了一系列測量實驗。實驗結(jié)果通過上位機用Vc++編寫的程序進行采集、存儲和分析。與PMAC的通信是利用 Delta-tau公司提供的動態(tài)連接庫PComm32.dll完成的。由于C++語言對數(shù)值計算和圖表輸出的支持較少,程序采用與Matlab混合編程的方式來完成分析工作,即采用了調(diào)用Mat-lab COM服務(wù)器的方式,實現(xiàn)對Matlab函數(shù)的調(diào)用。這一編程方式也可在其他語言中實現(xiàn)。
    在測量過程中,被測物的兩個邊沿都以兩種方式被定位,即從亮到暗和從暗到亮,且每次實驗的樣本數(shù)都不少于300。也就是說,每次的實驗結(jié)果均包含4個數(shù)據(jù)組,分別記作Q_L(代表前邊沿,從亮到暗),Q_A(代表前邊沿,從暗到亮),H_L(代表后邊沿,從亮到暗),H_A(代表后邊沿,從暗到亮),且每組數(shù)據(jù)的個數(shù)不少于300。由于測量系統(tǒng)本質(zhì)上是通過對邊緣的定位來進一步完成尺寸測量的,所以在以下分析中僅就邊緣定位的系統(tǒng)特性作一簡要說明。
    圖3為1次實驗的結(jié)果,該實驗所用光柵尺的每一計數(shù)代表0.1 μm。

 

 

 
 
 
 
 
 

 圖3所示數(shù)據(jù)的數(shù)字特征如表1所示。

 

 

 

    從圖3可見,前邊沿測量數(shù)據(jù)與時間呈明顯的線性關(guān)系,這一特點在其他實驗中也有明顯的體現(xiàn)。依據(jù)變值系統(tǒng)誤差的判別方法可知,這一特性可看作是一種變值系統(tǒng)的誤差。變值系統(tǒng)誤差的消除有多種方式,這里采取的思路是首先通過大量實驗找到一定的經(jīng)驗函數(shù),以刻畫這種誤差,之后則可依據(jù)這個函數(shù)通過補償?shù)霓k法消除誤差,從而提高系統(tǒng)精度。表1最后一行括號內(nèi)的數(shù)字就是通過測量序列中一元回歸分析,剔除時間影響后得出的值。值得注意的是,測量數(shù)據(jù)和時間的這種相關(guān)性并不是十分穩(wěn)定,它受到其他實驗環(huán)境因素的影響,即適用于某個系統(tǒng)的補償函數(shù)。通常當系統(tǒng)參數(shù)變化時,補償函數(shù)就不再適用了。要在實際測量中通過這種方法提高精度,需要針對具體的情況通過實驗完成。另外,可以看出,對同一邊的兩組數(shù)據(jù),標準差有一定差異,這在其他實驗數(shù)據(jù)組中也是普遍現(xiàn)象,可以考慮采用精度較高的數(shù)據(jù)組來計算尺寸值,即用H_L和Q_A來計算。

4 結(jié) 語
    在由PMAC控制的運動平臺上,可以利用PMAC的位置捕獲功能和在其上運行的PLC程序來方便的構(gòu)建激光掃描尺寸測量系統(tǒng)。通過與上位機的軟件配合,該系統(tǒng)可實現(xiàn)對一般工件尺寸的快速、高效、非接觸測量,其精度可以滿足絕大多數(shù)的應(yīng)用場合。通過進行多次測量實驗,可得到與時間相關(guān)的變值系統(tǒng)誤差經(jīng)驗函數(shù),從而進一步提高精度。

 

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。