劉 燕,吳忻生,陳 安,胡躍明
(1.華南理工大學 精密電子制造裝備教育部工程研究中心,廣州 510641;2.廣州現代產業技術研究院 精密電子制造技術研發中心,廣州 510640)
表面貼裝技術SMT(Surface Mount Technology)在集成電路產品的自動化生產過程中得到了廣泛應用,而貼片機是 SMT裝配線上最關鍵的設備,貼片機是一個集光、機、電和氣、設計制造一體化的先進制造設備[1],貼片機的核心軟件直接影響整個系統的可操作性和穩定性,是貼片機能否順利完成高速度高精度貼裝工作的決定性因素。從結構上貼片機主要分為過頂拱架型、轉塔型和大規模并行型三種類型,本文在高速高精度全視覺過頂拱架型貼片機(型號BHTP3350)的基礎上討論其系統軟件的程序實現技術。
對高速高精度全視覺過頂拱架型貼片機進行系統組成分析,一般可分為四大模塊:機械系統、控制系統、視覺系統和軟件系統。如圖1所示。

圖1 貼片機的系統組成
貼片機的貼片流程可以分為三步[2]:1)貼片機系統位置標定、熱機、機械參數調整等;2)創建貼裝工藝數據,包括PCB板數據、元件數據、喂料器數據、Mark數據、貼裝數據等;3)按照貼裝工藝數據對PCB板進行自動循環貼裝。上板、自動貼裝和下板是自動貼裝的三個步驟[3],自動貼裝的動作按先后順序依次為:貼裝頭運動到喂料器取料運動過元件攝像機(視覺系統攝像、檢測、計算) 貼裝頭運動到該元件貼裝位置貼片(根據視覺系統的結果調整貼裝坐標值) 將不合格元件拋入拋料區 貼裝頭運動到取料點開始下一輪循環,直到完成所有貼裝點的貼裝,如圖2所示。

圖2 貼裝流程圖
結合圖1、圖2,貼片機的系統軟件可按模塊劃分中應該包含數據庫管理模塊、視覺處理軟件模塊、控制軟件模塊(包括運動控制和信號控制)。將貼片機的控制系統軟件分為兩層[4]。軟件的底層包括貼片機電氣控制系統、PCB數據管理系統、機器視覺系統、運行監測系統;軟件的上層為人機交互界面以及協調控制程序設計。貼片機的控制系統軟件總體系結構如圖3所示。

圖3 控制系統軟件總體系結構圖
全視覺貼片機要完成貼片任務,按照貼裝流程圖(圖2)所示,需要依次完成送入PCB板,視覺定位PCB板Mark點位置,取料,元件視覺檢測及糾偏,拋料貼裝,送出PCB板。
整個設備共需要控制四個運動軸,分別為控制頭部組裝件水平面上移動的X和Y軸、控制頭部組裝件豎直方向貼裝高度的Z軸、旋轉頭部組裝件的R軸。設備運動控制結構如圖4所示。

