带有 Arduino 的自动设备测试仪
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
这可能看起来不多,但这可能是我用 Arduino 制作的最有用的东西。它是我销售的名为 Power Blough-R 的产品的自动测试仪。它不仅为我节省了时间(它目前至少为我节省了 4 小时,而且还在增加),而且还让我更加确信产品在发货前 100% 可用。
Power Blough-R,发音为“Power Blocker”(这是我的名字的一个游戏,发音令人惊讶,发音为“lock”!),用于解决在使用 octoprint 和 3D 打印机时经常遇到的后馈电源问题。
要使用测试仪,您只需将 Power Blough-R 放入 USB 接头并按下 Arduino Nano 上的重置按钮。测试仪将运行一系列测试,并使用 Nano 的内置 LED 指示设备是否通过测试(实心表示通过,闪烁表示失败)。
当你有很多事情要做时,找到减少每个单元时间的方法会产生巨大的影响,使用这个测试仪将我测试一个单元的时间从大约 30 秒减少到 5 秒。虽然 25 秒听起来并不多,但当你有 100 秒的这些事情要做时,它就会加起来!
我认为我能说的最令人印象深刻的事情是,使用此工具,我测试 Power Blough-R 所需的时间比打开所需的时间更短 装运的防静电袋!
您可能不需要构建这个精确的设备,但希望我正在做的一些事情可能对您有用。
观看视频!
我在这篇文章中涵盖的大部分内容都可以通过这个视频获得,所以看看视频是否适合你!
The Power Blough-R
那么什么是 Power Blough-R,它有什么作用?
如果您曾将 Octoprint 与 3D 打印机一起使用,通常会出现一个问题,即即使打印机电源关闭,您的打印机屏幕也会通过树莓派的 USB 电源保持打开状态。虽然这不是世界末日,但它会变得非常烦人,尤其是在黑暗的房间里。
Power Blough-R 是一块简单的 PCB,上面有一个公头和一个母头 USB 连接器,但它不连接 5V 线。
还有其他方法可以解决这个问题,有些人切断了他们 USB 电缆的 5V 线或在 5V 连接器上放了一些胶带,但我想想出一种简单、可靠的方法来实现相同的结果,而不会伤害任何USB 数据线!
如果您对 Power BLough-R 感兴趣,可以购买它们:
- 在我的 Tindie 商店(成套或组装)
- TH3dstudio.com(组装)
(顺便说一句,这篇文章不是赞助商,除了 Power Blough-Rs 的供应之外,我没有参与 TH3D。我没有收到任何额外的东西来包含 TH3D 的链接,或者是曾经讨论过的文章/视频作为原始交易的一部分)
背景:大订单
我在 Tindie 商店出售 Power Blough-Rs,主要是作为套件出售。但是对于我出售的组装好的,我会用万用表测试它们。 In将测试输入和输出Ground、D-和D+之间是否连接良好,5V未连接并测试电桥。
这将需要大约 30 秒左右的时间,如果我不小心的话,我很容易犯错误。但是对于我销售的组装产品的数量来说,这并不是一个巨大的时间投入。
但是我在 3d 打印子 reddit 上发布了 Power Blough-R 的图片,来自 TH3DStudio.com 的 Tim 联系我询问有关订购一些在他的商店中作为试用的库存。我说肯定,问他要找多少。我希望他说 10 或 20,但他说让我们从 100 开始......
我几乎不可能用万用表自信地测试 100 台设备,所以我知道我必须为此做些什么!
硬件
我选择了最简单的方法来组装它,因为我有点时间紧迫!这也是一个非常便宜的构建(所有东西都不到 5 美元)。
- Arduino Nano(这个有一个微型 USB,但任何都可以)*
- 纳米螺丝端子分线器*
- 男性 USB Breakout*
- 女性 USB Breakout*
- 一些电线
组装这个真的没什么。如果还没有将插头引脚焊接到 nano 上,然后插入螺丝接线端子。
5 根电线应焊接到公母 USB 分接器上。请注意屏蔽线,母接头没有用于此的焊盘,因此我将其焊接到连接器的一侧。这些电线可以在另一端剥开并拧入螺钉端子(确保留出一些松弛度,以便更容易插入和拔出设备)
对于公连接器,我使用了以下引脚
- 地> 2
- D+> 3
- D-> 4
- VCC> 5
- 盾牌> 10
对于我使用的母连接器:
- 地> 6
- D+> 7
- D-> 8
- VCC> 9
- 盾牌> 11
*附属链接
软件
首先,您需要下载 Arduino IDE 并进行设置(如果您还没有的话)。
你可以从我的 Github 上抓取我使用的草图并将其上传到板上。完成后,您就可以开始了!
在启动时,草图会运行一系列测试。如果所有测试都通过,它会将内置 LED 设置为亮起。如果有任何故障,它会闪烁内置 LED。设备也会向串口监视器输出故障原因,但我实际上并没有使用这个功能。
草图经过以下测试
初始测试:
这是为了检查母针是否按预期读取,同时忽略公针。有关这方面的更多信息,请参阅三态逻辑步骤。
主要测试:
该测试检查 GND、D+、D- 和 Shield 是否已连接,同时 5V 线路被阻塞。这是为了检查 Power Blough-R 的主要功能,它通过除了 5V 线之外的所有东西。
桥接测试:
这会检查所有引脚是否桥接在一起。因此它会遍历每个引脚,设置其输出,然后检查所有其他引脚是否受此影响。
下面我将介绍一些在测试中使用的功能/概念。
INPUT_PULLUP
这是一个非常有用的方法,它可以在您的项目中为您节省一个额外的电阻器(每个引脚)。当您使用按钮时,它特别有用。
当一个引脚设置为 INPUT_PULLUP 时,它基本上用一个 10k 电阻将引脚连接到 VCC。如果没有上拉(或下拉)电阻,引脚的默认状态被认为是浮动的,读取引脚时会得到不一致的值。由于电阻器的值相当高,因此可以通过向引脚施加不同的逻辑电平来轻松改变引脚的状态(例如,当按下按钮时,它将引脚连接到地并且引脚将读取低电平。
我将 FEMALE 引脚的引脚模式设置为 INPUT_PULLUP,因此只要没有外力作用,我就有了引脚应该是什么(高)的参考点。在整个测试过程中,MALE 引脚设置为低电平,当这两个引脚应连接时,我们预计 FEMALE 引脚为低电平。
三态逻辑
初始测试时,我想检查 FEMALE 引脚的逻辑电平,而基本上忽略 MALE 引脚。
这似乎是一个问题,因为 MALE 引脚必须具有一些会影响的逻辑电平,对吗?
实际上,大多数微控制器的引脚都有所谓的三态逻辑,这意味着它们可以处于 3 种状态:高、低和高阻抗
高阻抗是通过将引脚设置为输入来实现的。这相当于在引脚前放置一个 100 Mega OHM 电阻器,这将有效地将其与我们的电路断开。
三态逻辑是 Charlie-plexing 的主要功能之一,这是一种使用较少引脚数寻址单个 LED 的神奇方式。如果您有兴趣进一步了解 Charlie-plexing,请观看以下视频。
测试测试员
这实际上是非常重要的一步,因为如果您不测试测试人员是否捕获了负面情况,那么您就可以确信当测试通过时设备按预期工作。
如果您熟悉软件开发中的单元测试,这相当于创建负面测试场景。
为了测试这一点,我创建了几个有错误的板:
- 将 USB 接头焊接在电路板的错误一侧。 USB 接头很适合,但不会连接地线,而是连接 5V 线。 (可惜这个不是故意创建的,证明需要测试人员!)
- 特意桥接两个引脚以测试桥接测试代码。
结论
正如我在本文开头提到的,这可能是我用 Arduino 构建的最有用的东西。
由于最初的订单 Tim 又订购了 200 台 Power BLough-R,虽然非常感谢节省的时间,但它让我对产品处于完美工作状态的信心是我最喜欢的事情。
事实上,对于 200 的订单,我妻子基本上做了所有的测试。她真的很喜欢它的使用速度和通过/失败指示器的简单性。
希望可以从本指南中学到一些有用的东西,如果您有任何问题,请随时在下面提问!
祝一切顺利,
布莱恩
- YouTube
- 推特
- Tindie
代码
Github
https://github.com/witnessmenow/Power-BLough-R-Testerhttps://github.com/witnessmenow/Power-BLough-R-Tester制造工艺