華南師范大學(xué)物理與電信工程學(xué)院 劉 海 李 燁 李妍臻
電子產(chǎn)品的核心部分——印刷電路板(PCB),是集成各種電子元器件的信息載體,在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,是電子產(chǎn)品中不可缺少的部分。PCB的質(zhì)量成了電子產(chǎn)品能否長期、正常、可靠的工作的決定因素[1]。隨著科技的發(fā)展,PCB產(chǎn)品的高密度、高復(fù)雜度、高性能發(fā)展趨勢不斷挑戰(zhàn)PCB板的質(zhì)量檢測問題。傳統(tǒng)PCB缺陷檢測方式因接觸受限、高成本、低效率等因素,己經(jīng)逐漸不能滿足現(xiàn)代檢測需要,因此研究實(shí)現(xiàn)一種PCB缺陷的自動檢測系統(tǒng)具有很大的學(xué)術(shù)意義和經(jīng)濟(jì)價(jià)值[2]。國內(nèi)外研究的PCB缺陷檢測技術(shù)中,AOI(Automatic Optic Inspection自動光學(xué)檢測)技術(shù)越來越受到重視,其中基于圖像處理的檢測方法也成為自動光學(xué)檢測的主流。本文通過圖像處理技術(shù)研究了一種大視場、高精度、快速實(shí)時(shí)的PCB缺陷自動檢測系統(tǒng),設(shè)計(jì)了硬件結(jié)構(gòu)和軟件算法流程。通過改進(jìn)的電機(jī)驅(qū)動方式配合一鍵式自動檢測軟件的設(shè)計(jì),大大提高了系統(tǒng)的檢測速度,對結(jié)果分析模塊的缺陷識別算法的改進(jìn)提高了檢測結(jié)果的準(zhǔn)確性。
PCB缺陷自動檢測系統(tǒng)主要由運(yùn)動控制模塊、圖像采集模塊、圖像處理模塊、結(jié)果分析模塊組成。系統(tǒng)工作過程如下:上位機(jī)控制步進(jìn)電機(jī)運(yùn)動,步進(jìn)電機(jī)帶動二維平臺運(yùn)動,將CCD攝像機(jī)傳輸?shù)酱龣z測PCB上方,對PCB進(jìn)行大場景圖像采集,采集的圖像經(jīng)過圖像采集卡送到上位機(jī),上位機(jī)軟件對采集的圖像進(jìn)行拼接、圖像預(yù)處理,對處理的圖像進(jìn)行準(zhǔn)確定位并校準(zhǔn),通過圖像分割、圖像形態(tài)學(xué)處理等,最后進(jìn)行模板匹配、圖像識別,得出缺陷檢測結(jié)果。系統(tǒng)設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì),系統(tǒng)軟硬件相互協(xié)調(diào)工作構(gòu)成一個(gè)整體。
PCB缺陷自動檢測系統(tǒng)的硬件設(shè)計(jì)主要包括二維運(yùn)動平臺、電機(jī)運(yùn)動控制板、電機(jī)驅(qū)動板、CCD攝像機(jī)、圖像采集卡、PC等,其結(jié)構(gòu)如圖1所示。
表1 缺陷分類特征
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
圖2 電流矢量恒幅均勻旋轉(zhuǎn)
圖3 整步電流波形圖
圖4 電流8細(xì)分
CCD攝像機(jī)的主要特性參數(shù)包括攝像機(jī)制式、光敏面尺寸、像素尺寸、分辨率、電子快門速度、同步系統(tǒng)的方式、最小照度、靈敏度、信噪比等。其中攝像機(jī)制式和是否在線檢測決定了圖像采集卡的采樣頻率,光敏面尺寸、像素尺寸、分辨率以及成像透鏡系統(tǒng)的放大率的平衡選擇取決于測量范圍和測量精度[3]??紤]到以上各個(gè)因素以及系統(tǒng)要求,在實(shí)驗(yàn)中采用的是廣州視安公司的槍式攝像機(jī),該攝像機(jī)的特點(diǎn)是數(shù)字面陣CCD逐行掃描,提供AV復(fù)合視頻接口和標(biāo)準(zhǔn)鏡頭接口,提供VC的SDK軟件開發(fā)包,方便設(shè)計(jì)軟件處理模塊。
圖5 系統(tǒng)軟件結(jié)構(gòu)
圖6 系統(tǒng)軟件算法流程
圖7 PCB缺陷檢測系統(tǒng)結(jié)果圖
圖像采集卡,又稱視頻捕捉卡,是視頻卡的一種類型。圖像采集卡完成的主要功能是把攝像機(jī)的連續(xù)模擬視頻信號轉(zhuǎn)換成為離散的數(shù)字量。其基本原理:從攝像機(jī)輸出的各種制式的視頻輸出信號,經(jīng)過輸入選擇模塊處理后,形成能被圖像采集卡識別的視頻信號。模擬視頻信號經(jīng)過轉(zhuǎn)換后,存儲在卡上的幀緩存存儲器內(nèi),由計(jì)算機(jī)CPU通過計(jì)算機(jī)總線控制具體的圖像傳遞,最終存儲在計(jì)算機(jī)的內(nèi)存或硬盤,用于圖像處理[4]。本設(shè)計(jì)采用的圖像采集卡型號是:NV7004-N,將CCD攝像機(jī)模擬信號轉(zhuǎn)化為數(shù)字信號傳輸?shù)缴衔粰C(jī)實(shí)時(shí)顯示,并能完成圖像的抓拍功能。
PCB缺陷自動檢測系統(tǒng)的運(yùn)動控制器為自行設(shè)計(jì)的MCU控制板,核心芯片為ATMEL公司生產(chǎn)的單片機(jī)AT89S52,控制板通過RS-232串行通信接口與上位機(jī)進(jìn)行通信。通過操作人機(jī)交互界面對控制板發(fā)送命令,控制板輸出控制信號以及各種頻率的方波信號到步進(jìn)電機(jī)驅(qū)動板,以控制步進(jìn)電機(jī)的轉(zhuǎn)速、方向以及移動距離。
二維運(yùn)動平臺由兩個(gè)日本SUS Corp公司生產(chǎn)的精密運(yùn)動導(dǎo)軌搭建,運(yùn)動導(dǎo)軌為滾珠絲桿型,非常精密,誤差很小。步進(jìn)電機(jī)與運(yùn)動導(dǎo)軌相連,從而帶動導(dǎo)軌的運(yùn)動。步進(jìn)電機(jī)為日本TAMAGAWA公司生產(chǎn)的兩相四線制混合式步進(jìn)電機(jī),該型號步進(jìn)電機(jī)運(yùn)行穩(wěn)定、噪聲小。
步進(jìn)電機(jī)的驅(qū)動實(shí)際上就是通過控制步進(jìn)電機(jī)的各相勵(lì)磁繞組的電流,使步進(jìn)電機(jī)的內(nèi)部磁場合成方向發(fā)生變化,從而使步進(jìn)電機(jī)轉(zhuǎn)動起來。各相勵(lì)磁繞組的電流產(chǎn)生的合成磁場矢量的幅值決定了步進(jìn)電機(jī)旋轉(zhuǎn)轉(zhuǎn)矩的大小,相鄰兩合成磁場矢量之間的夾角大小決定了步距角的大小[5]。
這里介紹步進(jìn)電機(jī)兩個(gè)重要概念:齒距角θz和步距角θn。步進(jìn)電機(jī)齒距角是指步進(jìn)電機(jī)運(yùn)行時(shí)兩相鄰穩(wěn)定磁場之間的夾角。步距角是指對應(yīng)一個(gè)脈沖信號,步進(jìn)電機(jī)轉(zhuǎn)子轉(zhuǎn)過的角度位移量。步距角不僅與電機(jī)的齒數(shù)有關(guān),還和電機(jī)的運(yùn)行拍數(shù)有關(guān)。步進(jìn)電機(jī)的齒距角θz和步距角θn可表示為:
步進(jìn)電機(jī)的細(xì)分是基于步進(jìn)電機(jī)的各相繞組理想對稱和距角特性嚴(yán)格正旋的基礎(chǔ)上,通過控制電動機(jī)各相繞組中電流的大小和比例,使步距角減小到原來的幾分之一至幾百分之一,從而提高步進(jìn)電機(jī)的分辨率。以兩相步進(jìn)電機(jī)為例,若電機(jī)的齒數(shù)為50,運(yùn)行拍數(shù)是單四拍方式時(shí),則步距角為θ=360度(50*4)=1.8度(俗稱整步),八拍運(yùn)行時(shí)步距角為θ=360度/(50*8)=0.9度(俗稱半步0。八拍和四拍方式相比,步距角θn減小了一倍,實(shí)現(xiàn)了步距角的二細(xì)分。
在拍數(shù)一定的情況下,齒數(shù)越多,步距角就越小,但由于受制作工藝的限制齒數(shù)不能做得很多,因此步進(jìn)電機(jī)的步距角就不可能很小。改變步進(jìn)電機(jī)的拍數(shù)也可以改變步距角,拍數(shù)是指完成一個(gè)磁場周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài),或指電機(jī)轉(zhuǎn)過一個(gè)齒距角所需脈沖數(shù)。當(dāng)步進(jìn)電機(jī)的相數(shù)確定時(shí),拍數(shù)也就確定。通過增加步進(jìn)電機(jī)的齒數(shù)和相數(shù)來減小步距角,步距角減小的度數(shù)非常有限,很難滿足生產(chǎn)的要求。
步進(jìn)電機(jī)細(xì)分驅(qū)動最常用的方法是電流矢量恒幅均勻旋轉(zhuǎn)法。電流矢量恒幅均勻旋轉(zhuǎn)法能夠使細(xì)分后的步距角均勻,輸出力矩恒定。具體方法是使m相繞組分別通以相位差為2π/m而幅值大小相等的正弦電流,則電流合成矢量或磁場矢量就會在空間上作旋轉(zhuǎn)運(yùn)動,且合成矢量的幅值保持不變。如給四相混合式步進(jìn)電機(jī)的四相繞組分別通以相位相差π/2,幅值相等的正弦波電流,則合成的電流矢量如圖2所示。
為了盡可能得到圓形的合成磁場,使步距角變化均勻,各相繞組電流參考信號采用階梯狀正弦波形較為理想。以四相步進(jìn)電機(jī)8細(xì)分為例,在每一相中插入7個(gè)穩(wěn)定的中間狀態(tài),細(xì)分后各相電流是以1/4的步距上升或下降,則原來一步所轉(zhuǎn)過的角度將由8步完成,即可實(shí)現(xiàn)步距角的8細(xì)分,如圖4所示。
細(xì)分?jǐn)?shù)越多,電流變化越小,從而大大減少了電機(jī)的振蕩和噪音。采用階梯狀正弦波對電流進(jìn)行細(xì)分時(shí),階梯越多(即細(xì)分?jǐn)?shù)越多),波形就越接近正弦波,通入的階梯電流就越小,步距角也就越小[6]。從而大大減少了步進(jìn)電機(jī)運(yùn)行時(shí)的丟步率,降低了步進(jìn)電機(jī)運(yùn)行時(shí)的噪音和顫動,也使步進(jìn)電機(jī)運(yùn)行更加穩(wěn)定,更易于控制。
基于圖像處理的PCB缺陷自動檢測系統(tǒng)的軟件設(shè)計(jì)理所當(dāng)然為其核心。系統(tǒng)的軟件設(shè)計(jì)主要實(shí)現(xiàn)了計(jì)算機(jī)系統(tǒng)中的圖像數(shù)據(jù)采集、圖像數(shù)據(jù)處理、圖像數(shù)據(jù)分析單元的功能,還實(shí)現(xiàn)了二維運(yùn)動平臺的控制單元的功能,同時(shí)負(fù)責(zé)與操作者交互。系統(tǒng)軟件結(jié)構(gòu)如圖5所示。
系統(tǒng)軟件流程分為手動檢測和自動檢測,手動檢測需要操作員在人機(jī)交互界面點(diǎn)擊相應(yīng)操作處理,自動檢測可以實(shí)現(xiàn)一鍵自動化檢測,直接根據(jù)預(yù)先參數(shù)設(shè)置好的流程進(jìn)行PCB缺陷檢測并得出結(jié)果。算法流程如圖6所示。
手動檢測可以根據(jù)需要在采集圖像時(shí)直接通過控制步進(jìn)電機(jī)運(yùn)動將CCD攝像頭運(yùn)動到待測PCB板的主要部位,在進(jìn)行圖像處理時(shí)也可以根據(jù)圖像質(zhì)量來選擇與之相適應(yīng)的圖像處理算法來實(shí)現(xiàn),使系統(tǒng)具有交互性。自動檢測初始化設(shè)置參數(shù)后,可以一鍵實(shí)現(xiàn)缺陷檢測得出檢測結(jié)果,減少了操作復(fù)雜度,也大大提高了檢測的速度,使系統(tǒng)具有自動化、操作簡單、速度快等優(yōu)點(diǎn)。本文結(jié)合二者于一體,使PCB缺陷自動檢測系統(tǒng)更加優(yōu)秀,更加實(shí)用。
當(dāng)前印刷電路板缺陷檢測方法主要分為參考比較法、非參考比較法和混合法三大類,參考比較法將被測圖像和參考圖像進(jìn)行特征對特征的比較;非參考比較法不需要任何的參考圖像,只是根據(jù)先前設(shè)計(jì)的規(guī)則標(biāo)準(zhǔn)來判斷出是否有缺陷,如果不符合標(biāo)準(zhǔn)便認(rèn)為此有缺陷;混合法是參考比較法和非參考比較法綜合應(yīng)用。本文主要使用參考比較法,通過檢測PCB圖像與標(biāo)準(zhǔn)圖像進(jìn)行對比分析,判斷該P(yáng)CB板是否有缺陷[7]。
實(shí)際生產(chǎn)中PCB裸板上存在的典型的缺陷有:短路、斷路、凸起、凹陷、空洞等。
缺陷獲取后,并不能確定缺陷類型,還需要進(jìn)行缺陷識別。缺陷識別是根據(jù)各種缺陷的不同特征來判斷。常用的描述圖像特征有直方圖統(tǒng)計(jì)特征、紋理特征、二值圖像特征。因?yàn)镻CB圖像灰度層次不豐富,電路模式均為幾何模式,因此本文采用二值圖像特征來識別缺陷。針對短路、斷路、凸起、凹坑、空洞幾類典型缺陷進(jìn)行分類識別的主要缺陷特征有:(1)缺陷圖像與標(biāo)準(zhǔn)圖像中連通域數(shù)目有所不同;(2)缺陷圖的背景連通域面積與標(biāo)準(zhǔn)圖像不同;
綜合上述特征1、2可將斷路、短路、凸起、空洞和凹坑缺陷識別出來,見表1所示。
對于缺陷圖像上只有單個(gè)缺陷檢測過程如下:
(1)首先將缺陷圖像進(jìn)行閾值分割,得到的二值化圖像與標(biāo)準(zhǔn)圖像的二值化圖像進(jìn)行相加再取平均值,獲取缺陷連通域位置,并進(jìn)行位彩色編碼標(biāo)記。
(2)分別將缺陷圖和標(biāo)準(zhǔn)圖的閾值分割圖像進(jìn)行輪廓提?。?/p>
(3)分別將缺陷圖和標(biāo)準(zhǔn)圖的輪廓提取圖像進(jìn)行連通域數(shù)目計(jì)算,獲得連通域數(shù)目;
(3)分別將缺陷圖和標(biāo)準(zhǔn)圖的輪廓提取圖像進(jìn)行背景連通域面積計(jì)算,獲得背景連通域面積大小,
(4)根據(jù)表1判斷缺陷類型,并根據(jù)(1)獲取的缺陷位置標(biāo)記好缺陷并顯示缺陷圖像。
通過比較分析采用參考比較法對PCB板進(jìn)行缺陷識別。首先對PCB光板進(jìn)行異或運(yùn)算,提取缺陷特征;再對其進(jìn)行二值數(shù)學(xué)形態(tài)學(xué)處理,以去除虛假缺陷;然后采用兩種圖像識別方式:一種通過比較運(yùn)算,再進(jìn)行偽彩色處理以凸顯缺陷,從而便于人工目測識別缺陷類型和位置;另一種是通過缺陷的目標(biāo)區(qū)域數(shù)特征、目標(biāo)區(qū)域面積特征和缺陷邊界的封閉性特征對缺陷進(jìn)行樹狀逐級分層判斷,從而實(shí)現(xiàn)了PCB光板上常見的斷路、短路、凸起、凹坑和空洞缺陷的自動識別。PCB缺陷自動檢測系統(tǒng)結(jié)果分析如圖7所示。
本文基于計(jì)算機(jī)視覺和圖像處理設(shè)計(jì)了一個(gè)印刷電路板(PCB)缺陷自動檢測系統(tǒng),并對其功能進(jìn)行了驗(yàn)證,實(shí)驗(yàn)結(jié)果表明該系統(tǒng)界面友好,操作簡單,檢測方法簡單,檢測過程迅速,檢測結(jié)果準(zhǔn)確。該系統(tǒng)為PCB缺陷的檢測提供了一個(gè)很好的解決方案,具有重要的應(yīng)用價(jià)值。
[1]孫曉婷.PCB視覺檢測系統(tǒng)的研究[D].長沙:中南大學(xué)碩士論文,2008.
[2]2012-2016年中國PCB連接器市場預(yù)測及投資建議報(bào)告[R].中商情報(bào)網(wǎng).
[3]俞瑋.AOI技術(shù)在PCB缺陷檢測中的應(yīng)用研究[D].成都:電子科技大學(xué)碩士論文,2007.
[4]崔懷峰.PCB表面缺陷自動光學(xué)檢測技術(shù)的研究[D].江門:五邑大學(xué)碩士論文,2010.
[5]李玲娟,劉景林,王燦.兩相混合式步進(jìn)電機(jī)恒轉(zhuǎn)矩細(xì)分驅(qū)動技術(shù)研究[J].微電機(jī),2007,40(3):48-50.
[6]黃露.基于FPGA的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:重慶大學(xué)碩士論文,2011.
[7]齊立榮.基于圖像處理的PCB缺陷自動光學(xué)檢測系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué)碩士論文,2010.