openpnp - 设备矫正的零碎记录
文章目录
- openpnp - 设备矫正的零碎记录
- 概述
- 笔记
- 设备内部不能有任何强干扰源
- 相机就选100W像素的就行, 没有特殊要求
- openpnp软件的选择
- 视觉归位必须禁止
- 轴的赤隙矫正不用做
- 运行openpnp软件的计算机, 必须是台式机
- 校验完成后, 数据占用的体积
- END
openpnp - 设备矫正的零碎记录
概述
设备矫正终于正常通过了…
从头进行多次设备校验, 都能一次性校验通过, 重复性很好.
补充一些矫正过程中的细节.
同学说我是过度矫正, 太不负责任了, 听的我浑身难受. 同学做的任何事情, 都是抱着凑合的态度来做事, 这对自己和别人都不好啊. 这样做事, 口碑都没了.
这次定制的设备, 主干是好的(丝杠, 伺服, 机械强度, 结构设计), 我确实很感谢.
细节的问题, 一定是有的(非标设备, 又是改型的第一台, 不可能细节都到位), 这是正常的, 大家都能理解. 对于细节问题, 大家一起来当作自己的事情来解决, 出主意, 想办法, 这才是正道啊.
设备自带的顶部相机高级矫正和底部相机高级矫正, 是用来矫正相机安装的垂直度补偿的(谁能保证机械部分安装是完全垂直的?), 如果矫正通不过, 那贴片精度根本就无从谈起.
用了4个月, 终于让设备到达了一个出厂设备应该有的正常状态, 味道有点苦.
笔记
设备内部不能有任何强干扰源
我的设备里面安装的真空泵, 是个强干扰源. 是设备矫正过程中的数据受到了干扰. 设备矫正过程时间很长, 真空泵启动的次数很多, 保不准就干扰到啥, 导致无法走完设备校验流程. 即使侥幸走完设备校验流程, 等正常贴片流程时, 还会有干扰.
后来拆掉了设备自带的真空泵, 用冰箱压缩机改了一个真空泵(openpnp - 用空调压缩机改真空泵), 消除了干扰源.
自己做的这个真空泵是否对贴片操作有干扰, 有待观察. 初步看, 是没有影响的.
相机就选100W像素的就行, 没有特殊要求
官方推荐, 就使用100W像素的彩色相机. 这种相机价格不到100RMB.
只要设备没有强干扰, 对相机的垂直度安装, 也没有特别高的要求. 肉眼可见的垂直就行. 有条件时, 可以拿三角尺大概齐看一下.
相机设置时, 去掉自动选项(e.g. 自动曝光, 自动白平衡)
openpnp软件的选择
官方最新的OpenPnP-windows-x64-develop_2023-03-15_00-30-21.460d8aa.exe, 有bug. 底部相机高级矫正完成后, 底部相机标尺分的太细了(密密麻麻的, 像毛毛虫一样). 导致将N1移动到底部相机上, 无论如何缩放, 都看不到正常图像.
我用的是官方的OpenPnP-windows-x64-develop_2022-08-01_18-07-09.2a36a8d.exe, 这个稳定版好使.
但是操作流程上, 需要注意, 必须将当前步骤需要的前置操作先用UI配置完, 否则会导致软件崩溃. (e.g. 矫正N2和相机的偏移时, 必须先设置N2的换刀区, 然后将N2吸嘴载入, 然后才去执行 N2和相机的偏移的矫正)
视觉归位必须禁止
如果使能了视觉归位, 再移动到主基准点, 次基准点时, 位置就偏差了不少. 再重新设置主/次基准点位置, 视觉归位后, 再移动到主/次基准点, 位置还是偏的.
不使能视觉归位, 一切都是正常的.
同学也跟我说, 不要使能视觉归位, 原因他没说.
轴的赤隙矫正不用做
这个点同学说的对, 对于丝杠设备, 齿隙矫正是不必要的.
我的设备X/Y轴是丝杠, 精度由伺服和丝杠来保证. 不用做齿隙矫正
Z轴是步进电机+皮带传动, 但是行程短(+/-20mm), 不用做齿隙矫正.
C1, C2是旋转轴, 也不用做齿隙矫正.
运行openpnp软件的计算机, 必须是台式机
应该和USB口的供电和通讯速率有关系. 应该独立的USB口更好.
笔记本上的独立的USB口不够用(一般就是2,3个, 还要插入鼠标).
台式机上的独立USB口够用, 至少能用4~8个.
如果使用笔记本+USB扩展坞(冰沙主板, 顶部相机, 底部相机), 不好. 发现顶部相机的图像, 过10秒钟, 就会闪一下, 图像不是一个连续完整的图像. 这个不连续, 不是受干扰引起的, 看起来更像通讯带宽不够引起的.
据我的经验, 如果发现有不正常的情况, 就要停下来, 将问题解决掉. 否则不知道会带来啥新问题.
当使用台式机时, 插入设备的3条USB线, 使用OpenPnP-windows-x64-develop_2022-08-01_18-07-09.2a36a8d.exe, 可以正常将校验流程走完. 最后一步是底部相机高级矫正, 当底部相机高级矫正完成后, 看底部相机标尺的分隔, 是正常的分隔(而不是密密麻麻的标尺分隔), 将N1移动到底部相机下, 可以看到正常图像. 缩放底部相机图像, 图像的缩放层级比矫正前多很多.
校验完成后, 数据占用的体积
一次性校验通过, .openpnp2目录体积约为400MB. 备份好.
以后可以观察正常贴片后, 多出哪些可以删除的文件.
END
相关文章:

