屠子美,王素娟,沈知玮
(1.上海第二工业大学 智能制造与控制工程学院,上海 201209;2.新南威尔士大学 电气工程与通信学院,悉尼 2052)
随着印刷电路板(Printed Circuit Board,PCB)上的电子元器件尺寸越来越小,贴装密度越来越高,对PCB 的检测提出的要求也越来越高。自动光学检测(Automatic Optic Inspection,AOI)作为一种高效的自动化检测技术,在PCB 缺陷检测中得到了广泛应用。本文提出的PCB 检测及分拣系统运用AOI 技术,以Datalogic 智能相机作为检测器件,采用Impact 软件进行检测算法的编写,利用ABB 工业机器人进行分拣,能够实现读二维码溯源、错漏件(,和LED)检测、排针弯曲、焊脚规整度排查等功能,并且能按照预设分拣类型进行分拣。在工业化生产线的背景下,有着良好的发展前景和经济效益预期。
基于机器视觉的PCB 检测及分拣系统的硬件包括AOI 平台和机器人分拣单元。分拣单元由ABB 工业机器人和真空气泵组成,气泵的气嘴固定在机器人第六轴上便于吸取PCB。AOI 平台由智能相机、镜头、光源以及支架组成。相机选用Datalogic 智能黑白相机,相对于彩色相机,分辨率相同的情况下,黑白相机的精度更高尤其是边缘部分,因此这里选用黑白相机即可。AOI 平台中,相机是成像的关键,但是成像质量不单单是由智能相机的质量决定的。镜头和光源往往是帮助获取优质图像的关键所在,镜头决定了相机所在的工作位置和视野的大小;光源则帮助获得高质量、高对比度的图像,直接影响精度和处理速度。本系统中选用欧姆龙镜头,因相机位置距被测物体35~70 mm 范围,故选择相机=50 mm,使视野比PCB 需要检测的部分稍大又不太大,以免造成精度的损失;考虑到待检测PCB 的底色大部分是绿色的,且表面有一层过油保护,故光源选用白色环形光源,外直径350 mm。系统组成结构图如图1所示。其中,相机和机器人之间采用串口通信,PC 机和机器人之间利用网线通信。
图1 PCB 检测和分拣系统组成框图
基于机器视觉的PCB 检测及分拣系统中软件设计包括两部分:视觉软件和分拣软件。视觉软件编写相机要完成的工作,主要有:图像采集、图像预处理、图像检测、结果输出等;机器人软件要完成的主要工作有:接收I/O 信号和串口信号,识别并到指定位置吸取PCB,根据分拣结果放置PCB 至不同区域。使用到的软件主要是视觉处理软件Impact 和ABB 机器人仿真软件RobotStudio。相机与机器人之间能够实现实时数据交互,PCB 的吸取位置坐标信息由相机通过串口发送给机器人,而图像处理结果信息由PC 机通过网线发送给机器人。
2.1.1 视觉处理流程
视觉处理是对采集到的PCB 板图像进行处理和检测。智能相机采集到图像后进入图像处理环节,首先采用模板匹配的方式定位PCB,即通过计算调整采集到的图像的坐标和角度;接下来进行二维码溯源以确定是否是同一批次PCB;然后按照用户选择的待检测项目依次进行芯片焊脚检测,确定当前PCB 上是否焊有该芯片,芯片焊脚规整度检测,PIN 针是否弯曲检测,电阻、电容、LED 等元器件是否有错漏件等的检测;最后智能相机将计算出来的坐标、角度通过串口发送到机器人,PC机将检测结果发给机器人,机器人带动气泵进行不同类型缺陷的分拣。
系统软件流程如图2 所示。
图2 系统软件流程图
2.1.2 软件界面
Imapct 是针对Datalogic 智能相机编程的软件,这里用于视觉程序的编辑和用户界面的制作。Impact 软件套件包含超过120 种检测工具和50 多种用户界面控件,能够帮助用户创建检测程序和开发用户界面。Impact由视觉程序管理(VPM)和控制面板管理(CPM)组成。根据系统功能设计的视觉程序界面如图3 所示。
图3 视觉软件界面
用户选择登录进入操作界面后,触发整个系统,检测结果就会显示出来。左下角的圆形灯表示定位和读码是否成功,右边则对应PIN 针的检测结果。用户还可以在左下角勾选想要进行的检测。
机器人的任务是放置PCB,触发相机,接收相机和PC 机发送过来的坐标及检测结果,实现PCB 分拣。其工作流程如图4 所示。
图4 机器人工作流程
由于PCB 大小不同、元器件的排布都不相同,因此用机器人进行分拣的关键是要找到合适的吸取位置吸取PCB。相机和机器人被标定在同一个坐标下,视觉程序通过计算得到合适位置的坐标,然后通过串口通信发送坐标信息和检测结果给机器人,机器人就可移动到合适位置吸取PCB,并按检测结果将PCB 放置到不同区域。
对PCB 进行精确定位,是PCB 缺陷检测技术中的关键一环。相机采集到图像之后的任务都需要根据图像的定位来进行。本系统图像定位的流程为先进行图像缩放,再对图像进行亚像素处理,然后采用模板匹配进行定位。对图像进行比例缩放的目的是提高匹配速度;进行亚像素处理的目的是提高匹配精度;模板匹配的实质是基于灰度信息的图像配准,即根据PCB 模板的图像特征,选取唯一的对比度明显的部位作为模板匹配的对象,然后将采集的图像与模板的相同部位进行对比,以确定定位点。
图5 定位后的图像
由于PCB 通过机器人放置到支架上,不进行人工配准也无硬件配准,所以每次放置的PCB 会有一定的位置或角度偏移。本系统采用的是软件配准,无需另设硬件,使用模板匹配能够在定位关键特征的同时提供坐标和角度信息,不但节约了硬件配准的成本和人力,大大节省了系统在配准上的耗时,而且经过标定之后可以很方便地使机器人与相机处于同一个坐标系中,为之后的机器人分拣提供必要数据。
目前常用的缺陷检测算法可大致分为三大类:有参照判决,即将被检测图像与标准模型比对;无参照检测,或称为基于规则的校验;混合型判决,综合运用标准模板比对和基于规则的判决。本系统使用的是有参照判决,即将标准PCB 的检测信息放入到参考库中,之后每一次的检测都与标准值进行对比,并且进行允许误差范围的设置,确保检测更加准确与可靠。在检测中采用连通量分析和灰度对比的手段从图像上分析出PCB 表面含有缺陷的部分。
PCB 表面常见的缺陷有元器件的错漏件、排针弯曲、焊脚不规整等。表1 列出了各种缺陷的检测算法和图像预处理措施。
表1 PCB 缺陷检测算法和图像预处理措施
芯片焊脚规整程度的检测使用连通量分析,检测连通区域是否在阈值范围内,该阈值是由规整的PCB 焊脚计算出来的。由于图像背景色为黑色,焊脚较亮,为使检测更准确,在检测前需对其进行边缘增强处理,使图像在焊脚处的特征变得更加清晰,以便通过阈值将焊脚和背景色完全区分开。排针是否弯曲的检测是通过测量排针到设定的坐标原点的距离,如果不在阈值范围内,则推断排针弯曲。排针的检测图像需要先做一个滤波去噪,以找到图中与底色对比度强烈的针尖部分,再测量其和所设原点的距离以判断是否有弯曲。元器件的错漏件情况主要是通过灰度对比来实现。在程序中将每一个元器件位置上的灰度值记录下来,多次测量标准PCB 的各个灰度值,得出一个范围,之后每次检测该位置的时候都与参考范围作比较。
表2 为常见元器件的灰度。由表2 可知:(,,LED)三者的灰度范围是不重合的,并且至少都相差10%以上,背景色的灰度在60%~70%之间,也与元器件范围不重合,能够满足机器视觉对于元器件的检测。同样为方便检测,需要先对图像进行中值滤波,去除图像噪声,如图像拍摄时的灰尘等。
表2 常见元件灰度范围设置
PCB 检测有很多种方法,在机器视觉的帮助下能够通过图像上的特征完成识别缺陷的任务。图像上最明显的信息主要是灰度的不同,根据灰度设置阈值用连通量分析判断该区域。此方法的优势在于,由于每个元器件的大小和在图像中的灰度都是相对固定的,在经过大量实验得到阈值后,错检率将能够降低到非常小的数值。并且这是一种非接触式的检测,在稳定的环境下,相对于其他方法的检测速度也非常快。
程序运行时间是一个系统成败与否的重要指标,影响程序运行速度的因素有很多,本系统从以下方面提高系统运行速度:
1)图像定位时要考虑特征是否明显,对于一幅灰度图像来说,用来定位的部分一定需要灰度变化比较明显且唯一。灰度的变化越大对于处理器来说就越是容易找到定位区域,用时就会减少,定位也会更加准确一些。PCB 上PINpoint 的特征比较明显,所以选PINpoint作为定位原点。
2)对于一个视觉程序来说,图像的质量会严重影响程序运行的速度,当图像各个部分的待检测特征不是非常明显的时候会产生较大的工具延时。因此,在对不同缺陷进行检测时,采取不同的预处理方法,使其特征明显,如检测芯片焊脚规整度前先对图像进行边缘增强处理。图6 显示出边缘增强处理后焊脚特征更加明显。
图6 边缘增强对比效果
3)视觉检测往往可以采用不同的方式达到同一个目的,选择的工具会影响到程序的速度,所以在选择工具时不仅仅要考虑到效果还要考虑程序运行时间。
4)视觉程序要和机器人程序配合,由于机器人的串口接收一般会设有一个串口接收数据的限时。在视觉程序设计中,计算出坐标值之后本系统采取了调用子程序的方式,将串口程序写在视觉程序之后调用,从而避免了串口发送时间上产生错误。
PCB 检测与分拣平台搭建完成之后,利用已有的PCB 做了数次实验,包括:同一块PCB 多次检测结果是否一致(多次检测内容包括角度旋转和调整PCB 位置);不同的有缺陷的PCB 检测结果是否与实际缺陷一致。表3 是记录下来的部分实验数据。实验结果表明检测内容与实际符合,分拣位置与预设符合。整套系统中,视觉程序运行时间大约60 ms,机器人坐标精度为10mm,图像检测精度为10mm,符合快速、精确检测和分拣的要求。
表3 实验数据汇总
基于机器视觉的PCB 检测和分拣系统采用Datalogic 智能相机和视觉软件Impact 组成图像采集处理平台,并使用环形白色光源辅助采集图像;使用ABB机器人和真空气泵实现PCB 的搬运分拣。实验结果证明,整套系统采用的检测方法可行,运行速度快,精度高,可以满足高精度PCB 检测的需要。本系统具有如下创新点:
1)设计了软件配准,加快摆放速度,而不用硬件配准也节约了成本。
2)软件界面具有良好的交互性,运行界面的交互功能有:显示ROI 区域、每个工具的pass 或者fail、公差的调整、检测项目选择等。
3)软、硬件采用模块化设计,通用性和实用性较强。