基于FPGA的贴片机视觉定位算法研究与实现

2017-10-18 02:59薛克娟段洁
关键词:贴片元件坐标系

薛克娟 ,段洁

(1.长春理工大学 光电工程学院,长春 130022;2.长春大学 电子信息工程学院,长春 130022)

基于FPGA的贴片机视觉定位算法研究与实现

薛克娟1,2,段洁1

(1.长春理工大学 光电工程学院,长春 130022;2.长春大学 电子信息工程学院,长春 130022)

传统的对两幅标志图像进行对准的算法采用的是模板匹配的相关运算法。这种方法计算过程简单,但当两幅图像存在旋转关系时效率较低,且对标志图像的比例变化和局部残缺较为敏感。针对传统定位算法存在的问题,结合FPGA高速并行运算的优势,提出了一种FPGA的贴片机视觉定位算法。主要分析研究PCB板MARK点识别,实现基于FPGA的贴片头定位算法,并使用单指令数据流算法实现算法加速。实验表明,与传统上位机算法比较,该算法进一步提高了定位精度,且在保证精度的情况下,大大减少定位时间。

贴片机;FPGA;视觉定位算法

贴片机是用来组装电路板的设备,相比于普通电子生产制造设备,贴片机技术涉及到更高级的机器视觉技术、精密机械加工技术、运动控制技术等[1]。贴片机机器视觉系统是贴片定位和对准的关键部件。本文提出基于FPGA的贴片机视觉定位算法的研究与实现,其贴片精度为±0.02mm,贴片速度可达5000片/小时。

基于FPGA的数字图像处理是指利用FPGA(Field Programmable Gate Array)平台,对数字图像进行相应的处理。传统的数字图像处理大多利用计算机进行计算,由于计算机进行图像处理要涉及图像传输、串行运算、增加计算机的运算量等特点,不易于满足现代贴片机高速运行的特点。如文献[8]采用了传统的数字图像处理技术,当采集的图像输入到计算机的时候,由于周围环境及输入转换器件对图像的影响等,使图像上存在各种各样的噪声和缺陷,这给后续的图像处理带来较大的影响。针对以上问题本文利用FPGA进行数字图像处理,具有速度快、精度高、实时性强、低功耗等特点,并且大大减轻计算机的计算量,是一种比较好的解决方案[2]。

1 贴片机视觉定位系统与定位原理

1.1 贴片机视觉定位系统

贴片机视觉系统是指通过CMOS或CCD捕获图像,将目标图像转化为数字图像信息,以便于计算机或者集成电路进行后续的图像处理。通过FPGA分析图像的特征信息,进而根据图像分析的结果控制运动装置进行相应的动作。也就是利用机器视觉系统在功能上替代人眼,通过FPGA系统硬件和算法进行图像处理,替代人的大脑对元器件的识别和检测功能[3]。

图1 贴片机视觉系统组成

如图1所示为贴片机视觉系统的组成。系统总共有两台相机,分别是纠偏相机和定位相机。本文主要对贴片机定位系统进行研究,因此,主要对定位相机的功能进行介绍:定位相机主要用于识别PCB中MARK点,从而对PCB板进行定位。

机器视觉定位系统是利用摄像头识别PCB中标记点的图像精确位置,然后转换为机器坐标,用来确定PCB和机器坐标系的位置关系。已知PCB库各个元件位置信息,则可以计算出每个元件的偏差,在贴片头贴片时进行运动补偿。PCB中标记点的形状大多数为圆形、正方形、十字形和三角形。目前标记点多采用圆形,所以本文后面的研究就是以圆形作为PCB中标记点[4],即MARK点。

1.2 定位原理

