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