资讯动态

Altium Designer 33个经典电路实例:从原理图到PCB的完整设计链路

发布时间:2026/10/14 18:21:38 来源:尧图企业网站定制
简介面向Altium Designer初学者及硬件开发者的经典电路制作实例合集整合33个覆盖数字逻辑、模拟电路、微控制器、通信电路、电源管理、信号处理与控制电路等方向的完整项目。每个实例均提供原理图设计源文件DSN与配套C语言源代码、Hex固件、Keil工程文件UV2等可直接在AD中打开原理图配合内置SPICE仿真与三维视图验证设计适合边学边练。实例编排从基础流水灯、数码管显示逐步过渡到按键控制、交通灯模拟、继电器控制、生日歌等综合场景帮助读者理解单片机外围电路搭建与编程思路。压缩包共535个文件以工程备份BAK、源程序、编译中间文件及PDF文档为主整体体积36.3MB目录按功能命名便于检索已有3552人学习下载。通过33个案例的拆解与实操可系统掌握电路原理图设计、PCB布局、固件烧录及调试排错的核心方法无论自学还是课设/毕设都是一套高性价比的参考合集。1. 为什么拿到“学习Altium Designer—33个经典电路制作实例含电路图、源代码.rar”先别急着画板很多人拿到这套资源第一反应是解压、翻目录、找一张最简单的原理图开始照着抄。我建议你把节奏放慢一点。这个压缩包的价值不在那33张原理图本身而在它同时给了你电路图、源代码和一套可以跟着做的PCB任务正好对应硬件工程师最底层的三种能力看懂电路、画得出板子、写代码驱动验证。Altium Designer不是单纯画原理图的工具它把原理图、PCB、库、仿真、生产文件全部串在一个链路里新手最容易卡住的恰恰不是某个菜单命令而是整条链路之间怎么衔接。这套实例适合三类人刚学完电路基础、想找一个完整项目练手的学生从PCB绘图员转硬件设计、需要补电路原理的新人以及做单片机应用但很少自己画板、想补上Layout短板的开发者。33个经典电路大多围绕电源、最小系统、接口驱动这些高频场景电路图负责讲清“是什么”源代码负责告诉你“怎么让它跑起来”而Altium工程文件负责让你亲手把它变成一块真实可制造的板子。如果你只是想看教程很难获得这种从元件选型到程序点亮LED的完整闭环。我给你的建议是先别打开任何一张原理图。先把压缩包当成一套课程从工程结构开始认识它再决定按什么顺序学。这样可以避免大多数人在第一周就放弃——Altium Designer的界面信息密度很高直接上手画图很容易陷入“每个按钮都认识但整块板子画不出来”的困境。2. 打开这套实例的正确姿势先拆工程结构再调好工作环境2.1 压缩包里的文件类型怎么认工程文件、原理图、库和代码的分工Altium Designer的项目文件体系跟普通办公文档不一样它讲究“工程约束”。压缩包里一般会同时看到这几类文件先认清楚再打开后面少走很多弯路文件后缀类型在这套实例里的作用.PrjPCB工程文件管理原理图、PCB、库的归属关系编译和同步都从它发起.SchDoc原理图文件保存电路连接关系、元件符号、网络标号.PcbDocPCB文件保存板框、元件布局、走线、覆铜和规则.SchLib / .PcbLib原理图库 / 封装库元件图形和焊盘几何的定义来源.IntLib集成库把符号和封装绑在一起实例里常用它保证一致性.c / .h源代码单片机或驱动代码对应电路图里的控制逻辑我一般会先双击打开 .PrjPCB 文件而不是直接双击某个 .SchDoc。原因很实际单独打开原理图时Altium Designer不会自动加载整个工程的库关联你会看到一堆元件带着绿色的波浪线提示找不到封装或引脚悬空。从工程文件进入所有关联会一次到位编译时也才能看到完整的错误报告。另外注意很多老教程会让你手动添加原理图库和PCB库这套实例如果给了集成库 .IntLib就不要选“手动添加离散库”否则同一个电阻在原理图里是一个符号到了PCB里可能变成另一个封装最后网络表对不上。打开工程之后在 Libraries 面板里确认集成库已经挂载路径指向压缩包解压出来的那个文件夹别放在桌面的临时解压目录里。2.2 把Altium Designer环境调到适合复现的状态单位、栅格和图纸大小开始看第一张原理图之前我会花五分钟把工作区统一成一套参数。很多实例里的原理图是用不同版本软件画的不同机器的显示精度也不一样直接复制没问题但如果你想自己从头再画一遍环境参数不一致会造成后续PCB设计里非常隐蔽的偏差。第一件事是设置单位。Altium Designer默认支持英制和公制切换原理图用 mils 很常见但PCB设计我习惯切成毫米因为大部分打样厂家用毫米沟通板框尺寸。切换位置在菜单 View → Toggle Units快捷键是 Q。我建议原理图阶段先保持英制因为元件引脚的原始间距大多是英制基准比如2.54mm间距的排针换算成mil正好是100mil到了PCB布局阶段再切成毫米。第二件事是栅格。原理图编辑器里我通常把捕获栅格Snap Grid设为 100mil 或 50mil这能保证连线是整齐的45度或90度走线网络标号也不会贴到元件引脚上。PCB里则分两层看放置元件时用大栅格比如 25mil 或 50mil让元件对齐到标准间距走线时切换成小栅格比如 5mil 或 2.5mil走线宽度和间距控制更自由。快捷键 G 可以快速切换栅格类型。第三件事是图纸大小。很多初学者用默认的A4纸画原理图画到一半发现元件放不下接着就出现一堆跨页的网络标号。我先在 Document Options 里把图纸设为 A3 甚至 A2然后把整张图的电路按功能分区绘制。这套实例里如果你看到某个原理图文件特别“空”不是原作者画错了而是他预留了扩展空间你复制过来以后也要保持这种留白习惯不要在元件之间挤走线。3. 从33个实例中抽三条主线电源电路、最小系统、接口驱动3.1 电源电路实例线性稳压和DC-DC的选型与参数33个经典电路里电源类电路基本是雷打不动的主线而且一定会反复出现。原因很简单几乎所有电路都要供电而电源电路又是最容易因为元件参数选错而冒烟的类型。常见的套路是两种线性稳压和开关电源。线性稳压电路里最典型的结构是“变压器整流滤波 三端稳压器”。稳压器输入侧一般放一个电解电容和一个0.1μF陶瓷电容电解电容用来吸收整流后的纹波陶瓷电容用来抑制高频自激振荡输出侧同样是一对电容保证负载瞬态响应。很多人只装一个电解电容就完事结果纹波大逻辑电路偶尔复位就是这个位置偷懒了。参数上输入电容容量通常按负载电流估算1A负载对应1000μF左右输出电容可以小一到两个数量级。开关电源电路则是另一套逻辑。以常见的降压型DC-DC为例最关键的三个元件是电感、续流二极管和反馈电阻。电感选小了电流纹波大输出电容发热选大了负载响应变慢甚至进入断续模式。我一般按厂家手册给出的公式算但手算前会先看负载电流和开关频率频率高的选小电感频率低的选大电感。续流二极管必须用快恢复管或肖特基管普通整流二极管反向恢复时间太长开关瞬间会严重发热这就是很多入门者“照着原理图抄但一上电就烧二极管”的主要原因。如果你拿到实例里的电源部分先别急着抄参数把这三个点核对一遍输入输出电容是否成对出现、电感饱和电流是否大于最大负载电流的1.3倍、反馈电阻分压是否真的等于目标电压。这三个位置是翻车重灾区。顺带说一句线性稳压的效率问题常被忽略输入12V输出5V时压差7V就是纯热功耗电流越大散热片越大这也是为什么很多进阶实例里会把线性稳压放在小电流位置大电流改用DC-DC。3.2 MCU最小系统实例时钟、复位、下载接口的典型接法MCU最小系统是33个实例里的另一条主线无论用的什么单片机结构都很接近电源、时钟、复位、下载调试接口再加一组IO口引出。实例的价值在于它把每一个引脚的连接都画清楚了而这恰恰是原理图库里看不出来的。先看时钟。晶体两端各接一个负载电容电容另一端接地。这个电容的值不是随便选的它取决于晶振的负载电容参数。比如常见8MHz无源晶振负载电容约18pF那么匹配电容可以用1522pF如果晶振标注负载电容20pF用18pF或20pF都行。初学者最容易犯的错是把电容并到晶振同一个引脚和地之间时走线过长导致振荡不稳。原理图上看似没问题PCB上却起振不了这属于实例里“画出来能跑、但布局差一点就翻车”的典型。复位电路通常是电阻上拉到电源、电容对地形成一个上电复位延时。RC时间常数一般在10ms到100ms之间。如果你见到的实例里复位电路不是这个结构而是直接用复位芯片那多半是为了抗干扰或上电时序要求更高。不要把外部按键直接接到复位引脚而省略上拉电阻否则复位引脚在按键松开瞬间处于悬空状态单片机会随机复位。下载调试接口要单独强调。STLink、JLink这类调试器用的是SWD或JTAG协议原理图上一般画一个4针或10针排针。SWD只需要SWDIO、SWCLK和地再加一个复位引脚但引脚上最好加ESD保护或串联小电阻。很多实例里已经帮你画好了一组100Ω到1kΩ的串阻这是为了减小调试信号反射尤其当调试线比较长的时候。如果你看到实例里没有串阻也可以直接用但调试速度高时可能不稳定。3.3 接口与驱动电路实例电平转换、隔离和功率驱动接口驱动电路是33个实例里最吃经验的部分而它也是从“会画板”到“能出货”的关键。最常见的三类是三极管驱动继电器或蜂鸣器、光耦隔离、串口电平转换。驱动继电器时三极管基极要串一个限流电阻阻值按三极管hFE和继电器线圈电流计算。比如继电器线圈电流50mA三极管hFE设为100基极电流需要0.5mA以上考虑驱动裕量取1mA那么基极限流电阻就是(3.3V-0.7V)/1mA约2.2kΩ到4.7kΩ。同时继电器线圈两端必须反并一个续流二极管否则三极管关断瞬间线圈产生的反向尖峰会直接击穿管子。这个二极管方向千万别接反负极接电源正极、正极接三极管集电极接反等于把电源直接短路。光耦隔离电路要看的核心是输入侧限流电阻和输出侧上拉电阻。输入侧LED正向压降一般1.2V左右根据输入电压算限流电阻保证LED电流在510mA。输出侧如果是三极管输出结构需要在集电极加上拉电阻到目标电压域电阻太小会导致输出低电平不够低太大会让信号上升沿变缓高速通信时容易出错。串口电平转换也是经典。RS232电平正负12V单片机TTL电平03.3V两者不能直连。实例里经常用专用芯片完成电平转换这类电路只要关注两点电荷泵电容尽量靠近芯片、供电引脚加0.1μF退耦电容。如果用的是三极管分立方案做电平反向要特别注意时序方向发送和接收两条通路是镜像关系抄错一次就会出现“能收不能发”的怪问题。3.4 从电路图到源代码看懂驱动代码和原理图中的引脚对应关系这一节回到标题里的“源代码”。很多初学者把原理图和源码当两回事来看其实在实例里它们是配套的。给你看一段最常见的LED按键示例代码这类代码几乎出现在每个最小系统实例里// 以常见的51内核单片机为例对应原理图中LED和按键那一页 sbit LED P1^0; // 原理图上LED阴极经限流电阻接到P1.0 sbit KEY P3^2; // 原理图上按键一端接地另一端接P3.2 void delay(unsigned int t) { // 粗延时函数配合12MHz晶振 while (t--); } void main(void) { while (1) { if (KEY 0) { // 按键按下P3.2被外部拉低 delay(2000); // 软件消抖跳过触点抖动区间 if (KEY 0) { // 二次确认防止误触发 LED 0; // 输出低电平LED点亮 while (KEY 0); // 等待松手避免按住时反复执行 LED 1; // 输出高电平LED熄灭 } } } }这段代码的逻辑和原理图是严格对应的。原理图画的是LED阳极接电源正极阴极经过限流电阻连到P1.0所以代码里给低电平就是点亮。按键一端接地另一端接P3.2所以代码里检测到低电平就认为按下。注意两点一是原理图上如果不小心把LED阴极接到P1.1代码就必须改成P1^1否则程序烧进去LED怎么都不亮这就是最常见的“原理图和源码引脚不匹配”坑二是delay参数跟晶振频率有关12MHz和11.0592MHz下同样的延时函数实际时间差很多串口通信的波特率计算尤其敏感。看实例里的源码时先看头文件里的晶振宏定义再看引脚定义最后才是业务逻辑这个顺序能帮你快速定位是硬件问题还是软件问题。4. 把电路图变成PCB从编译、导入到布线的完整动作链4.1 编译与导入ECO机制在做的事原理图画完不能直接跳到PCB中间隔着一步叫“编译工程”。打开 .PrjPCB执行 Project → Compile PCB ProjectAltium Designer会做一次电气规则检查把悬空引脚、重复网络标号、单端网络这些问题列在 Messages 面板里。这一步是很多新人的分水岭。看到绿色对勾就以为万事大吉其实编译只检查“逻辑正确”不检查“封装正确”。真正决定能不能导入PCB的是封装。原理图里的每个元件都必须绑定一个PCB封装否则等会儿导入时那个元件会静静躺在待放置列表里或者干脆从PCB上“消失”。正确动作是编译后先按住 Alt 键双击每个元件或者用 Inspect 面板批量检查“Footprint”字段是否都有值。然后切换到PCB文件执行 Design → Import Changes from 工程名会弹出Engineering Change OrderECO对话框。点 Validate Changes 的时候别光看绿色的对勾重点看右侧的“Message”如果有元件报“Footprint Not Found”先在原理图里补封装再把下边的“Add”勾选项确认最后 Execute Changes 才生效。有些实例文件里已经画好了PCB你直接导入可能会弹出一堆“网络不存在”的提示这是因为PCB文件里已有旧的网络信息。先执行 Design → Netlist → Configure Physical Nets让PCB网络和原理图重新对齐再导入能省掉很多让人抓狂的红色报错。4.2 PCB布局顺序按信号流而不是按元件类型摆导入成功后所有元件会挤成一团出现在PCB绘图区这一步叫“元件搬板”。常见错误是先把电源芯片放中间再把单片机放角落结果走线绕了一大圈。我习惯的顺序是先固定接口和连接器再放核心芯片然后放电源电路最后补退耦电容和电阻。接口是板子的边界条件USB座、排针、接线端子的位置决定了整块板子的外形走向MCU应该靠近它主要驱动的接口电源电路靠近电源输入接口这样电源走线最短、压降最小。退耦电容的位置在布线前就要想清楚。每个芯片电源引脚旁的0.1μF陶瓷电容必须尽可能靠近该引脚中间不要穿Via否则高频噪声滤不掉。如果你发现实例的PCB上电容离芯片很远那不是让你学习的好样例恰恰说明原作者当时的布局比较宽松你在重新画的时候应该把电容挪近这属于“改进型重画”但也能帮你理解布局逻辑。顶层和底层的规划也在这时定。一般顶层放主器件和信号走线底层铺地或走少量交叉信号。电源走线和敏感信号线在布局阶段就应避免平行长距离贴近否则PCB布完线再想改就伤筋动骨了。4.3 布线参数标定线宽、间距和过孔的参考值布线是整个过程中耗时最长的一段。Altium Designer的交互式布线功能很成熟但参数得自己设。给你一套我做这类经典电路时的初始参数网络类型线宽过孔孔径说明普通信号6~8 mil0.3mm / 0.6mm焊盘数据、控制线时钟信号8~10 mil0.3mm / 0.6mm焊盘尽量短少打过孔模拟信号10~12 mil0.4mm / 0.8mm焊盘远离数字走线电源线20~30 mil0.5mm / 1.0mm焊盘电流越大线越宽地线尽量短配合大面积覆铜0.5mm / 1.0mm焊盘地回路要粗注意单位换算1mil等于0.0254mm所以8mil约等于0.2mm。打样厂家的最小线宽一般能做到6mil但如果不是高密度板建议留到8mil以上生产良率和可靠性都会好很多。过孔孔径0.3mm对应成品钻孔焊盘外径至少0.6mm孔径再小的话打样价格会明显上涨调试时也不方便飞线。电源线的宽度可以按电流粗略估算1A电流对应40mil以上比较安全0.5A对应20mil够用。低压差、大电流的场合不只靠加宽走线还要靠覆铜和多孔并联。覆铜时注意用 Polygon Pour而不是普通走线去画一个矩形因为后者会在DRC里报出一堆奇怪问题。间距规则也很关键。常规板子设置间距 8mil 足够但如果有高压网络比如220V整流后的电路间距必须按安规放大到2mm以上。这套实例如果包含开关电源注意原作者的间距规则是怎么设置的别把自己做的低压控制板规则直接套到电源板上那是真会爬电起火的。4.4 DRC三件套间距、短路、未连接布线完成后跑一次 Design Rule CheckDRC这是打样前的最后一道闸门。Altium Designer的DRC能查几十项但对经典电路实例我只建议先把三件套看清楚Clearance间距、Short Circuit短路、Un-Connected Net未连接网络。间距报错如果是绿色的小圆圈多半是走线与焊盘距离不够可以看错误坐标定位。短路报错不用多说出现了一定是网络被意外连在一起。未连接网络最常见的表现是某个焊盘显示十字或小方块说明它物理上没接入任何铜。实例里经常出现“复制的走线带遮挡实际没连上”的情况DRC能帮你抓住这一条。跑DRC前先检查规则表里的最小间距和内层设置。很多初学者从别的工程复制过来一堆规则结果DRC报了上百条错误一半是规则本身的问题。我的习惯是新建PCB文件后先把所有默认规则恢复到默认值只修改Clearance、线宽和过孔三项然后跑一次DRC如果报错再逐条看这样才能保证错误是真实存在的而不是规则打架造成的虚假报警。打样文件出Gerber时我一般不会直接在Altium里点输出而是先跑一次完整的DRC并确认零错误再导出来。省一次打样费不值得但少一次错误值得。5. 这套实例学习中的常见问题避坑五类最容易翻车的场景复盘5.1 现象原理图编译没有错误导入PCB后元件飞散到电路图区域外原因这几乎都是封装信息缺失或封装原点偏移导致的。元件在原理图里没有绑定PCB封装或者封装库里的原点设置离焊盘太远导入后元件会被放置到坐标异常的位置看起来就像“飞到天边”。另外如果PCB文件之前被缩放、滚动过导入后所有元件会继承当前视图的坐标偏移。解决先选中全部飞散的元件用快捷键 CtrlA 后查看 Properties 面板里的坐标范围。如果是封装问题回到原理图给元件重新绑定封装。如果是原点问题执行 Edit → Origin → Set把原点重设到 PCB 板框左下角然后重新导入ECO。我习惯先统一原点再做任何操作省掉后面很多次“找不到元件”的抓狂搜索。5.2 现象DRC报间距错误但图上看起来两条线根本没有接触原因DRC的间距计算基于铜皮几何和规则设置不是你觉得“差不多离得远”就行。常见有两个隐蔽因素一是某个网络被设了特殊间距规则比全局规则严格二是两条走线在不同层但中间隔着过孔或焊盘平面投影距离很近实际没有电气连接DRC仍然会提示违反间距。解决点开DRC报错记录它会告诉你违反的是哪两个网络、距离多少毫英寸。如果确认是同层间距问题修改Clearance规则如果报错对象属于机械层或Keep-Out层检查是不是把板框或禁止布线层误设成了电气层。看DRC时别只看截图要看详细消息里的层信息和坐标这两者往往能瞬间定位问题。5.3 现象在原理图里改了网络名同步到PCB后部分走线消失原因Altium Designer靠网络标签和元件引脚连接关系来同步。改网络名后如果PCB里原先的走线还挂在旧网络上同步时旧网络被删除走线就跟着消失。这不算软件bug而是网络重命名触发的网络表重新映射。解决改网络名之前先执行 Project → Compile确保没有引脚悬空或名称冲突。同步时在ECO对话框里不要只点“Accept All”检查一下右侧Messages有没有“Remove Net”的记录。如果只改了某个局部网络最好在PCB里先手动把该网络走线删掉再同步避免新旧走线同时存在造成混乱。养成“先编译、再看ECO差异、再执行”的习惯能避免九成同步事故。5.4 现象打样回来的板子上焊盘有过孔而导致虚焊或者铜皮翘起原因这是过孔打在焊盘上造成的。Altium Designer里允许你在焊盘正中央放过孔但打样时焊盘中心的孔会造成锡膏渗漏元件引脚虚焊。尤其是电源输出的主焊盘位置这类过孔很容易破坏焊接质量。解决布线时打开“Avoid Proximity”选项或者在规则里设置过孔不能进入焊盘区域。如果确实需要在焊盘旁边打过孔散热那就把过孔放在焊盘边缘距离至少5mil以上并且让过孔自己带上阻焊。很多经典实例里不太会出现这个问题因为你拿到的PCB文件是别人调好的但你自己重新走线时很容易踩进去。打样前我会把每一个器件焊盘放大检查一遍确定孔不在焊盘中心。5.5 现象源代码编译能过但运行后某个引脚的电平跟原理图对不上原因原理图和源代码的引脚编号不匹配这是实例学习里最隐蔽的坑。有的实例用了多引脚封装原理图上引脚的“Pin Number”和单片机的物理引脚编号在封装绘制时被改过或者你打开的是某个修改版源码它定义的是另一个封装的引脚号。解决先把原理图中MCU每个网络标号记录下来再和源码里的sbit或宏定义逐个核对。重点检查同名网络是否接到不同引脚比如P1.0在原理图里接了LED但代码里操作的是P1.1那LED死活不会亮而且很难查——因为原理图和源码看起来都“正常”。我习惯在原理图里给每个关键外设网络加注释标注“对应代码中的LED_PIN”这个习惯帮我节约过大量联调时间。6. 通关33个实例后的验证习惯一块板子怎样才算真正做完画完板、导出Gerber、送去打样很多人以为这就是终点其实真正决定你水平的是拿到板子之后怎么验证。这里分享一套我习惯的执行清单你可以直接套在任意实例上。第一遍上电前先做静态测量。把万用表打到蜂鸣档量电源正负极之间是否短路。这一步不要跳过很多实例板子在焊接时虚焊、桥连通电后就烧元件。确认没有短路再上电用万用表量各电源轨电压是否在预期范围内比如5V输出就应该是4.95.1V超出这个范围就直接查电源电路不要碰其他部分。第二遍做信号测量。下载源代码前先确认时钟是否振荡。用示波器量晶振引脚能看到正弦波或方波看不到波形的怀疑晶振电容、晶振本体或焊接问题。然后下载最简单的点亮LED程序确认最小系统链路通。这一步是给整个硬件做“体检”只有体检过了才能定位到具体外设。第三遍才是跑完整源码。烧录器下载后观察串口输出或LED状态是否和代码逻辑一致。如果某个外设不动作先区分是硬件连线问题还是软件初始化问题。我的做法是先测量该外设的电源和地再测控制引脚电平最后测负载端。三步走到哪一步断了问题就在哪一段。这套习惯是从那33个经典实例里一点一点练出来的。每完成一个实例我都建议你重新画一遍原理图和PCB而不是直接用原作者的工程文件打样。重新画的过程中你会逼自己想清楚每个元件为什么在那、每个网络怎么走、每个规则为什么这么设这才是实例真正的价值。等你熟练以后可以把各个实例里的模块拆出来像搭积木一样组合成自己的设计库这时候你已经不是在“学习软件”而是在做真正的产品设计了。希望这些经验帮到你少走几步弯路。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