AD从原理图到PCB超详细教程

AD超详细教程

  • 前言
  • 一、建立一个工程模板
  • 二、原理图
    • 1.设计原理图。
    • 2.使用AD自带库和网上开源原理图库
    • 3.画原理图库
    • 4.编译原理图
  • 三、PCB
    • 1.确定元器件尺寸大小
    • 2.绘制PCB Library
      • ①使用元器件向导绘制元件库
      • ②原理图与PCB的映射
    • 3.绘制PCB
      • ①更新PCB
      • ②调整元件位置
      • ③布线
      • ④漏线检查
      • ⑤布线完整性检查
      • ⑥电气规则检查(DRC检查)
      • ⑦泪滴
      • ⑧覆铜
      • ⑨更改覆铜连接方式
      • ⑩画外形层
  • 总结


前言

我在学习AD的时候,看了网上很多教程,但是东西很杂,有很多条理不清而且废话很多,所以相信大家学习的时候也是遇到一样的困难。我就特地写一篇帖子,整理了一下AD从画原理图开始一直到画完PCB文件的所有步骤,一方面是供大家参考学习,另一方面可以方便我自己学习记忆更加深刻。
我用的版本是AD16中文版,大家用新的版本AD20或者AD22应该操作都是差不多的。还有就是建议大家用英文版,不要跟我一样装汉化包之类的,因为有些中文翻译非常生硬,而且CSDN上很多大佬发的博客都是英文版的AD,有时候你用中文就很难对应上每个操作。


一、建立一个工程模板

1.新建一个工程
在文件栏的new里面选择project
在这里插入图片描述
2.选择PCB project,然后default,名字最好起你这个工程的名字,路径最好不要包含中文。
在这里插入图片描述
3.工程建好了之后,里面是空的,什么都没有,所以我们需要给它添加原理图文件和PCB文件。
在这里插入图片描述

4.将原理图文件和PCB文件保存,通常命名为你这个原理图文件所画的模块或者电路的名字。
在这里插入图片描述
在这里插入图片描述

5.一般来说,一个大的工程都会由很多歌模块或者电路组成,所有的原理图和PCB画在一起就会显得非常拥挤,所以我们要建立Schematic Library和PCB Library,就是为主原理图和PCB文件提供库文件。在这里插入图片描述
6.同样的,创建好文件之后就保存文件,尽量把她们保存在同一个文件夹中,这样使用时更好的找到它们。至此,一个包含了原理图、原理图库、PCB、PCB库的工程就建好了。在这里插入图片描述在这里插入图片描述

二、原理图

1.设计原理图。

这一步就是完全考验个人电路设计能力,如何根据需求设计出好的电路,这不是两三句话能说的清楚的,需要电子工程师多年的设计经验,在这里就不考虑这些。我用上星期画的一个简单地小板子举例。首先,下面是我画的一个原理图:
在这里插入图片描述
这原理图看起来应该挺简单的吧,实际上就是一个插头进去然后接四个小模块,然后输出从另一个插头出来,四个模块分别接地,原理就这么简单。

2.使用AD自带库和网上开源原理图库

首先,在AD自带的库里面是有很多元件的,比如常用的电阻电容电感等等,可以在下图中这两个库文件里面直接调用加入原理图中。
在这里插入图片描述
如果这个元件AD自带的库里面没有,那么还有一个办法,就是在嘉立创商城中去搜这个元件,嘉立创商城里面很多元件都自带原理图和PCB库,极大地方便了硬件工程师们开发设计。找到这个元件之后,点击数据手册,里面就会有这个芯片相应的原理图和PCB,而且还有这个芯片的数据手册,作为一个攻城狮,学会看数据手册是十分重要的。
在这里插入图片描述在这里插入图片描述
嘉立创的原理图和PCB都可以导出到AD里面,相当于是直接帮你画好了这个元件,减少了工作量。
在这里插入图片描述
作为一个硬件攻城狮,要学会偷懒,不必每个元件都事必躬亲(●’◡’●),有一些经常会使用到的一些元件,你可以自己建一个原理图库和PCB库,然后把从立创商城学到(baipiao)的一些元件直接放在你的自建库里面,这样以后就不用每次使用到这个元件就跑到立创商城搜一遍,节省点时间。把从立创商城导出的原理图打开,然后点击右上方设计栏,选择生成原理图库。
在这里插入图片描述
然后直接CV大法,把这个元件库复制到你的自建库里面去,再保存,这样就可以成为你自己画的元件啦,PCB库也是同理。以后需要调用到这个原理图库或者PCB库里的元件的时候,就只需要把这些库添加到工程中去就可以啦。
在这里插入图片描述
选择工程然后添加现有文件到工程,再选择这些元件库的路径就能添加进去了,只需要注意一点,路径中最好不要有中文哦,不然可能会报错。

3.画原理图库

我这四个元件在AD自带的库里面是没有的,两个插头的型号在AD里面也是没有的,所以我得自己去画这两个元件的原理图库。在我之前生成的Schematic Library里面,首先放置一个矩形,因为大多数芯片都是矩形的,如果你用的是一块圆形芯片,那么就选择椭圆。
在这里插入图片描述
通过拖动矩形的角或者边来改变元件的大小,这个大小可以自己决定,但是我建议还是根据引脚多少来确定,最好的状态是长宽和引脚分布保持的刚刚好。在这里插入图片描述
注意让引脚的名字在元件里面,标识在元件外面,双击引脚可以对其进行设置在这里插入图片描述
把所有的引脚画上去,这个元件的原理图库就算完成了,记得保存,然后在原理图里面就可以调用这个元件了在这里插入图片描述
把你所有需要的原理图库画好,然后用线按照电路方式连接在一起,那么这份原理图就算完成了。

4.编译原理图

在工程里面选择第一个,编译原理图,如果你的原理图有设计的不合理的地方,比如走线悬空,元件之间堆叠等等,那么AD就会给你报错,可以根据软件的报错信息来具体定位报错位置,然后做出相应的修改。
在这里插入图片描述

三、PCB

1.确定元器件尺寸大小

首先,你要画一个元件的封装,那就一定要知道这个元件的具体尺寸,如果你是在某宝上买的元件,那么就找卖家要资料或者数据手册,上面一定会有尺寸大小;如果你是用了一个没有资料的不知名元件,那么就得在网上搜它的型号,找它的厂家,一般厂家的官网上都会有这个元件的尺寸。下面这个是我要用的元件的尺寸图,以此来举例:在这里插入图片描述

2.绘制PCB Library

①使用元器件向导绘制元件库

在PCB Library文件中,点击Tool工具栏,选择component wizard
在这里插入图片描述
进去点击Next,然后选择DIP封装,尺寸选择mm
在这里插入图片描述
根据元器件引脚的尺寸来选择焊盘大小,最好是焊盘的直径比元件引脚稍微大一点在这里插入图片描述
然后这个引脚间距自己设置,需要多少就改成多少
在这里插入图片描述
外框宽度使用默认设置在这里插入图片描述
引脚数量改成元件实际拥有的引脚数
在这里插入图片描述
封装名称改成元件名称,最后点击Finish,出来的元件应该是下图的样子:
在这里插入图片描述
如果跟你元件的尺寸和这个是符合的,那么就直接使用,由于我使用的这个原件是圆形的,所以我还得修改一下这个边框,先把矩形框删掉,然后画一个圆形框在这里插入图片描述
看到这个圆形框是红色的么,因为它所在的层不对,双击圆形框,改成Top Overlay层,这样它的颜色就是黄色了在这里插入图片描述
双击圆形框,然后选中圆心为中心点,这样方便你确定每个焊盘的位置和尺寸
在这里插入图片描述
然后你可以在右上方的工具栏随意添加焊盘,双击焊盘即可修改它的位置和尺寸。假如你不习惯用mil单位,想换成mm,那就在键盘的英文状态下按Q,就可以修改成mm制在这里插入图片描述
最后的效果如下图:
在这里插入图片描述

②原理图与PCB的映射

绘制完PCB之后并保存,然后返回原理图界面,点击Tool工具栏,然后选择Footprint Manager
在这里插入图片描述
点击ADD添加封装,然后点击browse浏览,在你的PCB Library里面找到这个元件的封装,最后点击确定,把所有的元件封装都选择好后,你可以点击每一个元件,查看他们的封装是否都正确,在右下角会显示你添加的封装
在这里插入图片描述
确定所有元件都有封装之后,保存所有工程,然后再编译一遍工程看有没有什么问题,确定没有什么问题就可以开始画PCB了。

3.绘制PCB

①更新PCB

你可以从元件库里面一个一个的拖动并摆放所有元件,当元件不多的时候当然是没什么关系,但是当有几十上百个元器件堆放在一起,那就及其麻烦,好在AD为工程师们提供了简便的方法。点击Design工具栏,选择Update PCB Document,然后依次点击Validate Changes,Excute Changes,最后点击close
在这里插入图片描述
在这里插入图片描述
就会在右下角自动生成一块PCB板,把所有的元件选中之后拖动到黑色区域以内就行了。
在这里插入图片描述
这里强调两个快捷键,第一个:在原理图中查找元器件:CTRL+F,可以自己选择匹配关系进行查找;第二个:在PCB中查找元器件:J+C

