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

2023-11-02

 

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设计圆满结束而且也走出了自己的心理阴影。

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

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 【教程、技巧】Solid Works 2020 开启“小金球”

    Solid Works 2020 开启 小金球 一 操作须知 免责声明 修改注册表有一定风险 若继续进行操作表明你有能力承担相应的风险 带来的损失与笔者无关 注意事项 操作前请先关闭正在运行的SolidWorks A卡请看这里 N卡请看这里
  • SOLIDWORKS PDM&Manage升级SOP——服务器篇

    SOLIDWORKS产品数据管理 PDM 解决方案可帮助您控制设计数据 并且从本质上改进您的团队就产品开发进行管理和协作的方式 使用 SOLIDWORKS PDM Professional 您的团队能够 1 安全地存储和索引设计数据以实现快
  • Solidworks导出URDF总结(Noetic)

    环境 Solidwoks2018 SP0 Solidwoks2021 SP5 Ubuntu20 04 ROS1 Noetic Solidwoks2018 SP0对于平移副有问题 显示不出来 Solidwoks2021 SP5没有问题 官网有
  • cadence allegro绘制原理图库

    前言 为什么投向了allegro 本科毕业于电子信息工程专业 相信很多学生也和我一样 在一个类似于叫EDA的课上通过DXP Altium Designer学习绘制PCB电路 因此大多数学生应该是会用AD这款软件的 至少最基本的流程不会出问题
  • JT格式介绍(转换)

    JT Jupiter Tessellation 是一种高效 专注于行业且灵活的 ISO 标准化 3D 数据格式 由 Siemens PLM Software 开发 航空航天 汽车工业和重型设备的机械 CAD 领域使用 JT 作为其最领先的
  • 高速入门知识02:降低串扰和维持信号完整性的布线方法

    文章目录 前言 一 单端走线布线 1 1 带有短截线的菊花链布线 1 2 没有短截线的菊花链布线 1 3 星型布线 1 4 蛇型布线 二 差分走线布线 前言 串扰是并行走线间不需要的信号耦合 微带线和带状线正确的布线和叠层布局能够降低串扰
  • solidworks大型装配体慢卡顿怎么办?来看专业的装配设计与仿真工作站是怎么解决的!

    相信很多CAD专业领域的设计工程师都或多或少的遇到慢 卡 顿的情况 按照网上各种设置一通问题依旧 换成昂贵的双路品牌图形工作站依然得不到改善 那么问题到底出在哪儿 下面就依Solidworks为例 从三维设计与仿真的特点来分析软件如何与硬件
  • 入门PCB设计AD9学习笔记8-PCB布板规则

    写作前面 最近在学PCB设计 发现杜洋工作室的入门PCB设计讲的非常详细 适合初学者 由于是视频讲解形式 不利于后期再索引搜索各个知识点细节 所以这里做上笔记方便自己消化和之后内容的索引 惊喜发现已经有前辈写过前几集的内容整理 写的很详细
  • 「经验分享」一款PCB电路板设计要经历哪些流程?

    一款PCB电路板设计主要包括明确产品需求 硬件系统设计 器件选型 PCB绘制 PCB生产打样 焊接调试等步骤 那么这些步骤都有哪些需要注意点呢 小编带你细品 一定要细品 一 明确需求 在一个硬件设计之初 首先要做的是明确产品的需求 这里主要
  • 画PCB步骤

    画PCB步骤 1 导入原理图器件 2 画PCB边界 板子画圆弧 首先在机械层 mechanical 画一个边界 如矩形 然后在四个角画上圆弧 最后再复制到阻焊层 keep out Layer 复制到阻焊层方法 shift s单层显示 最后分
  • 2019年7款3D扫描仪APP(Android和iOS),让你手机秒变3D扫描仪!

    在我之前的一篇文章 教程 SolidWorks与3D扫描技术不得不说的故事 中 提到了SolidWorks和3D扫描技术之间的完美合作 今天就继续围绕3D扫描话题 为大家分享7款2019年3D扫描仪APP Android和iOS 喜欢就继续
  • HFSS仿真导入到PCB

    一 从HFSS中导出DXF文件 以偶极子天线为例 先导出顶层 选择这个然后保存 然后同理 导出介质层和底层 二 导入PCB文件中 1 导入顶层 导入刚刚导出的顶层文件 然后将比例更改为mm pcb层改为Top Layer 导入之后选中 2
  • 高并发,你真的理解透彻了吗?

    高并发 几乎是每个程序员都想拥有的经验 原因很简单 随着流量变大 会遇到各种各样的技术问题 比如接口响应超时 CPU load升高 GC频繁 死锁 大数据量存储等等 这些问题能推动我们在技术深度上不断精进 在过往的面试中 如果候选人做过高并
  • 74HC595驱动7x11点阵屏(LED-7X11-JHM)DEMO

    起因 由于我之前做了一个点阵时钟 但是无奈LED点阵屏价格比较贵 所以想找一个价格较为便宜的点阵来做便宜一点的点阵方案 再淘宝上看到有那种五毛钱一个的7x11的LED点阵 所以就想着试试搞一下这种点阵屏 这个由于是7x11的点阵 没有比较好
  • AD 常见绿色报错的消除

    TM 可以复位绿色错误 在这个里面 关闭所有报错 只打开电器里面的所有报错 23 PCB板框的评估及叠层设置 对PCB板框进行评估 1 全选器件 2 如果设置了快捷键但是没有起作用 右键单击上方菜单栏 如上图所示 然后找到更改的快捷键 删除
  • solidworks启动慢的原因在这里

    你打开SOLIDWOKRS需要多长时间 有的人可能是十秒左右SOLIDWOKRS 有的人可能要等上一两分钟才能看到SOLIDWORKS的界面 那么我们今天抛开硬件的差异 主要针对软件和系统环境的设置帮助大家加快打开SOLIDWORKS的速度
  • 如何从 vb.net 脚本打开 Solidworks、运行宏和关闭 Solidworks? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在solidworks 中运行一个VBA 宏 该宏停止工作并要求我在每次运行它时经过478 次循环迭代后重新启动Solidwork
  • 通过 Excel 的 eDrawings API

    我正在尝试通过 Excel 使用 edrawings VBA api 我已经下载了 edrawings SDK 似乎 api 仅通过用户表单运行 我通过 Excel 为 SolidWorks 制作了一些 VBA 宏 但与 SolidWork
  • SelectById2 的指针标注

    我正在尝试将我在 VBA 中编写的一些代码移植到 Python 中以控制 Solidworks 特别是自动化草图编辑 我在 Python 中使用 Solidworks SelectById2 时遇到问题 在 VBA 中 以下代码工作正常 P
  • 有没有 View.GetOutline() 的替代方案可以提供更好的轮廓?

    返回的大纲View GetOutline 方法并不完全对应于可见绘图 它返回的内容比 SolidWorks GUI 显示的选择轮廓要多一些 下面的屏幕截图显示了选择轮廓 浅蓝色虚线矩形 和由返回的轮廓的对角线View GetOutline

