文章目录
- openpnp - 吸嘴是否吸取了元件的检测
- 概述
- 笔记
- 补充 - 2023/8/11有bug, 元件底部视觉检测有时检测不到正确的元件外形
- END
openpnp - 吸嘴是否吸取了元件的检测
概述
设备本身调试好了, 现在进行试贴.
发现一个奇怪的问题, 不管是否吸嘴吸取到了元件, 都会往板子上贴元件(空贴).
这就会造成事故了, 批量时, 板子从炉子中出来后, 发现板子上不定要少几个元件, 这咋弄?
. e.g. 飞达上没有元件, 或者飞达上有元件, 由于负压不够或者吸取高度设置好, 导致吸嘴吸取时, 没触碰到元件表面. 或者飞达位置是上一个工程的, 吸嘴下方的X/Y/Z坐标上, 就没有元件. 或者物料编带撕掉蒙皮时, 压板高度不合适, 引起了跳料, 发生跳料的料位, 里面的料要不是飞掉了, 要不就是没有平置在料位内, 导致吸嘴吸取元件失败.
如果这么空贴到板子上, 谁还能有那个耐心, 用元件浏览器, 将板子上的元件都看一遍, 看看哪个元件没贴上?
特别是批量时, 根本不可能去查看是否元件都贴到了板子上.
向几个同学都请教, 他们的设备如果吸嘴未吸取到元件, 贴片任务都会停下来. 这样安全啊.
但是我的设备, 即使开了元件的底部视觉, 还是会空贴.
一位同学说是元件的开底部视觉, 他正忙呢, 就这一条线索.
请一位同学给我远程调试设备, 看他的操作, 没看出来有啥遗漏的操作细节. 最后他没解决.
和另外一位同学讨论, 他说到吸嘴上没元件时, 元件测试对齐时, 就不应该有红框. 这个线索比较醒目.
因为同学的操作我没观察出区别, 就有点怀疑是openpnp软件的bug.
同学推荐, 可以用2023/8/11的测试版, 或者用2023/3/15的开发版.
2023/8/11的测试版, 他用的挺好, 没发现问题.
我现在用的是2022/8/01的开发版.
然后我装了2023/8/11的测试版, 从头开始校验设备, 一次性通过.
试了1天, 找出区别出来了, 是开了元件底部视觉的同时, 还要勾选检测元件size, 这样才行.
和openpnp版本(2022/8/01的开发版/2023/8/11的测试版)没关系, 只不过2023/8/11的测试版功能更多了, 用起来更方便.
元件尺寸检查有2个选项:
- 检查外形尺寸, 这个就不用将封装上的焊盘都定义清楚, 只需要将封装上的长/宽填为正确尺寸.
- 检查焊盘扩展, 这个要将封装上的焊盘都定义清楚, 具体没用, 遇到管脚多的元件再试试.
官方设置, 在吸嘴那里有元件检测, 但是那个元件检测, 使用吸嘴的真空度来判断元件吸取前后, 负压的变化. 这样不靠谱, 多个吸嘴, 用同一个负压源, 如果贴片用气多, 或者不用负压时, 负压保持的不好, 负压值就是不靠谱的. 如果用负压的差值, 也不靠谱.
像我用的这个负压源, 和主板控制没关系. 负压表可以自己设置停止充负压和开始充负压, 自动充负压, 如果在吸取元件时, 正好在充负压, 这就不好去设置吸嘴吸取元件前后的负压值.
像官方的这个吸嘴元件检测(用吸取元件前后的负压变化来判断), 必须主板要能控制和读取当前吸嘴负压值才行. 必须是每个吸嘴都有独立的负压源, 才可能用真空度的差值来元件是否被吸取到了吸嘴上. 而且, 真空泵必须很快(在一个元件被吸取前)就能到达一个稳定的负压值.
怪不得以前买的垃圾桌面贴片机(双帖头), 会有2个微型真空泵.
同学们用的都是检测元件size的方法, 用的是元件底部视觉, 估计他们的视觉规则默认都是勾了检测size的选项, 所以他们没注意到.
用底部视觉来检测元件尺寸, 不是很精准, 可能测量出来的size, 比元件的实际size大0.5 ~ 1mm, 不过无所谓, e.g. 0603(1.6mm x 0.8mm)吸取了元件时, 可能宽度测量值为1.2mm, 但是没有吸嘴到元件时, 只是一个吸嘴在底部相机的情况下, 测量的宽度尺寸, 就只有0.6mm(估计是测量的吸嘴的外壁). 就通不过底部视觉检测了.
这样就可以解决吸嘴上是否吸取了元件, 解决有无问题.
在网上能查到的元件底部视觉检测的资料(主要是官方资料, 第三方好像没人写这个)不多.
我在设备标定完成时, 做了配置文件的备份. 现在将做过实验的配置删掉, 解开释放备份的配置.
在这个设备刚标定完的环境下, 重现一次"吸嘴是否吸取了元件的检测"的操作.
笔记
回到test_2023_0811刚通过设备标定的状态
openpnp开机, 设备归零&&视觉归零&&吸嘴(N1, N2)自动标定.
设置丢弃点&&应用. (测试中, 丢弃元件时, 需要定义丢弃点)
设置P(停靠)点 (贴片任务完成后, 需要回到停靠点)
设置一种板子上用到的料的散料飞达. 这里用0603, 502吸嘴.
8mm不同编带的厚度不同, 要使用合适高度的压板.
在散料飞达上吸取一个料.
先走到当前位置看看有没有料, 然后再吸嘴.
如果是第一次设置, 先将封装的底部视觉选为库存的底部视觉
将元件的底部视觉从库存底部视觉拷贝为元件独立的底部视觉.
将检查元件size勾选上, 然后点击元件对齐.
这里的元件检测方式为BodySize, 我这里默认是None. 如果是None, 元件检测就无效, 会引起空贴.
点击元件对齐时, 有2个问题.
- 元件外形框选的不对, 没有套在元件实际外形上.
- 检测元件尺寸时报错, 这是由于原件外形框选的不对引起的.
修改滑动条, 通过修改阈值和细节尺寸滑动条, 使外形框选到实际元件外形上.
通过实验, 将阈值滑动条和细节尺寸滑动条都移动到右侧, 可以实现元件外形的准确捕获.
再尝试元件对齐.
此时报错, 说元件的0.8mm那条边, 测量的值出了范围了.
视觉测量的值是个大概值.
此时, 要修改测量范围, 修改大一点, 让视觉测量的值在范围内.
将元件size检查的size精度改大一点, 20% => 25%, 接受参数. 再进行元件对齐.
这里值得注意, 有元件时, 改的size精度, 能让有元件时, 识别到元件外形后, 还要在没有元件时验证一下, 防止size精度过大, 导致没元件时, 误判为有元件. openpnp给出的20%, 好像是个合理的值.应该就在这个值附近才行. 如果元件抓偏了, 改到70%才能在有元件时, 判断到元件外型, 但是无元件时, 就会造成误判. 如果吸嘴偶尔将元件抓偏了, 就丢弃掉, 继续任务, 如果经常性的将元件抓偏, 需要考虑将散料飞达的料槽宽度缩小(8mm的料带对应的料槽宽度可以为8mm或者8.10mm, 不用太大了)到合适宽度, 防止料带随意晃动. 剩下就要考虑吸嘴同心度的问题了. 不过经过了openpnp标定, 吸嘴同心度有补偿的.
可以看到测量的值还比范围大一些. 但是此时的值范围, 已经比20%那时要大一些了.
看到主次基准点和测试目标的尺寸测量的不准, 改为了实际值, 不知道是否对底部相机测量有影响.先改了.
好像是有影响.
现在测量出的值, 比以前同样size百分比时, 小一些了, 这样更接近实际值.
小步的修改size检查范围, 直到测量的值在size范围内.
吸嘴拾取精度的设定.
吸嘴可以设置拾取精度, 标定设备时, 我改为了0.2, 现在改为0.1mm, 引起报错.
吸嘴的拾取精度, 指的是吸嘴抓取元件后, 抓取位置和元件形心的偏差.
我这台设备, 这里设置成0.2mm才行. 才能通过元件底部视觉校验.
这个抓取精度所指的形心偏差, 实际上代表了设备能贴的元件的最小尺寸.
如果吸嘴拾取精度最小只能为0.2mm, 即元件最小为0.4mm, 因为吸嘴必须在元件形心上.
结合电阻厂家的数据表, 可知, 我这台设备由于吸嘴的缘故, 最小只能贴0402的元件. 不过, 暂时这也够了.
现在实验的吸嘴是502, 等后续换501实验时, 看看是否在吸嘴拾取精度为0.1时, 也能通过元件底部视觉校验.
现在抛料, 再吸取几颗料, 看是否都能通过元件底层视觉校验.
试了几次, 重复性挺好, 吸取的聊, 都能检测到元件.
现在模拟没有吸取到料的情况, 进行元件底部视觉检测, 看看是否能察觉到没有检测到吸嘴没有吸到料.
将散料飞达数量归零.
此时, 用吸嘴取料, 是吸取不到料的(因为料位上没料).
进行了取料操作后, 就去封装那里进行元件对齐.
这时, 底部相机十字中只有吸嘴, 但是吸嘴上是空的, 没有吸取到料.
此时, 进行元件对齐, 报错, 说R0603的长边出了范围, 太小了, 长边范围为1.6~1.168, 但是测量的值为0.7mm
这就行了, 现在因为吸嘴的存在, 还是能测量出一个长方形的物体出来. 但是, 测试测量的值要比有元件时小了将近一半.
那现在, 就已经通过元件底部视觉检测, 将吸嘴上有/无元件的情况区分出来了.
现在丢弃元件, 再用N1去吸取散料飞达0603上的料, 重复几次吸嘴上吸取不到元件的情况, 看看重复性怎么样. 现在编带上还有几个连续的料位是空的.
可以看到, 吸嘴上没有元件时, 元件底部视觉测量的元件边长是吸嘴尖端的外径. 所以我们要使用吸嘴尖端外壁比元件小才能通过这种检测元件size的方法生效.
如果使用的吸嘴尖端外经>元件边长, 就会引起误判和空贴.
试了几次都好使.
补充 - 2023/8/11有bug, 元件底部视觉检测有时检测不到正确的元件外形
如果元件抓的有点偏, 就无法紧贴元件外形用红框框住. 导致将元件检测的size精度放宽也不行.
两个滑动条(阈值 + 细节size), 越向右边移动, 红框越能靠近元件外形. 但是元件抓的有点偏的情况下, 无论如何调整滑杆, 都无法将元件外形紧密的框住.
我还是回2022/8/1的开发版去玩了.