几天前,我遇到一个让人头痛的难题,我很不开心。最后的解决方法很简单,但存在的问题却让我停下来思考。
我认为是时候把乱成一团的面包板电路整理一下了,一切问题都是从这时开始的。(注:这些电路用于驱动我的Cunning Chronograph)。
最后,我把板子堆叠得既整齐又漂亮,如下图所示。底部是一个ArduinoMega。其上是相同的定制音频频谱分析仪扩充板,这是我的朋友DuaneBenson专门为我的BADASS显示器制作的。
从顶部起第二层是一个定制的传感器扩充板,它目前仅带有一个实时时钟 (RTC),马上就要添加一个压力/温度传感器以及一个9DOF(九自由度)传感器,包含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)连接到相同数量的ArduinoGPIO(配置为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%确定产生问题的确切原因,因为有三种可能,这也是在我修复了问题之后才认识到的。大千世界,无奇不有,也许我的修复方法正好能解决这三种原因引起的故障!读者朋友,你能猜出这三种原因是什么吗?
网友分析:
@ antedeluvian
乍一看,我会想到两件事。
如果有某种负载,或者该路径上有大电流流过,那么走线的电阻就会产生影响。 由于它以前可以工作,因此你重新布线就可能给3.3V电源增加额外的重载。
我的第二个猜测(我认为这种情况更有可能,因为你上文中没有谈及热量或烟雾)是地线中存在开路。 因此,你在根据不同的“地”进行测量。 通过电路的电流路径虽然没有正确通电,但会在下游地上产生电压。
@ David Ashton
我猜既然在Arduino上测得3.3V电压,那只能是:
我认为是Simblee扩充板上的焊点不好,这种情况很难发现或确认,因为通常情况下,只要你动一动它连接的任何东西,就会变好。
但是我遇到过排针、甚至晶体管和IC引线由于各种原因而断裂——机械应力以及残留的助焊剂导致的腐蚀。你使用的这种电缆是压接到连接器引脚/插座上,因此这也是一个可能的原因。事实上,出错的原因可能有很多,因此很难知道从哪里开始!你将电缆如此整齐地绑在一起,那势必会拆掉一些电缆扎带才能修复故障。对吗?
另外,在仔细看你的图片时,我发现电源似乎是通过叠层中的排针过来的,所以整齐的电缆可能不会影响......
@ Rcurl
上周我也遇到了一个非常相似的问题。我认为Arduino是中国制造的,所以电压读数是公制的,而Simblee是美国制造的,所以电压是英制的。实际上,两个地方的电压是相同的,但是在探测Arduino时,你必须确保万用表上的“公制/英制”开关处于“公制”位置,它就会用2.2的转换系数进行计算。
(原文刊登于EDN姊妹网站EETimes,参考链接:Why Is My 3.3V Supply Only 1.5V?,由Jenny Liao编译。)