3D空间PCB堆叠设计适用于线路板安装空间狭小场合使用,PCB空间排布大大提高空间利用率更加高效。

前言

19年的5月下旬有人找我做一个项目,他们要3块比手掌张开还大的电路板(如下图)优化到可以放入水杯类似的圆柱体中,高度越底越好。这种

主体与手机对比

正好当时有些许空闲时间,距离上次画PCB已经过去也过了半年多了,心里有点痒痒,甲方那边一直催促问能不能做,我说让我思考一下,给我一些图片和相关资料包括功能人机交互方法,最好能有操作演示视频之类的。

很快我就收到了相关的视频和文件。

去图书馆路上一直思考这个项目能不能接,一上午的时间一直在查看给我的视频文件和文档,将自己慢慢带入这个项目,假设自己是用户,有类似的需求时自己对于产品的定位是什么样的?想自己想要的外观、功能、收到产品后怎么操作。我自己也不知道自己何时演化出的这套思考方式。。。可能之前看过人机工程学人因工程相关的书籍吧。

说是线路优化,但是PCB布局和结构关系到整个产品设计过程。至于结构当时甲方说还不用考虑,先把PCB设计出来再说。这里插一下,到了后期PCB设计完的时候自己对结构有些想法况且甲方结构设计还未出方案,于是在听我说完我想法之后又交给我做了,不过这都是后话了。快到中午的时候心里大致有了一个想法,整体布局和操作方式关系到整个设计过程,加工、装配等。因为是研发阶段暂时还不用考虑批量和运输维护因素。这时心中对于这个项目的把握已经有70-80%了,于是我联系甲方把情况大致说了一下,但是具体的细节是不能说的,接下来就是谈谈价格问题,其实当时对于要价也是没有谱的,本身自己一直做得都是研究性质的工作不计成本不谈金钱。这次我预计应该2周可以做完的就先按时间成本开了价钱,几番交涉之后双方都确定了一个比较满意的结果,于是仅靠微信联系、素未见面的甲方和乙方就达成协议:约定具体给出详细方案时支付50%;等设计完成结清全部款项;所有购买费用开发票由甲方支付。考虑到校友关系就没签合同。

交流完之后对方将实物顺丰了过来,涉及秘密的文件也发给了我。这算是统一了战线。

阅读文件和收到实物基本知道了产品具体的功用,也明白了具体的任务。明确并细化任务之后就容易实现了。

一共大大小小12个模块,分别是:收音机模块(TEA5767),功放模块、MP3模块(DFPlayer)、语音识别、温湿度模块(DHT11)、6轴运动传感器(MPU6050)、GPS模块(UBLOX-6M)、GSM模块(GA6 GPRS)、麦克风模块(DHT11)、语音合成模块(YX65862-XFS5152CE)、mos开关、串口触摸屏。

  

  

 等。

经过各种方案仔细推敲之后,分析了安装和成本因素后确定采用堆叠设计,由各种模块大小搭配分部在每一层,尽量增大各层利用率以减小高度。

那段时间全部几乎全部精力都在那个项目上,也是第一次接这种项目,生怕延误工期或者最后没有做出来导致双方都失望。自己这方面也是有阴影,因为之前一次承接的小项目没做出来,在那之后心理上一直害怕自己做不好,所以这个项目除了要做好以外,最重要的是要破除之前的心里阴影。

一、确定大致方案

整个电路板设计分为原理图设计和PCB设计,原理图已经有了。就差PCB了。

PCB大致的设计想法就是在纸上大致画出水杯一样的圆用以代表将来大致的主PCB层,然后将各个模块在纸上的圆内摆放,以不越界同时又不太拥挤的方式确定每层模块。其他的问题包括线路连接或者结构连接方式先放着以后解决,毕竟目前来看总体布局才是主要矛盾。马克思主义哲学基本原理及方法论:主要矛盾和次要矛盾。

二、方案细化

1、解决结构问题

