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线路优化项目总结 的相关文章

  • SOLIDWORKS 二次开发 VC++

    需要理解的知识 com组件原理及应用 1 IUnknown IDiapatch 2 接口的指针指向接口这个结构 xff0c 接口里面保存一个虚函数表指针 xff0c 指向接口里的函数 3 接口的使用 43 通过queryInterface
  • Solidworks导出URDF总结(Humble)

    环境 Solidwoks2021 SP5 xff1b Ubuntu22 04 xff1b ROS2 Humble 步骤 基本步骤参考 xff1a Solidworks导出URDF总结 xff08 Noetic xff09 本文只介绍不同之处
  • 0.一些自己初学Solidworks的疑惑

    1 为什么要选择学习SolidWorks 首先 作为初学者 我们对一个东西并不是很了解 那么就需要别人来教我们 对吧 这些人可以是老师 可以是同学 可以是师傅 可以是网络上热心肠的大神 可以是一些培训机构 等等 首先呢 学习三维设计软件 看
  • 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没有问题 官网有
  • Altium Designer 详细入门教程-原理图绘画-AD2016

    这是我两年使用AD2016的总结和归纳 介绍AD2016原理图绘画的基本操作和比较高级的操作 主要面向0基础入门学习的爱好者 操作平台 win10 Altium Dsigner 2016 建议电脑使用屏幕较大的 因为有些对话框不太友好 或者
  • AD(altium designer)15原理图与PCB设计教程(三)—— 原理图元器件库的管理

    目录 序言 原理图库文件编辑器 原理图库文件编辑器的启动 原理图库元器件的创建 设置工作区参数 库元器件的创建 原理图库元器件的编辑 原理图库元器件菜单命令 原理图库文件添加模型 创建含有子部件的库元器件 报表输出及库报告生成 输出报表 生
  • JT格式介绍(转换)

    JT Jupiter Tessellation 是一种高效 专注于行业且灵活的 ISO 标准化 3D 数据格式 由 Siemens PLM Software 开发 航空航天 汽车工业和重型设备的机械 CAD 领域使用 JT 作为其最领先的
  • 2.5 使用SolidWorks转换STL格式为OBJ文件格式

    1 说明 使用SW进行三维模型建模 一般应用在机械工程领域中 将模型保存成STL格式后 转换为 obj文件 才能进一步转换为mesh文件 供QT中的3D控件进行使用 本文章记录一些格式转换步骤和关键点 以便参考 2 第一步 首先在SW软件界
  • 高速入门知识02:降低串扰和维持信号完整性的布线方法

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

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

    PCB板上元芯件的标识 R 电阻 J 跳线 D 二极管或稳压管 Q 三极管 C 电容 U 集成芯片 L 电感 FB 熔断保险丝 IC 芯片 T 变压器 ZD 稳压二极管 P 有时表示端口 插座等 X和Y代表 晶振 F为 保险电阻 ISO代表
  • AD如何修改3D视图时PCB板的颜色

    文章目录 前言 一 解决步骤 总结 前言 众所周知 AD 3D视图下默认是绿色板子 那我想改成其他颜色怎么办 一 解决步骤 其实很简单哈 我们就用最直接的方法 我们点击右下角这个LS旁边的红色框 注意不是点击LS哈 然后单击这两个绿色格子
  • 结构图的3D渲染,从COMSOL到Solidworks

    2022 02 23 在COMSOL 中 1 确认COMSOL中模型尺寸的单位是 mm 2 确认 几何 窗口的长度单位是 mm 3 右键 几何 下拉后选择 导出 选择文件类型 STEP文件 选择 导出所选对象 确认输出路径后 点击 导出 在
  • Altium Designer使用-----如果Bill of Materials卡住

    Altium Designer使用 如果Bill of Materials卡住 是没有安装office软件
  • 74HC595驱动7x11点阵屏(LED-7X11-JHM)DEMO

    起因 由于我之前做了一个点阵时钟 但是无奈LED点阵屏价格比较贵 所以想找一个价格较为便宜的点阵来做便宜一点的点阵方案 再淘宝上看到有那种五毛钱一个的7x11的LED点阵 所以就想着试试搞一下这种点阵屏 这个由于是7x11的点阵 没有比较好
  • solidworks启动慢的原因在这里

    你打开SOLIDWOKRS需要多长时间 有的人可能是十秒左右SOLIDWOKRS 有的人可能要等上一两分钟才能看到SOLIDWORKS的界面 那么我们今天抛开硬件的差异 主要针对软件和系统环境的设置帮助大家加快打开SOLIDWORKS的速度
  • Altium Designer导出STEP文件

    Tips 由于我使用的是13版本 没有高版本具有的STEP导出功能 故采用以下方式导出PCB 此种方式对元器件模型支持较差 对模型要求较高的同学 建议还是升级DXP版本 首先在PCB文件中 点击 工具 遗留工具 3D显示 在弹出的PCB3D
  • 如何从 vb.net 脚本打开 Solidworks、运行宏和关闭 Solidworks? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在solidworks 中运行一个VBA 宏 该宏停止工作并要求我在每次运行它时经过478 次循环迭代后重新启动Solidwork
  • 为 Solidworks 构建 C# 插件 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在多个站点上看起来相当复杂 使用 Visual Studio 2017 在 C 中构建 Solidworks 插件的正确步骤是什么 我

随机推荐

  • 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块比手掌张开还大的电路板 如下图 优化到可以放入水杯类似的圆柱体中 高度越底越好 这种 主体