openpnp - 自动换刀的设置

news2024/11/26 12:36:42

文章目录

    • openpnp - 自动换刀的设置
    • 概述
    • 笔记
    • 采用的openpnp版本
    • 自动换刀库的类型选择
    • 自动换刀设置前的注意事项
    • 先卸掉吸嘴座上所有的吸嘴
    • 删掉所有的吸嘴
    • 设置自动换刀的视觉识别
    • 设置吸嘴座为自动换刀 - 以N1为例
    • 备注
    • 补充 - 吸嘴轴差个0.3mm, 就有可能怼坏吸嘴
    • END

openpnp - 自动换刀的设置

概述

自动换刀的吸嘴库(openpnp - 吸嘴站(Nozzle Tip Changer)的选择)已经做好了.
试了一下, 自动换刀好使. 记录一下自动换刀的设置.

笔记

采用的openpnp版本

经过权衡(openpnp具体版本是否有不可接受的bug? 哪个版本最稳定可以用于生产?) 最终采用2022/8/1的开发版.

自动换刀库的类型选择

为了安全, 吸嘴库中的吸嘴数量最大化, 我采用了 带抱轴的吸嘴库
现在发现抱手层固定吸嘴轴的效果不是很好, 已经改进了抱手层, 送去打样了, 回来再试试.
在这里插入图片描述

自动换刀设置前的注意事项

设置自动换刀前, 要保持用手操作openpnp按钮的清醒思路(做每一步之前, 都要想一下, 这么做是否正确), 万一处于迷茫的状态, 很容易发生打刀或者吸嘴电机或者Z轴电机被怼在机械结构上, 出现事故时, 注意及时按下设备急停按钮来止损.

先卸掉吸嘴座上所有的吸嘴

在这里插入图片描述
在这里插入图片描述

删掉所有的吸嘴

在这里插入图片描述
此时, 吸嘴座上没有吸嘴, openpnp定义中也没有任何吸嘴. 这时, 就可以开始设置自动换刀了.
在这里插入图片描述
根据自己自动换刀库的实际情况 在openpnp中添加对应的吸嘴, 和吸嘴站上的吸嘴一一对应.
在这里插入图片描述
同一个吸嘴只能分配给N1或者N2, 不能同时分配给N1和N2, 因为每一个吸嘴设置时, 都是由实际的吸嘴座完成的吸取吸嘴并记录坐标完成的. 同一个吸嘴不可能由2个吸嘴座来分别完成吸取, openpnp不支持

对于我自己的吸嘴库, 分为2排, 一边各6个吸嘴. 分别插入的是502~507, 绿色和黑色的juki吸嘴都行.
在这里插入图片描述
下面一排给N1用, 上面一排给N2用.
在openpp中添加这12个吸嘴, 分别为NT1_502 ~ NT1_507, NT2_502 ~ NT2_507, 都用默认设置就行, 不用改.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将吸嘴分配给吸嘴座, N1_502 ~ N1_507给N1, N2_502 ~ N2_507给N2.
在这里插入图片描述
在这里插入图片描述
设备归零!
在这里插入图片描述
用手触摸试探吸嘴库中的所有吸嘴, 确认吸嘴都在物理停靠位置.
设置吸嘴的自动换刀坐标, 以N1_502为例.

打开N1_502的设置界面
在这里插入图片描述

在JOG面板中, 将顶部相机移动到N1_502的正上方, 将顶部相机十字对准吸嘴轴的中心. 坐标越准确越好(偏差应该在0.1mm之内), 可以将图像放大, 结合标尺的格子微调一下.
在这里插入图片描述
捕获吸嘴第一步的位置.
在这里插入图片描述
将第一步的相机十字换为吸嘴中心, 这时, 吸嘴座子就在吸嘴正上方.
在这里插入图片描述
在这里插入图片描述
用JOG面板, 将吸嘴座下落, 将吸嘴座和吸嘴扣合. 具体是否扣合, 可以在做这个实验前, 手工上吸嘴, 看看合理扣合时, 具体是个啥深度, 然后心里做个标记.
我这里, 只要吸嘴座下落到吸嘴上的螺丝孔上缘, 就扣合好了.
在这里插入图片描述

