当前位置: 首页 > news >正文

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); }) 参考代码 编译时校验 功能描述 用于在编译时检查一个条件是否为真,如果条件为真则会编译失败&#xff0c…...

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修改为&…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

dify打造数据可视化图表

一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

管理学院权限管理系统开发总结

文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...