朱靖,丁斌,毛敏,張翔,陳旭雯,祖洪飛
(1. 浙江理工大學機械工程學院,浙江杭州 310018;2.南通市計量檢定測試所,江蘇南通 226001;3.浙江譜麥科技有限公司,浙江寧波 315048;4.浙江龍宇智能科技有限公司,浙江海寧 314419)
白光干涉測量技術是一種利用低相干干涉原理測量物體表面輪廓的先進方法,它通過參考臂中精密位移臺的移動來匹配被測物體表面微小的形貌變化,形成干涉條紋,進而精確解算出物體表面的輪廓信息。基于白光干涉技術的測量儀器具有非接觸、大量程、高精度等特點,廣泛應用于精密裝配、納米新材料、集成電路和光學表面加工等領域[1-4],是獲取元件表面幾何尺寸和紋理的重要手段。
白光干涉測量系統復雜,不僅包含光源、耦合器等光學器件,還包括運動位移臺、數據采集與分析儀等機電部件。這要求系統的控制軟件不僅要能獨立操作各模塊,還要能協調配合各部分工作以順利完成多變的測試任務。考慮到各部件廠家及規格各異、開發接口眾多等問題以及增強軟件靈活性與擴展性的需求,本文作者選用圖形化操作的編程語言LabVIEW[5]來進行軟件系統的開發。
該系統軟件主要包括運動控制、信號采集以及數據處理和顯示等核心部分。其中,數據處理部分包含干涉信號包絡的峰值提取算法[6],也稱為等光程點判讀法,該算法很大程度上決定了系統的測量精度和上位機軟件的運行效率。主要的峰值提取算法有傅里葉變換法[7]、希爾伯特變換法[8]、小波變換法[9]、包絡平方估計法[10]、空間頻域法[11]等,綜合考慮系統測量效率及測量精度,本文作者選用希爾伯特變換法。
首先設計并搭建測量系統的運動裝置(參考臂S1、S2,測量臂R、Z、X);其次,開發上位機軟件系統及數據處理算法,不僅能控制運動軸運動以及高采樣率數據采集卡同步采集運動軸位置和干涉信號,還能夠實時進行數據處理,得到三維點云,并調用PolyWorks等第三方軟件重建被測物體表面形貌以及進行尺寸測量;最后,對整個系統功能進行測試驗證。
白光干涉測量系統主要包含光源、耦合器、參考臂、樣品臂、探測器、數據采集儀及上位機等部分,如圖1所示。該系統利用白光光譜中不同頻率的光波在樣品表面發生干涉,提取干涉后的合成光強,經過解析獲得樣品表面高度信息[12]。當參考臂與樣品臂的光程差在相干長度內,兩束光就會發生干涉,形成如圖2所示的干涉包絡。

圖1 白光干涉測量系統結構示意

圖2 白光干涉的理論干涉信號
一般情況下,R軸為主旋轉軸,Z軸為探針移動軸,X軸為被測件平移軸,通過R、Z、X三軸復合運動實現對被測對象的連續測量。上位機軟件控制系統采集干涉信號,再通過解調濾波、包絡等光程點判讀等工作,可以準確得到探針到樣品表面的距離L。檢測過程中,參考臂S1內的PZT進行往復掃描,探測器將探測到的包絡峰值的光信號轉化為電信號。最后由數據采集儀將以上信號傳給上位機,如圖3所示,并對信號進行運算處理、峰值提取、點云生成及物體三維形貌表征[13]。

圖3 干涉信號尋址測量原理法
如圖4所示,白光干涉測量系統通常可分解為干涉儀主體和測量采集控制系統兩大模塊[14]。其中干涉儀主體由光學干涉模塊和光電傳感器組成,用以產生干涉條紋并獲取干涉信號。測量采集控制系統由數據采集模塊和運動控制模塊構成,其中運動控制模塊用來控制參考臂S1、S2和樣品臂R、Z、X軸共5個軸的運動。數據采集模塊對干涉信號、運動位置進行同步采集,并與上位機進行通信。

圖4 白光干涉測量系統硬件布置
LabVIEW是一種運用圖形化編程的程序開發語言,它具有智能化程度高、可操作性強、處理能力強等優點,并提供了針對多種應用的數據采集(DAQ)、GPIB、串口、數據分析顯示以及Internet網絡通信的函數庫,而且方便調用Window以及用戶自定義的動態鏈接庫中的函數[15]。
此系統軟件是在LabVIEW community Edition 20.0.1 (32bit) 開發環境下進行編寫的,在其基礎上利用Windows 提供的API函數、XPS控制器中.Net 控件、數據采集模塊SDK軟件二開發包Windows標準ActiveX接口、OpenCV計算機視覺庫以及OpenGL圖形工具庫完成了基于對話框交互式窗口上位機軟件的編寫。文中上位機軟件的開發采用面向對象的模塊化程序設計方法,如圖5所示。該軟件主要分為運動控制模塊、掃描采樣及數據采集模塊和數據處理及結果顯示模塊三部分,每個子模塊可獨立運行,各模塊也可以協同工作完成整個測試,具有關系獨立性好、數據安全性高等優點。

圖5 系統軟件功能模塊組成
系統上位機軟件工作流程如圖6所示,它由系統初始化、硬件連接、運動控制、數據采集分析、自動掃描、配置測試參數、顯示點云、輸出點云、斷開連接等步驟構成。圖7展示了軟件測量界面(圖中為捕獲的干涉包絡),軟件前控制面板主要包括輸入和輸出功能,后程序面板主要為程序組成的連接模塊。