确定大致方案之后就是将方案进一步细化,我采用的是solidworks数字精细化建模各种元件按照每层的布局装配。一共6层。这里说一下由于项目时间紧,各个部分直接买了的现成模块,模块整体焊接在主PCB上。

 

  

各层布置图

Solidworks结构图

2、解决引脚问题

各层布局是排好了,但是电路还得连接如何把各个模块的引脚连接起来?

我原本想在solidworks装配体内将每层的主PCB做透明设置照着图片截屏打印出来在每层PCB上以“填字格”的方式将各个引脚填上并排序,当自己打印完各层图片之后感觉太小了。

这个方案的问题是:

  1. 无法方便连接各模块的引脚;
  2. 上下层之间也得连接,万一有一层引脚排布出错整体都要推到重来;

目前的设计需求是:

  1. 每层要排布一条类似排针一样的元件;
  2. 每层添加另外一条类似排母的元件规格与排针一类,用于连接下层排针;
  3. 这类连接元件在高度是要尽量矮,但是不要低于每层模块的排布高度,不然在连接之后会无法做到完美插入,导致接触不良。

哲学唯物辩证法认为,矛盾是事物发展的根本动力。

找到矛盾点就离解决问题不远了。

问题的本质是什么?将问题提炼、抽象、归类问题应该很快就解决了。

既然每层引脚都是固定的可以将每层引脚作为一个标签,然后在每层对标签排队,上下层之间连接引脚下层便签顺序对应上层。

问题变为:如何将“标签”方便的排列,并且连接上下的便签顺序不易出错?

原本想直接将每层连接的引脚输入Excel然后打印出出来用剪刀剪成小“标签”,然后排序。

像这样:

这时我问了自己一个问题:为何还要打印出来?为何不在Excel内直接排序?

然后我就尝试将每层透视截图是图片导入Excel将图片按层顺序排列。如图

3、PCB布局进一步细化

引脚排布顺序确定之后还需要在PCB上将引脚位置在solidworks内标定好做出如下的层图。

4、确定PCB形状

solidworks内个引脚对其导出2D工程图图纸将图纸导入AutoCAD内按类别分层并排版(注意加工方式V割还是邮票孔)

总版图

细节图

导出DWG/DXF格式图纸将图纸导入AltiumDesigner做PCB的外形轮廓图

这是在AutoCAD内分类的层就可以按预先的设定归类到相应的层(Top overlayer,Toplayer等)

AutoCAD内分出层

5、电气原理图绘制

AD内画原理图是参照Excel内的引脚顺序布线,并再次检查。

部分原理图(红框注释)

6、AD内原理图更新到PCB进行布线。

7、检查并发送加工。

8、焊接组装。

9、对比。

写在后面

整个设计过程做到了90%无纸化设计,原计划14天做完实际设计到组装测试完仅11天,PCB设计圆满结束而且也走出了自己的心理阴影。

再说下个人承接项目的注意点,首先是项目是否可靠,其次是对方是否有足够的信用;最后是自己对于项目是否有足够的把握。

