如何制作一个自动设备测试仪

描述

背景介绍

可能是我做过的最有用的 Arduino 项目!用于对我所销售的产品使用的自动测试仪。这个项目可能看起来并不起眼,但可能是我用 Arduino 做过的最有用的东西。它是我销售的名为 Power Blough-R 的产品的自动测试仪。它不仅节省了我的时间(目前它已经为我节省了至少 4 个小时,而且还在不断增加),而且它还让我更加相信产品在发货前 100% 正常运行。

Arduino

Power Blough-R,发音为“Power Blocker”,用于解决您在使用 octoprint 和 3D 打印机时经常遇到的反馈电源问题。

要使用测试仪,您只需将 Power Blough-R 放入 USB 接头并按下 Arduino Nano 上的重置按钮。测试仪将运行一系列测试,并使用 Nano 的内置 LED 指示设备是通过还是未通过测试。灯光稳定表示通过,闪烁则表示失败。

当你有很多东西要做时,找到能够减少每个进程时间的方法会对整个过程产生巨大的影响。于是,我使用这个测试仪将我测试一个单元的时间从大约 30 秒减少到 5 秒。虽然 25 秒听起来并不多,但当你需要重复 100 次这样的事情时,它就能够发挥巨大的功效!

还有一个可能令人印象深刻的点,就是通过使用这个工具,我测试 Power Blough-R 两次所需的时间比打开它随附的防静电袋要短!

您可能不需要构建这个确切的设备,但希望我做这个项目的一些想法可能对您有用。

Power Blough-R

那么什么是 Power Blough-R,它有什么作用?

如果您曾经将 Octoprint 与您的 3D 打印机一起使用,那么通常会出现这样一个问题,即您的打印机屏幕被树莓派的 USB 电源激活保持常亮,即使打印机电源关闭也是如此。虽然这不会有什么大影响,但这可能会让我们的使用体验大幅下降,尤其是在较黑暗的环境时。

Arduino

Power Blough-R 是一个简单的 PCB,上面有一个公和一个母 USB 连接器,但它不连接 5V 线。

还有其他方法可以解决这个问题,像是剪掉 USB 电缆的 5V 线或在 5V 连接器上贴一些胶带,但我想想出一种简单、可靠的方法来达到相同的结果,而不会损害任何USB数据线。

Arduino

在此之前,我几乎不可能有把握地用万用表测试 100 台设备,所以这就是这个项目诞生的意义!

Arduino

硬件

Arduino

我选择了最简单的方法来组装它,因为我的时间稍微有点紧迫。与此同时,也是一个便宜的构建方法。

Arduino Nano

纳米螺丝接线端子

公头 USB 分接头

母 USB 分接头

一些电线

将它们焊接到 nano 上,然后插入螺丝接线端子。

5 根电线应焊接到公母 USB 分接头上。请注意屏蔽线,母接头没有为此设置的焊盘,因此我将其焊接到连接器的侧面。这些电线可以在另一端剥开并拧入螺丝端子(注意:确保留出一些空间,以便更容易插入和拔出设备)

对于公连接器,我使用了以下引脚

接地〉 2

D+〉 3

D-〉 4

VCC〉 5

Shield〉 10

对于我使用的母连接器:

接地〉 6

D+〉 7

D-〉 8

VCC〉 9

Shield〉 11

软件

首先,您需要下载Arduino IDE并进行设置。

你可以在本文下方提供的链接里抓取我使用的草图并将其上传到板上。完成后,您就可以开始了!

在启动时,草图会通过一系列测试。如果所有测试都通过,它会将内置 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 兆欧电阻,这将有效地将其与我们的电路断开。

三态逻辑是 Charlie-plexing 的主要功能之一,这是一种使用较少数量的引脚寻址单个 LED 的神奇方式。

测试测试仪

这实际上是一个非常重要的步骤,因为如果您不测试测试仪是否捕捉到负面场景,那么您能否确信当测试通过时设备正在按预期工作。

Arduino

如果您熟悉软件开发中的单元测试,这相当于创建负面测试场景。

为了测试这一点,我还特意创建了几个有错误的板:

将 USB 接头焊接在电路板的错误一侧。USB 接头可以很好地安装,但接地线不会连接,5V 线会连接。

故意桥接两个引脚来测试桥接测试代码。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分