08-Mark点自动巡检

 8.1 Mark点巡检的目的

巡检原理:依次对各个Mark点或虚拟Mark点进行拍照和特征匹配,OpenPnP会根据得到的各个Mark点的中心坐标,重新计算出电路板原点坐标和旋转角度,最终将更新好的数据更改写至刚才手动定义的电路板原点和角度值(X,Y,角度)。巡检之后,顶部相机将返回更新好的新的原点位置。

巡检的目的:将贴片坐标与实物电路板各元件点位进行位置统一。

   

 8.2 Mark点的封装及识别

可以返回01章节,查看有关Mark点和虚拟Mark点的中的内容。

一定要为Mark点或虚拟Mark点修改或新建对应的封装和元件信息,告诉OpenPnP巡检过程中要检测的是什么图形以及图形的特征尺寸。

不同尺寸的有效图形,需要对应不同的封装和元件定义。

一定要为不同的Mark点封装,指定其独立的基准视觉方案。

手动对某个Mark点或虚拟Mark点进行识别验证:

Mark点手动识别和验证

其中涉及到的概念:

Max. Vision Passes最大检测次数,默认为3次。

Max. Linear Offset:最大线性偏移,单位mm。连续两次识别结果求差,如果这个差值小于该线性偏移,则判定为识别合格,并提前停止后续检测,如果该差值过大,则继续进行一次检测。如果超过最大检测次数,则会送出弹窗提示检测失败。

Parallax Diameter:视差直径,单位mm。当此值 ≠ 0时,将自动切换到视差模式,即从Mark点两侧的两个视差位置进行检测。这两个视差位置之间的距离即为视差直径。如果顶部相机正对Mark点时,看到的Mark点图像有强烈的镜面反光或倒影,可以尝试使用此功能。目的是改变拍照时的视角,让Mark点图像呈现明显的明暗分界和对称特征。

Parallax Angle视差角,配合视差直径的倾斜角度。 X轴正向为0°,Y轴正向为90° 。

 这四条,我一般都不做修改,使用的是默认设定。

官网Wiki中关于视差模式的动态演示:请注意Mark点的反光变化。

视差角

官网Wiki中关于视差角的图示:

视差角和视差直径

 8.3 光斑的干扰

这可能是最常遇见的一种现象。

OpenPnP是在可视区域内,根据您在封装向导中定义的目标尺寸以及基准视觉配置中的视觉管道设定,去寻找那个最接近的特征图形。

电路板摆放高度的不同、电路板颜色和反光、室内光照强度、补光灯亮度及曝光度设定等,都会影响顶部相机所看到的图像质量。此外如果电路板表面反射了顶部相机补光的光斑,因其有着强烈的明暗特征,很多时候,会干扰和抢走顶部相机对Mark点的正常识别过程。

 

8.4 屏蔽光斑

我的做法是,编辑视觉通道,增加一个Maskcircle(蒙板),人为控制可视区域的大小。

 

光斑干扰的示意(虚拟Mark点-通孔的识别):

虚拟Mark点识别-光斑干扰

 增加Maskcircle(蒙板)的操作:

Maskcircle其实就是屏蔽掉蒙板圆圈以外的图像信息,其大小可以自由设定。

前提是要保证Mark点能够完整的落入蒙板圆圈之内,特别是当您更换一块新板子时,一定要配合磁吸座做好重复定位,或者重新定义电路板原点和角度。

虚拟Mark点识别-添加蒙板

  

8.5 进行Mark点的巡检

 

Mark点巡检

上方是Mark点的自动巡检按钮。点击后,自动执行一次识别过程,最后顶部相机的十字中心返回更新后的电路板的原点位置。

巡检基准点?该功能勾选后,每当点击任务开始按钮时(绿色播放键),会立即执行一次Mark点的自动巡检。我一般会启用该功能。

Mark点的巡检演示:

下面针对我所挑选的虚拟Mark点进行演示(都是直径1mm的孔):

虚拟Mark点识别-自动巡检

 

 本章小结和经验分享:

1、完成Mark点的封装定义后,一定要对Mark点多进行几次手动识别验证。

2、一定要为各个不同的Mark点指定其专用的基准视觉方案。

3、虽然可以使用视差功能来屏蔽光斑干扰,但是效果不如添加Maskcircle好。

4、视觉通道里已使能的各个管道(Stage),是按照从上到下依次顺序进行的,最好是把Maskcircle手动调序至紧接ImageCapture(拍照)之后。 

下一章:09-散料编带的定义

 

阅读下一篇

发表评论

所有评论在发布前都会经过审核。

此站点受 reCAPTCHA 保护,并且 Google 隐私政策服务条款适用。