工程设计是为傻瓜准备的(我就是活生生的例子)

 2017年2月2日

Mohamed Ismail  作者:  Mohamed Ismail
 Maxim Integrated 技术服务部高级技术人员


我第一次从零开始设计和搭建自己的PCB可谓我电子生涯的一座里程碑,但事实上,也是一场巨大的灾难。

受我钟爱的《吉他英雄》游戏(用吉他形状的控制器演奏摇滚乐的游戏)的启发,我想设计一款自己的无弦吉他。在一次暑期实习中,我接触到了许多触摸传感器技术,它们究竟有多难?我采用了一个嵌入式C编程类,并且大概了解了Arduino平台。虽然我还不清楚I2C是什么,也不知道我最终选择的传感器应该用哪种接口,但我找到了一个电容式触摸传感器平台(一种特殊功能的电路板,用于插入到Arduino电路板),以及一个用来掌握该传感器平台的在线代码库。

操作这一平台是件非常轻松的事——把电路板插入计算机,然后将电容式触摸平台连接到电路板,再利用未经修改的示例代码对微控制器进行编程。我甚至都不知道还有一份数据手册要读,就点击了注册按钮!原来工程设计就像我桌上那本书的名字——傻瓜入门。

设计我的第一个原型——傻人有傻福

在用几分钟看过我的概念验证之后,是时候来设计我自己的电路板了。我拿起吉他,测量了每个音品(吉他上分隔每个音符的空间)的长度和宽度,并估算与该音符相应的琴弦下方的面积。然后我下载了Eagle CAD工具,并利用免费的教学版本开始原理图和PCB的设计,为每根琴弦对应的演奏尺寸绘制金属焊盘。在没有任何信号完整性和串扰知识的情况下,我用细长、排布密集的走线将48个金属焊盘全部连接到了PCB远端的电容式传感器芯片群。所有的电源、接地和通信走线都是一样的细长且排列密集,我设法使这些线与我用作参考平台上的引脚相匹配。我曾经在某个在线论坛上看到说I2C设备可共享通信线路,于是我将四片传感器连接在了一起。有如神助般,我竟然想出了地址线与每个传感器分别通信的连接方法。到此为止,我的原理图与电容式传感器平台非常匹配,布线没有给出任何错误...我想我一定可以一次性完美搞定。

电子吉他

对《吉他英雄》游戏的热爱开启了无弦吉他的设计之旅

在网上找到了一家提供PCB裸板的店家,且正在打折,于是我就下单定制了吉他传感电路板。虽然电路板没有阻焊层和丝印层,但谁又知道这些是什么玩意儿呢?然后,我又轻松地在SparkFun和Digi-Key订购了我所需的元件。

全部东西到齐后,我发现将所有元器件装配到电路板上确实相当地具有挑战性。我此前从未使用过表贴元件,从Digi-Key上订购的元件让我第一次尝到了苦头。好家伙,我真是不喜欢焊接那些0402规格的电容!直到后来我才发现电容实际上是有不同规格的!电容式传感器IC采用20引脚QFN封装,我觉得使用焊锡膏和热风枪还挺有意思的。在完全没有考虑温度限值和基本特性的情况下,我用热风肆虐了这些芯片,直到焊料熔化并看起来排列整齐。一位朋友曾说,走线上焊料的表面张力会使其自动调整,看着芯片不知不觉地滑动到位真是酷毙了。当所有元件冷却之后,我开始检查我的工作。我的天呐,到处都是焊料!我用吸锡线清除了我能看到的所有多余焊料,最终又看到了引脚之间的间隔。把所有元器件装配到电路板后,我就准备进行测试了。接下来就是“见证奇迹”的时刻了!

我的设计为什么不工作?

我的定制电路板完美地匹配Arduino平台,于是我全部上电了。而我得到的结果相当震惊:毫无动静!这就奇怪了,我完全复制的原理图,将全部元器件都安装在电路板上,并且使用的也是已知能够运行的代码(我没有写代码)。我把设计拿给机器人俱乐部的朋友看,他说我没有安装任何旁路电容。旁路电容是个什么鬼?真是纯属运气好,我恰巧在IC附近布置了一些多余的接地端。由于我使用的是没有阻焊层的PCB裸板,GND焊盘是暴露在外,所以可以在传感器IC附近安装一些电容。经过焊接之后,我又尝试了运行电路板,结果让我更为吃惊:工作了!我开始按下所有不同的触摸按键,并且可以计入按钮的按动。

我的定制电路板完美地匹配Arduino平台,于是我全部上电了。而我得到的结果相当震惊:毫无动静!这就奇怪了,我完全复制的原理图,将全部元器件都安装在电路板上,并且使用的也是已知能够运行的代码(我没有写代码)。我把设计拿给机器人俱乐部的朋友看,他说我没有安装任何旁路电容。旁路电容是个什么鬼?也是算我运气好,我恰巧在IC附近布置了一些多余的接地端。由于我使用的是没有阻焊层的PCB裸板,GND焊盘是暴露在外,所以可以在传感器IC附近安装一些电容。经过焊接之后,我又尝试了运行电路板,结果让我更为吃惊:工作了!我开始按下所有不同的触摸按键,并且可以计入按钮的按动。

经过六年并取得两个学位之后,掌握了我目前所知道的电子和模拟设计经验,回过头来看,几乎不敢相信当时所做的一切。我相信,如果现在能找到那块电路板再看看,其中的一些布局绝对让我后背发凉。也正是在我第一次经历电路板完全不能工作之后,我才真正学会打开数据手册、阅读了解寄存器映射、研究I2C通信、发现旁路电容的魔力,并找出使传感器芯片与我的应用相匹配的最优配置方法。

让工程师在设计中拔得头筹

我的第一次嵌入式设计经历充分的说明了工具生态系统对于工程师是多么宝贵。由于已经获得了我所需的全部支持信息,所以我自始至终没有联系任何厂商寻求支持。所有工具已经摆在那里,任何人都可以马上开始设计,包括:

  • 内置编程器的微控制器开发板
  • 开源开发环境
  • 抽象编程语言
  • 来自社区的源代码库
  • 特定功能的参考板
  • YouTube视频和Google搜索
  • 免费的PCB软件
  • 低廉的制版费用

只需50美元,任何对电子感兴趣的人都可获得所有这些设计工具、订购器件以及电路板的定制。有了这些工具组合,不需要成为该领域的专家,很多人都就能够实现嵌入式电子产品的原型设计和搭建产品。例如,Maxim提供技术文档、视频、参考设计、设计工具和模型,以及许多其他资源帮助用户入门,请参见设计资源概览页面。如果没有Maxim EE-Sim设计与仿真工具的所有功能支持,很难想象设计一款开关电源会是什么情形。当然,我是在深入研究之后才使我的定制应用能够正常运行,而有了新型工具生态系统之后,许多设计者和创客设计IC的方式也发生了巨大改变。