| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 51单片机实战教程基础硬件篇(三 51单片机开发板设计) -> 正文阅读 |
|
[嵌入式]51单片机实战教程基础硬件篇(三 51单片机开发板设计) |
? ? ? 前面讲了原理图封装库及PCB封装库设计,现在以51单片机开发板为例讲解PCB设计。 第1步 创建PCB Project 1.1? 分别点击File,New,Project,PCB_Project 可以看到Projects面板中,有一个名为PCB_Project1_PrjPCB的PCB工程? 1.2 保存PCB Project ?将鼠标光标移动到PCB_Project1_PrjPCB上,按鼠标右键,点击弹出菜单中的Save Project ? 点击保存按钮,完成保存。 第2歩 添加新的原理图到PCB Project ? ? ?2.1 将鼠标光标移动到STC15W4KS4.Prj上,点击鼠标右键,在弹出菜单中分别点击Add New to Project, Schematic 可以看到,STC15W4KS4.Prj下多了一个Sheet1.SchDoc ? 2.2 保存添加的原理图 将鼠标光标移动到Sheet1.SchDoc上,点击鼠标右键,再点击弹出菜单中?的Save 输入文件名 ? 点击保存按钮,完成保存。 第3歩 添加新PCB新建PCB Project ? ? ? 3.1 将鼠标光标移动到STC15W4KS4.Prj上,点击鼠标右键,在弹出菜单中分别点击Add New to Project,PCB ? ?3.2 保存新建PCB 第4歩 完成原理图设计 ? ? ???PCB设计一般是从原理图开始,原理图设计大致要完成一下几部分工作:先在原理图中放入需要用到的元件。然后进行元件间连线,也可以不连线,但需将有电气连接的元件Pin脚标注相同的网络标签(Net Label)。再在利用原理图中Annotate Schematic工具给原理图中的元件标号。标号完成后,编译原理图,生成电气网络供PCB设计使用,如果编译没有错误,下一步,就可绘制PCB图。需注意的是:在原理图中放置的元件必须有PCB封装,如果你的原理图库有的元件没有添加封装(Add Footprints)的话,编译时不一定会出错,但导入到PCB中会缺少这些元件。 ? ? ? 这个例子比较简单,包含以下几部分: 1. MCU最小系统,包含单片机供电电路,I/O对外连接电路。2. 供电电路 包含DC-DC降压稳压电源电路,基准电压电路。3. 信号采集及信号调理电路。4. A/D及D/A转换电路. 5. SPI flash, 6.蜂鸣器驱动及LCD 屏(LCD1602, LCD12864)供电接口电路。 ? ? ? ? ?在讲解原理图前先简单讲一下AD18的一些基本的操作方法 ? ? ??如何调整原理图纸大小? 在原理图界面, 点击右边栏上Properties。展开后,在Page Options,选择不同的Template就可改变原理图纸大小。 ? ? ? ?如何安装原理图库? 原理图中的元件,是从原理图库中拖出来的,如果没有安装原理图库,就没法在原理图中放入元件。按键盘“P”键,在弹出菜单中点击“Part” 会自动打开Libraries面板,由于我已经安装了库,所以会显示选择的Library及元件列表,如下:? ? ?点击Library按钮 会打开如下面板 点击Add Library 按钮。即可加入选定目录下的库文件。 ? ? ? ? 如何才能加如元件? 接连按两次键盘上的P键,会自动打开Libraries面板,点击库列表栏,即可展开选择需要的库,如下: 选好库文件后,列表框中会显示该库的元件,上下拖动右边的滑块即可,显示前后隐藏的元件,点击选择元件,拖到原理图中即可加入元件。新加入元件的编号是个?号,没必要手动编号。可在放完所有元件后,利用Annotate Schematic?工具给所有元件,一次性编号。 ? ? ? ?如何移动选中元件?选中元件拖动即可移动元件。选中元件后,按住鼠标左键,按键盘空格键可逆时针旋转元件,按键盘X键可水平翻转元件,按键盘Y键可垂直翻转元件。 ? ? ? ?如何给原件连线? 连续按键盘P,W键,鼠标指针变成斜叉后,在要连线的Pin脚处点击鼠标左键即可开始连线,拖动鼠将光标移动到另Pin脚处点击鼠标左键标左键,及完成连线,如果需要在中途转折,点击鼠标左键后,再拖动鼠标画线即可。 ? ? ? 如何添加修改网络标签? 连续按键盘P,W键,鼠标指针上即会悬浮一个网络标签,在点击鼠标左键确定放置位置前,按键盘Tab键,即可弹出属性表,在属性表中可修改标签名。要修改已放置好的网络标签名,将鼠标光标移到网络标签上,双击鼠标左键,即可弹出属性表,在属性表中修改即可,修改后一定要记得,按键盘Enter确认,否则可能会保持原样。 如何给所有元件一次性编号?分别点击菜单Tools,Annotation,Annotate Schematics 在弹出对话框中点击Update Changes List 按钮 弹出Information对话框 点击OK,关闭information对话框,点击Accept Changes(Create ECO)按钮? 在弹出对话框中点击Execute Changes 按钮 再点击Close按钮 回到先前对话框,再点击Close按钮,关闭对话框。 即完成对原理图所有元件编号。 如何编译原理图? 分别点击菜单Project, Compile PCB Project xxxx.PrjPcb 如果没有错误就不会弹出错误提示。 如何查看编译信息? ?点击右下角Panel按钮,在弹出菜单中点击Message即可查看编译信息。 4.1 ?MCU最小系统设计 ?原理图如下: 原理图中放了两个单片机,并不是需要两个,因为STC5W4K60S4_LQFP64有两中封装,LQFP64L与LQFP64S,Pin位完全相同,只是封装尺寸大小不同。 现在缺芯片,设计时有货,采购时却不好买了。设计PCB时将大封装套在小封装的外面,两种封装都可用。也就是为了下面这种效果。 供电电路设计 STC 单片机的用户手册中建议给电源Pin加两个旁路电容。如下: 其中,47uF电容推荐使用钽电容。0.01uF推荐使用独石电容。两个都使用瓷片电容实际上也能正常工作。由于该单片机是宽电压单片机,工作电压为2.5V~5.5V。我们就用5V供电。47uF钽电容,选用47uF/6.3V,A型封装。0.01uF电容,选用瓷片电容0805封装。我们的设计结如下: 二极管的作用是防止电源插反时,损坏单片机。0R磁珠的作用是滤去电源高频杂波。由于这块板上有信号调理电路,因此数字地与模拟地通过单点接地做简单分隔,以减少数字信号对模拟电路的干扰。 单片机I/O引出电路 ?用两条2X16 排针将所有Pin引出, 如下: ?4.2 DC-DC降压稳压电源电路 ?原理图如下: 使用24V开关电源供电。 DC-DC开关降压芯片使用MP1584EN。选用MP1584EN的原因是:MP1584EN需要的外围电容较小,有利于减小空间尺寸。下面是MP1584EN Datasheet提供的5V输出的参考原理图:? 我们的电路图中R5,R6这两个分压电阻,因为我们不需要控制MP1584EN,它一直工作就行。依据是它的Data sheet: 再看一下输出电压的计算公式:? 其中VFB = 0.8V。 STC单片机的工作电压为2.5~5.5V,如果我们将输出电压设定为5.3V则在要求不高的时候,就通过它直接供电,不需要后面的LDO部分。R2定为40.2KΩ,算的R1为:226.125KΩ,选226KΩ。DC24V电源通过2X3排针输入,排针后面串接一个24V/3A自恢复保险丝。保险丝后串接一个整流二极管4A/40V,作用是防止电源极性接反。电源线接了电源指示LED与24V瞬态抑制二极管。瞬态抑制二极管与保险丝(有内阻,可看作是一个小电阻)一起可以抑制电源噪声。电阻R7,R8,R9作用是分压,1/(10+4.7+1)*24=1.53V. 这个电压送到单片机P5.5,用做比较器输入,做停电检测。如果在CPU单元的J2上接个大容量电容,就可在检测到停电时,提前将重要数据写入单片flash,防止重要数据丢失。 ?4.3 ?5V基准电压电路 5V基准电压芯片选用AD586,完成后的电路如下: ? 10K电位器用于Vr_5V值调整,S8550三级管用于扩流,因ADS86的最大输出电流为10mA。 4.4? 5V LDO 及可调恒流源电路 由于已有5V基准电压,这里采用运放跟随器+NMOS实现5V LDO,这里运放选用的是LM358,LM358内部有两个运算放大器,可以做两个跟随器。一个用于5V LDO,一个用于可调恒流源。原理图如下: 5V LDO 由5.3V供电,5V基准电压由AD586 提供。恒流源由3.3V供电,基准电压源P46 PWM输出及DAC输出,两个中选一个。恒流源用于电阻测量采样。 4.5 12V 电源电路 ??LM358采用12V供电,12V由电阻分压+三极管扩流电路得到。11/21*24-0.6=11.97V。 4.6 3.3V稳压电路 3.3V 由ASM117-3.3线性稳压得到,原理图如下: 4.7 负电源电路 ?采用ICL7760电压转换芯片获得-5V电压。由于ICL7760的输出电流仅10mA,采用2片并联以扩大输出电流,原理图如下: 4.8 驱动电路 ? ? ? LCD 供电接口电路 ?原理图如下: ?电位器用于调整LCD对比度,上拉/下拉可选是用于LCD12864,选择通信模式,上拉为并口,下拉为串口。? ? ? ? ?蜂鸣器驱动电路 ?原理图如下: 低电平驱动,J5 用来接蜂鸣器。??? ?4.9 ?信号调理电路 原理图如下: 信号放大采用OP07运放,运放供电电源为+5V/-5V双电源。电位器用于调零。信号通过CD4052模拟开关输入。输入信号源可以多通道切换。运放的放大输出可以接单片机P10,用单片机做A/D转换,也接CS1237做A/D转换。 4.10.? A/D转换电路? A/D转换采用CS1237,CS1237是24bit AD转换器,但转换速度较低。对要求速度高,而精度不高的场合用单片机的A/D转换,接P10端口。CS1237采用5Vc参考电压。电路原理图如下: 4.11. D/A转换电路 D/A转换芯片采用AD5441,AD5441是16bit D/A 芯片。 AD5441采用5V基准电压。输出端加了一个运放(OP07)做的跟随器,以扩大输出能力。原理图如下: 4.12? 存储扩展 由于单片内部存储空间有限,用一片SPI FLASH芯片做存储扩展。单片机I/O电压为5V,FLASH芯片/O电压为3.3V.采用开关二极管加上拉电路实现电压转换。原理图如下: 第六步 完成 PCB设计 PCB设计的主要工作就是排样,拉线。 ? ? ?6.1 导入设计 ?分别点击菜单Design,Import Changes From xxxx.PrjPCB 如下: 弹出如下对话框 ? 点击Yes按钮,在弹出对话框中点击Execute Changes按钮。 点击Close按钮,关闭对话框。可以看到原理图中的设计已完全导入PCB中。 其中棕色的矩形为Room,可将其删除。 ? ?6.2? PCB排样 排样就是将导入的电子元件按一定的规则排列起来。排样的规则讲起来比较复杂,有时间可以去查阅专业的书籍。一般情况下做到一下几点就可以了。1). 元件尽量按模块分开摆放, 如电源模块、数字电路模块、模拟电路模块区域分开。 这样即可便于调试, 也可减少干扰,提高系统稳定性。2). 外接插头/插座,以及可调元件尽量排在板的边缘。这样既方便操作,也可减少在带电插拔及调试时的意外发生。3). 发热量大的元件尽量放在通风良好的位置,且远离对热敏感的元件. 4). 元件间距要适当,一方面要保证电气性能,另一方面也要考虑到元件安装工艺及日后维修. 5). 元件需排列整齐美观。 ? ? ?6.2. 1 PCB板层设置 ?AD 板层堆叠默认是双面板,分别点击菜单Design, Layer Stack Manager 弹出如下板层堆叠对话框? 在对话框中,可以改变设置,与添加新的层。这里除修改Dielectric 1厚度为1.50856,使PCB厚度为1.6mm外,别的不做修改。结果如下: ? ? ? ?6.2.2 ?PCB规则设置 我们可以看到单片机的Pin脚颜色变成了绿色(如下图),这是锡脚的间距与设计规则中的Clearance冲突所致。 面我们先来修改设计规则。分别点击菜单Design,Rules 弹出如下对话框 双击Electrical将其展开 展开后如下: 双击Clearance将其展开 点击子Clearance 在右下方的表中,就可修改Clearance值。我们将其修改如下图,点击Apply后可以看到单片机Pin脚颜色恢复正常,说明再没冲突。 继续设置其他规则。用同样的方法,我们来修改Routing下的Rules,先修改Width,修改前如下: 将其修改如下: 修改RoutingVias,修改前如下: 将其修改为: 修改Manufacturing下的HoleSize,将Maximum修改为5.08? 6.2.3 排样??选中元件, 按住鼠标左键拖动,即可移动元件,再次点击鼠标左键即可定位元件。由于元件较多,飞线也很多。如果是新手,可能会在排样时,感觉无从下手。简单的办法是对照原理图,先按单元排样,然后再调整单元间的位置关系。要对照原理图排样可按以下方法,将原理图与PCB图并列排列。先关闭不需要的窗口,仅保留原理图与PCB窗口。分别点击菜单Window,Tile Vertical 可以看到两个窗口已成并列排布,如下: 点击Tool菜单,使Cross Select Mode 为选中状态,如下: 这样我们在原理图中选中元件,PCB中相应也选中了该元件,便于排样。如果在拖动元件时按键盘L键,即可切换放置层,按空格键可以旋转元件。已放置好的元件,可通过Properties修改放置层。 3. PCB 布线(PCB Route) 导入元件存在很多飞线,看起来很乱,可以关闭飞线,显示与选定元件相连的飞线。设置界面如下: ?AD 提供了自动布线工具,如下: ?AD 还提供了取消布线工具,如下: ?D的自动布线工具不是很好用,不建议采用全部自动布线。点击工具中的交互布线,即可开始手动布线。 交互布线有以下几种选择: 拉线过程中,按键盘Tab键,即可弹出属性表,修改线宽。按键盘*键即可出现过孔切换到另外一层走线。 ? 补泪滴. 补泪滴使用下面工具: ? 补泪滴前,如下: 补泪滴后: ? 可以看出走线的拐角处,加上了圆角。 ??? 覆铜。 放置覆铜有利于散热,放置合理的覆铜可以增强PCB的抗干扰能力,放置覆铜时不要忘了设置其网络标签。 设计规则检测(Design Rule Check) 最后还需做设计规则检查。 如果不做设计规则检查,可能PCB还会存在一些问题,甚至还存一些线没有连通的情况。 ? ?检查结果: 标注外形尺寸及技术要求 尺寸标注与技术要求建议放在机械层如Mechanical 1 完成后的效果: 3D效果:? ? 注意示例中的PCB是没有考虑批量生产的。要批量生产,PCB还得加工艺边框,如果考虑到制程与成本因素,还得依据设备状况进行合理拼板,在适当位置设置光学定位基准点等。如果用没有批量的治具,手工焊接,这样也就可以了。 转档 PCB报价一般转成PDF就可以了,基本都是按面积报价。如果要打样或制作PCB,需要转成Gerber档,如果不怕技术泄密,可直接将PCB文档丢给供应商。????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:25:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |