硬件---14---PCB学习:PCB封装库及布局操作
一PCB封装元素的组成与介绍

二实例-贴片0603封装的创建
1封装命名
找不到封装库创建页面,可以配合右下角的Panels去找。
找到0603电阻或者电容的PCB封装,根据提供尺寸去设计PCB的封装。

<1>双击PCB器件封装
<2>命名

2放置焊盘,为画封装做铺垫
<1>放置一个焊盘
<2>双击焊盘
<3>将焊盘的层选择到Top Layer

3调整封装大小
<1>双击封装
<2>将封装更改为方形
<3>0603的封装尺寸是0.8mm(31.496mil)和0.965mm(37.992mil)。X和Y的尺寸反了。

Ctrl+M可以测量绘制的长短,取消按键是Shift+C
4画对称焊盘
将此焊盘复制并粘贴,使两个焊盘重叠在一起,选中上面的焊盘,按快捷键M,选择获得X/Y偏移量。

修改中心点快捷键
编辑(E)->设置参考(F)->中心©
双击封装修改管脚号后为左1右2,完成全部修改如下:

5画丝印层
丝印层的要求
<1>切换到丝印层 Top Overlay
<2>画线
<3>双击画中的线,宽度改为6mil

绘制过程中的注意
<1>根据丝印层要求,左右两侧距离中心点0.8mm,上下两侧距离中心点0.4mm。但是绘制完后丝印层与阻焊层存在冲突,不要让它们产生重叠。
<2>双击丝印线,按快捷键M,选则通过X/Y移动对象,就可以把丝印线放到目标位置。
<3>移动后的对象通过复制,选中中心位置,然后粘贴,按X/Y实现对称。就可以实现对称复制。
<4>拖拽线的时候按住ctrl有助于线条延长的平稳
最后绘制结果如下:

课程中的芯片封装设计以及USB接口封装设计直接略过了,所有市面上流通的器件一般封装都可以直接拿过来用,极个别情况需要自己画,这种情况应该是几乎没有的,一般情况下在立创商城、云汉芯城都可以找到目标器件的封装。
三常用封装的调用
一般情况下在购买相关器件的网站上就有相应的器件原理图和PCB封装,直接下载复制用就可以了。
1如何调用其他PCB中的封装
<1>如果封装是在封装库里面直接复制使用即可
<2>如果封装是在PCB中,使用快捷键生成PCB库,快捷键:设计(D)->生成PCB库§
复制好后需要在:工具(T)->封装管理器(G)将封装都对应好
四PCB导入及常见导入报错解决办法
1PCB的导入
导入这个网表的时候一定要导入两次,避免出现某些问题。

导的时候先暂时点执行变更,不点验证变更。
2PCB生成时,某些器件没有电气线怎么回事
<1>如果报错unknow pin的时候,考虑一下工具->封装管理器是否没有配置好,如果封装没有配置对,就会没有电气线从而报错。
<2>封装添加后仍然报错,看看原理图库中器件的引脚号是否在绘的时候都标注好(有时候只标注了管脚名称),修改好后做更新如下:更新原理图。

<3>确定原理图管脚号和PCB管脚号都能对应上,如果PCB的有问题,修改完后更新需要

凡亿总结

在找某个器件的时候使用快捷键J->C
五常见绿色报错的消除
快捷键shift+s会切换PCB设计视图中网络的显示状态。如果网络当前显示,那么按下该快捷键会将其隐藏;如果网格当前被隐藏,按下该快捷键则会将其显示出来。
1绿色报错
绿色报错的根本原因就是违背了规则,快捷键设计(D)->规则®

Design Rules->Electrical->Clearance-< Clearance 表示间距规则
在同一封装会出现下面这种绿色报错

通过改变规则的内容避免这种报错,勾选下面中的忽略同一封装内的焊盘间距就可以了。

或者测量一下封装管脚间的距离,修改一下最小间距,修改成6mil。
2设计规则检查的暂时关闭
在实际布线前如果去除了绿色报错大概率还会存在一些白色报错,为了增加客观性,可以暂时把设计规则检查部分内容进行关闭。
<1>快捷键工具(T)->设计规则检查(D)

<2>Rules To Check
右键选择在线DRC-全部关闭、批量DRC-关闭所有。

回到电气性能:Electrical,在线DRC-启用所有,批量DRC-启用所有

最后快捷键工具(T)->复位错误标志(M)
六、PCB板框的评估及叠层设置
1板框的评估
<1>选中所有的器件
<2>工具
<3>器件摆放
<4>在矩阵区域排列