圖7 軟件測量界面
運動控制是指將預定的控制方案和控制指令轉變為對應位移臺運動的功能,用來實現執行機構的精確位置、速度、加速度等參數的控制[16]。此系統含5個獨立運動軸,軟件需要能夠實現5個軸不同方位和不同速度的運動以及同時控制多軸聯動的功能。
運動控制模塊分為參考臂運動控制與樣品臂運動控制兩部分,參考臂部分所使用的控制器為Newport的XPS-D6型集成運動控制器,最多可以同時實現6軸電機控制。插入對應的兼容驅動程序卡,并通過.Net控件進行二次開發。該模組內置了串口通信與控制功能,在LabVIEW開發平臺上加載配置調用該控件的dll鏈接庫,并添加調用相應的函數及屬性,即可靈活自主地完成參考臂運動控制模塊的開發。樣品臂3個位移臺使用的是elmo系列的db36、gold dc bell兩類伺服驅動器,同時通過CAT5e網線以及交換機的實時以太網絡Ethercat通信協議連接至上位機上,以實現高效的實時控制。
本文作者開發的運動控制模塊用到的主要命令有:(1) 串口通信類,用于控制器與上位機之間的通信連接;(2) 參數設置類,用于電機工作模式、使能狀態、導程、每轉脈沖數、加速度、急停減速度、速度等參數的設置;(3) 運行指令類,用于控制工作軸的運行、歸零、停止、插補點動、長動等動作;(4) 參數查詢類,用于速度、加速度、實時位置、電機使能狀態等參數的查詢。運動控制模塊的操作界面如圖8、9所示。

圖8 參考臂運動控制界面

圖9 樣品臂運動控制界面
掃描采樣及數據采集模塊是白光干涉系統測量軟件中最核心的部分,其主要功能是上位機軟件控制數據采集儀(ECON億恒,MI-7008)以及運動驅動器給下位機下達指令,實現多運動軸的復合運動,并且實時采集運動中的干涉信號。
該模塊主要分為三部分:PZT運動參數設置、垂直掃描控制、數據采集。軟件一方面監測參考臂中PZT的運動狀態,保證其處于垂直掃描過程且測量不丟光,同時控制PZT運動的速度及加速度來調節掃描速率;另一方面,完成對數據采集儀的初始化和參數設置,并實現對5路運動軸的軌跡數據和干涉信號的同步采集。
根據雙光束干涉理論[17],滿足相干條件的兩束光可以形成穩定的干涉條紋,對應的光強值表示為
(1)
式中:I1和I2分別為參考光和測量光光強;Rr(τd)為光源自相干函數的實部;τd為兩束干涉光間的時間延遲,由兩束光之間的光程差2z決定,τd=2z/c,其中c為光速。
光源的光譜強度分布可以表示為
(2)
其中:v為光頻率;v0為光源中心頻率;Δv為光譜半高全寬。由于光源自相干函數是光源光譜強度的傅里葉變換,所以光源自相干函數可以表示為
(3)
(4)
其中:g(z)為白光干涉信號的包絡,包絡為高斯型。最后代入式(1)可得到寬譜光源干涉信號的簡化形式為
I(z)=Ibg[1+rg(z)cos(2πτdv0)]
(5)

(6)
進一步可得s(t)的解析信號g(t)為
g(t)=s(t)+js′(t)
(7)
干涉信號經希爾伯特變換后,在頻域各分量的幅度保持不變,但將出現90°相移。即對正頻率滯后π/2,對負頻率超前π/2。對上式取模長A(t)即可得到干涉包絡。
g(t)的幅值為
(8)
該相干峰解調算法直接進行離散的卷積運算,較使用傅里葉正反變換、小波變換等方法效率更高。圖10所示分別為此系統實測干涉包絡信號及通過相干峰值提取算法處理后的結果,可以發現:希爾伯特變換后的波包存在噪聲、輪廓不清晰。因此本文作者進一步設計了IIR低通濾波器[18]對信號進行處理。濾波后曲線最大值對應位置xv,去除濾波群時延后可得到實際等光程點位置xr。

圖10 干涉信號處理結果
以上經掃描采樣及數據采集模塊獲取的干涉信號將傳輸給數據處理及顯示模塊,首先經數據處理得到等光程點,然后顯示測得的三維坐標信息。圖11所示為上位機軟件對一個環規內壁5個不同位置測量的顯示結果。

圖11 上位機軟件中測量點云散點圖
為驗證文中白光干涉測量系統上位機軟件功能是否滿足設計要求,對一個標稱內徑為50.002 3 mm的環規進行了測試。首先,打開上位機軟件并連接各運動軸及數據采集儀;其次,復位所有運動軸并進行校準零位;然后,微調X軸,將被測件移動至焦距附近;隨后,在軟件中設置掃描區域、采樣速率等測試參數并開始測量;最后,得到點云數據,并調用PolyWorks擬合環規內徑。擬合結果如圖12所示,此系統對該環規的測量直徑為50.006 2 mm,與標稱值相比,誤差僅為3.9 μm,這證明了文中所開發的軟件及算法的有效性及精確性。另外,通過此系統測得的點云數據,還可以得到環規內表面的圓柱度等形位公差信息。

圖12 環規測量及擬合結果
基于白光干涉測量技術,搭建了控制系統硬件結構,并基于LabVIEW開發了包含運動控制模塊、掃描采樣及數據采集模塊和數據處理及結果顯示模塊的上位機軟件;通過對一個標稱內徑為50.002 3 mm環規的測試,驗證了文中所開發的軟件及算法的有效性及精確性。