2022 年全国职业院校技能大赛机器视觉系统应用——任务书4 PCBA AOI检测
注意事项
一、本任务书共 26页,包括附录七项(分别为视觉硬件及参数列表,相机的接线定义,分辨率及焦距计算公式,光源控制的接线说明,光源控制器通讯协议,旋转轴的安装及接线说明,相机、镜头、光源的选型计算报告)。如出现缺页、字迹不清等问题,请及时向裁判示意,进行任务书的更换。
二、在比赛前务必对各机器视觉组件和图形化编程平台软件熟悉,掌握C#软件编程及OpenCV库的调用。
三、在完成工作任务的全过程中,严格遵守光学或电气组件相关的操作要求,接线前一定要看清楚相机的引脚定义和电压要求。
四、不得擅自更改设备固定位置的器件和线路。
五、竞赛过程中,参赛选手认定竞赛设备的器件有故障,可提出更换,更换下的器件将由裁判组进行现场测试。若器件经现场测试是功能齐全,且没有故障的情况下,每次扣参赛队 1 分。若因人为操作损坏器件,扣 5 分。
六、所编的机器视觉程序必须保存到本机的“C:\全国技能大赛\Product\场次号-赛位号”文件夹下,赛位号以现场抽签为准。
七、参赛选手在完成工作任务的过程中,不得在任何地方标注学校名称、选手姓名等信息。
八、比赛结束后,参赛选手需要将任务书以及现场发放的图纸、资料、草稿纸等材料一并上交,不得带离赛场。
请按要求在 8 个小时内完成以下工作任务:
一、根据本任务提供的视野大小要求、工作距离要求、被测物的检测要求,从设备提供的一组机器视觉相机、镜头和光源中选择型号,完成选型并在合理的位置完成安装和接线。完成选型设计报告,并记载安装结果。
二、根据PCBA尺寸和初始状态的区域要求完成镜头对焦的调试
三、在开始配置检测流程前创建配置文件名称:“场次号-赛位号”。
四、通过标定板,完成单幅视野的标定,并保存标定结果。。
五、选择合理的手眼标定工具,完成图像坐标与运动坐标的统一,并保存在配置文件中。
六、将任务书实验要求用程序实现,通过图像化编程软件完成流程配置并对每个工具合理化设置参数。
七、拍图所需视野比较小,需要多次拍照才能拍全整个PCBA,通过视觉工具识别出每次拍图视野内的AOI缺陷。
八、通过视觉软件识别每个产品上的二维码及针脚的角度、距离的测量。
九、规划检测路径,整个过程可以实现自动化检测,利用XY平台将待检测产品移动到检测区域,再将检测后的产品用软件定位分类为良品和不良品。
十、生成检测报告,报告内容包含:产品的二维码信息、是否为良品、若为不良品还需输出AOI缺陷的位置信息及针脚的角度、距离结果信息。
十一、完成数据分析生成测试数据报表,并通过网络通讯工具发送给客户端,客户端收到测试数据后在窗口指定位置显示。
十二、在客户端完成C# 代码编程,实现图像边缘检测算法和图像直方图统计算法,并显示结果图像。
注1:本次工作任务请在机器视觉应用设备上完成,比赛前要熟悉设备使用说明书和软件用户手册。操作过程中,须遵守安全操作规程和职业素养要求的相关规定。
注2:考试过程中不允许带入U盘或其他可储存设备。
注3:程序复杂的情况下每完成部分编程需要记得先保存配置。
竞赛工作任务说明书
一、平台硬件、软件组成说明
竞赛任务平台的硬软件说明详见平台技术说明书及视觉软件使用手册。完成竞赛工作任务书所需的全部硬件,都包含在工作台所提供设备内,选手要使用的全部器件,只能在本工作台提供的设备内选择。
1、工控机
设备中包含一台工控机,另有一台用于接收通讯数据和视觉算法代码编程的客户端计算机由承办单位提供,比赛所需的软件和驱动均已经提前预装。
2、视觉硬件
1)相机
可选择相机共四个,编号分别为相机A, 相机B,相机C, 3D相机(3D相机工作距离要求大于350mm),具体参数见附录一。
依据被测PCB的大小、测量精度(在4、竞赛任务描述中给出)要求选择合适分辨率的相机。
2)镜头
可选择镜头共四个,分别为:定焦12mm镜头,定焦25mm镜头,定焦35mm镜头,放大倍率为0.3倍的远心镜头,具体参数见附录一。
依据被测物尺寸、相机安装位置,在满足工作距离,视野范围,分辨率的要求下选择镜头。
3)光源
可选择光源共五个,编号分别为:小号环形光源、中号环形光源、大号环形光源、同轴光源、背光光源。注意,三个环形可以组合成AOI光源。具体参数见附录一。
依据任务书的需要,在安装方式和安装空间位置允许的情况下,可根据实际需要,选择多个光源同时组合使用。
4)标定板
依据相机工作距离和视野大小选择合适尺寸的标定板,具体参数见附录一;
依据检测需求选择标定方式,选择标定板;
为满足检测要求,可能需要选择多种标定方式和标定板组合使用,完成系统的标定要求。
3、线缆
相机线缆:2D相机USB数据线一根、3D相机数据线一根、GigE电源线(含触发和输出信号)一根、千兆网相机通讯线一根(带锁)、网络通讯线一根(3米扁线)、光源延长线一根;(注意:RS232通讯线默认已经与PC连接)。
4、运动控制硬件
PLC:控制运动平台运动,控制光源亮灭;
运动平台:X轴、Y轴、Z轴、θ轴。(注意:旋转轴θ是扩展轴,初始状态放在下层的收纳柜中,需要选手按附录六:旋转轴的安装及接线说明完成平台的搭建)。
5、气动硬件
提供三种吸嘴,规格为:SP-06、SP-08、SP-10,根据实验需求正确选择吸嘴。
二、软件功能及编程说明
参赛选手将使用图形化编程软件,需根据检测要求,需提前完成软件流程设计。
图形化编程首先需要根据需求完成工具的选择,基本的流程如下图所示,为了使配置的流程相对简洁采用了子模块、工具组模块多模块组合的配置方法,具体流程配置方法详见《视觉软件使用手册》(说明:本流程示意图图1仅说明视觉软件的流程设计编程方式,与本任务书描述的具体任务无直接关系)。