②调整元件位置

框选左下角红色的背景,把它删掉,然后把元器件,整齐的排放在黑色背景内。如果黑色背景太大或者太小,可以按键盘上的数字1,然后点击Design工具栏选择Redefine Board Shape或者Edit Board Shape,更改板子尺寸,改好之后按键盘上的数字2,返回正常模式。
在这里插入图片描述
注意元器件之间不要重叠,然后排放的稍微有点规律,相同的元件摆在一起,这样出了问题也方便查找,元器件之间的连线也尽量让它们不要交叉太多,可以选中某一个元器件,按空格键旋转90°,或者按ctrl+x左右翻转,按ctrl+y上下翻转(注意:不要随便左右或者上下翻转器件,因为这样就相当于把器件在空间内旋转而不是平面上,结果就是你打出来的板子元件引脚跟焊盘上的引脚位置对不上,空间内旋转器件实际上就是把期间从顶层旋转到底层去,所以,不要随便上下左右翻转)。元器件之间摆放的要留有空隙,因为有些器件的尺寸不是百分百符合厂家给的尺寸,不然到时候你板子都打好了,结果放不下,那就尴尬了,所以要留有余量。
在这里插入图片描述
有时候当你在画一个非常复杂的PCB板,上面元器件就会非常多,你放上去之后再连线可能会看起来非常杂乱,找不到器件在哪了,这个时候就可以通过原理图选择然后快速定位到PCB上,操作方法是在原理图界面按T+C快捷键然后选择你想看的器件,在PCB界面这个器件就会高亮。
在这里插入图片描述
在布局布线的时候有一个小细节,就是在一个电路中一般都是不止一个元件的,也就是很多元件在一起组成的一个电路,所以在PCB中布局的时候我们最好是把功能相同或相似的元件摆在一起,但是你一个一个去拖动又很麻烦,这个时候就可以把一个电路所涉及到的元件联合起来,也就相当于是锁起来,选中一个部分的元器件,然后右键选择联合,然后选中的器件生成联合,就可以把他们变成一个整体,拖动的时候就可以一起拖动,这样布局的时候就可以减小你的工作量而且不会让这些器件弄乱。
在这里插入图片描述
上面讲了怎么把一个电路所用的元器件联合在一起,那么有时候一个电路可能几十个元器件,更新完PCB之后,几百个元件摆在那里,一个一个去找又十分费劲,怎么去找一个电路所用到的所有元器件呢?你更新完PCB之后的情况应该是下图这样的在这里插入图片描述
那么这个时候你需要在原理图中去框选一下你想要摆放的一个电路的元器件
在这里插入图片描述
然后你再去PCB看,就会发现你框选的元器件呈现框选状态,这样就非常方便去寻找和选中元件,大大节省时间。
在这里插入图片描述

③布线

所有的元器件位置都摆放好之后,就可以开始布线,你可以一根根地连起来,当然AD也给我们提供了更简便的做法,在Auto Route工具栏选择ALL全部布线,AD就会自动帮你布好所有有连接的线。当然作为一个初学者,那么我更推荐你还是手动布线,因为你更需要的是长年累月才能积累下来的经验,而不是图个省事。
单层布线,有些线无论如何也走不通,可以使用过孔,切换到另外一个走线层。顶层与底层是不同的走线层,在布线时按小键盘区域的“*”可切换层,也可以用ctrl+shift+鼠标滚轮的方式切换层。这两种方法都可以一边布线一遍换层,效率较高。按Ctrl+鼠标左键点击走线,可以设置高亮,让你想看的线颜色比周围颜色更深。
在这里插入图片描述
布线完之后的PCB大概是下图这样,可以看到所有的连接点都连接了红线和蓝线,这个时候你可以再做一些细致的微调,比如电流走线要大一点,我这个模块要走大概5A的电流,所以这个宽度的走线过不了大电流,需要改大一点。
在这里插入图片描述
双击走线就可以设置线的宽度了,如果设置完报错的话,去布线规则里面修改一下走线的的尺寸,最大值改大一点就不会报错了,尽量让走线规律一点,条理清晰一些,这样看起来也美观。
在这里插入图片描述

④漏线检查

点击工具栏View,选择Workspace Panels,然后选择PCB,再选择PCB。
在这里插入图片描述
在最下面一个方框里就会出现没有连线的地方,点击就能跳转到漏线处
在这里插入图片描述

⑤布线完整性检查