在这里插入图片描述
用1mm将吸嘴座向下落, 接近扣合位置时, 采用0.1mm往下落, 扣合时, 可以听到扣合的声音(再往下落不到0.5mm, 就扣合到位了). 当听到声音后, 再结合是否和自己先前手工装吸嘴时观察到的扣合位置接近, 作为扣合结束的时机.
在这里插入图片描述
我这里, N1的Z轴坐标在-34.7mm处, 基本到达扣合位置.
在第2步, 捕获当前Z坐标.
在这里插入图片描述
根据自己吸嘴库的吸嘴可以平移出吸嘴停靠位置到不剐蹭其他物体为准, 用JOG面板将吸嘴平移出来.
在这里插入图片描述
在第3步中捕获当前坐标.
在这里插入图片描述
在JOG面板中Z轴归零
然后在第4步捕获当前位置.
在这里插入图片描述
将取吸嘴动作的速度改为0.1, 这样安全一些.
在这里插入图片描述
分别点击吸嘴的回收按钮, 要倒着逐个点击, 是吸嘴从吸嘴座上回到吸嘴库中.
当前, 如果按钮点错了, 直接就撞刀了…

在这里插入图片描述

设置自动换刀的视觉识别

这步通过吸嘴物理停靠位置的图像判断, 来判断吸嘴库位置是否有吸嘴, 防止发生事故(只有吸嘴库位置为空, 才允许卸掉吸嘴, 将吸嘴自动插入吸嘴库, 只有吸嘴库不为空, 才允许自动将吸嘴载入到吸嘴座)

将视觉定位由默认的None改为第一步的位置
在这里插入图片描述
用第一步位置的按钮, 将相机十字自动对准吸嘴轴中心
在这里插入图片描述
当前, 吸嘴在吸嘴库停靠位置, 对有吸嘴的模板进行拍照.
在这里插入图片描述
如果拍照的图像没有完全容纳下吸嘴轴, 将模板宽度和高度适当调大, 知道拍照的图像可以容纳下吸嘴轴的完整图像. 然后应用.
然后用手(镊子比较方便)将吸嘴取出来, 使吸嘴停靠位置为空.
当前, 吸嘴库停靠位置为空, 对没有吸嘴的模板进行拍照.
在这里插入图片描述
将识别精度改精确一些.
在这里插入图片描述

现在测试一下, 是否可以自动判断吸嘴停靠位置为空还是有吸嘴.
在这里插入图片描述
可以看出, 判断好使. 提示说, 现在吸嘴座为空, 需要去吸取吸嘴, 但是吸嘴停靠位置为空, 没有吸嘴. 这样就很安全.
将吸嘴用镊子和手, 将吸嘴装入吸嘴库的停靠位置. 然后再测试.
在这里插入图片描述
当操作安全时, 没有任何提示, 只是图像在变化(顶部相机在突出显示吸嘴), 这说明, 当前可以操作吸嘴.

此时, 需要重新弄确认一下吸嘴位置是否对?(因为用手取出, 插入了吸嘴), 如果位置不对, 重新确认一下坐标, 否则将吸嘴座子落下时, 会直接将吸嘴砸坏(吸嘴坏了还有, 如果将吸嘴电机或Z电机整坏, 就划不来了).

这时, 就可以看出, 抱手层固定吸嘴轴效果是否好的重要性.

此时, 吸嘴已经回到了吸嘴库中的物理停靠位置. N1_502吸嘴的自动换吸嘴的参数已经设置完成.

同理, 将剩下的11个吸嘴坐标都设置好.

最后吸嘴都设置完了, 归零后, 将所有吸嘴的第一位置重新验证一下(如果不对, 将吸嘴位置都调整对), 防止杯具发生.

设置吸嘴座为自动换刀 - 以N1为例

设备刚标定好时, 是手工换刀.
在这里插入图片描述
现在点击选项 - 使能自动换刀, 手工换刀改变.
在这里插入图片描述
这样我们通过软件手工换吸嘴或者贴不同料时, 就可以来吸嘴站自动换成料指定的吸嘴.
以后归零后, 第一件事情, 先将顶部相机十字落在吸嘴上的第一位置, 看看位置正确(强迫症犯了, 还是担心坐标变了). 然后再干别的事情.
当前, 吸嘴座上没有吸嘴, 现在通过软件换吸嘴, 看看能不能自动换嘴.
在这里插入图片描述
现在勾选最后NT1_502吸嘴的载入选项框, 如果正常的话, 就会将NT1_502载入到N1吸嘴座.
正常
前面设置了换嘴时的操作速度为0.1, 如果位置稍有差异, 也会很安全. 换嘴的动作慢的很.
在这里插入图片描述
现在先归零, 让吸嘴离吸嘴库远点.
现在N1上载入了N1_502, 现在点击N1的载入框, 使勾消失, 让吸嘴N1_502回到吸嘴库.
在这里插入图片描述
在这里插入图片描述
现在吸嘴的自动换刀的载入/卸载都成功了.