机器视觉定位的应用原理:PCB板进入特定的槽道进行固定,定位摄像头移动至MARK点位置上方进行灰度图像采集、高斯滤波、边缘检测、二值化、形状匹配,求得两个MARK圆中心在图像坐标系中位置坐标,根据图像坐标系和机器坐标系位置关系,计算PCB板偏角。再根据图像坐标和机器坐标转换关系,结合各元件PCB坐标和PCB板偏角,则可以精确计算出各元件实际机器位置,也就是将所有元件的位置信息与两个MARK点关联。将所有元件信息存入计算机,为后续贴片提供依据,至此完成对PCB板全部元件的定位。

2 基于FPGA的定位算法

2.1 PCB板MARK点识别

2.1.1 MARK点特征与选取

贴片机进行贴片时,首先要利用机器视觉系统对PCB板进行定位,那么就需要PCB板中有特殊的基准点,这一基准点就叫MARK点。也称之为标记点、特征点。MARK点是贴片头与PCB板信息连接的纽带。目的是实现贴片机对PCB板中每个待贴片区域的精确定位。PCB板中MARK点的制作和其他焊盘的制作一样,通过敷铜、盖油、电镀等工艺制作而成。如图2所示完整MARK点构成,完整MARK点由中心特征点、空旷区组成,其中特征点的直径R范围大多为:1mm~3mm,空旷区域外径尺寸r≥2R,当r=3R时,机器识别效果最好。MARK点区域不准走线或做特殊标记。

图2 完整MARK点构成

一块PCB板典型的MARK点分布,如图3所示,MARK点距离PCB边缘要不小于5mm,以防止PCB板固定时,机械边缘覆盖MARK点。两个MARK点成对角分布。贴片机利用其中一个MARK点计算出PCB的x和y方向的位置偏差,利用两个MARK点计算出PCB板的角度偏差,所以PCB板中至少要有两个MARK点,并且距离要远些,不能重合、两点连线不能平行于PCB边缘。

图3 MARK点分布

2.1.2 MARK点轮廓的形状匹配

MARK点轮廓的形状匹配是指利用事先做好的MARK点轮廓与PCB中的特征点进行形状匹配,得出目标的特征值。如图4所示形状匹配流程图,首先对采集的灰度图像进行边缘检测、二值化提取出PCB中MARK点的轮廓,也就是进行形状描述,找出PCB中与描述的形状相匹配的点,得出特征值[5]。

图4 形状匹配流程图

2.2 贴片头定位算法实现

根据检测得到两个MARK圆在图像坐标系下的圆心坐标,为MARK A、MARK B。根据图像坐标系和机器坐标系的位置关系,将其进行坐标系转换,并在机器坐标系内计算出PCB板偏转角。根据PCB板数据库,以一个MARK圆为基准点,分别计算PCB板中各元件的实际位置信息,作为运动补偿的依据。PCB板元件位置计算方法如下:

如图5系统机器坐标系,V代表摄像头中心点的投影,A,B是一对对角线上的两个MARK圆。以摄像头的图像中心作为参考点V,当MARK圆A与中心点V有一定的像素偏差时,假设每个像素代表的实际物理距离为s,本研究中的s=7μm。在定位摄像头运动的过程中可得到其真实坐标,设V点的机器坐标为(xv,yv),V点的图像坐标为A点机器坐标系下的坐标为(xA,yA),在图像坐标系下的坐标为在PCB坐标系下的坐标为B点机器坐标系下的坐标为(xB,yB),在图像坐标系下的坐标为在PCB坐标系下的坐标为得到公式(1)和公式(2):

同样的方法可得MARK圆B中心的机器坐标(xB,yB)。

图5 系统机器坐标系

设θ为MARK圆A和B的圆心连线与机器坐标系的夹角,β为PCB板坐标系中的两个MARK圆的夹角,由A和B的坐标可得公式(3):

θ=β不偏转,如图6所示,θ<β逆时针偏转如图7所示,θ>β顺时针偏转如图8所示。偏转角为α=θ-β时逆时针,偏转角为α=β-θ时顺时针。

图6 PCB未发生偏转

图7 PCB顺时针偏转