执行这个命令后,在PCB板子上面画一个矩形框,就可以将器件全部移动进去。
2重新定义原点
<1>编辑(E)
<2>原点(O)
<3>设置(S)
<4>设置好的原点

3绘制边框
<1>切换到机械一层 Mechanical 1
<2>放置普通线条而不是带电气的线条
<3>放置好后对线条进行取整处理,快捷键Q可以进行单位切换。
<4>复制粘贴的方法
4重新定义板框
在选中四个边框的任何一面时,按Tab可以将所有边框进行选中
设计(D)->板子形状(S)->按照选择对象定义(D)
<4>弄好后的板框

5修改板子的四个角
将板子边框的四个角进行1mm的位移处理

放置§->圆弧(A)->圆弧边沿(E)

全部弄好后,按着上面的方式从新生成板框

6叠层处理
设计(D)->层叠管理器(K)
两层板一般还用不太上层叠管理器

七交互式模块化布局规划
1分屏处理
<1>鼠标右键
<2>垂直分割
分割的另一面选择PCB界面

2交互选择
交互选择本质上是你在水平或者垂直分割的时候,在原理图中选中某些器件,在PCB中会高亮,反之亦然。
这样可以将某一模块的全部器件都分布在一起。
右面选中了电源相关的内容,左侧PCB上面就产生了高亮。

交互选择后可以通过,之前用到的快捷键:工具->器件摆放->在矩形区域排列,将不同模块进行分别放置。
布局前可以把全部的飞线都关闭掉:快捷键N->H(隐藏连接)->A(全部)
将各个模块进行分离

3将电源和地进行分类处理
一般在布线完除电源和地以外的其他线后,才会处理电源,一方面是电源和地比较多,另一方面是可以通过铺铜进行更有效的导通,因此先创建一个类进行隐藏。
快捷键:D(设计)->C(类)

创建电源和地的类
<1>右键Net Classes 创建一个新类
<2>命名后的新类
<3>在左侧选中电源和地后移到右面去
<4>移动后的成员

可以通过右下角的Panels,找到PCB选项就可以看类
<1>PCB页面
<2>右键VCC_GND类
<3>连接
<4>隐藏
<5>效果

按住Ctrl键+方向键可以对选中的器件位置进行一些微调
4.PCB布局
器件的锁定
将位置定好的器件进行锁定,双击器件,进行锁定。

排针距离板边缘2.5mm.
完成PCB布局的板子

