从点亮第一颗LED开始:手把手带你用Altium Designer完成一块PCB
你还记得第一次看到电路板上某个小灯“一闪一闪亮晶晶”时的心情吗?那种亲手赋予电子系统“生命”的成就感,往往是无数硬件工程师入行的起点。而今天,我们就从最简单的——让一颗LED按节奏闪烁——出发,完整走一遍使用Altium Designer设计并制作一块实际可用的PCB全过程。
这不是一份堆满术语的操作手册,而是一次真实项目式的实战演练。你不需要是电子大神,只要愿意动手,就能一步步把想法变成看得见、摸得着的电路板。
为什么选Altium Designer?它真的适合新手吗?
市面上EDA工具不少,KiCad开源免费,立创EDA在线即用,那为什么还要学Altium Designer?
答案是:集成度高、生态成熟、工业级标准。
虽然它的学习曲线略陡,但一旦掌握,你会发现它几乎包揽了从原理图到生产文件的所有环节,无需在多个软件之间切换。更重要的是,大多数正规企业都在用它。学会Altium,等于拿到了通往专业硬件设计世界的钥匙。
而且别担心复杂——我们这次只聚焦一个目标:做出能跑起来的LED闪烁板。在这个过程中,你会自然地接触到Altium的核心流程,不知不觉就掌握了关键技能。
我们要做什么?系统架构一目了然
这块板子不追求炫技,而是力求清晰、可靠、可复现。整体结构非常经典:
- 主控芯片:STM32F103C8T6(俗称“蓝丸”),性价比高、资料丰富
- 电源管理:AMS1117-3.3稳压IC,将5V转为3.3V供MCU使用
- 程序下载接口:SWD接口,两根线搞定烧录
- 核心功能单元:一个LED + 220Ω限流电阻,接在PA5引脚
- 辅助电路:复位按钮 + 上拉电阻,外加几个去耦电容保障稳定运行
整个系统就像一棵树:电源是根,MCU是干,LED是叶。枝叶虽少,五脏俱全。
第一步:创建工程,搭好舞台
打开Altium Designer,点击File → New → Project,选择PCB Project,命名为LED_Blink.PrjPcb。
接着右键项目 →Add New to Project → Schematic,新建一张原理图,改名为Main.SchDoc。
再添加一个PCB文件:Add New to Project → PCB,命名为Board.PcbDoc。
现在你的项目里有三个核心成员:
-.PrjPcb:项目的“总指挥”
-.SchDoc:逻辑蓝图
-.PcbDoc:物理实现
这三者的关系,就像是建筑师先画图纸(原理图),再根据图纸施工建房(PCB布局)。
第二步:绘制原理图——给电路“写剧本”
双击Main.SchDoc进入原理图编辑器。
添加元件
按下快捷键P+A打开元件库面板(Library),搜索以下元件并放置到图纸上:
| 元件 | 库名 / 参数 |
|---|---|
| STM32F103C8T6 | 可使用官方ST库或社区集成库(如“STM32F1 Series.IntLib”) |
| LED0805 | 常规贴片LED,注意极性 |
| RES220 | 220Ω贴片电阻 |
| CAP100N | 100nF陶瓷电容(用于去耦) |
| CONN_5V | 电源输入端子 |
| BUTTON | 复位按键 |
| R10K | 10kΩ上拉电阻 |
💡 小技巧:如果找不到现成的MCU符号,可以先用一个通用单片机符号代替,后续手动关联封装和引脚映射。
连接电气关系
使用Place Wire (P+W)工具连接各元件:
- PA5 → 电阻 → LED阳极
- LED阴极接地
- VDD/VSS 引脚分别接电源和地
- 复位引脚通过10kΩ上拉至3.3V,按键另一端接地
- 每个VDD附近都放一个100nF电容到地(去耦!很重要)
别忘了添加电源标识:Place » Power Port,选择VCC和GND,标记清楚每条网络归属。
编译检查,消灭隐患
点击Project → Compile PCB Project编译工程。
然后打开Messages面板查看是否有错误或警告。常见的问题包括:
- 悬空引脚(Unconnected Pin)
- 网络标签拼写错误
- 电源未正确标注
把这些“语法错误”全部修复后,才算原理图真正“通了”。
此时你可以生成网络表(Netlist),它是原理图与PCB之间的“翻译官”,告诉PCB编辑器:“这些元件要连在一起”。
第三步:封装匹配——让虚拟元件落地
每一个原理图上的符号,都必须对应一个真实的物理尺寸,也就是封装(Footprint)。
比如那个220Ω电阻,可能是0805大小;STM32芯片则是LQFP-48封装。如果你选错了封装,做出来的板子根本焊不上!
如何确认封装?
方法一:查数据手册(Datasheet)。翻到“Package Information”章节,找到推荐的PCB footprint。
方法二:利用Altium内置向导。对于常见封装如0805、SOT-23等,可以直接调用IPC Footprint Wizard自动生成符合行业标准的焊盘。
右键元件 → Properties → Footprint,点击“Add”来指定封装。例如:
- RES220 →Resistor_SMD:R_0805_2012Metric
- LED →LED_SMD:LED_0805_2012Metric
- STM32 →Package_QFP:LQFP-48_7x7mm_P0.5mm
⚠️ 特别提醒:STM32这类多引脚器件,务必核对封装尺寸和焊盘间距是否与实物一致!差0.1毫米都可能无法焊接。
第四步:导入PCB,开始布局
一切准备就绪后,进入最关键的一步:把原理图信息同步到PCB。
回到原理图界面,执行Design → Update PCB Document Board.PcbDoc。
Altium会弹出变更列表,显示即将添加的元件和网络连接。勾选所有项目 → Execute Changes。
稍等片刻,所有元件就会以“堆叠状态”出现在PCB编辑区。
设置板框与层叠
先定义板子边界:切换到Keep-Out Layer,用Place Line画出矩形轮廓(建议尺寸40×60mm)。
然后设置层数:Design → Layer Stack Manager,默认双面板即可(Top Layer + Bottom Layer)。
开始布局:讲究“秩序感”
好的布局不是随意摆放,而是有策略的安排:
- MCU居中:作为核心,其他元件围绕它展开
- 电源入口靠边:方便插线或接插座
- LED放在边缘:便于观察闪烁效果
- 去耦电容紧贴VDD引脚:越近越好,最好不超过5mm
- 复位电路靠近NRST引脚
拖动元件时按空格键可旋转,按L切换层查看。
记住一句话:信号路径最短,干扰最小。
第五步:布线——铜箔的艺术
布局完成后,就可以开始布线了。
切换到Top Layer,选择Route » Interactive Routing(快捷键P+T),鼠标变成带十字准星的线。
点击一个焊盘,开始拉线,Altium会自动寻找连接目标,并高亮网络。
布线优先级建议:
先布电源和地线
- 使用较宽走线(建议≥20mil),降低阻抗
- 或直接铺铜:Place » Polygon Pour,选择GND网络,填充底层作为地平面再布关键信号
- SWD下载线尽量短且平行
- PA5控制线避开高频区域最后处理其余信号
✅ 实践经验:初学者一定要坚持手动布线!自动布线看起来快,实则容易产生绕远路、违反规则等问题,不利于理解设计本质。
差分对?等长?这次不用!
本项目没有高速信号,无需考虑阻抗匹配或长度补偿。但对于未来想做USB、ETH、DDR的同学来说,Altium提供了强大的交互式等长调整工具(Interactive Length Tuning),支持实时查看蛇形走线增量。
第六步:DRC检查——上线前的最后一道关卡
布线结束不代表万事大吉。必须运行DRC(Design Rule Check)来确保没有违反制造规范。
执行Tools → Design Rule Check,点击Run Design Rule Check。
常见报错及解决办法:
| 错误类型 | 原因 | 解决方案 |
|---|---|---|
| Clearance Constraint | 两个焊盘间距太近 | 调整位置或缩小元件 |
| Short-Circuit | 不同网络意外相连 | 检查交叉处是否误连 |
| Un-Routed Net | 某根线没连上 | 返回补线 |
| Silk to Solder Mask | 丝印压到焊盘 | 移动丝印文字 |
直到DRC结果显示“0 Errors, 0 Warnings”,才算真正合格。
第七步:输出生产文件——交给工厂去造
板子设计好了,怎么让嘉立创、捷配这样的厂家帮你做出来呢?
需要生成一套标准化的Gerber文件。
执行File → Fabrication Outputs → Gerber Files:
- 单位选
Inches,格式选2:5 - 包含层:Top/Bottom Layer, Silkscreen, Solder Mask, Paste Mask, Keep-Out, Drill Drawing
- 镜像层取消勾选
再生成钻孔文件:File → Fabrication Outputs → NC Drill Files
最后别忘了导出:
-BOM清单(Bill of Materials):Reports → Bill of Materials
-装配图:便于贴片时对照元件位置
把这些文件打包发给PCB厂,几天后你就能收到实物板了!
写代码,让它“活”起来
板子回来了,还得烧程序才能闪。
使用STM32CubeIDE新建工程,目标芯片选STM32F103C8,配置PA5为GPIO_Output。
主循环中加入这段经典代码:
while (1) { HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); HAL_Delay(500); // 半秒闪烁一次 }通过ST-Link连接SWD接口(CLK & DIO),点击下载,程序写入成功!
摘下调试器,接上5V电源——灯,亮了!而且是有节奏地呼吸着。
那一刻,你会明白:这不是简单的明灭,是你写的逻辑、你画的线路、你设计的板子,在共同工作。
新手常踩的坑,我都替你试过了
❌ LED不亮?
- 查极性:贴片LED有缺口的一侧通常是阴极,应接地
- 测电压:用万用表测PA5是否有电平翻转
- 检电阻:确认是不是误用了开路或短路电阻
❌ 下载失败?
- 看供电:MCU有没有正常上电?3.3V稳吗?
- 查复位:NRST引脚是否被持续拉低?
- 排干扰:SWD线不要走得太长或靠近电源模块
❌ 板子发热?
- 焊反了LDO?导致短路
- 电源与地之间形成回路?重新检查布线
🔧 调试口诀:先看电,再看码,最后查连接。
学完这个项目,你收获了什么?
也许你觉得:“不过就是个闪灯而已。”
但请回顾一下你走过的路:
✅ 你会创建Altium工程
✅ 你能绘制规范原理图
✅ 你懂封装匹配的重要性
✅ 你会手动布局布线
✅ 你能通过DRC检查
✅ 你会输出Gerber文件
✅ 你会烧录STM32程序
这些看似基础的能力,恰恰构成了硬件工程师的底层肌肉记忆。
更重要的是,你完成了从无到有的闭环:构想 → 设计 → 制造 → 调试 → 成功。
这才是真正的工程能力。
下一步可以怎么玩?
这块板子只是一个开始。接下来你可以尝试:
🔧 加个按键,实现“按下才闪”
📡 接个蓝牙模块,手机控制开关
🌐 换成ESP32,连Wi-Fi发数据
📊 加上传感器,采集温湿度上传云端
每一次扩展,都是对Altium新功能的探索:多层板、差分布线、电源分割、3D装配预览……
而Altium也在进化,已经支持云协作、AI辅助布线、信号完整性仿真等功能,帮助工程师应对越来越复杂的挑战。
如果你正在学硬件,不妨就从这一块小小的LED板开始。
不必追求一步登天,但求步步扎实。
当你亲手点亮第一盏灯,你就已经踏上了成为专业硬件工程师的道路。
👉 文中的所有操作细节——如何打开库、怎么设置栅格、切换布线模式、查看3D视图——都是你在真实项目中最常用的功能。这不仅是一篇教程,更是一个成长的脚印。
欢迎在评论区晒出你的第一块板子照片,我们一起见证那份“灯亮了”的喜悦。