openpnp - 为贴片工程中的PCB上的mark点元件创建openpnp可识别的定位封装

news2025/7/26 19:52:13

文章目录

    • openpnp - 为贴片工程中的PCB上的mark点元件创建openpnp可识别的定位封装
    • 概述
    • 做自己PCB视觉识别用的Mark点封装
    • END

openpnp - 为贴片工程中的PCB上的mark点元件创建openpnp可识别的定位封装

概述

建立openpnp Job, brd之后, 载入坐标文件, 精确定位3个mark点, 精确定位板子左下角原点和板子XY平面微小旋转角度.
此时, 还需要根据以上数据, 将其他元件的坐标和角度都更新了, 这样才能保证贴片坐标是准确的.
但是, 直接更新坐标, 会由于openpnp识别不了我们PCB上的mark点的视觉封装, 导致报错.
查了官方资料, 试了一下, 好使, 现在可以自动识别PCB上的mark点并自动更新其他元件封装. 机智啊:)
现在的笔记接着上次的笔记(openpnnp - 载入板子后,要确定板子的放置角度)继续实验.

做自己PCB视觉识别用的Mark点封装

PCB上的mark点, 一般都是1mm直径的标贴焊盘 + 2mm~6mm的禁止布线区的丝印.
openpnp识别mark点时, 是识别Mark点中间的1mm直径表贴焊盘.
在这里插入图片描述
假设我们给自己openpnp贴片工程用的Mark点封装名称为 myPcbMarkPt
在这里插入图片描述
回到Job页, 用相机浏览到3个相同Mark点中的一个. 因为前面已经定位过了, 这里只要浏览指定的Mark点就好.

在这里插入图片描述
回到封装页, 点击我们新建的myPcbMarkPt封装.
为我们新建的封装增加一个焊盘, 因为这是一个Mark点封装, 只有一个1mm直径的表贴焊盘.
在这里插入图片描述
在这里插入图片描述
填写该焊盘的x, y, 圆度的尺寸.
x = 1, y = 1, round = 100
填完后, 可以看到相机十字上就套了一个黄色的圆圈.
在这里插入图片描述
去元件页, 新建一个元件, 名称为myPcbMarkPt, 将封装指定为myPcbMarkPt
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
去Job页, 将PCB上的3个Mark点的元件都指定为我们新建的myPcbMarkPt元件
在这里插入图片描述
将板条目的Enable和Check Fids都打上勾
现在, 就可以更新其他元件坐标了.
在这里插入图片描述

保存job.

到此, 就可以浏览一下其它元件, 看看元件中心点坐标是否正确.
看了一下, 比更新坐标前, 精确了很多, 位置偏移不到0.1mm, 位置精准啊.
如果不更新坐标, 那元件位置偏差0.2, 0.3mm都见过, 差别很大.

然后就可以开始准备飞达, 给飞达上料, 指定飞达上的元件.
然后开始愉快的贴板子了.

END

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

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

相关文章

C++基础了解-03-C++变量类型

C变量类型 一、变量类型 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。…

C++ Butterworth N阶滤波器设计

介绍一个 Butterworth Nth 滤波器设计系数的函数,像 Matlab 函数一样的: [bl,al]butter(but_order,Ws); 和 [bh,ah]butter(but_order,2*bandwidth(1)/fs,high);rtfilter 在 Ububtu 中,容易找到: $ aptitude search ~dbutterwo…

Linux安装Oracle数据库

Linux安装Oracle数据库 文章目录Linux安装Oracle数据库0. 写在前面1. Oracle 数据库1.1 简介1.2 Oracle 与 MySQL 的SQL 区别2. 前置准备2.1 安装依赖包2.2 配置用户组2.3 上传安装包并解压2.4 修改配置文件 sysctl.conf2.5 修改配置文件 limits.conf2.6 设置环境变量3. Linux最…

基于层次分析法的轴间预瞄和轴距预瞄俯仰半车LQR控制仿真分析(重型汽车)

目录 前言 1. 半车悬架模型 2. LQR最优控制原理简述 3. 基于LQR的半车悬架轴间预瞄和轴距预瞄仿真分析 3.1仿真模型 3.2仿真结果 4.总结 前言 上篇文章简谈了轴距预瞄和轴间预瞄的原理以及仿真分析,可以发现对于轴间预瞄和轴距预瞄其控制效果相对于不带预瞄…

Fluter MMKV 初始化失败 Failed to load dynamic library ‘libmmkv.so‘

出现一个bug:vivo y66 (android 6.0)的一个手机,在被杀死进程后,重新进入,mmkv初始化失败,会报找不到so库的错追到代码是在这一行出了问题也查了很多,包括mmkv的issue里面也找了很多…

【阿里云】Apsara Clouder云计算专项技能认证-云服务器ECS入门,考试真题分享

以下是阿里云Apsara Clouder云计算专项技能认证-云服务器ECS入门真题汇总篇分享: 1.下列哪一个不是重置ECS密码的步骤? A. 查看实例详情 B.进入控制台 C.远程连接ECS D.点击控制台“概览” 2.针对云服务器ECS安全组说法正确的是 A.是一种物理防火墙 B.仅用于控制…

