Arduinoを搭載した自動デバイステスター
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
これはあまり見えないかもしれませんが、これはおそらく私がArduinoでこれまでに作った中で最も便利なものです。私が販売しているPowerBlough-Rという製品の自動テスターです。時間の節約になるだけでなく(現在、少なくとも4時間の節約になり、数えています)、出荷前に製品が100%機能しているという確信がはるかに強くなります。
<図>「パワーブロッカー」と発音されるPowerBlough-R(これは、驚くほど「ロック」と発音される私の名前の遊びです!)は、3Dプリンターでオクトプリントを使用するときによく発生するバックフィード電力の問題を解決するためのものです。
テスターを使用するには、Power Blough-RをUSBヘッダーに配置し、ArduinoNanoのリセットボタンを押すだけです。テスターは一連のテストを実行し、Nanoの組み込みLEDを使用して、デバイスがテストに合格したか失敗したかを示します(合格の場合は点灯、不合格の場合は点滅)。
何かを作る場合、ユニットあたりの時間を短縮する方法を見つけることは大きな影響を与える可能性があります。このテスターを使用すると、ユニットのテストにかかる時間が約30秒から5秒に短縮されました。 25秒は多くのように聞こえませんが、これらのことを何百も行うと、合計されます!
私が言える最も印象的なことは、このツールを使用すると、開いたばかりの場合よりもPowerBlough-Rのテストに2回かかるということです。 出荷時の静電気防止バッグ!
この正確なデバイスを作成する必要はおそらくないでしょうが、うまくいけば、私が行っていることのいくつかがあなたに役立つかもしれません。
ビデオをチェックしてください!
この記事で取り上げる内容のほとんどはこのビデオで利用できるので、ビデオがあなたのものかどうかを確認してください!
パワーブラフ-R
では、Power Blough-Rとは何ですか、それは何をしますか?
3DプリンターでOctoprintを使用したことがある場合は、プリンターの電源がオフの場合でも、ラズベリーパイからのUSB電源によってプリンターの画面がオンのままになるという問題がよく発生します。これは世界の終わりではありませんが、特に暗い部屋ではかなり迷惑になる可能性があります。
<図>Power Blough-Rは、オスとメスのUSBコネクタが付いた単純なPCBですが、5Vラインには接続していません。
この問題を解決する方法は他にもあります。USBケーブルの5Vラインを切断したり、5Vコネクタにテープを貼ったりする人もいますが、同じ結果を損なうことなく実現するためのシンプルで堅牢な方法を考え出しました。 USBケーブル!
<図>Power BLough-Rに興味がある場合は、購入できます:
- Tindie Store(キットまたは組み立て済み)
- TH3dstudio.com(組み立て済み)
(ところで、この投稿は後援されておらず、Power Blough-Rの供給以外にTH3Dに関与していません。TH3Dへのリンクを含めるための追加の情報を受け取っていないか、これまでに議論された記事/ビデオでした元の取引の一部として)
背景:ビッグオーダー
私はTindieストアでPowerBlough-Rを主にキットとして販売しました。しかし、私が組み立てて販売したものについては、マルチメーターでテストしました。 Inは、Ground、D-、およびD +の入力と出力の間の良好な接続をテストし、5Vが接続されていないことをテストし、ブリッジをテストします。
これには約30秒かかり、注意を怠ると間違いを犯しやすくなりました。しかし、私が販売していた組み立てられたものの量については、それは大きな時間の約束ではありませんでした。
しかし、私はPower Blough-Rの写真を3D印刷サブredditに投稿しました。そして、TH3DStudio.comのTimから、試用版として彼の店に在庫を注文することについて問い合わせがありました。私は確かに言って、彼が何人探しているのか尋ねました。私は彼が10か20と言うと思っていましたが、彼は100から始めましょうと言いました...
<図>マルチメータで100台のデバイスを自信を持ってテストすることはほぼ不可能であるため、何かをしなければならないことはわかっていました。
<図>
ハードウェア <図>
少し時間に追われていたので、これを組み立てるのに絶対に簡単な方法を選びました!また、非常に安価なビルドでした(すべてで5ドル未満)。
- Arduino Nano(これはマイクロUSBを備えていますが、どのようなものでもかまいません)*
- ナノネジ留め式端子ブレイクアウト*
- 男性のUSBブレイクアウト*
- 女性のUSBブレイクアウト*
- いくつかのワイヤー
これの組み立てにはそれほど多くはありません。ヘッダーピンがまだナノにはんだ付けされていない場合ははんだ付けし、ネジ留め式端子のブレイクアウトに挿入します。
5本のワイヤーをオスとメスのUSBブレイクアウトにはんだ付けする必要があります。シールド線については、メスブレイクアウトにはこのためのパッドがなかったので、コネクタの側面にはんだ付けしました。これらのワイヤは、もう一方の端を剥がしてネジ留め式端子にねじ込むことができます(デバイスの抜き差しを容易にするために、たるみを残してください)
オスコネクタには、次のピンを使用しました
- GND> 2
- D +> 3
- D-> 4
- VCC> 5
- シールド> 10
私が使用したメスコネクタの場合:
- GND> 6
- D +> 7
- D-> 8
- VCC> 9
- シールド> 11
*アフィリエイトリンク
ソフトウェア
まず、Arduino IDEをダウンロードして、まだ持っていない場合はセットアップする必要があります。
Githubで使用したスケッチを取得して、ボードにアップロードできます。それが終わったら、あなたは行ってもいいです!
起動時に、スケッチは一連のテストを実行します。すべてのテストに合格すると、内蔵LEDがオンに設定されます。故障が発生した場合は、内蔵LEDが点滅します。デバイスは失敗の理由もシリアルモニターに出力しますが、私は実際にはこの機能を使用していません。
スケッチは次のテストを実行します
初期テスト:
これは、オスのピンを無視して、メスのピンが期待どおりに読み取られていることを確認するためです。このロジックの詳細については、トライステートロジックの手順を参照してください。
メインテスト:
このテストでは、5Vラインがブロックされている間にGND、D +、D-、およびシールドが接続されていることを確認します。これは、5Vライン以外のすべてを通過するPowerBlough-Rの主な機能を確認するためのものです。
ブリッジテスト:
これにより、どのピンもブリッジされていないことがチェックされます。そのため、各ピンをステップスルーして出力を設定し、他のすべてのピンがこれによる影響を受けていないことを確認します。
以下では、テストで使用される機能/概念のいくつかについて説明します。
INPUT_PULLUP
これは、プロジェクトで追加の抵抗(ピンごと)を節約できる非常に便利なものです。ボタンを使用しているときに特に便利です。
ピンがINPUT_PULLUPに設定されている場合、基本的には10kの抵抗でピンをVCCに接続します。プルアップ(またはプルダウン)抵抗がない場合、ピンのデフォルト状態はフローティングと見なされ、ピンを読み取るときに一貫性のない値が得られます。抵抗の値は非常に高いため、ピンに異なる論理レベルを適用することでピンの状態を簡単に変更できます(たとえば、ボタンを押すと、ピンがグランドに接続され、ピンはLOWになります。
FEMALEピンのピンモードをINPUT_PULLUPに設定したので、外力がない限り、ピンがどうあるべきか(HIGH)の基準点があります。テスト全体を通して、MALEピンはLOWに設定され、これら2つを接続する必要がある場合、FEMALEピンはLOWであると予想されます。
トライステートロジック
最初のテストでは、基本的にMALEピンを無視して、FEMALEピンのロジックレベルを確認したいと思いました。
MALEピンには、正しく影響を与えるロジックレベルが必要になるため、これは問題のように思われるかもしれません。
実際、ほとんどのマイクロコントローラーのピンには、トライステートロジックと呼ばれるものがあります。つまり、HIGH、LOW、HIGH-IMPEDENCEの3つの状態があります。
ハイインピーダンスは、ピンを入力として設定することで実現されます。これは、ピンの前に100メガOHMの抵抗を配置するのと同じです。これにより、ピンが回路から効果的に切断されます。
トライステートロジックは、チャーリープレックスの主な機能の1つです。これは、少数のピンを使用して個々のLEDをアドレス指定する一種の魔法の方法です。チャーリープレックスについてもっと知りたい場合は、次のビデオをチェックしてください。
テスターのテスト
テスターがネガティブなシナリオをキャッチすることをテストしない場合、テストに合格したときにデバイスが意図したとおりに機能していることを確信できるため、これは実際には非常に重要なステップです。
<図>ソフトウェア開発における単体テストに精通している場合、これはネガティブテストシナリオを作成することと同じです。
これをテストするために、間違いのあるボードをいくつか作成しました:
- ボードの反対側にUSBヘッダーをはんだ付けしました。 USBヘッダーは問題なく収まりますが、アース線は接続されず、5V線は接続されます。 (残念ながら、これは意図的に作成されたものではないため、テスターが必要であることがわかります!)
- ブリッジテストコードをテストするために、2つのピンを意図的にブリッジしました。
結論
この記事の冒頭で述べたように、これはおそらく私がArduinoで構築した中で最も便利なものです。
当初の注文でティムはさらに200台のPowerBLough-Rを注文し、時間の節約は非常に高く評価されていますが、製品が完全に機能するという自信が私が楽しんでいる主なものです。
実際、200のオーダーで、私の妻は基本的にそれらのすべてのテストを行いました。彼女は、使用がいかに迅速で、合格/不合格のインジケーターがいかにシンプルであるかを本当に気に入りました。
このガイドから学ぶことが役立つことを願っています。ご不明な点がございましたら、以下からお気軽にお問い合わせください。
よろしくお願いします
ブライアン
- YouTube
- ティンディー
コード
Github
https://github.com/witnessmenow/Power-BLough-R-Testerhttps://github.com/witnessmenow/Power-BLough-R-Tester製造プロセス