C点是PCB板没有偏移时的机器坐标系下的位置,其坐标为(xC,yC),η是C点相对机器坐标的角度值,ϕ是C点偏转后的相对于机器坐标的角度[6]。

图8 PCB逆时针偏转

C1点是PCB板顺时针发生偏移在机器坐标系下的位置,如图7所示,其坐标为(x1C,y1C),则有公式(4):

C2点是PCB板逆时针发生偏移在机器坐标系下的位置,如图8所示,其坐标为(x2C,y2C),则有公式(5):

根据PCB数据库信息,以MARK A为基准点,由公式(4)和公式(5)可以分别得到所有元件在机器坐标系下的坐标,实现对每个元器件的定位。图9为贴片机定位部分实物图[7]。

图9 贴片机定位部分实物图

3 定位实验与结果分析

定位MARK点识别效果图,如图10所示,10(a)为PCB中MARK点原图,10(b)为MARK点经过边缘检测之后的效果图。

对于贴片头定位精度的计算如公式(6)、公式(7)和公式(8):

图10 定位效果图

由于PC机Labview图像处理定位算法精度更高,所以采用其作为对比的标定值,但是其计算速度相对慢许多,也是本文定位算法研究的意义所在。其中(x′1,y′1)是 MARK 圆中心坐标的标定值,(x′2,y′2)是MARK圆中心坐标的测量值。定位相机图像分辨率为1280*1024,那么图像中心点坐标为(640,512)。规定图像左上角坐标为(0,0),自左至右为x方向逐渐增大、自上至下为y方向逐渐增大,Δx1,Δy1是MARK圆中心分别在x和y方向的标定偏差值。Δx2,Δy2是MARK圆中心分别在x和y方向的测量偏差值。Δx3,Δy3是测量偏差值的绝对误差。

表1 贴片头定位实验数据

实验结果表明,如表1所示x方向和y方向的绝对误差为±2个像素点。由于定位相机的精度s=7μm,也就是一个像素点对应实际距离是7μm,那么实际误差是±14μm。满足本文研究的技术指标。

对于贴片机的速度,针对不同PCB板,进行五组实验数据的获取,其中第一组实验PCB板封装主要包括QFP封装和SOP封装,第二组实验PCB板封装主要包括QFP封装和SOP封装,第三组实验PCB板封装主要包括BGA封装和SOP封装,第四组实验PCB板封装主要包括QFP封装、SOP封装和BGA封装,第五组实验PCB板封装主要包括QFP封装、SOP封装和BGA封装。利用秒表对其进行计时,如表2所示。

表2 贴片速度实测数据

实验结果表明,不同PCB板的贴片速度在5000片/小时上下浮动。按照速度等级分类,中速贴片机为3000~9000片/小时,高速贴片机为9000~40000片/小时,超高速贴片机为40000片/小时以上。本文研究的贴片机速度属于中速贴片机,所以满足本文技术指标要求。

同时,为了更好的体现出本文所提的算法具有更好的优势,与模板匹配的其它算法进行了对比实验。对比算法使用的是加拿大Matrox公司的MatroxInspector3.1软件,对比实验数据如表3所示。

实验结果表明,相关算法x方向和y方向的绝对误差为±3个像素点,而本文所提出的定位算法在x方向和y方向的绝对误差为±2个像素点。从而可以看出本文所提的基于FPGA视觉定位算法在定位精度上具有明显的优势。

4 结论

传统的对两幅标志图像进行对准的算法采用的是模板匹配的相关运算法。这种方法计算过程简单,但当两幅图像存在旋转关系时效率较低,且对标志图像的比例变化和局部残缺较为敏感。不能满足现代发展的需求,因此,为了满足现代发展的需求,本文深入研究了机器视觉定位技术,提出了基于FPGA贴片头视觉定位算法,利用FPGA提取了MARK点轮廓特征,并给出了PCB板元件位置计算方法。重点研究了机器视觉定位的算法及应用原理,进一步提高了定位的精确度。根据贴片速度和贴片精度的实验结果表明,贴片机达到了预期设定的目标,即,贴片速度等级:5000片/小时;贴片精度:±0.02mm。

