基于PMAC控制卡的激光掃描尺寸測(cè)量系統(tǒng)
引 言
在機(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。[!--empirenews.page--]
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所示。[!--empirenews.page--] |
從圖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é) 語 |