劉 燕,吳忻生,陳 安,胡躍明
(1.華南理工大學(xué) 精密電子制造裝備教育部工程研究中心,廣州 510641;2.廣州現(xiàn)代產(chǎn)業(yè)技術(shù)研究院 精密電子制造技術(shù)研發(fā)中心,廣州 510640)
表面貼裝技術(shù)SMT(Surface Mount Technology)在集成電路產(chǎn)品的自動化生產(chǎn)過程中得到了廣泛應(yīng)用,而貼片機是 SMT裝配線上最關(guān)鍵的設(shè)備,貼片機是一個集光、機、電和氣、設(shè)計制造一體化的先進制造設(shè)備[1],貼片機的核心軟件直接影響整個系統(tǒng)的可操作性和穩(wěn)定性,是貼片機能否順利完成高速度高精度貼裝工作的決定性因素。從結(jié)構(gòu)上貼片機主要分為過頂拱架型、轉(zhuǎn)塔型和大規(guī)模并行型三種類型,本文在高速高精度全視覺過頂拱架型貼片機(型號BHTP3350)的基礎(chǔ)上討論其系統(tǒng)軟件的程序?qū)崿F(xiàn)技術(shù)。
對高速高精度全視覺過頂拱架型貼片機進行系統(tǒng)組成分析,一般可分為四大模塊:機械系統(tǒng)、控制系統(tǒng)、視覺系統(tǒng)和軟件系統(tǒng)。如圖1所示。
圖1 貼片機的系統(tǒng)組成
貼片機的貼片流程可以分為三步[2]:1)貼片機系統(tǒng)位置標(biāo)定、熱機、機械參數(shù)調(diào)整等;2)創(chuàng)建貼裝工藝數(shù)據(jù),包括PCB板數(shù)據(jù)、元件數(shù)據(jù)、喂料器數(shù)據(jù)、Mark數(shù)據(jù)、貼裝數(shù)據(jù)等;3)按照貼裝工藝數(shù)據(jù)對PCB板進行自動循環(huán)貼裝。上板、自動貼裝和下板是自動貼裝的三個步驟[3],自動貼裝的動作按先后順序依次為:貼裝頭運動到喂料器取料運動過元件攝像機(視覺系統(tǒng)攝像、檢測、計算) 貼裝頭運動到該元件貼裝位置貼片(根據(jù)視覺系統(tǒng)的結(jié)果調(diào)整貼裝坐標(biāo)值) 將不合格元件拋入拋料區(qū) 貼裝頭運動到取料點開始下一輪循環(huán),直到完成所有貼裝點的貼裝,如圖2所示。
圖2 貼裝流程圖
結(jié)合圖1、圖2,貼片機的系統(tǒng)軟件可按模塊劃分中應(yīng)該包含數(shù)據(jù)庫管理模塊、視覺處理軟件模塊、控制軟件模塊(包括運動控制和信號控制)。將貼片機的控制系統(tǒng)軟件分為兩層[4]。軟件的底層包括貼片機電氣控制系統(tǒng)、PCB數(shù)據(jù)管理系統(tǒng)、機器視覺系統(tǒng)、運行監(jiān)測系統(tǒng);軟件的上層為人機交互界面以及協(xié)調(diào)控制程序設(shè)計。貼片機的控制系統(tǒng)軟件總體系結(jié)構(gòu)如圖3所示。
圖3 控制系統(tǒng)軟件總體系結(jié)構(gòu)圖
全視覺貼片機要完成貼片任務(wù),按照貼裝流程圖(圖2)所示,需要依次完成送入PCB板,視覺定位PCB板Mark點位置,取料,元件視覺檢測及糾偏,拋料貼裝,送出PCB板。
整個設(shè)備共需要控制四個運動軸,分別為控制頭部組裝件水平面上移動的X和Y軸、控制頭部組裝件豎直方向貼裝高度的Z軸、旋轉(zhuǎn)頭部組裝件的R軸。設(shè)備運動控制結(jié)構(gòu)如圖4所示。
圖4 設(shè)備運動控制結(jié)構(gòu)圖
本機采用眾為興數(shù)控技術(shù)ADT850高性能四軸伺服/步進控制卡[5],日本Panasonic伺服電機和伺服放大器組成運動控制部分。ADT850是基于PCI總線,支持即插即用,所有輸入、輸出均采用光耦隔離,抗干擾性強。4軸伺服/步進電機控制,既可獨立控制,互不影響,脈沖輸出可用單脈沖(脈沖+方向)或雙脈沖(脈沖+脈沖)方式,頻率誤差小于0.1%。ADT850運動控制卡所帶的PID濾波器, 以及速度/加速度立即控制功能,可提供最佳的運動精度。同時以總線中斷處理高速指令, 可處理多組的直線及圓弧補間、可執(zhí)行雙曲面及球面等連續(xù)路徑運動。此外, 四軸每次運動均可執(zhí)行2Giga單位的位移,具有各軸高速定位連接,因此具有很好的運動控制特性。
通過運動控制卡提供的WINDOWS平臺下開發(fā)庫,可以直接用QT,C++進行系統(tǒng)運動控制模塊開發(fā),將模塊嵌入到貼片機系統(tǒng)軟件中實現(xiàn)對各種運動狀態(tài)的控制,包括各個軸的速度控制、點對點的定位、線性和圓弧插補運動、多軸電子齒輪和凸輪運動、多軸連續(xù)路徑運動等。在系統(tǒng)中需要對各軸運動控制方式進行程序?qū)崿F(xiàn),這些運動控制方式包括:所有軸原點復(fù)位、恒速運動、給定加速度或速度運動到目標(biāo)位置、水平X軸和Y軸直線插補,曲線插補運動、垂直Z軸勻加速上下運動等。還包括對各個軸運動的監(jiān)控報警實現(xiàn),如運動超限報警、運動失控報警等。因此,多功能貼片機系統(tǒng)是一個非常復(fù)雜的運動控制系統(tǒng),其運動控制流程包括貼片流程中涉及到的運動控制任務(wù)及各種運動報警信息。
在QT開發(fā)中,把ADT850運動控制卡對于的開發(fā)庫“850DOSH.LIB”或“850DOSL.LIB”和調(diào)用庫文件“adt850.H”添加到工程項目中,在運動控制模塊的程序文件中添加#include “adt850.h”申明。即可在運動控制程序?qū)崿F(xiàn)中調(diào)用控制函數(shù)接口與監(jiān)控函數(shù)接口。在運動控制模塊設(shè)計時,需要先封住一個面向ADT850的完成基本的運動控制動作接口類class CCtrlCard,其包含六種類型控制接口函數(shù),包括基本參數(shù)設(shè)置接口、驅(qū)動狀態(tài),運動參數(shù)檢查接口、運動參數(shù)設(shè)定接口、驅(qū)動接口及開關(guān)量輸入輸出接口。在程序調(diào)用時,直接使用所定義的這些運動方式的名稱即可。
貼片機要實現(xiàn)正確貼裝操作,首先要有一個PCB板的生產(chǎn)數(shù)據(jù)。其中包括:PCB板數(shù)據(jù),元件數(shù)據(jù),喂料器數(shù)據(jù),Mark數(shù)據(jù),貼裝數(shù)據(jù)等。其中PCB板數(shù)據(jù)和元件數(shù)據(jù)用于確定貼裝的板及貼裝的元件信息,包括個數(shù)位置信息等等。喂料器數(shù)據(jù)通過元件數(shù)據(jù)來確定,包括其位置信息和吸嘴信息(安裝哪一類型的吸嘴以及拾取哪類元件等)。Mark數(shù)據(jù)通過視覺系統(tǒng)確定;而貼裝數(shù)據(jù)則是根據(jù)綜合上面幾類數(shù)據(jù)得到的,實施貼裝前通過數(shù)據(jù)優(yōu)化可以達到最高的貼裝效率??梢?,貼片機的PCB數(shù)據(jù)管理模塊需要處理的各類信息是互相關(guān)聯(lián)的眾多信息。
數(shù)據(jù)管理主要體現(xiàn)在PCB關(guān)系數(shù)據(jù)庫的建設(shè),也就是表和視圖的創(chuàng)建。對各種生產(chǎn)數(shù)據(jù)的編輯處理表現(xiàn)為對相對應(yīng)的表、視圖進行“新建,查找,刪除,增加”等。
程序的開發(fā)環(huán)境為VS2008,對數(shù)據(jù)庫的訪問采用ODBC(Open Database Connectivity)方式,采用了QT類庫,QT中提供QODBC數(shù)據(jù)庫引擎來訪問Access數(shù)據(jù)庫。通過QSqlDatabase類實現(xiàn)建立數(shù)據(jù)庫連接的操作;QSqlRelationalTableModel支持外鍵,適合處理眾多互相關(guān)聯(lián)的表,因此選做數(shù)據(jù)模型。QT的模型/視圖架構(gòu)是一種支持?jǐn)?shù)據(jù)可視化的一種非常靈活的方法,在PCB數(shù)據(jù)管理中的實現(xiàn)架構(gòu)如圖4所示。
圖5 PCB數(shù)據(jù)的模型/視圖架構(gòu)
PCB板的貼裝信息可以由“導(dǎo)入”功能實現(xiàn),也可以手動添加。
本文設(shè)計的數(shù)據(jù)管理系統(tǒng)具有下列特點:
1)提供CAD/CAM接口[6]PCB數(shù)據(jù)的生成之前為人工手動逐項輸入,效率低且受工人的狀態(tài)情緒干擾,容易造成數(shù)據(jù)不夠完整準(zhǔn)確。在“PCB數(shù)據(jù)操作”界面中增加“導(dǎo)入”菜單,直接將CAD軟件(Protel,Altuim Designer等)生成的PCB文件(.pcb或.xls格式)中的相關(guān)數(shù)據(jù)提取并轉(zhuǎn)換為生產(chǎn)所需要的數(shù)據(jù)。
2)將貼裝數(shù)據(jù)的編輯與視覺采集集成到一個窗口,根據(jù)導(dǎo)入的pcb文件生成貼裝板的元件布局圖,喂料槽的位置信息也以圖像的形式呈現(xiàn)在“貼裝信息縮略圖中”??梢栽诖丝s略圖中選中元件或喂料槽進行信息編輯,同時在視覺采集窗口中實時顯示該元件的圖像。實現(xiàn)可視化編輯貼裝數(shù)據(jù)操作,提高人機交互的友好性。
貼片機的視覺模塊完成的功能主要有:
1)對PCB板定位,包括Mark點定位及元件貼裝位置的定位;2)貼裝元件的識別檢測和角度識別。功能1)在PCB板定位階段實現(xiàn),功能2)在元件貼裝階段實現(xiàn)。視覺模塊主要由CCD、光源、視頻捕捉卡、圖像采集卡組成,根據(jù)視覺模塊的作用,按功能細分模塊如下:跟蹤示教模塊、PCB板Mark點識別及計算模塊、元件識別與計算模塊。功能模塊如圖6所示。
圖6 視覺系統(tǒng)功能圖
視覺子系統(tǒng)相對獨立,與系統(tǒng)主控程序通過串口協(xié)議進行通訊。根據(jù)主控程序命令采取相應(yīng)的操作,包括參數(shù)設(shè)置、采集圖像、處理圖像、結(jié)果發(fā)送等。視覺模塊的核心任務(wù)即對待貼裝的PCB板和元件進行高速度、高精度檢測定位。
PCB板Mark點的定位識別首先需要采集一副圖像作為標(biāo)準(zhǔn)Mark點,在后續(xù)自動化生產(chǎn)過程中視覺系統(tǒng)通過與數(shù)據(jù)庫中保存的標(biāo)準(zhǔn)Mark點圖進行匹配來達到識別和定位。為準(zhǔn)確匹配需先進行圖像分割,采用全局閾值分割算法,該算法的原理是:采用固定的閾值T(此閾值需經(jīng)過具體實驗得出),將一幅原始灰度圖像f(x,y)經(jīng)以下閾值分割可得到目標(biāo)圖像F(x,y)。
將分割得到的目標(biāo)圖像F(x,y)與標(biāo)準(zhǔn)圖進行模板匹配,因Mark點均為規(guī)則圖像,故在本系統(tǒng)中采取基于圖像幾何特征的模板匹配。從相似性度量和搜索策略對傳統(tǒng)模板匹配算法進行改進,序貫相似性檢測算法(SSDA)是比較常用的相似性度量方法,而常用的搜索策略是金字塔分級搜索策略。
SSDA是一種比較快速的模板匹配算法[7],其算法思想如下:
1)定義絕對誤差值:
2)取一個不變的閾值Th。
3)在子圖 Si,j(m, n )中隨機選取像點(m , n ),kn并計算它與模板圖像T中對應(yīng)點的誤差值ε (i, i , mk,nk),并把這些誤差值累加起來。當(dāng)累加一定次數(shù)后總誤差值超過閾值Th時,則停止累加,并記下此時的累加次數(shù)r。定義SSDA的檢測曲面為
4)對每個子圖 Si,j(m, n )進行步驟3)的操作,并計算每次得到的r值,將取值最大的 I (i , j)對應(yīng)的點 ( i , j)作為匹配點。
同時,實際中對Mark點的定位,由于匹配定位的位置只是在小范圍區(qū)域內(nèi)變化,所以并不需要在整幅圖像上作匹配運算,可根據(jù)實際情況事先選取一定的匹配區(qū)域,這樣能夠大大地減小運算量,提高定位速度。
1)首先,取一個初始閾值T0。
2)在選取的匹配區(qū)域內(nèi),計算模板圖像與子圖中每一個對應(yīng)像素點的誤差值,并把這些差值累加起來,記為T1。
3)平移一個像素位置獲得新的子圖,進行步驟2)的操作,每次比較T1與T0的大小,當(dāng)T1 4)完成匹配區(qū)域內(nèi)所有子圖的運算,可得到最佳匹配點位置。 采用動態(tài)閾值的SSDA模板匹配算法,相比固定閾值的SSDA算法可以減少很多非匹配點的計算,從而大大提高了效率。雖然沒有在整幅圖像作匹配運算,但是SSDA算法仍然需要對匹配區(qū)域內(nèi)所有像素點進行運算,計算量仍然很大,所以這里采用兩級金字塔搜索策略,可以大大減少運算量,進一步提高算法執(zhí)行速度。 根據(jù)匹配的Mark點對之間的連線計算出角度偏差來進行PCB板相對機械坐標(biāo)的偏移。 在對元件的中心定位的操作過程中,元件通常為規(guī)則幾何形狀,因此根據(jù)采集的元件圖像進行幾何運算即可得出其中心坐標(biāo),元件角度偏差計算與Mark點角度偏差計算相同,元件中心定位及角度偏差檢測效果如圖7所示。 多功能貼片機的系統(tǒng)管理軟件涉及到能否高效、精確完成貼片任務(wù),通過對其整體結(jié)構(gòu)及運動控制,PCB數(shù)據(jù)管理和視覺系統(tǒng)的分析和設(shè)計,可以知道它是一項非常復(fù)雜的軟件工程項目。本貼片機基于PC工控機設(shè)計管理與控制軟件系統(tǒng),系統(tǒng)由485總線連接的AMAI貼片機配套IO板卡DEB-S500-B[]與DEB-S500-H[]的IO控制子系統(tǒng),負(fù)責(zé)對貼片機各個部分傳感器信號采集與開關(guān)信號的設(shè)置。為了保證系統(tǒng)中實時性要求,視覺檢測模塊中的圖像采集卡與圖像處理卡采用了公開源代碼的實時操作系統(tǒng)UCOS-II進行算法程序設(shè)計。系統(tǒng)經(jīng)初步的整機調(diào)試,通過對PCB數(shù)據(jù)管理、視覺模塊的定位與檢測精度、貼片速度與軌跡控制精度等技術(shù)參數(shù)進行測試,可達到預(yù)期設(shè)計目標(biāo)。 圖7 元件定位及角度計算示例 [1] 鮮飛.貼片機現(xiàn)狀及發(fā)展趨勢[J].電子測試,2008,(9):29-34. [2] 宋福明,張小麗,馬如震.SMT2505全視覺多功能貼片機的研制[J].電子工業(yè)專用設(shè)備,2002,31(4):219-223. [3] 周德儉.表面組裝工藝技術(shù)[M].北京:國防工業(yè)出版社,2006. [4] 魏云峰.貼片機控制系統(tǒng)底層軟件模塊與上層軟件設(shè)計[D].蘇州:蘇州大學(xué). [5] 劉勇等.眾為興ADT-850四軸運動控制卡說明書[M].深圳:眾為興數(shù)控有限公司出版,46-108. [6] 劉海明,胡躍明,吳忻生,袁鵬,戚其豐.貼片機設(shè)備中CADCAM數(shù)據(jù)接口的設(shè)計和實現(xiàn)[J].廣東自動化與信息工程,2003,4:4-6. [7] 李弼程,彭天強,彭波,等.智能圖像處理技術(shù)[M].北京: 電子工業(yè)出版社, 2004.4 結(jié)束語