备注

感觉有以下点比较重要, 可以防止在换刀时出现意外.

  • 机械归零的低速距离都设置成5mm, 防止机械归零有时坐标不全为(0,0,0)的状况.
  • 一定要开启视觉归零, 防止机械归零出现0.xmm的偏差.
  • 视觉归零后, 先去吸嘴库上任意一个吸嘴轴第一位置, 看看坐标是否正确(如果超过0.1mm, 需要调整, 如果吸嘴轴的停靠不稳固/用手动过吸嘴/设备震动厉害, 有可能出现这种问题).
  • 设备不用时, 将吸嘴都用openpnp软件放在吸嘴库中, 然后再关闭openpnp软件. 保证任何时候, 运行openpnp软件时, 吸嘴座上都没有吸嘴.
  • 吸嘴和N1, N2的高度参数都不同, 设置参数时, 吸嘴座落下来时, 用人工判断扣合的高度值, 不要一股脑都设置成一样, 防止意外.
  • 每个吸嘴换嘴时的速度, 还是设置成比较低的速度靠谱(e.g. 0.1), 如果差个0.2mm, 也可以正常换刀, 不至于将吸嘴怼坏.
  • 买来的吸嘴, 可能有制造时的突起或毛边, 用砂纸打一下, 光滑了, 再放入吸嘴库.

补充 - 吸嘴轴差个0.3mm, 就有可能怼坏吸嘴

中间不知道哪里整错了(有可能是拍空吸嘴库位置的照片时, 用收拿出/插入了吸嘴), 归零后, 再看吸嘴轴第一位置偏了0.3mm左右, 用手工来测试4个位置是否正确.
手工测试时, 是不会按照设定的换嘴低速走的, 还是正常速度
直接将黑色的NT1_502怼碎了…, 还好吸嘴电机和Z电机都没问题.

看来归零后, 先看看吸嘴库中的吸嘴坐标变了没有很重要.
不过, 只要设置好了吸嘴库上的所有吸嘴, 设备本身没震动, 没有用手拔出/插入过吸嘴, 问题不大.

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/903623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Laravel 框架构造器的排序分组.子查询 JOIN 查询 构造器的增删改 ⑦

作者 : SYFStrive 博客首页 : HomePage 📜: THINK PHP 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 📌:觉得文章不错可以点点关注 &#x1f44…

go1.21.0.windows-amd64.msi

go1.21.0.windows-amd64.msi Windows 10 or greater required.

漏洞指呗-VluFocus靶场专栏-番外篇

漏洞指呗-VluFocus靶场专栏-番外篇奇技淫巧 🌸struts2漏洞扫描工具🌸step1 修改ip和端口step2 验证漏洞是否存在step3 执行cmd命令,获取flag 🌸Goby插件工具headshot🌸step1 输入ip和端口 检测step2 cmd 输入指令 &…

LeetCode 833. Find And Replace in String【字符串,哈希表,模拟】1460

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

stm32单片机开关控制LED灯(中断方式)(proteus电路图)