主要的工具列表:
客户端电脑上提供以下编程工具和图像处理库:
1、Microsoft Visual Studio 2015编程软件,使用C#编程。
2、基于C#的OpenCV图像处理库OpenCvSharp。
3、客户端软件及二次开发工程框构,详细说明见《二次开发说明》文件。

三、标定说明及运动位置校准

选择合适的标定工具,利用图像标定板使用多点标定方式,对相机进行标定,把图像坐标转成设备坐标系统,并得出像素当量;选择合适的手眼标定工具,统一设备坐标系统与相机坐标系统。
四、竞赛任务描述——PCBA AOI缺陷检测
本次竞赛完成PCBA全面 AOI缺陷检测及针脚的角度、距离测量。
(一)PCBA的 AOI缺陷检测及针脚的角度、距离测量
PCBA及料盘数量1套,规格:彩色,大小:55mm x 35mm(单个);料盘总尺寸长:15cm,宽:18cm,视野大小为:35mm x35mm(视野范围允许一定正向偏差,最大不得超过5mm),工作距离要求:90mm(视野范围允许一定正向偏差,最大不得超过10mm)具体如下图:

AOI 缺陷种类例图如下图所示:
PCBA初始位置由参赛选手放置在自己设计的检测区;检测任务为:

1)圆形针脚焊锡检测:位置如图中黄框区域所示;
2)矩形针脚焊锡检测:位置如图中红框区域所示;
3)字符检测:如蓝框区域内的字符是否完整及元件是否焊反;
4)针脚测量:如红色虚线框区域所示,测量每两个针脚距离算平均值,右侧还需测每个针脚角度判断是否有歪
5)灯泡检测:如绿色框区域内所示,进行颜色的识别。
6)数据的保存:将AOI缺陷位置坐标、测量的数据(角度判断结果)、字符识别结果保存到:“C:\全国技能大赛\场次号\PCBA检测数据.csv。”文件中。
7)将保存数据的信息通过网口通讯发送给另一台客户端电脑,
(二)客户端电脑C#代码编程
1、在客户端电脑上打开客户端软件建立与主控电脑的TCP/IP通讯连接。
2、客户端与主控电脑实现控制指令、数据、图像传输功能。
3、使用Microsoft Visual Studio 2015软件打开对应工程文件,利用OpenCVSharp图像库的算法,在指定文件中的现有声明函数体内实现如下图像处理算法,具体需求如下:
(1)在Function1()函数体内实现图像边缘检测算法,开放边缘检测的参数,可手动实时调试参数;显示边缘检测结果图像,结果图像可随调试参数的变化而实时动态变化。
(2)在Function2()函数体内实现图像直方图统计算法,显示直方图图表。
4、工程编译成功后,系统生成新的测试工具,把生成的动态链接库文件拷贝到客户端软件所在目录的ToolGroup文件夹下面。
5、打开客户端软件,添加指定工具到流程图中,完成参数配置,实现图像边缘检测算法和图像直方图统计算法。
五、竞赛任务工作要求
1、硬件选型安装接线
相机、镜头、光源在合理位置安装(注意工作距离),保证安装稳固,镜头与相机连接螺纹圈须拧紧;镜头调试好之后,用顶丝锁紧对焦环及光圈环;
走线正确规范、整洁、牢固;物理接口选择正确。
输出选型计算过程,记录参数设置、安装结果。
2、视觉软件的PLC控制工具运行测试
控制XYZ轴移动料盘,设置检测拍照位置;
控制X,Y.Z轴移动料盘,示教PCBA的摆放位置和拍照点位,拍照点位可能需要示教多个位置;
输出I/O电信号正常。
3、光源控制工具运行测试
光源与其控制器正常,能控制所有光源亮灭,且能设置各光源亮度值;
4、相机工具运行测试
测试相机,保证相机正常工作;
确定图像对焦清晰(AOI缺陷清晰可见),视野大小合适;
协同光源控制器的光源调节功能,设置合适的相机参数(包括曝光,增益等参数)。
5、相机标定工具运行测试
放置标定板,在图像中观察标定板大小位置是否合理,确定合理后,设置标定参数,完成相机标定;
保存标定数据结果到配置文件;
正确移动及摆放标定板,完成手眼标定过程,保存标定数据到配置文件。
6、模板匹配工具运行测试
设置合适的参数创建模板并保存模板;
设置合适的参数查找模板。
7、检测类工具运行测试
设置AOI检测工具参数,能准确识别出AOI缺陷及位置。
8、测量工具运行测试
测量工具的参数,进行针脚距离及角度的测量。
9、颜色提取工具运行测试
设置颜色检测工具参数,区分同形状不同颜色的小板。
10、数据处理类运行测试
设置数据表格工具参数,并生成PCBA检测结果报表;
保存PCBA检测结果报表文件到:“C:\全国技能大赛\场次号-赛位号\PCBA检测数据.csv。”文件中
11、界面布局及数据显示
界面窗口显示当前相机采集图像;
测量标记标线和结果显示到图像上;
检测数据在界面左侧显示。
(注:当前只显示了一个PCBA图,如下图所示)