相关文章:
硬件---14---PCB学习:PCB封装库及布局操作
一PCB封装元素的组成与介绍 二实例-贴片0603封装的创建 1封装命名 找不到封装库创建页面,可以配合右下角的Panels去找。 找到0603电阻或者电容的PCB封装,根据提供尺寸去设计PCB的封装。 <1>双击PCB器件封装 <2>命名 2放置焊盘ÿ…...
什么是MyBatis
MyBatis 简介 MyBatis 是一个流行的 Java 持久层框架(Persistence Framework),它主要用于简化数据库操作,提供了对数据库的映射支持,使得开发人员能够通过简单的配置和映射文件来执行数据库操作(如增、删、…...
开发技术-Java改变图片格式
图片上传页未做控制,导致上传的是GIF格式,导致图片识别失败。需要将GIF格式转为JPEG格式。 代码,是找AI写的,记录一下: import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; im…...
基于DockerCompose搭建Redis主从哨兵模式
linux目录结构 内网配置 哨兵配置文件如下,创建3个哨兵配置文件 # sentinel26379.conf sentinel26380.conf sentinel26381.conf 内容如下 protected-mode no sentinel monitor mymaster redis-master 6379 2 sentinel down-after-milliseconds mymaster 60000 s…...
aioice里面candidate固定UDP端口测试
环境: aioice0.9.0 问题描述: aioice里面candidate固定UDP端口测试 解决方案: /miniconda3/envs/nerfstream/lib/python3.10/site-packages/aioice import hashlib import ipaddress import random from typing import Optional import…...
Git使用教程-分支使用/合并分支提交
Git使用教程-分支使用 文章目录 Git使用教程-分支使用一、分支(branch)的基本操作:二、查看分支:参考 一、分支(branch)的基本操作: git clone https://.git git status …...
单元测试使用记录
什么是单元测试 简单来说就是对一个类中的方法进行测试,对输出的结果检查判断是否符合预期结果 但是在多年的工作中,从来没有哪个项目中真正系统的用到了单元测试,因此对它还是很陌生的,也就造成更加不会在项目中区使用它。 如何…...
LabVIEW实时信号采集与频谱分析
系统通过LabVIEW与PXIe硬件结合,实现高精度模拟信号的实时采集、频谱分析与可视化显示。核心功能包括采样率配置、快速傅里叶变换(FFT)、功率谱图生成及动态缩放调整,同时支持信号平均与噪声抑制。系统设计灵活,适用于…...
OpenCV(python)从入门到精通——运算操作
加法减法操作 import cv2 as cv import numpy as npx np.uint8([250]) y np.uint8([10])x_1 np.uint8([10]) y_1 np.uint8([20])# 加法,相加最大只能为255 print(cv.add(x,y))# 减法,相互减最小值只能为0 print(cv.subtract(x_1,y_1))图像加法 import cv2 as…...
基础2:值类型与右值引用
1.函数返回 在讲解右值之前,要知道下面这个函数要进行几次拷贝以及为什么? int get_x() {int x 20;return x; }int aget_x(); 答案:两次 # 第一次 int tmpa; # 第二次 int xtmp;2.左值与右值 🍏2.1 能取地址操作的就是左值 …...
GitHub年度报告发布!Python首次超越JavaScript
全球开发者数量激增,GenAI 项目呈爆炸式增长趋势,推动编程语言的应用格局也发生了巨大变化,最新的 GitHub Octoverse 报告来了! 1、Python 首次超越 JavaScript,成为 GitHub 平台最顶级编程语言 不同于流传“AI 即将取…...
EdgeX Message Bus 消息总线
EdgeX Message Bus 消息总线 一、概述 EdgeX MessageBus 内部消息总线,用于 EdgeX 服务之间的内部通信。 EdgeX 服务是指来自 EdgeX 的任何核心/支持/应用程序/设备服务或使用 EdgeX SDK 构建的任何自定义应用程序或设备服务。 EdgeX MessageBus 用于内部 EdgeX 服务与服务之间…...
【JavaEE进阶】关于Maven
目录 🌴什么是Maven 🌲为什么要学Maven 🎍创建一个Maven项目 🎄Maven核心功能 🚩项目构建 🚩依赖管理 🎋Maven Help插件 🍀Maven 仓库 🚩本地仓库 Ὢ…...
YOLOv9-0.1部分代码阅读笔记-autoanchor.py
autoanchor.py utils\autoanchor.py 目录 autoanchor.py 1.所需的库和模块 2.def check_anchor_order(m): 3.def check_anchors(dataset, model, thr4.0, imgsz640): 4.def kmean_anchors(dataset./data/coco128.yaml, n9, img_size640, thr4.0, gen1000, verboseTrue…...
Electronjs+Vue如何开发PC桌面客户端(Windows,Mac,Linux)
electronjs官网 https://www.electronjs.org/zh/ Electron开发PC桌面客户端的技术选型非常适合已经有web前端开发人员的团队。能够很丝滑的过渡。 Electron是什么? Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.…...
谷歌浏览器 安装谷歌浏览器特定版本后禁止自动更新
问题描述 我们通过离线安装谷歌浏览器后,第一次打开浏览器时会默认下载最新版本,等到我们重启浏览器后它会自动更新。在项目中为了能固定浏览器版本,所以要禁止谷歌浏览器的更新,网上找了好多方法都没用,自己摸索出来…...
Linux计算时间差
Linux计算时间差 1、Linux计算时间差2、时间差的应用 1、Linux计算时间差 在Linux中,计算时间差通常是为了统计、监控或调试。时间差可以用来衡量任务执行的时间,或者两个事件之间的间隔。例如,响应时间、执行时间、定时任务与延时处理等 以…...
Python的3D可视化库【vedo】2-5 (plotter模块) 坐标转换、场景导出、添加控件
文章目录 4 Plotter类的方法4.7 屏幕和场景中的坐标点转换4.7.1 屏幕坐标转为世界坐标4.7.2 世界坐标转为屏幕坐标4.7.3 屏幕坐标取颜色 4.8 导出4.8.1 导出2D图片4.8.2 导出3D文件 4.9 添加控件4.9.1 添加内嵌子窗口4.9.2 添加选择区4.9.3 添加比例尺4.9.4 为对象添加弹出提示…...
【VUE】13、安装nrm管理多个npm源
nrm(npm registry manager)是一个 npm 源管理器,它允许用户快速地在不同的 npm 源之间进行切换,以提高包管理的速度和效率。以下是对 nrm 使用的详细介绍: 1、安装nrm 在使用 nrm 之前,需要先确保已经安装…...
【SQL/MySQL 如何使用三种触发器】SQL语句实例演示
触发器介绍 – 触发器是与表有关的数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触发并执行触发器中定义的SQL语句集合。 – 使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
