Altium Designer 使用小结
今天刚把做好的PCB文件交给工厂去制板,阶段工作告一段落,来一个小总结。
前一段时间复习完C语言之后,在中国知网上搜索用单片机实现的小制作,找比较有意思,又不需要太多外专业知识的东西,然后就相中了超声波测距系统。实验室有项目使用到了超声波测距,有部分电路图可以直接用到我这个系统上,电路正确性可以保证,所以可行性有了,决定立即动手。
单片机的最小系统原理图一搜一大堆,超声波收发电路在以前的项目中进行截取,温度补偿电路也可以在知网论文中找到,总原理图搞定。然后就是进行PCB的设计。这篇博文就具体写在进行PCB制作的过程中遇到的问题,并记录解决方法。本科学过protel,因为好久没用了,忘得差不多了。现在比较流行用Altium Designer画图,就试着用了,遇到很多问题。
1.软件在英文和中文之间的切换:(Altium Designer 13.1)
DXP/preference/system/general/localization,将use localized resources选中即为中文,不选中即为英文。
不过那个中文翻译的水平不怎么样。
2.画STC89C52的原理图库时,引脚属性的设置。
Designator填的是引脚的编号1-40,display name填引脚的名字。也就是说放置好引脚后,引脚的里面显示引脚名字,外面显示编号。designator里的编号和制作PCB库时的引脚标号是一一对应的。
刚开始我画的原理图库全部把这两个弄反了,结果原理图一直不能导入到PCB文件。
3.一个原理图库文件(.schlib)里面可以包含多个元件的库。
一个工程不需要建立很多原理图库文件,一个就好。PCB库文件类似。
刚开始我给每个元件建了一个库文件,后来使用软件的过程中发现了一个库文件可以包含很多元件。
4.注意原理图中把一个元器件分成两部分画的情况。
LMV822MM是一个有两级运放的芯片,分成两部分用,一次用一级。
在原理图库中将一个芯片绘制成两部分的方法:先正常画第一部分,画完之后选择tool/new part,然后在出现的窗口中画另外一部分即可。
第一次我没有看清电路,以为有两个芯片,当我把PCB都制作完成,在铺铜前检查电路时才发现这个问题,导致了很多重复工作。
5.原理图比较大时,画在两张sheet上的处理办法
首先已有两张画好的原理图,相关的部分已经用标号连接。然后新建一个原理图,比如global.sch,在global.sch图中依次点击Design/Creat sheet symbol from sheet or HDL,然后在出现的窗口中依次选择原理图文件,放置在global.sch中即可。
6.原理图制作好之后,编译通过,然后新建PCB文件并保存之后才能将原理图导入到PCB文件中。
我在制作过程中遇到了几次不能导入原理图到PCB文件的情况。
7.电位器在标准库里的封装和实物不相符,需要更改库里的封装。
标准库的3脚(在边上)是可调端,实际器件的2脚(在中间)是可调端。
8.串口在PCB文件中的摆放方向:让突出的那段在keepout线外。
突出的那段刚好是要连接的口。
9.画keepout层边框。
画直线时,为了避免线向上或向下变动45度,在画线过程中按空格键,就能保证直线不会拐了。
10.PCB文件中背景在格子和圆点之间切换的快捷键:V-G-V
个人觉得圆点比较舒服。
11.如果要布单面板,但有少部分线在底层走更方便时,可以用直接在PCB文件中加0电阻的方法。
假设A和B要连在一起,中间有很多线阻隔。可以放置0电阻,让这些阻隔的线刚好在0电阻的两个焊盘之间,然后让A和B分别连接0电阻的两个焊盘,这时A和B就连接好了。焊接电路板时,用导线或者电阻的引脚代替0电阻即可。
用这个方法可以在单面板上减少很多绕很远的线。
12.修改PCB中同类型的东西。可以先选择其中一个,再右键用find similar objects功能,将要修改的那个类型中的any改为same,点击ok确定。然后在弹出的PCB Inspector中对要修改的项进行修改。
13.刚开始做PCB之前要考虑到板子的尺寸,尺寸决定了成本。
我本来计划用两块板,一块是单片机的控制电路,包括温度测量,串口通信,结果显示等,另一块是超声波的收发。PCB都弄完,准备送到工厂去制板,咨询后发现好不划算,10*10以内的板子统一价150,总共得300。不得已我又得重新做PCB,合成一块板,并控制在10*10。
14.双面板上的直插元件的焊盘在两面都有焊锡,相当于过孔。焊盘本身过孔。
15.如何高亮显示某个网络连接。
按住CTRL,点击网络中的某一条线即可。在右下角的mask level 中还可以调节高亮网络和变暗网络的亮度。
16.当强制把两个没有连接关系的焊盘连接在一起时,会出现连接不上的情况。可以通过修改preference/PCB Editor/interactive Routing中冲突走线的方式来解决。
会有连接毫不相干的焊盘的时候吗?有的,例如添加0电阻时,某个焊盘要和0电阻的焊盘相连。
17.PCB中只显示一层,隐藏其他层的方法。
PCB文件下,按快捷键L,依次选择view options/single layer mode/hide other layers.
或者现在PCB文件视图的底部选择要显示的层,然后直接用快捷键shift+s。
18.生成元器件清单。
reports/project reports/bill of materials,在左纵列的下边选中value,在右边就会显示value这一项,但并不会按照value进行分类,比如你有很多电阻,电阻值各不一样,右边的窗口中就把所有的电阻显示为一行,value项里依次把所有的电阻值列了出来,这样的表不是很方便。解决方法是在左纵列的下面将value拖动到左纵列的上面,这样右面的窗口中就会按照value进行分类了。也就是说右边的表格会按照左纵列上面的项目进行分类。
19.检测布好的PCB中是否有漏布的线。
reports/board information/Report...,然后勾选Routing information,点击report即可。在弹出的页面有100%这个字眼就说明没有漏线。
20.Altium Designer制作的PCB文件保存为protel99se的格式:file/save copy as,选择格式为PCB4.0 binary file。
21.生成gerber文件。
交给工厂去制板时,给PCB文件或者gerber文件。gerber文件的生成:
依次点击File/Fabrication Outputs/Gerber Files,在弹出的gerber setup窗口中的general中选择单位和精度,在layers中选择导出的层,在Apertures里选中“Embedded apertures(RS274X)”,点击ok就生成了gerber文件
Gerber文件各层扩展名与PCB原来各层对应关系
(1)扩展名的第一位g一般指gerber的意思。
(2)扩展名的第二位代表层,b代表bottom,t代表top,“g+数字”代表中间线路层,“g+p+数字”代表电源层。
(3)扩展名的最后一位代表层的类别。l是线路层,o是丝印层,s是阻焊层,p代表锡膏,m代表外框、基准孔、机械孔,
顶层Top (copper) Layer : .GTL
底层Bottom (copper) Layer : .GBL
中间信号层Mid Layer 1, 2, ... , 30 : .G1, .G2, ... , .G30
内电层Internal Plane Layer 1, 2, ... , 16 : .GP1, .GP2, ... , .GP16
顶丝网层Top Overlay : .GTO
底丝网层Bottom Overlay : .GBO
顶锡膏层Top Paste Mask : .GTP
底锡膏层Bottom Paste Mask : .GBP
顶阻焊层Top Solder Mask : .GTS
底阻焊层Bottom Solder Mask : .GBS
禁止布线层Keep-Out Layer : .GKO
机械层Mechanical Layer 1, 2, ... , 16 : .GM1, .GM2, ... , .GM16
顶层主焊盘Top Pad Master : .GPT
底层主焊盘Bottom Pad Master : .GPB
钻孔图层Drill Drawing, Top Layer - Bottom Layer (Through Hole) : .GD1 Drill Drawing, other Drill (Layer) Pairs : .GD2, .GD3, ...
钻孔引导层Drill Guide, Top Layer - Bottom Layer (Through Hole) : .GG1 Drill Guide, other Drill (Layer) Pairs : .GG2, .GG3, ...
Altium Designer 使用小结的更多相关文章
- Altium Designer 的entry sheet ,offsheet和port作用(转载)
1.图纸结构 图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系: 另一种是扁平式图纸,该连接关系是横向的,任何两张图纸之间都可以建立信号连 ...
- 【PCB】【AD使用】Altium Designer 的entry sheet ,offsheet和port作用
Altium Designer之多图纸设计 1.图纸结构 图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系: 另一种是扁平式图纸,该连接关 ...
- Altium Designer PCB双面板制作打印操作步骤
Altium Designer PCB双面板制作打印操作步骤百度知道:http://jingyan.baidu.com/article/335530da83441c19cb41c3db.html?st ...
- Altium Designer XX 重新定义板框形状和大小的方法
Altium Designer15 重新定义板框形状和大小的方法:重新定义板框形状和大小的方法.很简单,点击数字键"1",就会看到板框界面变绿了这时候你在去点击菜单栏里的Desig ...
- Altium Designer 15 --- Make 3D PCB Library with Rhinoceros
in the mode of "渲染模式" in the mode of "着色模式" Principle 1 : In the mode of "着 ...
- Altium Designer 15 --- Design PCB Frame by Rhinoceros
step 1: Draw a PCB shape and the main component placed in the PCB. The drawing sheet should be in th ...
- Altium Designer 多个输出相连等问题报错解决方法
问题: Altium Designer软件中,项目编译时,Message面板出现,如下错误: Net NetR121_1 contains multiple Output Pins; PC10 con ...
- Altium Designer的PCB定位槽制作
Altium Designer的PCB定位槽制作 1.使用焊盘代替. 操作很简单,但孔壁有镀铜. 2.定位孔制作. 先在Keep-Out layer放置一个需要大小的圆, 然后按快捷键T-V-T,这时 ...
- 关于如何使用Altium Designer 10以上版本官方库
开卷有益:如果本帖不适合在此板块,请斑竹自行删除,发帖的目的纯属报答各位Amofans. Altium公司的Altium Designer 09版本及以下还能到Altium官网下载第三方Labr ...
随机推荐
- onClick事件实现方式(打电话为例子)
1.在button 中 android:onclick="call" 注意事项:①.方法的名字必须是call ②.区别大小写 ③.call方法必须接收一个View类型的参数 ④.方 ...
- 种树 (codevs 1653) 题解
[问题描述] 一条街的一边有几座房子.因为环保原因居民想要在路边种些树.路边的地区被分割成块,并被编号为1..n.每个块大小为一个单位尺寸并最多可种一棵树.每个居民想在门前种些树并指定了三个号码b,e ...
- 异步导出excel
最近看园里有几篇写有关导出导入excel的博客,我正好最近在项目中也有涉及想来一起分享一下,正好整理一下自己的思路. 一.异步的方式是通过iframe来实现,代码如下: if ($('#downloa ...
- c# float和double的“坑”
定义一个float类型的变量=0.7,结果在IL中却是0.69999999. 乘以10之后,获取整数值.得到的却是6.通过查看IL,竟然被转换成double类型再转换.就变成6了. Demo: IL: ...
- WCF 内存入口检查失败
WCF 内存入口检查失败 Memory gates checking failed 异常信息:内存入口检查失败,因为可用内存(xxx 字节)少于总内存的 xx%.因此,该服务不可用于传入的请求.若 ...
- python3.3中使用tornado.options.parse_config_file的时候,在windows下conf为utf-8时,报错的问题
由于我的windows7下的默认编码是gbk 在调用tornado.options.parse_config_file时,内部代码为 with open(path) as f: exec_in(f.r ...
- WPF优化体验<一>
最近将一个开发和维护了五年的一个Winform项目进行重构,考虑到最近很流行将用户体验挂在嘴上,于是采用了WPF技术,希望能在外观和体验上有一个全新的效果. 以前使用Winform的时候内存控制得不错 ...
- Java入门到精通——基础篇之面向对象
一.概述. Java属于面向对象的一种语言,因为Java是面向对象的语言所以这个语言的诞生需要有五个基本特性: 1)万物皆为对象. 2)程序是对象的集合. 3)每个对象都有自己的由其他对象所构成的存储 ...
- Mongodb shell 基本操作
/opt/mongodb-2.6.6/bin > mongo 1. 查询本地所有数据库名称> show dbs 2. 切换至指定数据库环境(若无指定的数据库,则创建新的库)> use ...
- 在meteor中使用支付,以及与服务器进行数据交互
how to use Meteor.http.call? Meteor.http is only available on sever side http模块仅能用于server端. 1,add ht ...