目录
- 1.滑翔机控制器PCB设计概要
-
- 1.1 POWER(电源)
- 1.2 STM32(主控系统)
- 1.3 COMMUNICATE(通信)
- 1.4 SENSOR(传感器)
- 1.5 MOTOR(电机)
- 2.DSN(原理图)
-
- 2.1 绘制dsn原理图
- 2.2 填写包装属性
- 2.3 DRC检查
- 2.4 导出网表文件
- 3.网表导入
-
- 3.1 新建brd文件
- 3.2 参数设置
- 3.3 绘制板框
- 3.4 用dra文件生成pad、psm文件
- 3.5 指定封装库路径
- 3.6 导入网表
- 3.7 放置后台部件
- 4.布局分析
-
- 4.1 交互式操作(非常实用)
- 4.2 高亮和电源并起飞
- 4.3 禁布区
- 4.4 模块化布局
- 5.PCB布线规则设置
-
- 5.1 走线规则
- 5.2 间距规则
- 5.3 class添加
- 5.4 过孔的选择
- 6.布线
-
- 6.1 高亮悬空引脚
- 6.2 布线禁区:板边20mil以内
- 6.3 信号线布置及过孔
- 6.4 电源的处理
- 6.5 地的处理
- 6.6 最终DRC检查
- 7.PCB后处理
-
- 7.1 丝印处理
- 7.2 添加光绘文件
- 7.3 光绘输出
- 7.4 钻孔文件
- 7.5 贴片坐标文件
- 7.6 装配图纸
- 7.7 原理图导出boom清单
- 7.8 文件归档
1.滑翔机控制器PCB设计概要
在整个项目开始时,既然我们想设计滑翔机的控制器,我们就应该列出整个滑翔机的所有设备。首先,它必须是主控芯片,因为这是哥哥留下的项目,所以根据他最初的选择,,然后检查所需的传感器和电机,根据传感器和电机确定接口类型和通信方式,并根据主控芯片的电压范围设置电源电路。PCB主要分为五个部分(page):电源、主控系统、通信、传感器、电机。
1.1 POWER(电源)
已知所需的电源电压分别为:
步进电机供电电压12V 舵机供电电压5-7.4V 普通信号电压高于4.7V(这里选择5V) 芯片电压3.3V
所以选择12V电池输入,先进行滤波稳压整流;然后使用PW2205芯片降压到7.2V,该芯片最大的电流是5A,满足滑翔机舵机负载下的电流条件;然后是117系列转压芯片7.2V转成5V,5V再转成3.3V,这两种电压(5V和3.3V)是信号电压,因此1A电流已经足够了;最后加3个LED测试电源电压是否能正常工作。
1.2 STM32(主控系统)
主控STM32F429IGT6.178引脚,首先是它的最小系统,包括晶体振动、复位、下载和一些延伸模块,如USB串口,存储flash、按键等等。
1.3 COMMUNICATE(通信)
滑翔机使用的传感器有三种通信方式:
IIC通信:MPU 串口通信:GPS 无线通信:无线串口
1.4 SENSOR(传感器)
滑翔机使用的传感器主要有:
GPS----定位导航 MPU----姿态管理 流量计-流量反馈,因为流量计的信号来自STM32芯片发出,为3.3V,不符合传感器要求的高于4.7V,因此,有必要对流量计的信号电压进行升压。此处流量计还采用继电器控制,继电器信号升压MOTOR在图纸中实现。 编码器-步进电机闭环控制,和上面一样,编码器的信号电压也要升压。
1.5 MOTOR(电机)
这里主要使用两种电机,一种是大扭矩数字舵机,另一种是步进电机。舵机的信号从芯片引脚发出,需要升压到5V,同理,步进电机的信号也是如此。步进电机还需要一块驱动芯片来驱动,这里选择的是L298P。
2.DSN(原理图)
确定电路后使用orcad绘制所有电路,填写相应的设备包装DRC检查后输出网表。DSN绘制可以看原理图。
2.1 绘制dsn原理图
一个模块一个模块画,先建立组件库,画完所有类型的单个组件后,再调用并连接。
2.2 填写封装属性
绘制电路图后,我们还需要填写每个组件的包装属性。当然,我们最好先找到每个组件的包装(这里的工作量仍然很大,因为控制板上至少有几十种包装),!!!电容器是0603,则需要找到0603的包装,这是极性SMD找到类型SMD类型包装,否则我们焊板的时候会哭。!! 下载元器件包装有两种方法——懒人PCB包装下载方法
选择dsn右键—edit object…
2.3 DRC检查
封装填写完后,进行DRC检查,不出意外都会有警告的,遇到最多的就是off-page的使用。off-page是跨页连接,没有跨页(同一页内使用)会报警告;没有连接会报警告;主要就是这两个警告,同业的使用Net Alias就行了。直到修改到无误后结束。
2.4 导出网表文件
生成网表,不出意外也会出现错误,点击下图文件可以查看错误。修改无误后成功生成了网表文件。
3.网表导入
3.1 新建brd文件
首先file—new新建一个我们要制作的board文件,完成命名及路径存放。
3.2 参数设置
进行set up—design parameter 的参数设置,这里布局布线的单位选择mils,精度2,画板尽量弄大一点,原点坐标也设置好。
3.3 绘制板框
可以用画线命令或者铜皮命令来绘制板框,记住要在Board geometry 的outline下画板框。
3.4 用dra文件生成pad、psm文件
因为完整的封装文件是包括dra、pad、psm文件的,所以我们可以利用dra文件再PCB editor 中自动生成pad以及psm文件。
首先我们要搞到封装的dra文件,至于怎么找到可以自己下载或者自己画。下载方法在上面2.2的连接。 拿到dra文件,打开,file—export—library 导出并保存即可生成对应的pad和psm文件,记住一定要保存!!否则psm文件不会生成。
3.5 指定封装库路径
刚才已经做好封装的所有文件了,现在就要对封装库路径进行设置,让软件知道在哪里调用我的这些封装。
set up—user preference—path—Library,将padpath和psmpath的路径修改为刚才导出pad、psm的路径。
3.6 导入网表
file—import—logic,选择CIS类型,always,无视锁定特征,点击导入即可。 第一次导网表几乎都是有错的,错误可以在同一个路径下的netrev中查看,导网表出现最多的问题就是原理图与封装不匹配,比如原理图有2个引脚而PCB封装文件却有3个。修改成功后netrev如下图所示。
3.7 放置后台元器件
当网表导入成功后,所有的元器件就已经进入后台等待调用了。
place----quickplace,选好放置的位置,点击place即可,有错的封装是不能放出来的。 放完之后可以查看display—status,查看是否全部放置,若没有则place—manually一个一个放,若是有错误则需要修改错误后再放置。
最后成功放出元件如下所示:
4.布局分析
像我这种元器件比较少,又没有高速信号的或者很多对差分信号的板子,其实叠层的时候选择两层就行了,一般咋们工科生做测试用的板子两层也ok的了,所以这里直接进行布局分析。
什么是布局分析呢?就是将元器件按照比较好的连线方式来摆放,做到以下:
①有定位孔,离板边5mm ②接插口放在板边,方便插拔 ③线越短越好 ④信号线走一起 ⑤模块化布局
这是布局后的图,相比上面的胡乱飞来飞去的线是不是好了很多。
4.1 交互式操作(非常实用)
交互式操作是实现orcad和pcb editor的交互,在pcb editor 这边选择命令后,在orcad的原理图中框选想要框选的元器件,pcb editor就会自动高亮。
交互式操作需要打开它的使能开关,enable intertool communication。
这里需要注意,当使用交互式操作造成下一次打不开dsn文件时(原理图丢失),可以找到同目录下的DBK文件,强行改名并改后缀为dsn,双击打开就能找回原理图。
4.2 高亮地和电源并收起飞线
一般电源和地线都是最后绘制的,所以我们可以先高亮再把它的飞线收起来。高亮操作我就不多说了,而收起飞线有两种方式,一种是全部关掉飞线,一个是单个收起(有个框框里面打个×)。
全部关闭,点击一下就行。
单个收起则需要赋予地和电源电压值。edit—properties—选net(或者shift+F2),在选择需要收起的地或者电源,如下图赋予电压即可收起。
4.3 禁布区
在PACKAGE KEEPIN— ALL中使用z-copy命令生成禁布区,一般为板边内缩3mm,也就是120mil左右。图中紫色即为禁布区。
4.4 模块化布局
禁布区画完之后,就可以进行模块化布局了。一般电源模块放到最后。这里经常用到的两个操作是交互式操作(前面讲了)以及单个元器件的飞线显示——display—show rats—net,然后选择引脚即可。
这里一般先把主控放上去,然后一步步的放对应模块的器件,飞线怎么顺就怎么摆,尽量做到不要有太多的交叉线。能走表成就走表成。
5.PCB布线规则设置
在布线之前,需要设置PCB布线的规则,只有设置完规则后,DRC才会按要求检查出错误,这样也更方便我们布线,不会导致布线完成后有很多的DRC错误。
点击CM的图标,弹出规则管理器。
5.1 走线规则
首先设置physical的走线规则,line width 一般设置为6mil,neck是区域的走线规则,默认就好,在滑翔机控制器的电路中只有一对差分信号,在usb模块中,所以设置了单独的usb规则,在差分信号中填写线距6mil。过孔选择我们封装库中的12孔径24盘径的过孔。 设置完成之后需要在net中进行驱动,差分信号需要实现设置差分对,具体的设置方法如下:
5.2 间距规则
在spacing中的all layers 设置6mil 线到shape的间距设为10mli 线到孔的间距设为20mil
5.3 class添加
CLASS的添加主要分为电源、差分以及总线BUS,现在的pcb editor 也叫net group
选中需要添加class的对象,右键创建net group ,命名即可。
5.4 过孔的选择
下面是一些过孔的规格,最常用的是0.3mm孔径的过孔,基本在任何厂家都能进行加工,也比较便宜。
当然我这里没有用到bga的封装,所以0.3的过孔完完全全够用了,有bga的封装可能还需要用到更小的过孔来进行扇孔。
这里的用pad designer 做好一个过孔以后呢,在规则管理器里面进行调用即可。 12 / 24的过孔规格如下:
6.布线
规则管理器的规则设置完以后,就可以安心布线了,布线也有先后。因为我这个板子就是一个两层的板,所以底层就做地平面,那么表层就要尽量走线,是在绕不过去了再打过孔连接。
布线先后: 先重要信号,比方说差分、总线;再次要信号;信号线布完后开始布电源线,在布线的时候尽量做到电源统一一个方向,细节能节省后期很多时间,我一开始就是没按这个方向,后面布线超级乱;接着到地线,地线除了连通意外,还要对一些重要信号(电源、差分)进行包地处理。
6.1 高亮悬空引脚
布线前,将悬空的引脚高亮,颜色看自己习惯就好。 点击高亮,在fine by name 处选择net—输入dummy回车。
6.2 布线禁布区:板边20mil以内
利用z-copy进行内缩20mil做net的禁布区,z-copy命令已经使用了很多遍了,这里不再做过多描述。(PACKAGE KEEPIN— ALL)
6.3 信号线布置及过孔
打过孔是什么意思呢?就是表层有线挡住我的走线方向了,要么绕道走,要么就打过孔从底层走一段再回到表层。在连线的时候双击既能打过孔。
当然两层半还是尽量能走表层就走表层。
下图白色是底层的线,紫色是表层的线。 紫色的三条线挡路了,因此选择过孔连接。 布线的时候需要注意先把最多芯片的引脚全部扇出,保证最佳的布线位置,然后逐次到其他芯片。经过too many hours 后呢,我也是终于把信号线布完了,对于第一次布这么复杂的参差不齐的线的我,已经尽力了!…
接下来就是电源的布线了。
6.4 电源的处理
在我们一步一步的连上信号线后,只剩下电源和地了,像我这里的电源就不少——12V、7.2V、5V、3.3V,一般都用铜皮的方式来对电源进行布线,注意电源的滤波电容要相对靠近一点电源引脚,不然起不了滤波的作用。
说起来简单,实际动手操作起来就会遇到各种难题,而且一块板子上的电源和地加起来快300个引脚,时间也要花费很多。
大概花了3h,把4个不同的电源布好了:
3.3---------浅绿 5------------浅蓝 7.2----------橘黄 12-----------粉粉
6.5 地的处理
地的话在底层铺满一层动态铜,通过多个过孔与表层的地相连,还有一个就是对重要信号进行包地处理。
①因为是两层板,所以以底层作为地平面 ②表层空旷地方做地孔处理 ③先把地的连接全部连上,在底层铺铜,慢慢修理边界 ④在表层处理包地信号,如电源和信号线的隔地处理,差分的包地处理 ⑤表层铺地铜 ⑥打上地孔
铺地后还可以通过选择地铜皮,右键-----parameter,进行额外的间距设置,来去除一些较小的铜皮。
下面的图设置的是4-25的范围,可以设置的大一点来去除一些较小的铜皮。
当然也能加一些额外的间距,我这里是对过孔额外增加了2mil的间距。
6.6 最终DRC检查
整块板子布线完毕以后,我们还需要进行细节上的优化,推挤走线和铺铜的修边等等,打开status查看是否存在没有连接的引脚,若是全绿表明没有问题。已经耗时63h10min,PCB控制器的工时,恐怖如斯。
7.PCB后处理
7.1 丝印处理
①首先打开颜色管理器----全部关掉显示-----打开board中的outline ②打开丝印(package----silkscreen) ③打开阻焊,这里的阻焊有board、package、stack up 中的soldermask_top ④过孔有开窗的就把开窗改成过油即可 ⑤打开位号component—ref des ---- silkscreen top ⑥设置字体—set up—design parameter----text—点击设置其中的2号字图下图数据
⑦在丝印层change—text的字号,使用刚才设置的2号字体 ⑧按顺序一个一个来调整位号 到此丝印处理结束。
7.2 光绘文件添加
因为我打算手工焊板,所以就不需要添加Mark点了。直接来添加光绘文件。 光绘的具体操作可见光绘操作 要添加什么文件呢?我们大致可以对其分类为以下几层:
首先是线路层,包括outline、etch、pin、via,也就是板框、电气线、焊盘、过孔。 其次是丝印层,包括outline、ref des、package、board。
再者是阻焊层,包括outline、pin、via、package、board。
接着是钢网层,包括outline、pin、package。 最后是钻孔层,先提取NC钻孔表格、再添加文件,包括机械层中的: NCDRILL LEGEND NCDRILL FIGURE NCLEGEND-1-2
7.3 光绘输出
无定义的线宽设为6mil,按部就班创建光绘即可。
7.4 钻孔文件
NC----NC Drill----NC parameters 设置
7.5 贴片坐标文件
file----export----placement
7.6 装配图纸
添加装配层ADT,输出export成pdf
7.7 原理图导出boom清单
具体见原理图绘制中的第10点。
7.8 文件归档
输出后的零件都是零散的,所以需要做一下文件的归档。
创立以下文件夹:
ASM(装配):存放装配图 CAM(制板):存放有关制板的文件 SMT(贴片):存放有关贴片的文件 到此整个设计结束。