圖4 設備運動控制結構圖
本機采用眾為興數控技術ADT850高性能四軸伺服/步進控制卡[5],日本Panasonic伺服電機和伺服放大器組成運動控制部分。ADT850是基于PCI總線,支持即插即用,所有輸入、輸出均采用光耦隔離,抗干擾性強。4軸伺服/步進電機控制,既可獨立控制,互不影響,脈沖輸出可用單脈沖(脈沖+方向)或雙脈沖(脈沖+脈沖)方式,頻率誤差小于0.1%。ADT850運動控制卡所帶的PID濾波器, 以及速度/加速度立即控制功能,可提供最佳的運動精度。同時以總線中斷處理高速指令, 可處理多組的直線及圓弧補間、可執行雙曲面及球面等連續路徑運動。此外, 四軸每次運動均可執行2Giga單位的位移,具有各軸高速定位連接,因此具有很好的運動控制特性。
通過運動控制卡提供的WINDOWS平臺下開發庫,可以直接用QT,C++進行系統運動控制模塊開發,將模塊嵌入到貼片機系統軟件中實現對各種運動狀態的控制,包括各個軸的速度控制、點對點的定位、線性和圓弧插補運動、多軸電子齒輪和凸輪運動、多軸連續路徑運動等。在系統中需要對各軸運動控制方式進行程序實現,這些運動控制方式包括:所有軸原點復位、恒速運動、給定加速度或速度運動到目標位置、水平X軸和Y軸直線插補,曲線插補運動、垂直Z軸勻加速上下運動等。還包括對各個軸運動的監控報警實現,如運動超限報警、運動失控報警等。因此,多功能貼片機系統是一個非常復雜的運動控制系統,其運動控制流程包括貼片流程中涉及到的運動控制任務及各種運動報警信息。
在QT開發中,把ADT850運動控制卡對于的開發庫“850DOSH.LIB”或“850DOSL.LIB”和調用庫文件“adt850.H”添加到工程項目中,在運動控制模塊的程序文件中添加#include “adt850.h”申明。即可在運動控制程序實現中調用控制函數接口與監控函數接口。在運動控制模塊設計時,需要先封住一個面向ADT850的完成基本的運動控制動作接口類class CCtrlCard,其包含六種類型控制接口函數,包括基本參數設置接口、驅動狀態,運動參數檢查接口、運動參數設定接口、驅動接口及開關量輸入輸出接口。在程序調用時,直接使用所定義的這些運動方式的名稱即可。
貼片機要實現正確貼裝操作,首先要有一個PCB板的生產數據。其中包括:PCB板數據,元件數據,喂料器數據,Mark數據,貼裝數據等。其中PCB板數據和元件數據用于確定貼裝的板及貼裝的元件信息,包括個數位置信息等等。喂料器數據通過元件數據來確定,包括其位置信息和吸嘴信息(安裝哪一類型的吸嘴以及拾取哪類元件等)。Mark數據通過視覺系統確定;而貼裝數據則是根據綜合上面幾類數據得到的,實施貼裝前通過數據優化可以達到最高的貼裝效率。可見,貼片機的PCB數據管理模塊需要處理的各類信息是互相關聯的眾多信息。
數據管理主要體現在PCB關系數據庫的建設,也就是表和視圖的創建。對各種生產數據的編輯處理表現為對相對應的表、視圖進行“新建,查找,刪除,增加”等。
程序的開發環境為VS2008,對數據庫的訪問采用ODBC(Open Database Connectivity)方式,采用了QT類庫,QT中提供QODBC數據庫引擎來訪問Access數據庫。通過QSqlDatabase類實現建立數據庫連接的操作;QSqlRelationalTableModel支持外鍵,適合處理眾多互相關聯的表,因此選做數據模型。QT的模型/視圖架構是一種支持數據可視化的一種非常靈活的方法,在PCB數據管理中的實現架構如圖4所示。

圖5 PCB數據的模型/視圖架構
PCB板的貼裝信息可以由“導入”功能實現,也可以手動添加。
本文設計的數據管理系統具有下列特點:
1)提供CAD/CAM接口[6]PCB數據的生成之前為人工手動逐項輸入,效率低且受工人的狀態情緒干擾,容易造成數據不夠完整準確。在“PCB數據操作”界面中增加“導入”菜單,直接將CAD軟件(Protel,Altuim Designer等)生成的PCB文件(.pcb或.xls格式)中的相關數據提取并轉換為生產所需要的數據。
2)將貼裝數據的編輯與視覺采集集成到一個窗口,根據導入的pcb文件生成貼裝板的元件布局圖,喂料槽的位置信息也以圖像的形式呈現在“貼裝信息縮略圖中”。可以在此縮略圖中選中元件或喂料槽進行信息編輯,同時在視覺采集窗口中實時顯示該元件的圖像。實現可視化編輯貼裝數據操作,提高人機交互的友好性。
貼片機的視覺模塊完成的功能主要有:
1)對PCB板定位,包括Mark點定位及元件貼裝位置的定位;2)貼裝元件的識別檢測和角度識別。功能1)在PCB板定位階段實現,功能2)在元件貼裝階段實現。視覺模塊主要由CCD、光源、視頻捕捉卡、圖像采集卡組成,根據視覺模塊的作用,按功能細分模塊如下:跟蹤示教模塊、PCB板Mark點識別及計算模塊、元件識別與計算模塊。功能模塊如圖6所示。

圖6 視覺系統功能圖
視覺子系統相對獨立,與系統主控程序通過串口協議進行通訊。根據主控程序命令采取相應的操作,包括參數設置、采集圖像、處理圖像、結果發送等。視覺模塊的核心任務即對待貼裝的PCB板和元件進行高速度、高精度檢測定位。
PCB板Mark點的定位識別首先需要采集一副圖像作為標準Mark點,在后續自動化生產過程中視覺系統通過與數據庫中保存的標準Mark點圖進行匹配來達到識別和定位。為準確匹配需先進行圖像分割,采用全局閾值分割算法,該算法的原理是:采用固定的閾值T(此閾值需經過具體實驗得出),將一幅原始灰度圖像f(x,y)經以下閾值分割可得到目標圖像F(x,y)。

