几天前,一个令人头痛的难题让我很不开心。最后的解决方法很简单,但存在的问题却让我陷入沉思。
我想是时候把乱成一团的面包板电路整理一下了,因为一切的问题都是从这时候开始的。(注:这些电路主要用于驱动我的Cunning Chronograph)。
最后,我把板子堆栈得既整齐又漂亮,如下图所示。底部是一个Arduino Mega。其上是相同的客制音频频谱分析仪(SA)扩充板,这是我的朋友Duane Benson专门为我的BADASS显示器制作的。
从顶部起第二层是一个客制的传感器扩展板,它目前仅带有一个实时频率(RTC),马上就要添加一个压力/温度传感器以及一个9DoF (9自由度)传感器,包含3轴加速度计、3轴陀螺仪和3轴磁力计。
最后,醒目地位于最上面的是一个现成的Arduino proto-shield原型扩展板——我在本上一开始时提到的恼人问题就出在这里,它与Simblee分线板相连,让我可以在iPad上透过蓝牙控制Cunning Chronograph。
现在我们先看一看简单的示意图,画的是安装在Arduino Uno proto-shield原型扩展板中间的29-GPIO Simblee分线板。
Simblee分线板需要3.3V电源。Arduino Mega在5V上运行,但它确实提供了3.3V电压轨,如上图所示。此处直接连接到这个Arduino的Simblee接脚的只有3.3V电源和接地讯号。当这个扩展板连接到Arduino Mega顶部时,还有Simblee的13个GPIO (配置为OUTPUT)连接到相同数量的Arduino GPIO (配置为INPUT_PULLUP)。这些讯号连接使用飞线,而不是扩展板迭层中使用的排针。
这就是我遇到的情况。当我第一次制作扩展板迭层时,一切都很完美。然而,上周末,我决定将电源和电子组件移植到Cunning Chronograph的机柜中。我总是低估这种事情需要多长时间,因为希望它看起来专业一点,所以花了很多时间将电线切割成合适的长度,然后做成线束和其他东西。
最后,我坐下来准备享受圆满完成工作带来的好心情,用手指轻轻按了一下电源开关,然而……没有动静!我的心情瞬间降到冰点——究竟发生了什么事,且让我细细道来。
为了让你能够更好地理解我要说的,我把我遇到情况简单地画了一个原理图。
这是Cunning Chronograph的背面视图。电源安装在机柜内部的右下方(它不能安装在底部,因为会干扰插板),而将Arduino迭层安装在其内部的左上方,目的是让它尽可能远离电源(我不知道这是否必要,但是我想将电源可能对我的磁力计产生的任何影响都减到最小)。
简单地说,我拿出我无比信赖的万用表,开始四处探测。很快地我就发现,使用万用表的探棒在Simblee的电源和接地接脚上进行探测,Simblee分线板的3.3V电源接脚上只有1.5V电压。
“这太有意思了,”我想。更有意思的是,用我的万用表探棒探测Arduino的3.3V和接地接脚,显示完整的3.3V电压。
接下来我将Simblee扩展板从电路板迭层中抽出,透过飞线将迭层顶部的3.3V和GND排针连接到Simblee扩展板上的3.3V和GND排针!好了,一切都正常了。
当我高兴地将扩展板重新连接到板子迭层中,并再次为它们上电时,我的心中这样想:“哈!这只是一个随机故障,是我们永远无法明白的‘那些事’中的一件。”
但我回头来想Simblee的3.3V电源接脚上只有1.5V电压的事。当两端之间唯一的东西是构成迭层一部份的排针时,迭层底部有3.3V电压,而顶部只有1.5V,这究竟是怎么发生的?剩下的1.8V到哪里去了?
我想说的是,我终于解决了这个问题,现在一切都恢复到它该有的样子,所以现在心情又变得轻松愉快起来了。但是,我至今仍不能100%确定产生问题的确切原因,因为有三种可能,这也是在我修复了问题之后才了解的。大千世界,无奇不有,也许我的修复方法正好能解决这三种原因引起的故障!读者朋友,你能猜出这三种原因是什么吗?
编译:Jenny Liao,EDN China
(参考原文:Why Is My 3.3V Supply Only 1.5V?,by Max Maxfield)
责编:Luffy Liu