硬件---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来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾 能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...
在Zenodo下载文件 用到googlecolab googledrive
方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!࿰…...
网页端 js 读取发票里的二维码信息(图片和PDF格式)
起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的ÿ…...