12、客户端显示要求
1)打客户端软件,与主控电脑建立通讯连接,添加“主控电脑取图”工具和指定工具。并做好参数配置设置。

设置对应参数,图像也会动态变化,工具处理效果如图9所示意。

3)点击界面上的“Function2”按钮,弹出如下窗口,显示直方图统计图表,工具处理效果如图10所示。

4)数据通过网口通讯发送给另一台客户端电脑,客户端软件接收服务器发送的数据并实时显示,客户端配置的名称为“数据接收”。
客户端数据显示在软件界面的下方的结果数据栏中。
六、工作流程参考
1、编写视觉程序流程前主要准备工作
相机镜头已安装调试完成,相机可以正常采集到图像,工作距离符合要求,相机视野合适,视野范围覆盖检测区内的七巧板;图像清晰,曝光设置合理;
光源安装调试完成,光源开关,亮度调好;
X,Y,Z各轴可正常控制,速度合理,拍照检测区位置示教合理;
相机标定,手眼标定已完成。
2、AOI缺陷检测流程
在主要准备工作完成后,开始PCBA的AOI缺陷检测流程,主要流程如下:
1)选手把PCBA放置到检测区;
2)移动平台到第一个检测位置;
3)光源触发点亮,同时触发相机拍照,关闭光源;
4)检测局部PCBA上是否有缺陷,记录检测结果,并输出缺陷位置;同时在该图片上进行相关的字符识别及测量,并保存结果;
5)移动平台到下一个检测位置;
6)依次进行检测,直到整个PCBA检测完毕;
7)完成所有PCBA的检测,将结果输出。
七、附件
附录一、视觉硬件及参数列表
附录二、相机的接线定义
附录三、分辨率及焦距计算公式
简单视觉系统的计算,主要包括视场(FOV)、分辨率(Resolution)、工作距离(WD)和景深(DOF)等。
分辨率我们通常指的是像素分辨率,(默认选用的镜头分辨率高于相机的分辨率)。因此
分辨率就等于视野FOV/相机的像素数,假如我们FOV尺寸是16mmx12mm,选用的相机是200万像素(1600×1200),那么像素分辨率就是16mm/1600 or 12mm/1200=0.01mm。
下表分别表示的是英制的芯片尺寸,真实的芯片大小和焦距的计算公式。
附录四、光源控制的接线说明
硬件触发:用户可以通过PLC、相机的输出外部触发信号来控制每一路输出的开关。需要外部触发功能时需将外部触发信号线连接到“REMO”端子上。触发信号高电平时打开,低电平时关闭。
软件触发:用户也可用软件实现触发功能,即使用串口对各输出通道进行控制,使各输出通道按照预先的设置打开或关闭其输出。
附录五、光源控制器通讯协议
硬件规范
波特率:9600 bps
每帧字节数:8字节
1字节 | 1字节 | 1字节 | 3字节 | 2字节 |
特征字 | 指令字 | 通道字 | 数据 | 异或和校验字 |
注: 所有通讯字节都采用ASCII码
- 特征字 = $
- 指令字 = 1,2,3,4,分别定义为:
1:打开对应通道电源
2:关闭对应通道电源
3:设置对应通道电源参数
4:读出对应通道电源参数
当指令字为1,2,3时,如控制器接收指令成功,则返回特征字$;如控制器接收指令失败,则返回&。
当指令字为4时,如控制器接收指令成功,则返回对应通道的电源设置参数(返回格式跟发送格式相同);如控制器接收指令失败,则返回&。
- 通道字 = 1,2,3,4。分别代表4个通道。
- 数据 = 0XX(XX为00~FF内的任一数值),对应通道电源的设置参数,高位在前,低位在后。
- 异或和校验字 = 除校验字外的字节(包括:特征字,指令字,通道字和数据)的异或校验和,校验和的高4位ASCII码在前,低4位ASCII码在后。
例:将第2通道亮度设为56,则以ASCII码向下写“$320381E”
附录六、旋转轴的安装及接线说明
θ轴如上图所示,共有四根线需要接入控制面板。
接线分别为A+ A- B+ B-,将对应接线端子接入到控制面板上。
附录七