屠子美,王素娟,沈知瑋
(1.上海第二工業(yè)大學(xué) 智能制造與控制工程學(xué)院,上海 201209;2.新南威爾士大學(xué) 電氣工程與通信學(xué)院,悉尼 2052)
隨著印刷電路板(Printed Circuit Board,PCB)上的電子元器件尺寸越來(lái)越小,貼裝密度越來(lái)越高,對(duì)PCB 的檢測(cè)提出的要求也越來(lái)越高。自動(dòng)光學(xué)檢測(cè)(Automatic Optic Inspection,AOI)作為一種高效的自動(dòng)化檢測(cè)技術(shù),在PCB 缺陷檢測(cè)中得到了廣泛應(yīng)用。本文提出的PCB 檢測(cè)及分揀系統(tǒng)運(yùn)用AOI 技術(shù),以Datalogic 智能相機(jī)作為檢測(cè)器件,采用Impact 軟件進(jìn)行檢測(cè)算法的編寫(xiě),利用ABB 工業(yè)機(jī)器人進(jìn)行分揀,能夠?qū)崿F(xiàn)讀二維碼溯源、錯(cuò)漏件(,和LED)檢測(cè)、排針彎曲、焊腳規(guī)整度排查等功能,并且能按照預(yù)設(shè)分揀類型進(jìn)行分揀。在工業(yè)化生產(chǎn)線的背景下,有著良好的發(fā)展前景和經(jīng)濟(jì)效益預(yù)期。
基于機(jī)器視覺(jué)的PCB 檢測(cè)及分揀系統(tǒng)的硬件包括AOI 平臺(tái)和機(jī)器人分揀單元。分揀單元由ABB 工業(yè)機(jī)器人和真空氣泵組成,氣泵的氣嘴固定在機(jī)器人第六軸上便于吸取PCB。AOI 平臺(tái)由智能相機(jī)、鏡頭、光源以及支架組成。相機(jī)選用Datalogic 智能黑白相機(jī),相對(duì)于彩色相機(jī),分辨率相同的情況下,黑白相機(jī)的精度更高尤其是邊緣部分,因此這里選用黑白相機(jī)即可。AOI 平臺(tái)中,相機(jī)是成像的關(guān)鍵,但是成像質(zhì)量不單單是由智能相機(jī)的質(zhì)量決定的。鏡頭和光源往往是幫助獲取優(yōu)質(zhì)圖像的關(guān)鍵所在,鏡頭決定了相機(jī)所在的工作位置和視野的大?。还庠磩t幫助獲得高質(zhì)量、高對(duì)比度的圖像,直接影響精度和處理速度。本系統(tǒng)中選用歐姆龍鏡頭,因相機(jī)位置距被測(cè)物體35~70 mm 范圍,故選擇相機(jī)=50 mm,使視野比PCB 需要檢測(cè)的部分稍大又不太大,以免造成精度的損失;考慮到待檢測(cè)PCB 的底色大部分是綠色的,且表面有一層過(guò)油保護(hù),故光源選用白色環(huán)形光源,外直徑350 mm。系統(tǒng)組成結(jié)構(gòu)圖如圖1所示。其中,相機(jī)和機(jī)器人之間采用串口通信,PC 機(jī)和機(jī)器人之間利用網(wǎng)線通信。
圖1 PCB 檢測(cè)和分揀系統(tǒng)組成框圖
基于機(jī)器視覺(jué)的PCB 檢測(cè)及分揀系統(tǒng)中軟件設(shè)計(jì)包括兩部分:視覺(jué)軟件和分揀軟件。視覺(jué)軟件編寫(xiě)相機(jī)要完成的工作,主要有:圖像采集、圖像預(yù)處理、圖像檢測(cè)、結(jié)果輸出等;機(jī)器人軟件要完成的主要工作有:接收I/O 信號(hào)和串口信號(hào),識(shí)別并到指定位置吸取PCB,根據(jù)分揀結(jié)果放置PCB 至不同區(qū)域。使用到的軟件主要是視覺(jué)處理軟件Impact 和ABB 機(jī)器人仿真軟件RobotStudio。相機(jī)與機(jī)器人之間能夠?qū)崿F(xiàn)實(shí)時(shí)數(shù)據(jù)交互,PCB 的吸取位置坐標(biāo)信息由相機(jī)通過(guò)串口發(fā)送給機(jī)器人,而圖像處理結(jié)果信息由PC 機(jī)通過(guò)網(wǎng)線發(fā)送給機(jī)器人。
2.1.1 視覺(jué)處理流程
視覺(jué)處理是對(duì)采集到的PCB 板圖像進(jìn)行處理和檢測(cè)。智能相機(jī)采集到圖像后進(jìn)入圖像處理環(huán)節(jié),首先采用模板匹配的方式定位PCB,即通過(guò)計(jì)算調(diào)整采集到的圖像的坐標(biāo)和角度;接下來(lái)進(jìn)行二維碼溯源以確定是否是同一批次PCB;然后按照用戶選擇的待檢測(cè)項(xiàng)目依次進(jìn)行芯片焊腳檢測(cè),確定當(dāng)前PCB 上是否焊有該芯片,芯片焊腳規(guī)整度檢測(cè),PIN 針是否彎曲檢測(cè),電阻、電容、LED 等元器件是否有錯(cuò)漏件等的檢測(cè);最后智能相機(jī)將計(jì)算出來(lái)的坐標(biāo)、角度通過(guò)串口發(fā)送到機(jī)器人,PC機(jī)將檢測(cè)結(jié)果發(fā)給機(jī)器人,機(jī)器人帶動(dòng)氣泵進(jìn)行不同類型缺陷的分揀。
系統(tǒng)軟件流程如圖2 所示。
圖2 系統(tǒng)軟件流程圖
2.1.2 軟件界面
Imapct 是針對(duì)Datalogic 智能相機(jī)編程的軟件,這里用于視覺(jué)程序的編輯和用戶界面的制作。Impact 軟件套件包含超過(guò)120 種檢測(cè)工具和50 多種用戶界面控件,能夠幫助用戶創(chuàng)建檢測(cè)程序和開(kāi)發(fā)用戶界面。Impact由視覺(jué)程序管理(VPM)和控制面板管理(CPM)組成。根據(jù)系統(tǒng)功能設(shè)計(jì)的視覺(jué)程序界面如圖3 所示。
圖3 視覺(jué)軟件界面
用戶選擇登錄進(jìn)入操作界面后,觸發(fā)整個(gè)系統(tǒng),檢測(cè)結(jié)果就會(huì)顯示出來(lái)。左下角的圓形燈表示定位和讀碼是否成功,右邊則對(duì)應(yīng)PIN 針的檢測(cè)結(jié)果。用戶還可以在左下角勾選想要進(jìn)行的檢測(cè)。
機(jī)器人的任務(wù)是放置PCB,觸發(fā)相機(jī),接收相機(jī)和PC 機(jī)發(fā)送過(guò)來(lái)的坐標(biāo)及檢測(cè)結(jié)果,實(shí)現(xiàn)PCB 分揀。其工作流程如圖4 所示。
圖4 機(jī)器人工作流程
由于PCB 大小不同、元器件的排布都不相同,因此用機(jī)器人進(jìn)行分揀的關(guān)鍵是要找到合適的吸取位置吸取PCB。相機(jī)和機(jī)器人被標(biāo)定在同一個(gè)坐標(biāo)下,視覺(jué)程序通過(guò)計(jì)算得到合適位置的坐標(biāo),然后通過(guò)串口通信發(fā)送坐標(biāo)信息和檢測(cè)結(jié)果給機(jī)器人,機(jī)器人就可移動(dòng)到合適位置吸取PCB,并按檢測(cè)結(jié)果將PCB 放置到不同區(qū)域。
對(duì)PCB 進(jìn)行精確定位,是PCB 缺陷檢測(cè)技術(shù)中的關(guān)鍵一環(huán)。相機(jī)采集到圖像之后的任務(wù)都需要根據(jù)圖像的定位來(lái)進(jìn)行。本系統(tǒng)圖像定位的流程為先進(jìn)行圖像縮放,再對(duì)圖像進(jìn)行亞像素處理,然后采用模板匹配進(jìn)行定位。對(duì)圖像進(jìn)行比例縮放的目的是提高匹配速度;進(jìn)行亞像素處理的目的是提高匹配精度;模板匹配的實(shí)質(zhì)是基于灰度信息的圖像配準(zhǔn),即根據(jù)PCB 模板的圖像特征,選取唯一的對(duì)比度明顯的部位作為模板匹配的對(duì)象,然后將采集的圖像與模板的相同部位進(jìn)行對(duì)比,以確定定位點(diǎn)。
圖5 定位后的圖像
由于PCB 通過(guò)機(jī)器人放置到支架上,不進(jìn)行人工配準(zhǔn)也無(wú)硬件配準(zhǔn),所以每次放置的PCB 會(huì)有一定的位置或角度偏移。本系統(tǒng)采用的是軟件配準(zhǔn),無(wú)需另設(shè)硬件,使用模板匹配能夠在定位關(guān)鍵特征的同時(shí)提供坐標(biāo)和角度信息,不但節(jié)約了硬件配準(zhǔn)的成本和人力,大大節(jié)省了系統(tǒng)在配準(zhǔn)上的耗時(shí),而且經(jīng)過(guò)標(biāo)定之后可以很方便地使機(jī)器人與相機(jī)處于同一個(gè)坐標(biāo)系中,為之后的機(jī)器人分揀提供必要數(shù)據(jù)。
目前常用的缺陷檢測(cè)算法可大致分為三大類:有參照判決,即將被檢測(cè)圖像與標(biāo)準(zhǔn)模型比對(duì);無(wú)參照檢測(cè),或稱為基于規(guī)則的校驗(yàn);混合型判決,綜合運(yùn)用標(biāo)準(zhǔn)模板比對(duì)和基于規(guī)則的判決。本系統(tǒng)使用的是有參照判決,即將標(biāo)準(zhǔn)PCB 的檢測(cè)信息放入到參考庫(kù)中,之后每一次的檢測(cè)都與標(biāo)準(zhǔn)值進(jìn)行對(duì)比,并且進(jìn)行允許誤差范圍的設(shè)置,確保檢測(cè)更加準(zhǔn)確與可靠。在檢測(cè)中采用連通量分析和灰度對(duì)比的手段從圖像上分析出PCB 表面含有缺陷的部分。
PCB 表面常見(jiàn)的缺陷有元器件的錯(cuò)漏件、排針彎曲、焊腳不規(guī)整等。表1 列出了各種缺陷的檢測(cè)算法和圖像預(yù)處理措施。
表1 PCB 缺陷檢測(cè)算法和圖像預(yù)處理措施
芯片焊腳規(guī)整程度的檢測(cè)使用連通量分析,檢測(cè)連通區(qū)域是否在閾值范圍內(nèi),該閾值是由規(guī)整的PCB 焊腳計(jì)算出來(lái)的。由于圖像背景色為黑色,焊腳較亮,為使檢測(cè)更準(zhǔn)確,在檢測(cè)前需對(duì)其進(jìn)行邊緣增強(qiáng)處理,使圖像在焊腳處的特征變得更加清晰,以便通過(guò)閾值將焊腳和背景色完全區(qū)分開(kāi)。排針是否彎曲的檢測(cè)是通過(guò)測(cè)量排針到設(shè)定的坐標(biāo)原點(diǎn)的距離,如果不在閾值范圍內(nèi),則推斷排針彎曲。排針的檢測(cè)圖像需要先做一個(gè)濾波去噪,以找到圖中與底色對(duì)比度強(qiáng)烈的針尖部分,再測(cè)量其和所設(shè)原點(diǎn)的距離以判斷是否有彎曲。元器件的錯(cuò)漏件情況主要是通過(guò)灰度對(duì)比來(lái)實(shí)現(xiàn)。在程序中將每一個(gè)元器件位置上的灰度值記錄下來(lái),多次測(cè)量標(biāo)準(zhǔn)PCB 的各個(gè)灰度值,得出一個(gè)范圍,之后每次檢測(cè)該位置的時(shí)候都與參考范圍作比較。
表2 為常見(jiàn)元器件的灰度。由表2 可知:(,,LED)三者的灰度范圍是不重合的,并且至少都相差10%以上,背景色的灰度在60%~70%之間,也與元器件范圍不重合,能夠滿足機(jī)器視覺(jué)對(duì)于元器件的檢測(cè)。同樣為方便檢測(cè),需要先對(duì)圖像進(jìn)行中值濾波,去除圖像噪聲,如圖像拍攝時(shí)的灰塵等。
表2 常見(jiàn)元件灰度范圍設(shè)置
PCB 檢測(cè)有很多種方法,在機(jī)器視覺(jué)的幫助下能夠通過(guò)圖像上的特征完成識(shí)別缺陷的任務(wù)。圖像上最明顯的信息主要是灰度的不同,根據(jù)灰度設(shè)置閾值用連通量分析判斷該區(qū)域。此方法的優(yōu)勢(shì)在于,由于每個(gè)元器件的大小和在圖像中的灰度都是相對(duì)固定的,在經(jīng)過(guò)大量實(shí)驗(yàn)得到閾值后,錯(cuò)檢率將能夠降低到非常小的數(shù)值。并且這是一種非接觸式的檢測(cè),在穩(wěn)定的環(huán)境下,相對(duì)于其他方法的檢測(cè)速度也非常快。
程序運(yùn)行時(shí)間是一個(gè)系統(tǒng)成敗與否的重要指標(biāo),影響程序運(yùn)行速度的因素有很多,本系統(tǒng)從以下方面提高系統(tǒng)運(yùn)行速度:
1)圖像定位時(shí)要考慮特征是否明顯,對(duì)于一幅灰度圖像來(lái)說(shuō),用來(lái)定位的部分一定需要灰度變化比較明顯且唯一?;叶鹊淖兓酱髮?duì)于處理器來(lái)說(shuō)就越是容易找到定位區(qū)域,用時(shí)就會(huì)減少,定位也會(huì)更加準(zhǔn)確一些。PCB 上PINpoint 的特征比較明顯,所以選PINpoint作為定位原點(diǎn)。
2)對(duì)于一個(gè)視覺(jué)程序來(lái)說(shuō),圖像的質(zhì)量會(huì)嚴(yán)重影響程序運(yùn)行的速度,當(dāng)圖像各個(gè)部分的待檢測(cè)特征不是非常明顯的時(shí)候會(huì)產(chǎn)生較大的工具延時(shí)。因此,在對(duì)不同缺陷進(jìn)行檢測(cè)時(shí),采取不同的預(yù)處理方法,使其特征明顯,如檢測(cè)芯片焊腳規(guī)整度前先對(duì)圖像進(jìn)行邊緣增強(qiáng)處理。圖6 顯示出邊緣增強(qiáng)處理后焊腳特征更加明顯。
圖6 邊緣增強(qiáng)對(duì)比效果
3)視覺(jué)檢測(cè)往往可以采用不同的方式達(dá)到同一個(gè)目的,選擇的工具會(huì)影響到程序的速度,所以在選擇工具時(shí)不僅僅要考慮到效果還要考慮程序運(yùn)行時(shí)間。
4)視覺(jué)程序要和機(jī)器人程序配合,由于機(jī)器人的串口接收一般會(huì)設(shè)有一個(gè)串口接收數(shù)據(jù)的限時(shí)。在視覺(jué)程序設(shè)計(jì)中,計(jì)算出坐標(biāo)值之后本系統(tǒng)采取了調(diào)用子程序的方式,將串口程序?qū)懺谝曈X(jué)程序之后調(diào)用,從而避免了串口發(fā)送時(shí)間上產(chǎn)生錯(cuò)誤。
PCB 檢測(cè)與分揀平臺(tái)搭建完成之后,利用已有的PCB 做了數(shù)次實(shí)驗(yàn),包括:同一塊PCB 多次檢測(cè)結(jié)果是否一致(多次檢測(cè)內(nèi)容包括角度旋轉(zhuǎn)和調(diào)整PCB 位置);不同的有缺陷的PCB 檢測(cè)結(jié)果是否與實(shí)際缺陷一致。表3 是記錄下來(lái)的部分實(shí)驗(yàn)數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明檢測(cè)內(nèi)容與實(shí)際符合,分揀位置與預(yù)設(shè)符合。整套系統(tǒng)中,視覺(jué)程序運(yùn)行時(shí)間大約60 ms,機(jī)器人坐標(biāo)精度為10mm,圖像檢測(cè)精度為10mm,符合快速、精確檢測(cè)和分揀的要求。
表3 實(shí)驗(yàn)數(shù)據(jù)匯總
基于機(jī)器視覺(jué)的PCB 檢測(cè)和分揀系統(tǒng)采用Datalogic 智能相機(jī)和視覺(jué)軟件Impact 組成圖像采集處理平臺(tái),并使用環(huán)形白色光源輔助采集圖像;使用ABB機(jī)器人和真空氣泵實(shí)現(xiàn)PCB 的搬運(yùn)分揀。實(shí)驗(yàn)結(jié)果證明,整套系統(tǒng)采用的檢測(cè)方法可行,運(yùn)行速度快,精度高,可以滿足高精度PCB 檢測(cè)的需要。本系統(tǒng)具有如下創(chuàng)新點(diǎn):
1)設(shè)計(jì)了軟件配準(zhǔn),加快擺放速度,而不用硬件配準(zhǔn)也節(jié)約了成本。
2)軟件界面具有良好的交互性,運(yùn)行界面的交互功能有:顯示ROI 區(qū)域、每個(gè)工具的pass 或者fail、公差的調(diào)整、檢測(cè)項(xiàng)目選擇等。
3)軟、硬件采用模塊化設(shè)計(jì),通用性和實(shí)用性較強(qiáng)。