張新紅,黃智杰,蘭發(fā)勝,李華健,陳虹微,陳晶晶,呂 晶
(龍巖學院 福建龍巖 364000)
隨著半導體芯片技術的快速發(fā)展,人工智能、自動控制已深入到生產制造、智能家居、醫(yī)療、遙感監(jiān)控、逆向工程等各個領域,這就急需應用型電子、光電、電信、計算機等專業(yè)人才。增加實踐訓練,加強專業(yè)知識聯(lián)系,提高綜合設計、解決實際問題能力,是培養(yǎng)應用型人才的重要舉措[1]。為此,教育部、科技部組織高校開展各類學科競賽,大力推進實踐課程改革和專業(yè)群建設[2]。在模擬電子、數(shù)字電子、單片機、光電子技術、傳感器、光學、激光原理、光電檢測技術等課程實驗基礎上,聯(lián)合開發(fā)綜合性課題的課程實訓、畢業(yè)設計、大學生創(chuàng)新創(chuàng)業(yè)項目、挑戰(zhàn)杯等是各高校常用的提高應用能力的實踐訓練方法。
激光三角測頭運用經典的三角法測距[3],以激光為非接觸測量媒質,實現(xiàn)距離、位移、長度、輪廓、形貌等物理量測量[4],廣泛用于三坐標測量機、工業(yè)照相機、激光比長儀中。位置敏感探測器PSD測量精度較高,驅動和處理電路簡單,常用于激光三角測頭中[5]。本文以本科生通用的單片機為主控芯片,通過電機驅動PSD的激光三角測頭在XY二維平面內掃描,獲得水平面上靜止物體Z方向的高度,再利用串口通信電路和MATLAB的GUI可視化和通信功能,實現(xiàn)物體三維輪廓的可視化實時掃描。本設計綜合了電子、光電、自動控制等多專業(yè)基本技能,適合應用型人才培養(yǎng)綜合技能訓練。
圖1是系統(tǒng)機構示意圖。如圖1所示,被測物體靜止放置在標準水平面上,激光測頭(含PSD)為檢測單元,詳細見1.2部分。系統(tǒng)由單片機控制并采集數(shù)據(jù),X、Y絲桿構成測頭運動平面,X電機帶動測頭沿X絲桿橫向掃描,再沿Y絲桿前進,掃描過程中PSD獲得物體表面高度信息Z,同時記錄X、Y位置信息,單片機通過串口通信將獲取的物體表面位置信息X、Y、Z傳給PC機的MATLAB,由MATLAB的GUI功能和串口通信、數(shù)據(jù)控制處理功能可視化顯示被測物體三維輪廓。
圖1 輪廓測量儀裝置機構設計示意圖
圖2 直射式激光三角法工作原理示意圖
本系統(tǒng)激光三角測頭采用直射式方式,它組裝方便,測試過程中測頭運動對測量結果影響較小[6],圖2是直射式激光三角測頭測試原理圖。如圖2所示,激光器發(fā)出的光經匯聚透鏡聚焦后垂直入射到參考表面A和被測物表面B處,漫反射的光經接收透鏡成像在PSD相應的A'、B'位置處。由幾何關系可得到這兩者位置關系如下:
(1)
式中,a=BO為激光束經匯聚透鏡后到達被測表面點B與該光束經被測表面漫反射后到達接收透鏡中心O的距離,b=OB'為該光束至接收透鏡中心O到被測表面點B在PSD成像點B'的距離,Z=AB、Z'=A'B'分別為參考平面和被測表面相應參考點A與被測點B間距及它們在PSD上成像點A'、B'間距。
若一維PSD以中點光點位置為坐標原點,光點坐標僅與兩電極輸出電流、PSD長度有關,即
(2)
由此可見,只要讀取電極電流,即可通過光點位置獲得物體高度信息。測量中隨O點變化,(1)式中a、b、α、β也會變化,Z與Z'非線性關系,本設計采用標準厚度的A4紙定標。
圖3 數(shù)據(jù)傳輸與MATLAB時顯處理原理圖
利用MATLAB的GUI功能在PC端建立可視化界面,設計串口通信電路和傳輸協(xié)議建立MATLAB與單片機間的數(shù)據(jù)通信,圖3是實現(xiàn)數(shù)據(jù)傳輸和可視化時顯原理圖。如圖3所示,掃描過程中單片機獲取的物體表面位置信息X、Y、Z經串口通信電路和傳輸協(xié)議以單個字符串形式傳給PC機端的MATLAB,儲存在三維字符串數(shù)組中,利用轉換函數(shù)Str2num轉換成數(shù)字數(shù)組拆分成單個的數(shù)字X、Y、Z,用polo3函數(shù)逐點繪制物體輪廓線條,當所有數(shù)據(jù)傳輸完時用surf三維曲面函數(shù),顯示出物體的完整三維輪廓。
圖4是系統(tǒng)硬件邏輯框圖。如圖4所示,選用STC12C5A60S2單片機為主控芯片,除PC端MATLAB的GUI界面上自動控制和實時可視化顯示外,也在硬件中設計按鍵手動控制、系統(tǒng)運行信息和采集數(shù)據(jù)的LCD1602液晶顯示。單片機驅動電機帶動激光測頭采集物體表面三維信息,通過CH340G串口通信實時發(fā)送到PC端MATLAB處理,在GUI界面實時顯示掃描物體輪廓。
圖4 系統(tǒng)硬件邏輯框圖
根據(jù)(2)式,PSD信號采集和處理按圖5所示思路進行,其中I-V轉換放大電路、加減和除法電路、反相電路分別運用AD704JN、AD538BD、LM324芯片。信號傳輸采用CH340G轉換芯片構成串口通信電路,將USB信號轉換為TTL電平,用printf函數(shù)發(fā)送數(shù)據(jù),當觸發(fā)到需要發(fā)送數(shù)據(jù)時將發(fā)送標志位TI=1,結束后將發(fā)送標志位TI=0進行協(xié)議傳輸。
圖5 PSD信號處理框圖
按設計思路,運用MATLAB的GUI功能設計可視化界面,編寫單片機程序和M文件執(zhí)行系統(tǒng)控制、信息傳輸、圖線繪制和實時顯示。圖6(a)和(b)是系統(tǒng)機構和電路實物圖,圖7是PC端MATLAB的GUI界面和運行效果。圖6(a)測試機構中激光三角測頭LD激光器、PSD驅動共用一個電源供電,圖6(b)控制系統(tǒng)單片機、電機驅動、串口通信、液晶等電路共用另一電源供電。圖7 GUI界面包括串口參數(shù)設置、信號傳輸控制和圖像顯示區(qū)。由圖6和7可以看出,該平臺制作簡單,元器件常見,適合學生自主開發(fā),且綜合MATLAB 的GUI功能和串口通信、數(shù)據(jù)控制處理功能,實現(xiàn)了PC電腦自動控制和實時可視化效果。
(a)機構外觀圖
圖7 PC端MATLAB的GUI界面運行效果圖
表1和圖8是系統(tǒng)性能測試和實物應用測試結果。從表1中數(shù)據(jù)可以看出,系統(tǒng)能耗較低,待機功率僅約7.2 W,Y軸移動雙電機同時工作時功率最大約23.04 W。測量范圍主要與PSD長度有關,本設計采用8 mm的PSD,測量范圍Z高度約為0~23 mm,放大了近3倍。Z高度測量精度較高,10次測量實測為10.23 mm的位置結果平均值為10.22 mm。掃描時間效率與電機步進間隔有關,間隔越小掃描時間越長,掃描效果也越好。
表1 系統(tǒng)性能測試參數(shù)
圖8 測試實物和三維輪廓圖、高差平面圖
激光三角輪廓掃描系統(tǒng)以單片機為主控芯片,運用MATLAB的GUI功能設計可視化界面,電機驅動以PSD為探測器的直射式雙透鏡激光三角測頭掃描物體表面,獲取物體表面位置信息X、Y、Z,通過串口電路和傳輸協(xié)議單片機與MATLAB通信,實現(xiàn)靜態(tài)物體表面三維輪廓的實時掃描顯示。該系統(tǒng)各部分基于本科基礎教學,既簡單又具獨立性,整體設計集電子、光電、機械、自動控制、可視化顯示于一體,設計方案科拓性強,激光三角應用廣泛,非常有利于應用型人才培養(yǎng)的基礎扎實、應用綜合的實踐能力培養(yǎng)目標。