將分割得到的目標圖像F(x,y)與標準圖進行模板匹配,因Mark點均為規則圖像,故在本系統中采取基于圖像幾何特征的模板匹配。從相似性度量和搜索策略對傳統模板匹配算法進行改進,序貫相似性檢測算法(SSDA)是比較常用的相似性度量方法,而常用的搜索策略是金字塔分級搜索策略。
SSDA是一種比較快速的模板匹配算法[7],其算法思想如下:
1)定義絕對誤差值:

2)取一個不變的閾值Th。
3)在子圖 Si,j(m, n )中隨機選取像點(m , n ),kn并計算它與模板圖像T中對應點的誤差值ε (i, i , mk,nk),并把這些誤差值累加起來。當累加一定次數后總誤差值超過閾值Th時,則停止累加,并記下此時的累加次數r。定義SSDA的檢測曲面為

4)對每個子圖 Si,j(m, n )進行步驟3)的操作,并計算每次得到的r值,將取值最大的 I (i , j)對應的點 ( i , j)作為匹配點。
同時,實際中對Mark點的定位,由于匹配定位的位置只是在小范圍區域內變化,所以并不需要在整幅圖像上作匹配運算,可根據實際情況事先選取一定的匹配區域,這樣能夠大大地減小運算量,提高定位速度。
1)首先,取一個初始閾值T0。
2)在選取的匹配區域內,計算模板圖像與子圖中每一個對應像素點的誤差值,并把這些差值累加起來,記為T1。
3)平移一個像素位置獲得新的子圖,進行步驟2)的操作,每次比較T1與T0的大小,當T1 4)完成匹配區域內所有子圖的運算,可得到最佳匹配點位置。 采用動態閾值的SSDA模板匹配算法,相比固定閾值的SSDA算法可以減少很多非匹配點的計算,從而大大提高了效率。雖然沒有在整幅圖像作匹配運算,但是SSDA算法仍然需要對匹配區域內所有像素點進行運算,計算量仍然很大,所以這里采用兩級金字塔搜索策略,可以大大減少運算量,進一步提高算法執行速度。 根據匹配的Mark點對之間的連線計算出角度偏差來進行PCB板相對機械坐標的偏移。 在對元件的中心定位的操作過程中,元件通常為規則幾何形狀,因此根據采集的元件圖像進行幾何運算即可得出其中心坐標,元件角度偏差計算與Mark點角度偏差計算相同,元件中心定位及角度偏差檢測效果如圖7所示。 多功能貼片機的系統管理軟件涉及到能否高效、精確完成貼片任務,通過對其整體結構及運動控制,PCB數據管理和視覺系統的分析和設計,可以知道它是一項非常復雜的軟件工程項目。本貼片機基于PC工控機設計管理與控制軟件系統,系統由485總線連接的AMAI貼片機配套IO板卡DEB-S500-B[]與DEB-S500-H[]的IO控制子系統,負責對貼片機各個部分傳感器信號采集與開關信號的設置。為了保證系統中實時性要求,視覺檢測模塊中的圖像采集卡與圖像處理卡采用了公開源代碼的實時操作系統UCOS-II進行算法程序設計。系統經初步的整機調試,通過對PCB數據管理、視覺模塊的定位與檢測精度、貼片速度與軌跡控制精度等技術參數進行測試,可達到預期設計目標。 圖7 元件定位及角度計算示例 [1] 鮮飛.貼片機現狀及發展趨勢[J].電子測試,2008,(9):29-34. [2] 宋福明,張小麗,馬如震.SMT2505全視覺多功能貼片機的研制[J].電子工業專用設備,2002,31(4):219-223. [3] 周德儉.表面組裝工藝技術[M].北京:國防工業出版社,2006. [4] 魏云峰.貼片機控制系統底層軟件模塊與上層軟件設計[D].蘇州:蘇州大學. [5] 劉勇等.眾為興ADT-850四軸運動控制卡說明書[M].深圳:眾為興數控有限公司出版,46-108. [6] 劉海明,胡躍明,吳忻生,袁鵬,戚其豐.貼片機設備中CADCAM數據接口的設計和實現[J].廣東自動化與信息工程,2003,4:4-6. [7] 李弼程,彭天強,彭波,等.智能圖像處理技術[M].北京: 電子工業出版社, 2004.4 結束語