openpnp - 设备矫正的零碎记录
文章目录 openpnp - 设备矫正的零碎记录概述笔记设备内部不能有任何强干扰源相机就选100W像素的就行, 没有特殊要求openpnp软件的选择视觉归位必须禁止轴的赤隙矫正不用做运行openpnp软件的计算机, 必须是台式机校验完成后, 数据占用的体积END openpnp - 设备矫正的零碎记录 概…...

Linux内核中的链表、红黑树和KFIFO
lLinux内核代码中广泛使用了链表、红黑树和KFIFO。 一、 链表 linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构。链表所包含的元素可以动态创建并插入和删除。链表的每个元素都是离散存放的,因此不需要占用连…...

【C++】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动
[导读]本系列博文内容链接如下: 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动 在【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值一文中介绍了如何利用…...

Android 设备兼容性使用(详细版)
经典好文推荐,通过阅读本文,您将收获以下知识点: 一、设备兼容性分类 二、硬件设备兼容 三、软件 APP 兼容 四、兼容不同语言 五、兼容不同分辨率 六、兼容不同屏幕方向布局 七、兼容不同硬件 Feature 八、兼容不同SDK平台 一、设备兼容性分类 Android设计用于运行在许多不同…...

React 中的常见 API 和生命周期函数
目录 useStateuseEffectuseRefdangerouslySetInnerHTML生命周期函数 constructorcomponentDidMountstatic getDerivedStateFromPropsshouldComponentUpdatecomponentDidUpdatecomponentWillUnmount useState useState 是 React 的一个 Hook,用于在函数组件中添加…...

神经网络中遇到的 python 函数(Pytorch)
1.getattr() 函数用于返回一个对象属性值。 def getattr(object, name, defaultNone): # known special case of getattr"""getattr(object, name[, default]) -> valueGet a named attribute from an object; getattr(x, y) is equivalent to x.y.When a …...

分布式事务及解决方案
1、分布式事务 分布式事务就是在一个交易中各个服务之间的相互调用必须要同时成功或者同时失败,保持一致性和可靠性。在单体项目架构中,在多数据源的情况下也会发生 分布式事务问题。本质上来说,分布式事务就是为了保证不同数据库的数据一致性…...

【宏定义】——编译时校验
文章目录 编译时校验功能描述代码实现示例代码正常编译示例编译错误示例预处理之后的结果 代码解析!!estruct {int:-!!(e); }sizeof(struct {int:-!!(e); }) 参考代码 编译时校验 功能描述 用于在编译时检查一个条件是否为真,如果条件为真则会编译失败,…...

C#学习系列之System.Windows.Data Error: 40报错
C#学习系列之System.Windows.Data Error: 40报错 前言报错内容解决总结 前言 在用户界面使用上,代码运行没有问题,但是后台报错,仔细研究了报错内容,解决问题,所以记录一下。 报错内容 System.Windows.Data Error: 4…...

【java安全】RMI
文章目录 【java安全】RMI前言RMI的组成RMI实现Server0x01 编写一个远程接口0x02 实现该远程接口0x03 Registry注册远程对象 Client 小疑问RMI攻击 【java安全】RMI 前言 RMI全称为:Remote Method Invocation 远程方法调用,是java独立的一种机制。 RM…...

rcu链表综合实践
基础知识 rcu-read copy update的缩写。和读写锁起到相同的效果。据说牛逼一点。对于我们普通程序员,要先学会使用,再探究其内部原理。 链表的数据结构: struct list_head {struct list_head *next, *prev; };还有一种:struct h…...

odoo16-python框架-动作
总结 1 模型和视图的 设计之美 view_ids, view_id,view_mode 最终目的都是为了生成views, 也就是视图. 模型是死的,像男人,一成不变 视图像女人,千变万化, 姿态万千 一阴一阳之谓道,设计之美又在这里得到了体现 2 所有的动作都可以通过web界面来配置 可以通过在"设…...

微信小程序——同一控件的点击与长按事件共存的解决方案
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

selenium自动化-获取元素属性信息
在写自动化过程中我们会想验证自己的代码是否正确,比如登录之后,通过用户名或其他信息来证明你登录成功,或者点击链接后,是否会跳转新的页面。通过获取元素属性信息,可以解决我们的疑惑。 一、获取内容对象的内容信息 …...

