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

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

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

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

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

 

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

 

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

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

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

 

 

 
 
 
 
 
 

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

 

 

 

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

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

 

 

 

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