依次点击工具栏的Reports然后Board Information,就能显示板子信息,点击Report,就会显示布线的完整情况,如果显示100%,那就代表布线没有问题了。如果不是100%,再重复前几次步骤看看哪里有问题。
在这里插入图片描述

⑥电气规则检查(DRC检查)

选择工具栏Tools然后点击Design Rule Check。这一步和编译原理图的目的是一样,是为了检查PCB的合理性,你需要认真查看每一个错误提示,自行决定更改还是忽略
在这里插入图片描述

⑦泪滴

在PCB打样的时候,泪滴的作用是:使焊盘更结实、接触面积更大、增加导通的可靠性。在焊接时候可以保护焊盘,避免多次焊接时焊盘的脱落,生产时可以避免蚀刻不均,过孔偏位出现的裂缝等。在工具栏Tools点击Teardrops,设置使用默认的就可以了
在这里插入图片描述
在这里插入图片描述

⑧覆铜

点击工具栏Place然后选择Polygon Pour多边形覆铜,设置相应参数然后点击OK,在PCB上选择覆铜区域。在Top层和Bottom层都需要覆铜。
在这里插入图片描述
在这里插入图片描述
当你在后期需要修改PCB或者你在看别人的PCB时,大面积的覆铜会非常影响你的视线,可以按Ctrl+D来隐藏覆铜,这样能更清晰地看到内部走线。
在这里插入图片描述
如果你想看某一层的元件,按键盘上Shift+S快捷键,然后选择PCB层就可以查看单层。
在这里插入图片描述
在这里插入图片描述

⑨更改覆铜连接方式

覆铜后发现焊盘处是以十字方式连接的,这个时候点击工具栏Design再点击Rules,找到Plane–>Polygon Connect Style–>PolygonConnect,把ConnectStyle改为Direct Connect,再重新覆铜,可以和之前的效果对比一下,就明白这样做的目的和原因了。当然具体选择哪种方式还需要根据实际情况而定。

⑩画外形层

在Keepout Layer层下选择Place然后Keepout然后Track,然后点击合适的位置,确定板子的外形尺寸就可以了。
在这里插入图片描述

总结

花了几天时间集中学习了AD软件的操作,在画板过程中虽然还是有很多不会的地方,但是参考了CSDN上众多大佬的设计经验和技巧,如果文章有什么错误的地方,欢迎指正。总算是完成了一个简单的PCB,之前的布局和走线很丑,在大佬的帮助下也算是把走线和布局都调整的稍微好看一点,后面还会做更多这方面的设计,慢慢的锻炼自己吧!

这篇文章我后面还会慢慢更新的,我学到一点就记录一点,分享一下自己的学习过程吧,大家有兴趣的可以收藏着,陆续还会更新新的知识。

创作不易,三连鼓励!

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

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

相关文章

100% RNN language model ChatRWKV 相关开源项目

RWKV(读作RwaKuv)借鉴了RNN的移动平均模型(MA),将transformer的 O ( T 2 d ) O(T^2d) O(T2d)复杂度降低到 O ( T d ) O(Td) O(Td),同时保持较好的结果表现。RWKV也是一个开源模型,甚至其介绍主页的html代码都有开源。以…

【COlor传感器】通过扰动调制光传感实现智能光传输的占用分布估计研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

ROS1ROS2之CmakeList.txt和package.xml用法详解

前言:目前还在学习ROS无人机框架中,,, 更多更新文章详见我的个人博客主页【前往】 文章目录 1. CMakeLists.txt与package.xml的作用2. 生成CMakeLists.txt2.1 ROS12.2 ROS2 3. CMakeLists.txt编写3.1 ROS13.2 ROS2 4. package.xml…

Python:给MySQL创建1000张表和创建1张有50个字段的表

1、创建1000张表 import pymysqldbhost "10.1.1.143" dbuser "root" dbpassword "123456" dbname "demo_cg1000" dbport 3306 dbconn pymysql.connect(hostdbhost, userdbuser, passworddbpassword, dbdbname, portdbport)mycu…

深入学习 Redis - 基于 Spring Data Redis 操作 Redis

目录 一、前置工作 1.1、引入 Spring Data Redis 依赖 1.2、编写配置文件 二、Spring Data Redis 2.1、前置知识 2.2、演示 Demo 一、前置工作 1.1、引入 Spring Data Redis 依赖 1.2、编写配置文件 spring:redis:host: 127.0.0.1port: 8888二、Spring Data Redis 2.1、…

【粒子群算法和蝴蝶算法组合】粒子群混沌混合蝴蝶优化算法研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

20.1 HTML 介绍

