Candence PCB综合项目 滑翔机控制器设计

Posted 山治君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Candence PCB综合项目 滑翔机控制器设计相关的知识,希望对你有一定的参考价值。

1.滑翔机控制器PCB设计概要

整个项目开始,既然我们要设计滑翔机的控制器,那么就要对整个滑翔机所有的器件进行列举。首先肯定是主控芯片,因为这是师兄留下来的项目,所以就按照他原本的选型,主控芯片选用STM32F429IGT6,然后查看所需要的传感器和电机,根据传感器以及电机确定接口类型、通信的方式,结合主控芯片的电压范围设定电源电路。此PCB主要分为5个部分(page):电源、主控系统、通信、传感器、电机。

1.1 POWER(电源)

经过整合,已知需要用到的电源电压分别是:

步进电机的供电电压12V
舵机的供电电压5-7.4V
普通信号电压高于4.7V(这里选择5V)
芯片电压3.3V

所以选择12V电池输入,先进行一个滤波稳压整流;然后使用PW2205芯片降压到7.2V,此芯片能过最大的电流是5A,满足滑翔机舵机负载情况下的电流条件;接着就是1117系列的转压芯片将7.2V转成5V,5V再转成3.3V,这两种电压(5V和3.3V)是信号电压,因此1A的电流已经足够;最后再加3个LED用来测试电源的电压是否能正常工作。

1.2 STM32(主控系统)

主控STM32F429IGT6,178引脚,首先是它的最小系统,包括晶振、复位、下载,以及它的一些延申模块,如USB串口,存储flash、按键等等。

1.3 COMMUNICATE(通信)

滑翔机采用的传感器所使用的通信方式有3种:

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一个一个放,若是有错误则需要修改错误后再放置。

注意:修改错误后,若有dsn文件修改,则需要重新生成网表文件再导入;若PCB封装修改后,要重新生成pad、psm文件。

最后成功放出元件如下所示:

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 打过孔(绕线的时候)

打过孔是什么意思呢?就是表层有线挡住我的走线方向了,要么绕道走,要么就打过孔从底层走一段再回到表层。在连线的时候双击既能打过孔,当然两层半还是尽量能走表层就走表层。

下图白色是底层的线,紫色是表层的线。
紫色的三条线挡路了,因此选择过孔连接。

6.4 地和电源的处理

在我们一步一步的连上信号线后,只剩下电源和地了,像我这里的电源就不少——12V、7.2V、5V、3.3V,一般都用铜皮的方式来对电源进行布线,注意电源的滤波电容要相对靠近一点电源引脚,不然起不了滤波的作用。

地的话在底层铺满一层动态铜,通过多个过孔与表层的地相连,还有一个就是对重要信号进行包地处理。

说起来简单,实际动手操作起来就会遇到各种难题,而且一块板子上的电源和地加起来快300个引脚,时间也要花费很多。

6.5 最终DRC检查

整块板子布线完毕以后,我们还需要进行细节上的优化,推挤走线和铺铜的修边等等,最后打开status查看是否存在没有连接的引脚,若是全绿表明没有问题。

下图表明还有5个类型的引脚共284个没有完成连接,已经耗时59h,PCB控制器的工时,恐怖如斯。

以上是关于Candence PCB综合项目 滑翔机控制器设计的主要内容,如果未能解决你的问题,请参考以下文章

Candence Allegro PCB如何快速查找元器件

PADS与candence比较那个更强大?

candence软件找不到orcommon破解后还能用吗?

Candence学习篇使用allegro绘制元器件的PCB封装

Candence学习篇(10)allegro中新建pcb版和绘制板框及元器件放置

Candence学习篇allegro pcb editor 17.2如何打开旧版本.brd和.dra文件等