表3 相关算法与本文算法对比实验数据

[1]张杰.基于FPGA的数字图像处理[D].武汉:武汉科技大学,2009.

[2]曹建锋.基于FPGA的图像视觉检测系统的研究[D].大连:大连理工大学,2012.

[3]Li B,Cui Y.Study on edge subpixel location of ellipse in computer vision measurement[C].International Congress on Image and Signal Processing.IEEE,2010,9(4):1684-1688.

[4]张强.SMT装备制造业发展趋势与国产化路径选择[C].2014中国高端SMT学术会议,陕西,2014.

[5]胡金荣.中国贴片机市场新格局[J].电子经理世界,2006(4):56-58.

[6]Chang CC.Hsiao JY.Hsieh CP.An adaptive median filter for image denoising[C].International Symposium on IntelligentInformation Technology Application,Shanghai,2008:346-350.

[7]鲜飞.贴片机发展引人关注[J].电子工业专用设备,2008,37(3):24-26.

[8]王立成.面阵列芯片封装设备中的视觉定位技术[D].武汉:华中科技大学,2004.

[9]张云峰,韩广良.基于DSP的实时边沿相关图像处理系统的设计[J].长春理工大学学报:自然科学版,2004,27(4):91-94.

[10]杨宏伟,陈利峰.新型双目相机运动控制系统设计[J].长春理工大学学报:自然科学版,2015,38(6):108-113.

[11]Zahradnik P,Imak B,Vlcek M.Filter design for image preprocessing in image communication[C].Eighth International Conference on Networks.IEEE,2009:40-45.

[12]刘杰.机器视觉在SMT贴片机种的研究及应用[D].苏州:苏州大学,2011.

[13]姚敏.数字图像处理(第2版)[M].北京:机械工业出版社,2012.

[14]许海丽.基于Open CV的SMT纠偏贴片视觉系统的研究[D].苏州:苏州大学,2013.

[15]于婷婷,方舟,刘波,等.基于机器视觉检测的摄像机快速标定与误差分析[J].制造业自动化,2015,1

Research and Implementation of the Visual Location Algorithm Based on FPGA

XUE Kejuan1,2,DUAN Jie1
(1.School of Optoelectronic Engineering,Changchun University of Science and Technology,Changchun 130022;2.School of Electronic and Information Engineering,Changchun University,Changchun 130022)

The two sign is used in the traditional image alignment algorithm is related to calculation method of template matching.This method is simple in calculation,but when there are two image rotation relationship of lower efficiency,and the change of the sign image and the proportion of local defects are more sensitive.Aiming at the existing problems of traditional localization algorithms,and combined with the advantages of FPGA high-speed parallel computing,a FPGA placement algorithm is proposed.It analyzes and studies the PCB MARK point recognition,to achieve accelerated algorithm based on FPGA placement heads localization algorithm,and using a single instruction stream algorithms.

Experiments show that,compared with the traditional host computer algorithm,the algorithm further improves the positioning accuracy,and in the case of ensuring the accuracy,greatly reduce the positioning time.

chip mounter;FPGA;visual localization algorithm

TP751

A

1672-9870(2017)04-0023-05

2016-08-20

薛克娟(1990-),女,硕士,E-mail:554814558@qq.com

段洁(1979-),女,博士,副教授,E-mail:dj0321@126.

猜你喜欢
贴片元件坐标系
承压类特种设备受压元件壁厚测定问题的探讨
心脏细胞微针贴片,可治疗心肌梗死
解密坐标系中的平移变换
坐标系背后的故事
皮肤贴片对花生过敏有帮助
微型的皮肤贴片 让你不运动就能减肥
基于重心坐标系的平面几何证明的探讨
QFN元件的返工指南
宝马i3高电压元件介绍(上)
Cu4簇合物“元件组装”合成及其结构与电催化作用