1. 一个纯小白打开Altium Designer的真实心路1.1 为什么是Altium Designer而不是别的说实话决定自学PCB的那一刻我连“PCB”三个字母的全称都拼不利索。Printed Circuit Board印刷电路板就这么个东西你拆开任何一个电子产品都能看到它——绿色的、棕色的、黑色的板子上面密密麻麻焊着各种小零件。我以前一直觉得这玩意儿离我特别远直到我自己动手想做一个STM32最小系统板才发现绕不过去。那问题来了画PCB的软件那么多为什么我选了Altium Designer我当时的判断逻辑特别朴素打开搜索引擎搜“PCB设计软件”出现频率最高的就是Altium Designer、Cadence Allegro、PADS、嘉立创EDA这几个。Cadence Allegro我一看界面截图就劝退了那是给专业高速板工程师用的学习曲线陡得跟悬崖一样。PADS相对小众教程资源不如AD丰富。嘉立创EDA倒是轻量、免费、上手快但我想着既然要学就学一个行业里用得最广的以后万一要找工作或者接私活AD的认可度摆在那里。提示如果你只是想做一两个简单的DIY板子嘉立创EDA完全够用而且不用安装浏览器打开就能画。但如果你打算系统性地掌握PCB设计这门手艺Altium Designer是绕不开的。这个选择后来被证明是对的但也让我在第一天就吃尽了苦头。AD的安装包好几个G装完之后打开的那一瞬间我整个人是懵的。1.2 第一次打开AD我看到了什么安装过程我就不细说了网上“altium designer安装教程”一搜一大把无非就是下载、解压、安装、替换文件、断网激活那一套。我踩的坑是下载了一个来路不明的安装包装到一半报错后来换了一个才成功。这里提醒一句安装路径千万别带中文别问我怎么知道的。双击图标启动画面转了几圈然后主界面弹出来了。我盯着屏幕看了大概三十秒脑子里只有一个想法这玩意儿是给人类用的吗顶部是一排菜单栏File、Edit、View、Project、Place……这些单词我认识但组合在一起就不知道是干嘛的。左边有一个面板叫Projects右边有一个面板叫Properties中间一大片灰色区域。底下还有一堆标签页什么Messages、Components、Files。整个界面密密麻麻全是按钮和图标我甚至找不到“新建”按钮在哪里。后来我才知道AD的界面逻辑是围绕“工程”来组织的。你不能单独新建一个原理图文件你得先新建一个PCB Project然后在工程里面添加原理图文件、PCB文件、原理图库、PCB库等等。这个逻辑跟很多软件不一样比如你打开Word可以直接新建一个文档但AD不行它要求你先有一个“项目”的概念。我当时的操作是这样的File → New → Project → PCB Project然后右键工程名 → Add New to Project → Schematic。就这么两步我花了将近十分钟才搞明白。不是因为我笨是因为AD的菜单层级太深了而且很多选项是灰色的你不在正确的上下文里根本点不了。1.3 零基础面对AD的真实感受说几个我第一天最直观的感受。第一AD的默认界面配色对新手极其不友好。原理图编辑器默认是白色背景上面布满了浅灰色的栅格点元器件是深红色的矩形框引脚是黑色的线。整个画面看起来像是一张被水泡过的旧图纸。我后来才知道可以改配色方案但在第一天我连在哪里改都不知道。第二AD的工具栏图标设计得非常“工程师审美”。什么意思呢就是每个图标都长得很像都是那种细线条的小方块、小圆圈、小箭头你不把鼠标悬停上去看提示文字根本分不清哪个是画线、哪个是放元器件、哪个是加网络标签。我第一天至少有半个小时是在反复悬停看提示中度过的。第三AD的响应速度跟你的电脑配置直接挂钩。我的笔记本是四年前买的8G内存打开AD之后风扇就开始狂转。后来我查了一下AD官方推荐配置是16G内存起步最好32G。如果你电脑内存不够画着画着就会卡顿甚至闪退。网上有人问“电脑内存使用量越来越多时间长了内存不足怎么办”大概率就是AD这类大型EDA软件的通病。注意如果你打算认真学AD先把内存加到16G以上固态硬盘是必须的显卡反而不太重要因为AD主要是2D绘图不吃GPU。2. 从新建工程到画出第一根线我的踩坑实录2.1 新建工程和原理图文件前面说了AD的工程逻辑是“先建项目再加文件”。我按照这个流程走了一遍新建了一个PCB Project名字叫MyFirstBoard。然后右键 → Add New to Project → Schematic一个空白的原理图编辑器就打开了。这里有一个细节新建的原理图文件默认名字是Sheet1.SchDoc你可以右键重命名。我建议一开始就养成好习惯把文件命名得有意义一点比如Main.SchDoc、Power.SchDoc、MCU.SchDoc。因为后面如果你要做层次化设计文件名会直接影响你的可读性。新建完之后我面对的是一个完全空白的画布。没有元器件没有连线什么都没有。这时候我才意识到一个问题元器件从哪里来2.2 元器件库新手的第一道坎AD自带了一些集成库但说实话那些库里的元器件非常有限而且很多是欧美的标准件跟国内常用的元器件对不上。比如你想找一个STM32F103C8T6AD自带的库里根本没有你得自己去下载或者自己画。我当时的做法是先去网上搜“ad元器件库下载”找到了一些别人整理好的常用库文件后缀是.IntLib。然后通过Components面板 → 菜单 → Install Library把库文件加载进来。加载完之后Components面板里就能看到一堆元器件了。但问题又来了库里的元器件太多了我根本不知道我要的那个电阻、电容、芯片在哪个分类下面。AD的库分类是按厂商和功能来的比如Miscellaneous Devices.IntLib里面是通用的电阻电容二极管Miscellaneous Connectors.IntLib里面是排针排母。你得先知道你要的元器件大概属于哪个分类才能快速找到。实操心得新手不要一上来就追求“全库”先把Miscellaneous Devices和Miscellaneous Connectors这两个库用熟里面涵盖了电阻、电容、电感、二极管、三极管、排针、排母这些最基础的元器件。等你画完第一个板子再慢慢补充专用库。我第一天在找元器件上花了将近一个小时。最后终于在一个叫Miscellaneous Devices.IntLib的库里找到了Resistor和Capacitor。那一刻的成就感不亚于第一次写出Hello World。2.3 放置元器件和连线找到元器件之后放置的操作倒是很简单在Components面板里双击元器件鼠标就会变成十字光标带着元器件的虚影在画布上点一下就能放下来。按空格键可以旋转元器件按X或Y可以镜像翻转。我放了几个电阻、几个电容、一个排针然后开始连线。AD的连线工具在顶部工具栏里图标是一个蓝色的斜线。快捷键是P → WPlace Wire。点击起点点击终点一根线就画好了。但这里有一个新手极易踩的坑AD里的“线”分两种一种是Wire导线一种是Line普通线条。Wire是有电气属性的代表实际的电路连接Line只是图形线条没有电气意义。如果你用Line去连接两个元器件编译的时候会报错说引脚没有连接。我第一天就犯了这个错误画了半天一编译全是警告。注意画原理图永远用Place Wire快捷键P → W不要用Place Line。Wire是深绿色的Line是蓝色的颜色不一样仔细看能分辨出来。还有一个坑是栅格设置。AD默认的栅格是100mil也就是2.54毫米这是大多数直插元器件的标准引脚间距。但如果你画的是贴片元器件引脚间距可能是50mil甚至更小。这时候你需要调整栅格大小否则元器件引脚对不上连线会歪歪扭扭。调整栅格的方法是在画布上右键 → Options → Grids或者直接按G键循环切换栅格大小。我第一天画出来的原理图说实话惨不忍睹。元器件摆放得歪歪斜斜连线绕来绕去网络标签一个都没加。但至少它编译通过了没有报错。那一刻我觉得自己已经迈出了最重要的一步。3. 原理图到PCB那些没人告诉你的细节3.1 编译原理图和检查错误画完原理图之后下一步是编译。编译的目的是检查你的原理图有没有电气错误比如引脚没有连接、网络标签冲突、电源和地没有接等等。编译的快捷键是C → CProject → Compile PCB Project。我第一次编译的时候Messages面板弹出来一堆警告和错误。大部分是“Net has no driving source”和“Component has no footprint”。前者是说某个网络没有驱动源后者是说某个元器件没有指定封装。这两个问题都是新手常犯的。第一个问题的原因是你可能把两个元器件的引脚连在一起了但这两个引脚都是输入或者都是输出没有一个驱动源。解决方法是检查电路逻辑或者加一个上拉电阻、下拉电阻。第二个问题的原因是你在放置元器件的时候没有指定封装或者指定的封装在PCB库里找不到。实操心得编译之前先确保每个元器件都指定了封装。方法是在原理图里双击元器件在Properties面板里找到Footprint一栏点击Add然后从PCB库里选择对应的封装。如果你不知道用什么封装电阻电容一般用0805或0603芯片根据实际封装选。3.2 创建PCB文件和导入网络表原理图编译通过之后就可以创建PCB文件了。右键工程 → Add New to Project → PCB一个空白的PCB编辑器就打开了。然后你需要把原理图的网络表导入到PCB里方法是Design → Import Changes From [工程名].PrjPcb。导入的时候AD会弹出一个对话框列出所有的变更包括添加元器件、添加网络、添加封装等等。你点击“Execute Changes”AD就会自动把所有元器件放到PCB画布上并且按照原理图的连接关系生成飞线 ratsnest。我第一次导入的时候所有元器件都堆叠在画布外面密密麻麻一团。你需要手动把它们一个个拖到板框里面然后重新布局。这个过程叫“布局”是PCB设计里最考验经验的一步。3.3 PCB布局和布线的基本规则布局的核心原则是按功能模块分区模拟和数字分开电源和地尽量短粗高频信号远离敏感信号。我第一天画的是一个简单的STM32最小系统板布局逻辑很简单MCU放中间晶振靠近MCU电源模块放一边排针放板边。布线的时候AD默认的线宽是10mil这个宽度对于普通信号线来说够用了但电源线最好加粗到20mil甚至30mil。线宽的计算跟电流有关有一个经验公式1A的电流大约需要10mil的线宽外层走线1oz铜厚。如果你要过2A的电流线宽至少要20mil。注意PCB布线规则和技巧里最基础的一条就是“电源线加粗地线加粗信号线可以细”。另外走线尽量不要走直角用45度角或者圆弧过渡减少信号反射。我第一天布线的时候飞线密密麻麻根本不知道从哪里下手。后来我学到一个技巧先布电源和地再布关键信号比如晶振、复位最后布普通IO。这样优先级清晰不容易乱。还有一个新手常见的问题是“ad中pcb上器件不能选中”。这个通常是因为你锁定了元器件或者你当前处于某种特殊模式。解决方法是在Properties面板里检查Locked属性或者按ShiftC取消所有过滤。4. 新手常见问题与排查技巧4.1 安装和启动阶段的坑问题原因解决方法安装到一半报错安装包不完整或系统缺少运行库重新下载完整安装包安装VC运行库启动后界面卡顿内存不足或显卡驱动不兼容加内存到16G以上更新显卡驱动找不到新建按钮AD的工程逻辑与普通软件不同先新建PCB Project再添加文件元器件库加载失败库文件版本与AD版本不匹配下载对应版本的IntLib文件4.2 原理图绘制阶段的坑问题原因解决方法连线没有电气属性用了Line而不是Wire用Place WireP → W重新画编译报错“No driving source”网络没有驱动源检查电路逻辑加上拉或下拉编译报错“No footprint”元器件没有指定封装双击元器件在Properties里添加封装栅格不对齐栅格设置与元器件引脚间距不匹配按G键切换栅格或右键Options调整4.3 PCB设计阶段的坑问题原因解决方法元器件不能选中元器件被锁定或过滤检查Locked属性按ShiftC取消过滤飞线太乱布局不合理按功能模块重新布局先布电源和地走线宽度不够默认线宽太细电源线加粗到20-30mil信号线10milDRC报错违反设计规则检查间距、线宽、过孔等规则设置4.4 我的独家避坑技巧第一个技巧养成随时保存的习惯。AD没有自动保存功能至少默认没有。我第一天画了两个小时电脑蓝屏全部白费。后来我设置了自动保存每隔10分钟保存一次。设置方法是Preferences → Data Management → Backup勾选Auto Save设置时间间隔。第二个技巧不要一上来就画复杂的板子。我第一天想画一个STM32最小系统板结果发现要处理晶振、复位、电源、下载接口、LED、按键……太多东西了。后来我退而求其次先画了一个最简单的LED闪烁电路只有几个电阻、一个LED、一个排针。画完之后整个流程就通了心里也有底了。第三个技巧多看别人的原理图和PCB。AD有一个功能叫“Altium Designer Viewer”可以打开别人分享的工程文件查看原理图和PCB。我第一天就下载了几个开源项目的工程文件对着看看别人怎么布局、怎么走线、怎么标注。这比看教程快多了。第四个技巧善用快捷键。AD的快捷键非常多但常用的就那么几个P → W放线P → P放置元器件P → G放置地P → V放置电源CtrlS保存CtrlZ撤销空格旋转。把这些练熟效率能提升一倍。5. 从第一天到持续学习我的后续计划5.1 我给自己定的学习路径第一天只是打开软件、画了一根线离真正会画PCB还差得远。我给自己定了一个学习路径第一周熟悉AD的界面和基本操作画完一个简单的LED电路第二周学习元器件库的制作自己画一个STM32的封装第三周学习PCB布局布线的规则和技巧画一个双层板第四周学习DRC检查和Gerber文件输出把板子发出去打样。这个路径不一定适合所有人但我觉得对于零基础的人来说有一个清晰的路径比盲目摸索要强得多。网上有很多“altium designer教程”但大部分是零散的你需要自己把它们串起来。5.2 关于元器件库的后续学习AD的元器件库是一个绕不开的话题。自带库不够用网上的库质量参差不齐最终你还是要学会自己画。画元器件库分两步画原理图符号和画PCB封装。原理图符号就是你在原理图里看到的那个矩形框加引脚PCB封装就是你在PCB里看到的那个焊盘阵列。画原理图符号的时候引脚的编号和名称一定要跟实际元器件的数据手册一致。画PCB封装的时候焊盘的大小、间距、形状都要严格按照数据手册来。我第一天试着画了一个0805电阻的封装结果焊盘间距画错了后来打样出来的板子焊不上电阻只能飞线。实操心得画封装之前先把数据手册里的封装尺寸图打印出来用尺子量一遍确认焊盘间距和焊盘大小。不要凭感觉画差0.1毫米都可能焊不上。5.3 关于PCB布线的后续学习PCB布线是一门手艺需要大量的练习和积累。我第一天布的那几根线后来回头看简直不忍直视。线宽不对、间距不够、过孔太多、地线没有回路……问题一大堆。后续我打算重点学习几个方面一是电源完整性怎么保证电源纹波小、噪声低二是信号完整性怎么处理高速信号的反射、串扰、时序三是EMC怎么减少电磁辐射和敏感度。这些内容在“pcb布线规则和技巧”里都有涉及但需要结合实际项目慢慢体会。还有一个热门话题是“pcb涡流损耗”这个主要出现在高频开关电源和无线充电的设计里。涡流损耗会导致铜箔发热、效率下降解决方法包括使用更薄的铜箔、增加磁芯屏蔽、优化走线形状等。我目前还没接触到这个层面但以后如果做电源相关的板子肯定要深入研究。5.4 关于工具链的后续学习AD只是PCB设计工具链中的一环。完整的流程还包括原理图仿真可以用AD自带的Mixed Sim也可以用Multisim、PCB拼版“ad pcb拼版”是一个常见需求可以手动拼也可以用AD的Embedded Board Array功能、Gerber输出用OutJob文件可以快速输出文档、打样和焊接。我第一天只走到了原理图这一步后面还有很长的路。但我觉得只要把第一天的恐惧克服了后面的每一步都会比第一天容易。因为最难的不是技术本身而是面对一个完全陌生的庞然大物时那种无从下手的感觉。最后再分享一个小技巧如果你在画原理图的时候发现Properties面板只显示“Simulation Generic”不显示元器件的常规属性那说明你选中的是仿真模型而不是元器件本身。点击元器件的外框而不是引脚就能看到完整的属性面板了。这个坑我踩过折腾了半个小时才搞明白。这个内容后续还可以这样扩展等我把第一个板子打样回来焊接调试通过之后我会写一篇完整的复盘包括原理图设计、PCB布局、打样参数、焊接调试的全过程。如果你也在自学PCB欢迎一起交流踩过的坑越多成长得越快。