LabVIEW开发小型减阻试验平台
LabVIEW开发小型减阻试验平台 湍流摩擦在粘性流体的阻力中起着重要作用,减少湍流摩擦是流体力学领域的热门话题之一。在油气管道的长距离流体输送中,泵站提供的几乎所有动力都用于克服流体的胫骨摩擦。在流体输送领域,船舶的蒙皮摩擦阻力占总…...

解决分类任务中数据倾斜问题
大家好,在处理文本分类任务时,基准测试流行的自然语言处理架构的性能是建立对可用选项的理解的重要步骤。在这里,本文将深入探讨与分类相关的最常见的挑战之一——数据倾斜。如果你曾经将机器学习(ML)应用于真实世界的…...

Vue3 word如何转成pdf代码实现
🙂博主:锅盖哒 🙂文章核心:word如何转换pdf 目录 1.前端部分 2.后端部分 在Vue 3中,前端无法直接将Word文档转换为PDF,因为Word文档的解析和PDF的生成通常需要在后端进行。但是,你可以通过Vu…...

fpga--流水灯
fpga流水灯的设计 思路:外部时钟频率50mhz,若要实现每隔0.5s闪烁一次,则使用内部计数器计数到24999999拉高一个周期电平,当电平被拉高的时候,进行LED灯电平的设置,每次检测到高电平,就进行一位…...

51单片机:数码管和矩阵按键
目录 一:动态数码管模块 1:介绍 2:共阴极和共阳极 A:共阴极 B:共阳极 C:转化表 3:74HC138译码器 4:74HC138译码器控制动态数码管 5:数码管显示完整代码 二:矩阵按键模块 1:介绍 2:原理图 3:矩阵按键代码 一:动态数码管模块 1:介绍 LED数码管:数码管是一种…...

Django + Xadmin 数据列表复选框显示为空,怎么修复这个问题?
问题描述: 解决方法: 后续发现的报错: 解决方案: 先根据报错信息定位到源代码: 在该文件顶部写入: from django.core import exceptions然后把: except models.FieldDoesNotExist修改为&…...

《向量数据库指南》——Milvus Cloud2.2.12 易用性,可视化,自动化大幅提升
Milvus Cloud又迎版本升级,三大新特性全力加持,易用性再上新台阶! 近期,Milvus Cloud上线了 2.2.12 版本,此次更新不仅一次性增加了支持 Restful API、召回原始向量、json_contains 函数这三大特性,还优化了 standalone 模式下的 CPU 使用、查询链路等性能,用一句话总…...

Python web实战 | 用 Flask 框架快速构建 Web 应用【实战】
概要 Python web 开发已经有了相当长的历史,从最早的 CGI 脚本到现在的全栈 Web 框架,现在已经成为了一种非常流行的方式。 Python 最早被用于 Web 开发是在 1995 年(90年代早期),当时使用 CGI 脚本编写动态 Web 页面…...

十、数据结构——链式队列
数据结构中的链式队列 目录 一、链式队列的定义 二、链式队列的实现 三、链式队列的基本操作 ①初始化 ②判空 ③入队 ④出队 ⑤获取长度 ⑥打印 四、循环队列的应用 五、总结 六、全部代码 七、结果 在数据结构中,队列(Queue)是一种常见…...

Improving Cross-Modal Retrieval with Set of Diverse Embeddings
框架图: Using Triplet Loss: Smooth-Chamfer similarity Using Log-Sum-Exp,...
物联网阀控水表计量准确度如何?
物联网阀控水表是一种新型的智能水表,它采用了先进的物联网技术,可以通过远程控制和监测水表的运行情况,实现更加精准的水量计量和费用结算。那么,物联网阀控水表的计量准确度如何呢?下面我们将从以下几个方面进行详细…...

【C语言数据结构】模拟·顺序表·总项目实现
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...

自然语言处理从入门到应用——LangChain:模型(Models)-[文本嵌入模型Ⅰ]
分类目录:《自然语言处理从入门到应用》总目录 本文将介绍如何在LangChain中使用Embedding类。Embedding类是一种与嵌入交互的类。有很多嵌入提供商,如:OpenAI、Cohere、Hugging Face等,这个类旨在为所有这些提供一个标准接口。 …...

使用Gradio构建生成式AI应用程序; Stability AI推出Stable Diffusion XL 1.0
🦉 AI新闻 🚀 Stability AI推出最先进的AI工具Stable Diffusion XL 1.0 摘要:Stability AI宣布推出Stable Diffusion XL 1.0,该版本是其迄今为止最先进的AI工具。Stable Diffusion XL 1.0提供更鲜艳、更准确的图片生成ÿ…...

Java 递归计算斐波那契数列指定位置上的数字
Java 递归计算斐波那契数列指定位置上的数字 一、原理二、代码实现三、运行结果 一、原理 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为…...

ai数字人透明屏的应用场景有哪些?
AI数字人透明屏的应用场景: 银行、保险、售楼处等接待场景:AI数字人透明屏可以作为接待员,提供详细的信息和导航,提高客户体验和服务效率。 商业街、购物中心等场所:AI数字人透明屏可以作为导购员,提供商品…...