注意了:一般人都是用按键button实现这个功能,但是我就是喜欢用Switch,然后我就用了Switch,喜欢的朋友欢迎看一看 不同地方在于:这里是interrupt 函数 void EXTI0_IRQHandler(void) {/* USER CODE BEGIN EXTI0_IRQn 0…

【Apollo学习笔记】——规划模块TASK之LANE_CHANGE_DECIDER

文章目录 前言LANE_CHANGE_DECIDER功能简介LANE_CHANGE_DECIDER相关配置LANE_CHANGE_DECIDER总体流程LANE_CHANGE_DECIDER相关子函数PrioritizeChangeLaneUpdateStatusIsClearToChangeLaneHysteresisFilter 参考 前言 在Apollo星火计划学习笔记——Apollo路径规划算法原理与实…

线性代数的学习和整理8: 方阵和行列式相关(草稿-----未完成)

1.4.1 方阵 矩阵里,行数列数的矩阵叫做方阵方阵有很多很好的特殊属性 1.4.2 行列式 行列式是方阵的一种特殊运算如果矩阵行数列数相等,那么这个矩阵是方阵。行列数的计算方式和矩阵的不同只有方阵才有行列式行列式其实是,矩阵变化的一个面…

SLAM-VIO视觉惯性里程计

SLAM 文章目录 SLAM前言IMU与视觉比较单目视觉缺陷:融合IMU优势:相机-IMU标定松耦合紧耦合基于滤波的融合方案:基于优化的融合方案: 前言 VIO(visual-inertial odometry)即视觉惯性里程计,有时…

第十三章MyBatis高级映射

多对一映射 创建数据表 student是主表class_id关联class表的id class表 student表 创建pojo Class类 Data AllArgsConstructor NoArgsConstructor public class Class {private Long id;private String name;private List<Student> students; }Student类 Data A…

【算法系列篇】滑动窗口

文章目录 前言什么是滑动窗口1.长度最小的子数组1.1 题目要求1.2 做题思路 1.3 Java代码实现2.无重复字符的最长子串2.1 题目要求2.2 做题思路2.3 Java代码实现 3.最大连续1的个数 III3.1 题目要求3.2 做题思路3.3 Java代码实现 4.将x减到0的最小操作数4.1 题目要求4.2 做题思路…

ubuntu上使用osg3.2+osgearth2.9

一、介绍 在ubuntu上使用osgearth加载三维数字地球&#xff0c;首先要有osg和osgearth的库&#xff0c;这些可以直接使用apt-get下载安装&#xff0c;但是版本有些老&#xff0c;如果需要新版本的就需要自己编译。 #查看现有版本 sudo apt-cache madison openscenegraph #安装…

windows上ffmpeg如何录制双屏幕中的一个屏幕上的视频

首先&#xff0c;如何在window上安装ffmpeg自己查找scoop安装ffmpeg. 如题&#xff1a; 如果你有两个屏幕&#xff0c;如何让ffmpeg来录制其中的一个屏幕的视频呢。 很简单&#xff0c;首先你要查看另外一个屏幕的分辨率&#xff1a; 第一步&#xff1a;进入系统中 第二步&am…

VsCode报错:No such file or directory:‘文件名‘

1.问题&#xff1a; 昨天用VsCode直接打开py文件&#xff0c;运行后显示No such file or directory:‘directory’。但directory文件和该py文件在同一目录 2.原因&#xff1a; 直接打开py文件&#xff0c;Vscode看不到同一目录下的其他文件 3.解决方法&#xff1a; 打开文件夹…

漏洞指北-VulFocus靶场专栏-中级03

漏洞指北-VulFocus靶场专栏-初级03 中级009 &#x1f338;gxlcms-cve_2018_14685&#x1f338;step1&#xff1a;安装系统 密码rootstep2 进入后台页面 账号密码&#xff1a;admin amdin888step3 查看详细 有phpinfo() 中级010 &#x1f338;dedecms-cnvd_2018_01221&#x1f3…

EventBus3.0源码详解

详解之前要说明一下&#xff0c;LivedataBus 比EventBus更适合目前jetpack化的app&#xff0c;因为考虑到组件的生命周期处理&#xff0c;性能方面&#xff0c;EventBus还是要反射invoke的调用的&#xff0c;网上找不到有实测过的博文&#xff0c;我想来个性能对比实测&#xf…

【旅游度假】Axure酒店在线预订APP原型图 旅游度假子模块原型模板

作品概况 页面数量&#xff1a;共 10 页 兼容软件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;旅游度假&#xff0c;生活服务 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 本作品为「酒店在线预订」的移动端…

【淘宝】商品详情页+商品列表数据采集

作为国内最大的电商平台之一&#xff0c;淘宝数据采集具有多个维度。 有人需要采集商品信息&#xff0c;包括品类、品牌、产品名、价格、销量等字段&#xff0c;以了解商品销售状况、热门商品属性&#xff0c;进行市场扩大和重要决策&#xff1b; 有人需要采集产品评论&…

EndNote(二)【文献导入、全文检索】

在开始之前我们可以先分个组以管理自己的文件&#xff0c;如果不分组的话&#xff0c;它所有的文件都会放在unfiled这个目录下&#xff1a; 如何分组也很简单&#xff1a; 然后给个名字即可&#xff1a; 文献导入&#xff08;五种方法&#xff09; 第一种&#xff1a;pdf直接导…

STM32F4X USART串口使用

STM32F4X USART串口使用 串口概念起始位波特率数据位停止位校验位串口间接线 STM32F4串口使用步骤GPIO引脚复用函数串口初始化函数串口例程 串口概念 串口是MCU与外部通信的重要通信接口&#xff0c;也是MCU在开发过程中的调试利器。串口通信有几个重要的参数&#xff0c;分别…

基于蚁狮算法优化的BP神经网络(预测应用) - 附代码

基于蚁狮算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于蚁狮算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.蚁狮优化BP神经网络2.1 BP神经网络参数设置2.2 蚁狮算法应用 4.测试结果&#xff1a;5.Matlab代码 摘要…