随机推荐

  • vue获取元素offsetTop,mounted获取不到offsetTop,获取元素距离页面顶边距离

    记录一下开发过程中遇到的坑 今天想做一个功能 当我评论完之后 页面跳到评论区顶部 于是就要获取到评论区距离页面顶部的距离 需要循环获取offsetTop来实现 但是在mounted阶段是无论如何都获取不到offsetParent的 不管是
  • C# 对数据库操作的函数总结

    SqlCommand ExecuteNonQuery 方法对连接执行 Transact SQL 语句并返回受影响的行数 可以写也可以读 1 可以使用ExecuteNonQuery 来执行目录操作 例如查询数据库的结构或创建诸如表等的数据库对
  • Unet 语义分割模型(Keras)

    文章目录 前言 一 什么是语义分割 二 Unet 1 基本原理 2 mini unet 3 Mobilenet unet 4 数据加载部分 参考 前言 最近由于在寻找方向上迷失自我 准备了解更多的计算机视觉任务重的模型 看到语义分割任务重U
  • BAT文件里注释符号

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在BAT文件批处理中注释的方式如下 1 注释内容 第一个冒号后也可以跟任何一个非字母数字的字符 2 rem 注释内容 不能出现重定向符号和管道符号 3 echo 注释内容
  • nginx配置https访问

    01 http https HTTP HyperText Transfer Protocol 超文本传输协议 是一种用于分布式 协作式和超媒体信息系统的应用层协议 简单来说就是一种发布和接收 HTML 页面的方法 被用于在 Web 浏览器和
  • 在ubuntu上安装splint

    lint lint是最著名的C语言工具之一 是由贝尔实验室SteveJohnson于1979在PCC PortableC Compiler 基础上开发的静态代码分析 一般由UNIX系统提供 工具介绍 与大多数C语言编译器相比 lint可以对
  • 试图理解 Decagon(二)具体方法

    4 图卷积 Deacgon 方法 综述 关系被表示为一个图 G V R 其中 节点N 蛋白质 药物 vi V 和标记的边 vi r vj r代表边的类型 分别由 蛋白质间的作用 某种药物 与其作用蛋白质间的关系 存在于某两种药物间的副作用关
  • SQLSERVER登录与JDBC连接事宜

    这半天都在帮副主席搞这个 比较最重要的两个点 SQLServer创建用户登录 https www cnblogs com vuenote p 10143434 html 使用JDBC连接SQLSERVER数据库 https www cnbl
  • C51单片机期末复习第八章单片机接口技术

    一 总线 传送同类信息的连线 三总线 地址总线AB 数据总线DB 控制总线CB 目录 ppt给的没啥用 乱还不全 8 1 单片机的系统总线 8 2 简单并行I O口扩展 8 3 可编程并行I O口扩展 8 4 D A转换与DAC0832应用
  • vue 自定义月日历日程组件(MSchedule)

    效果图 组件的使用 日程内容可以自定义 状态对应颜色可以自定义
  • vue 动态组件component标签

    vue 提供了一个内置的
  • python笔记:#013#高级变量类型

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 int 浮点型 float 布尔型 bool 真 True 非 0 数 非零即真 假 Fal
  • Ubuntu root账户登陆电脑

    vi etc pam d gdm autologin 屏蔽 auth required pam succeed if so user root quiet success vi etc pam d gdm password 屏蔽auth r
  • nextLine().split(“[\\s]“)的意思

    Scanner sc new Scanner System in String a sc nextLine split s 这句话的意思是 把输入的字符串以 s 为条件分割成一个String数组 s表示空格 回车 换行等空白符 当然 单表示
  • 学python的第十五天---简单数论

    模运算 一 刷题统计 二 快速幂 三 RSA解密 GCD LCM 四 核桃的数量 最小公倍数 五 Hankson 的趣味题 六 寻找整数 素数 七 笨小孩 八 质数 九 分解质因数 模运算 ab mod m a mod m b mod m
  • Java实现比较版本号

    涉及到客户端的系统中经常需要用到比较版本号的功能 但是比较版本号又不能完全按照字符串比较的方式去用compareTo之类的方法 这就需要我们总结版本号的通用规则 设计一个比较算法并封装成通用方法来使用 通常版本号如 1 3 20 8 6 8
  • RS-485总线前世今生;

    一 RS232和RS485的区别 RS 232采取的是单端不平衡传输方式 其收发端的数据信号都是相对于地信号的 所以共模抑制能力 差 再加上双绞线分布电容的影响 其最大传输距离仅为15米 最高传输速率只有20kbit s 2560Byte
  • bash脚本调试方法

    本文全面系统地介绍了shell脚本调试技术 包括使用echo tee trap等命令输出关键信息 跟踪变量的值 在脚本中植入调试钩子 使用 n 选项进行shell脚本的语法检查 使用 x 选项实现shell脚本逐条语句的跟踪 巧妙地利用sh
  • Bandizip已管理员身份运行

    系列文章目录 文章目录 系列文章目录 前言 一 Bandzib是什么 二 使用步骤 1 引入库 前言 在解压krita源码包时Bandizip报错 一 Bandzib是什么 bandzip官网 Bandizip 是一款压缩软件 它支持Zip
  • 3D空间堆叠PCB设计 ——PCB线路优化项目总结

    3D空间PCB堆叠设计适用于线路板安装空间狭小场合使用 PCB空间排布大大提高空间利用率更加高效 前言 19年的5月下旬有人找我做一个项目 他们要3块比手掌张开还大的电路板 如下图 优化到可以放入水杯类似的圆柱体中 高度越底越好 这种 主体