3D空间堆叠PCB设计 ——PCB线路优化项目总结相关推荐

  1. PCB设计;PCB制造;PCB抄板

    深圳市国爱电子有限公司0755-82385758(www.szguoai.com) 专业PCB设计.拥有专业的设计队伍,能克服目前PCB设计布线中的一些缺陷,对高速数据线进行模拟仿真,保证设计质量.可 ...

  2. PCB设计——PCB设计中是否应该去除死铜?

    [系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <从0到1学习嵌入式Linux开发> PCB死铜 ...

  3. PCB设计完检查的项目

    下述检查表包括有关设计周期的各个方面,对于特殊的应用还应增加另外一些项目. 通用PCB设计图检查项目 1)电路分析了没有?为了平滑信号电路划分成基本单元没有? 2)电路允许采用短的或隔离开的关键引线吗 ...

  4. PCB设计--PCB画图技巧

    1.原理图库可以随便画,只要相应的相应的管脚有就可以 2.原理图库的管脚标数和pcb图库的管脚是一一对应的 3.画pcb图库的时候,元件的长宽要适当,可以设置格子的大小来便于设置画出pcb图库的大小. ...

  5. PCB设计规则总结和原因分析

    前言 设计高速系统并不仅仅需要高速元件,更需要天才和仔细的设计方案.设备模拟方面的重要性与数字方面是一样的.在高速系统中,噪声问题是一个最基本的考虑.高频会产生辐射进而产生干扰.边缘极值的速度可以产生 ...

  6. PCB工程分享:快速了解PCB设计入门基础知识

    PCB板工程师在长期工作实践中,积累了大量的经验.那么今天就来说说PCB设计入门有哪些基础的知识是需要了解的. 1.接线方向:元件的布置方向尽可能与原理图保持一致.布线方向优选地与电路图的布线方向一致 ...

  7. PCB设计中的焊盘设计标准

    在进行 PCB设计中设计PCB焊盘时,就需要严格按照相关要求标准去设计.因为在SMT贴片加工中,PCB焊盘的设计十分重要,焊盘设计的会直接影响着元器件的焊接性.稳定性和热能传递,关系着贴片加工质量,那 ...

  8. ad软件pcb中怎么绘制双面板_你的PCB设计在使用什么软件?

    有句老话叫"工欲善其事,必先利其器",一款适合自己使用习惯 刚入门的小白选择哪款软件入手学习最合适呢?对 1.Altium Designer(AD) 很大部分的PCB工程师接触的第 ...

  9. allegro 3D模型怎么找? PCB的DFA如何设计?如何加载PCB的3D模型?如何避免器件之间的干涉?PCB的3D设计 DFA设计的概念

    一些群友问杨老师,allegro的3D模型模型怎么找? PCB的DFA如何设计?如何加载PCB的3D模型?如何避免器件之间的干涉?这里杨老师对PCB中DFA设计常见的几种方法进行分析下 这些问题来自群 ...

最新文章

  1. 如何修复GIT错误:目标文件为空?
  2. 前端路由简介以及vue-router实现原理
  3. 台湾国立大学郭彦甫Matlab教程笔记(14)polynomial differentiation多项式微分
  4. 【ABAP】文本表查找
  5. Nginx 之防盗链配置
  6. jquery ajax的例子
  7. CSU 1120 病毒
  8. Redis bgsave 线上分析
  9. MySQL中锁的必要性_MySQL中的锁之一:锁的必要性及分类
  10. 初探Java8中的HashMap(转)
  11. 190312每日一句
  12. 海思35系列型号排行_11月手机性能排行榜:小米10至尊纪念版排名第三
  13. 如何通过项目周报获取项目信息-周报模板
  14. uos系统安装教程_统一操作系统UOS下载&安装图文教程:尝鲜记(一)
  15. 图灵奖抬不起Algorand |链捕手
  16. 惠普m180n故障码04_惠普m180n打印机驱动(解决m180n打印机连接问题)V1.0 免费版
  17. 图纸识别自动生成BOM清单的方法
  18. linux之连接服务器
  19. C语言宠物领养系统,开发一个去中心化应用Dapp-宠物领养
  20. 有一蓄水池,吞蓄水池无水时,打开进水管需要 X小时可以灌满,

热门文章

  1. 图像处理大型科普——图像直方图
  2. 表白爱心HTML制作
  3. C语言学习(十二)C语言中的字符(宽字符与窄字符)、从字符谈谈C语言的编码、转义字符
  4. 2022年K1刷第三方固件教程
  5. Vue学习—深入剖析vue-cli脚手架(一)
  6. 如何快捷的修改html,问如何通过F12键来快捷的修改网页
  7. android支付宝运动修改器,支付宝运动步数修改器下载-无需root刷支付宝运动步数工具下载_飞翔下载...
  8. 2024清华大学计算机考研信息汇总
  9. 分布式计算框架Hadoop原理及架构全解
  10. 最大子序列之和(C语言)