背景介紹
可能是我做過的最有用的 Arduino 項目!用于對我所銷售的產品使用的自動測試儀。這個項目可能看起來并不起眼,但可能是我用 Arduino 做過的最有用的東西。它是我銷售的名為 Power Blough-R 的產品的自動測試儀。它不僅節省了我的時間(目前它已經為我節省了至少 4 個小時,而且還在不斷增加),而且它還讓我更加相信產品在發貨前 100% 正常運行。
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 電源激活保持常亮,即使打印機電源關閉也是如此。雖然這不會有什么大影響,但這可能會讓我們的使用體驗大幅下降,尤其是在較黑暗的環境時。
Power Blough-R 是一個簡單的 PCB,上面有一個公和一個母 USB 連接器,但它不連接 5V 線。
還有其他方法可以解決這個問題,像是剪掉 USB 電纜的 5V 線或在 5V 連接器上貼一些膠帶,但我想想出一種簡單、可靠的方法來達到相同的結果,而不會損害任何USB數據線。
在此之前,我幾乎不可能有把握地用萬用表測試 100 臺設備,所以這就是這個項目誕生的意義!
硬件
我選擇了最簡單的方法來組裝它,因為我的時間稍微有點緊迫。與此同時,也是一個便宜的構建方法。
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 的神奇方式。
測試測試儀
這實際上是一個非常重要的步驟,因為如果您不測試測試儀是否捕捉到負面場景,那么您能否確信當測試通過時設備正在按預期工作。
如果您熟悉軟件開發中的單元測試,這相當于創建負面測試場景。
為了測試這一點,我還特意創建了幾個有錯誤的板:
將 USB 接頭焊接在電路板的錯誤一側。USB 接頭可以很好地安裝,但接地線不會連接,5V 線會連接。
故意橋接兩個引腳來測試橋接測試代碼。
-
測試儀
+關注
關注
6文章
3736瀏覽量
54857 -
自動設備
+關注
關注
0文章
3瀏覽量
5509 -
Arduino
+關注
關注
188文章
6469瀏覽量
187077
發布評論請先 登錄
相關推薦
評論