testng+reportng进行单元测试并生成好看的报告

TestNg的来源: JUnit 框架是 Java 语言单元测试当前的一站式解决方案。这个框架值得称赞,因为它把测试驱动的开发思想介绍给 Java 开发人员并教给他们如何有效地编写单元测试。但是,在过去的几年中,JUnit 的改进不大;所以&#x…

领域驱动设计-架构篇

目录 1、软件架构概述 1.1 软件架构概念 1.2 软件架构分类 1.3 软件架构模式 1.4 软件架构风格 2、领域驱动软件架构 2.1 架构风格 六边行架构(领域驱动设计首选) 为什么选择REST架构 松耦合 可伸缩性 易用性 约束性 2.2 架构模型 命令和…

TOUGH系列软件建模及在地下水、CO2地质封存、水文地球化学、地热等多相多组分系统多过程耦合

TOUGH2系列软件传统地下水模拟软件Feflow和Modflow不同,TOUGH2系列软件采用模块化设计和有限积分差网格剖分方法,通过配合不同EOS模块,软件可以处理各种复杂地质条件下,诸如地热能开发,非饱和带水气运移、油气运移&…

HBase---浅谈HBase原理

浅谈HBase原理 文章目录浅谈HBase原理HBase定义HBase逻辑结构HBase物理存储结构TimeStampType数据模型NaneSpaceRegionRowColumnTineStampCellHBase架构MasterMaster 架构Meta 表格介绍Region ServerRegionServer 架构MemStoreWALBlockCacheZookeeperHDFSHBase写数据流程HBase读…

设计模式中的UML类图

在线绘图工具: https://app.diagrams.net/ https://www.processon.com/ 第一个需要挂梯子,但很好用,本文用它绘制样例图 最近在看Head First一书,即使在软件工程的课程中学习过UML类图如何绘制,但显然已经忘掉很多了…

1、介绍与环境安装

文章目录前言主要特征安装安装检查查看httprunner版本创建项目创建新项目运行脚手架项目前言 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。 …

Vue3电商项目实战-购物车模块6【16-登录后-合并购物车、17-登录后-商品列表、18-登录后-加入购物车、19-登录后-删除操作】

文章目录16-登录后-合并购物车17-登录后-商品列表18-登录后-加入购物车19-登录后-删除操作16-登录后-合并购物车 目的:登录后需要把把本地购物车合并,且清空本地购物车。 大致步骤: 编写合并购物车的API接口函数编写设置购物车数据的mutatio…

Containers--array类

Array 类 简介 Array 类是一个固定大小的数组,它的大小在编译时就已经确定了。Array 类的大小是固定的,因此它的大小不能改变。 数组是固定大小的序列容器:它们以严格的线性顺序保存特定数量的元素。 在内部,数组除了包含的元素之外不保留…

第十三届蓝桥杯省赛C++ A组 爬树的甲壳虫(简单概率DP)

题目如下: 思路 or 题解: 概率DP 状态定义: dp[i]dp[i]dp[i] 表示从树根到第 iii 层的期望 状态转移: dp[i](dp[i−1]1)∗11−pdp[i] (dp[i - 1] 1) * \frac{1}{1-p}dp[i](dp[i−1]1)∗1−p1​ 这个式子的意思是:…

Unity3D Shader系列之模板测试

一、 模板测试原理模板测试位于GPU渲染流水线的逐片元操作阶段,片元着色器完成之后就会进入模板测试,模板测试通过后再进入深度测试。我们的GPU中有一个模板缓冲区(Stencil Buffer)(Stencil即是模板的意思),其大小为整个屏幕大小*8位&#xf…

Pytorch基础语法学习2——argparse模块

一、基本介绍 argparse 模块是 Python 内置的用于命令行参数解析的模块,可以通过少数代码中变量或者参数的改变以实现对整个代码项目的操控。对于大型代码项目(如代码超过1000行),十分便捷 argparse 模块可以让人轻松编写用户友好的命令行接口&#xf…

企业级信息系统开发学习笔记1.7 基于XML配置方式使用Spring MVC

文章目录零、本节学习目标一、Spring MVC概述1、MVC架构2、Spring MVC3、使用Spring MVC的两种方式二、基于XML配置与注解的方式使用Spring MVC(一)创建Spring项目【SpringMVCDemo01】(二)在pom文件里添加相关依赖(三&…

ConvMixer:Patches Are All You Need

Patches Are All You Need 发表时间:[Submitted on 24 Jan 2022]; 发表期刊/会议:Computer Vision and Pattern Recognition; 论文地址:https://arxiv.org/abs/2201.09792; 代码地址:https:…

Python编程训练题2

1.11 有 n 盏灯&#xff0c;编号 1&#xff5e;n&#xff08;0<n<100&#xff09;。第 1 个人把所有灯打开&#xff0c;第 2 个人按下所有编号为 2 的倍数的开关&#xff08;这些灯将被关掉&#xff09;&#xff0c;第 3 个人按下所有编号为 3 的倍数的开关&#xff08;其…