今天刚把做好的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 使用小结的更多相关文章

  1. Altium Designer 的entry sheet ,offsheet和port作用(转载)

    1.图纸结构 图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系: 另一种是扁平式图纸,该连接关系是横向的,任何两张图纸之间都可以建立信号连 ...

  2. 【PCB】【AD使用】Altium Designer 的entry sheet ,offsheet和port作用

    Altium Designer之多图纸设计 1.图纸结构 图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系: 另一种是扁平式图纸,该连接关 ...

  3. Altium Designer PCB双面板制作打印操作步骤

    Altium Designer PCB双面板制作打印操作步骤百度知道:http://jingyan.baidu.com/article/335530da83441c19cb41c3db.html?st ...

  4. Altium Designer XX 重新定义板框形状和大小的方法

    Altium Designer15 重新定义板框形状和大小的方法:重新定义板框形状和大小的方法.很简单,点击数字键"1",就会看到板框界面变绿了这时候你在去点击菜单栏里的Desig ...

  5. Altium Designer 15 --- Make 3D PCB Library with Rhinoceros

    in the mode of "渲染模式" in the mode of "着色模式" Principle 1 : In the mode of "着 ...

  6. 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 ...

  7. Altium Designer 多个输出相连等问题报错解决方法

    问题: Altium Designer软件中,项目编译时,Message面板出现,如下错误: Net NetR121_1 contains multiple Output Pins; PC10 con ...

  8. Altium Designer的PCB定位槽制作

    Altium Designer的PCB定位槽制作 1.使用焊盘代替. 操作很简单,但孔壁有镀铜. 2.定位孔制作. 先在Keep-Out layer放置一个需要大小的圆, 然后按快捷键T-V-T,这时 ...

  9. 关于如何使用Altium Designer 10以上版本官方库

    开卷有益:如果本帖不适合在此板块,请斑竹自行删除,发帖的目的纯属报答各位Amofans.    Altium公司的Altium Designer 09版本及以下还能到Altium官网下载第三方Labr ...

随机推荐

  1. onClick事件实现方式(打电话为例子)

    1.在button 中 android:onclick="call" 注意事项:①.方法的名字必须是call ②.区别大小写 ③.call方法必须接收一个View类型的参数 ④.方 ...

  2. 种树 (codevs 1653) 题解

    [问题描述] 一条街的一边有几座房子.因为环保原因居民想要在路边种些树.路边的地区被分割成块,并被编号为1..n.每个块大小为一个单位尺寸并最多可种一棵树.每个居民想在门前种些树并指定了三个号码b,e ...

  3. 异步导出excel

    最近看园里有几篇写有关导出导入excel的博客,我正好最近在项目中也有涉及想来一起分享一下,正好整理一下自己的思路. 一.异步的方式是通过iframe来实现,代码如下: if ($('#downloa ...

  4. c# float和double的“坑”

    定义一个float类型的变量=0.7,结果在IL中却是0.69999999. 乘以10之后,获取整数值.得到的却是6.通过查看IL,竟然被转换成double类型再转换.就变成6了. Demo: IL: ...

  5. WCF 内存入口检查失败

    WCF 内存入口检查失败 Memory gates checking failed   异常信息:内存入口检查失败,因为可用内存(xxx 字节)少于总内存的 xx%.因此,该服务不可用于传入的请求.若 ...

  6. 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 ...

  7. WPF优化体验<一>

    最近将一个开发和维护了五年的一个Winform项目进行重构,考虑到最近很流行将用户体验挂在嘴上,于是采用了WPF技术,希望能在外观和体验上有一个全新的效果. 以前使用Winform的时候内存控制得不错 ...

  8. Java入门到精通——基础篇之面向对象

    一.概述. Java属于面向对象的一种语言,因为Java是面向对象的语言所以这个语言的诞生需要有五个基本特性: 1)万物皆为对象. 2)程序是对象的集合. 3)每个对象都有自己的由其他对象所构成的存储 ...

  9. Mongodb shell 基本操作

    /opt/mongodb-2.6.6/bin > mongo 1. 查询本地所有数据库名称> show dbs 2. 切换至指定数据库环境(若无指定的数据库,则创建新的库)> use ...

  10. 在meteor中使用支付,以及与服务器进行数据交互

    how to use Meteor.http.call? Meteor.http is only available on sever side http模块仅能用于server端. 1,add ht ...