1. W3C组织 万维网联盟(World Wide Web Consortium, W3C): 是一个国际性的标准化组织, 致力于开发和推广Web标准.W3C的使命是通过制定和推广Web技术标准, 促进Web的长期发展和互操作性, 它由许多组织和个人组成, 包括浏览器制造商, 软件开发商, 网络服务提供商, 学术机构和个…

C++ 哈希的应用【布隆过滤器】

✨个人主页: 北 海 🎉所属专栏: C修行之路 🎃操作环境: Visual Studio 2022 版本 17.6.5 文章目录 🌇前言🏙️正文1、字符串比较2、布隆过滤器的概念3、布隆过滤器的实现3.1、基本结构3.2、插入…

一、Postfix[安装与配置、smtp认证、Python发送邮件以及防垃圾邮件方法、使用腾讯云邮件服务]

Debian 11 一、安装 apt install postfix 二、配置 1.dns配置 解释:搭建真实的邮件服务器需要在DNS提供商那里配置下面的dns 配置A记录mail.www.com-1.x.x.x配置MX记录www.com-mail.www.com 解释:按照上面的配置通常邮件格式就是adminwww.com其通过…

Python 教程之标准库概览

概要 Python 标准库非常庞大,所提供的组件涉及范围十分广泛,使用标准库我们可以让您轻松地完成各种任务。 以下是一些 Python3 标准库中的模块: 「os 模块」 os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和…

C#,中国福利彩票《刮刮乐》的数学算法(02)——时来运转

1 中国福利彩票 中国福利彩票始于1987年7月27日,以“团结各界热心社会福利事业的人士,发扬社会主义人道主义精神,筹集社会福利资金,兴办残疾人、老年人、孤儿福利事业和帮助有困难的人”、即“扶老、助残、救孤、济困”为宗旨。随…

【C++进阶:哈希--unordered系列的容器及封装】

本课涉及到的所有代码都见以下链接,欢迎参考指正! practice: 课程代码练习 - Gitee.comhttps://gitee.com/ace-zhe/practice/tree/master/Hash unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在…

拓扑排序详解(带有C++模板)

目录 介绍: 实现原理: 简答来说: 例子 模板(C) 介绍: 拓扑排序(Topological Sorting)是一种针对有向无环图(DAG)的节点进行排序的算法。DAG是一个图&…

PHP数据库

PHP MySQL 连接数据库 MySQL 简介MySQL Create 免费的 MySQL 数据库通常是通过 PHP 来使用的。 连接到一个 MySQL 数据库 在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。 在 PHP 中,这个任务通过 mysql_connect() 函数完成。 …

Linux环境安装MySQL(详细教程)

1、下载MySQL MySQL官网:MySQLhttps://www.mysql.com/ 下载社区版(免费,但不提供技术支持) 简单说明一下rpm和tar包的区别: tar 只是一种压缩文件格式,所以,它只是把文件压缩打包 rpm&#xf…

【字节跳动青训营】后端笔记整理-3 | Go语言工程实践之测试

**本文由博主本人整理自第六届字节跳动青训营(后端组),首发于稀土掘金:🔗Go语言工程实践之测试 | 青训营 目录 一、概述 1、回归测试 2、集成测试 3、单元测试 二、单元测试 1、流程 2、规则 3、单元测试的例…

我的第一个flutter项目(Android Webview)

前言:flutter开发环境搭建Flutter的开发环境搭建-图解_☆七年的博客-CSDN博客 第一个flutter简单项目,内容是一个主界面,其中: 1.内容点击数字自增 2.跳转一个空页, 3.跳转一个WebView界面 其中涉及添加主键&#xf…

QT: 用定时器完成闹钟的实现

闹钟项目&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> #include <QTime> #include <QDebug> #include <QTextToSpeech> #include <QMessageBox> #include <QTimer>QT_BEGIN…

Quartz项目搭建与任务执行源码分析

数据库准备 准备一个MySQL数据库&#xff0c;版本为8.0&#xff0c;然后创建一个库&#xff0c;并从quartz官方的版本包中找到名称为tables_mysql_innodb.sql的脚本执行进去&#xff08;脚本内容文后也有提供&#xff09;。 项目依赖说明 创建一个Maven项目&#xff0c;引入…

gitignore文件使用方法(gitignore教程)(git status --ignored)(git check-ignore -v <file>)

文章目录 Gitignore文件使用描述Gitignore基本语法1. 基本语法★★★★★2. 配置方法 匹配示例示例1示例2示例3 其他命令git status --ignored&#xff08;用于显示被Git忽略的文件和文件夹的状态&#xff09;git check-ignore -v <file>&#xff08;用于检查指定文件是否…