巡检原理:顶部相机将依次对各个Mark点或虚拟Mark点进行拍照和特征匹配,OpenPnP最后会根据识别得到的各个Mark点的中心坐标,经过计算,得出电路板的原点坐标和旋转角度,并将这些数据改写至在新建任务时,由我们手动定义的电路板原点和角度值(X,Y,角度)。巡检完成后,顶部相机将返回由OpenPnP计算得到的这个新的原点位置,即十字中心指向电路板原点,蓝色线代表电路板的新的旋转角度。
巡检的目的:通过Mark点,将坐标文件中的元件坐标与实物电路板各元件的点位,进行位置统一。
可以返回01章节,查看有关Mark点和虚拟Mark点的中的内容。
注意:
- 一定要为Mark点或虚拟Mark点修改或新建对应的封装和元件信息,告诉OpenPnP巡检过程中要检测的是什么图形以及图形的特征尺寸。
- 不同尺寸的有效图形,需要对应不同的封装和元件定义。
- 一定要为不同的Mark点封装,指定其独立的基准视觉方案。
手动对某个Mark点或虚拟Mark点进行识别验证:
其中涉及到的概念:
①Max. Vision Passes:最大检测次数,默认为3次。
②Max. Linear Offset:最大线性偏移,单位mm。对连续两次的识别结果进行求差。
如果这个差值小于该线性偏移,则认定为识别合格,就不再进行后续的识别和检测。
如果该差值过大,则继续进行一次检测。当超过最大检测次数时,便会送出弹窗提示检测失败。
③Parallax Diameter:视差直径,单位mm。当此值 ≠ 0时,将自动切换到视差模式,即从Mark点两侧的两个不同的视差位置进行Mark点的识别检测。
这两个视差位置之间的距离就是视差直径。
如果顶部相机正对Mark点时,看到的Mark点图像有强烈的镜面反光或边界不清,可以尝试使用此功能。
目的是改变拍照时的视角,让Mark点图像呈现明显的明暗分界和对称特征。
④Parallax Angle:视差角,配合视差直径的倾斜角度。 X轴正向为0°,Y轴正向为90° 。
这四个选项,我一般使用的是默认设定,识别成功率还是很高的。
视差模式的动态演示,来自官网Wiki,请注意Mark点的反光变化。
这可能是最常遇见的一种现象。
OpenPnP是在可视区域内,根据封装向导中定义的目标尺寸以及基准视觉配置中的视觉管道设定,去寻找那个最接近的特征图形。
电路板摆放高度的不同、电路板颜色和反光、室内光照强度、补光灯亮度及曝光度设定等,都会影响顶部相机所看到的图像质量和效果。
当电路板表面反射了顶部相机补光的光斑,因其有着强烈的明暗特征,很多时候,会干扰或抢走顶部相机对Mark点的正常识别。
光斑干扰的示意(虚拟Mark点-通孔的识别):
我的做法是,编辑视觉通道,增加一个Maskcircle(蒙板),人为控制可视区域的大小。
操作如下面动图所示:
新建的Maskcircle的请用鼠标左键按住,拖动至视觉通道的第2条的位置,位于ImageCapture之后,即拍照后,立即进行Maskcircle。
视觉通道是按照从上到下的顺序,依次进行的。
Maskcircle(蒙板)其实就是增加一个遮罩,只显示和处理遮罩以内的图像信息,屏蔽掉蒙板圆圈以外的图像,进而实现屏蔽光斑的干扰。
蒙板的大小要根据Mark点的大小自由设定。
需要考虑的是:
要保证Mark点能够完整的落入蒙板圆圈之内,特别是当您更换一块新板子时,一定要配合磁吸座做好重复定位,或者重新定义电路板原点和角度。
请将基准视觉通道中Name为circular项中的outerMargin数值,由原来的0.2改为0.6~0.8之间的数值。
最上方的按钮就是Mark点的自动巡检按钮。点击后,将对所有启用的Mark点逐一进行一次巡检。
巡检基准点?:该功能勾选后,每当点击任务开始按钮时(绿色播放键)进行贴片进程时,会立即执行一次Mark点的自动巡检。我一般会启用该功能。
Mark点的巡检演示:
下面针对我所挑选的虚拟Mark点进行演示(都是直径1mm的孔):
1、完成Mark点的封装定义后,一定要多次尝试手动对Mark点进行 测试基准点识别和定位,验证Mark点的识别成功率,检验Mark点定义是否妥当。
2、一定要为各个不同的Mark点指定其专用的基准视觉方案。
3、虽然可以使用视差功能来屏蔽光斑干扰,但是效果不如添加Maskcircle好。
4、视觉通道里已使能的各个管道(Stage),是按照从上到下依次顺序进行的,最好是把Maskcircle手动调序至紧接第一项的ImageCapture(拍照)之后。
上一章:07-建立任务 返回目录 下一章:09-散料编带的定义