背景介紹
可能是我做過的最有用的 Arduino 項目!用于對我所銷售的產(chǎn)品使用的自動測試儀。這個項目可能看起來并不起眼,但可能是我用 Arduino 做過的最有用的東西。它是我銷售的名為 Power Blough-R 的產(chǎn)品的自動測試儀。它不僅節(jié)省了我的時間(目前它已經(jīng)為我節(jié)省了至少 4 個小時,而且還在不斷增加),而且它還讓我更加相信產(chǎn)品在發(fā)貨前 100% 正常運行。
Power Blough-R,發(fā)音為“Power Blocker”,用于解決您在使用 octoprint 和 3D 打印機時經(jīng)常遇到的反饋電源問題。
要使用測試儀,您只需將 Power Blough-R 放入 USB 接頭并按下 Arduino Nano 上的重置按鈕。測試儀將運行一系列測試,并使用 Nano 的內(nèi)置 LED 指示設(shè)備是通過還是未通過測試。燈光穩(wěn)定表示通過,閃爍則表示失敗。
當(dāng)你有很多東西要做時,找到能夠減少每個進程時間的方法會對整個過程產(chǎn)生巨大的影響。于是,我使用這個測試儀將我測試一個單元的時間從大約 30 秒減少到 5 秒。雖然 25 秒聽起來并不多,但當(dāng)你需要重復(fù) 100 次這樣的事情時,它就能夠發(fā)揮巨大的功效!
還有一個可能令人印象深刻的點,就是通過使用這個工具,我測試 Power Blough-R 兩次所需的時間比打開它隨附的防靜電袋要短!
您可能不需要構(gòu)建這個確切的設(shè)備,但希望我做這個項目的一些想法可能對您有用。
Power Blough-R
那么什么是 Power Blough-R,它有什么作用?
如果您曾經(jīng)將 Octoprint 與您的 3D 打印機一起使用,那么通常會出現(xiàn)這樣一個問題,即您的打印機屏幕被樹莓派的 USB 電源激活保持常亮,即使打印機電源關(guān)閉也是如此。雖然這不會有什么大影響,但這可能會讓我們的使用體驗大幅下降,尤其是在較黑暗的環(huán)境時。
Power Blough-R 是一個簡單的 PCB,上面有一個公和一個母 USB 連接器,但它不連接 5V 線。
還有其他方法可以解決這個問題,像是剪掉 USB 電纜的 5V 線或在 5V 連接器上貼一些膠帶,但我想想出一種簡單、可靠的方法來達到相同的結(jié)果,而不會損害任何USB數(shù)據(jù)線。
在此之前,我?guī)缀醪豢赡苡邪盐盏赜?a href="http://m.xsypw.cn/v/tag/796/" target="_blank">萬用表測試 100 臺設(shè)備,所以這就是這個項目誕生的意義!
硬件
我選擇了最簡單的方法來組裝它,因為我的時間稍微有點緊迫。與此同時,也是一個便宜的構(gòu)建方法。
Arduino Nano
納米螺絲接線端子
公頭 USB 分接頭
母 USB 分接頭
一些電線
將它們焊接到 nano 上,然后插入螺絲接線端子。
5 根電線應(yīng)焊接到公母 USB 分接頭上。請注意屏蔽線,母接頭沒有為此設(shè)置的焊盤,因此我將其焊接到連接器的側(cè)面。這些電線可以在另一端剝開并擰入螺絲端子(注意:確保留出一些空間,以便更容易插入和拔出設(shè)備)
對于公連接器,我使用了以下引腳
接地〉 2
D+〉 3
D-〉 4
VCC〉 5
Shield〉 10
對于我使用的母連接器:
接地〉 6
D+〉 7
D-〉 8
VCC〉 9
Shield〉 11
軟件
首先,您需要下載Arduino IDE并進行設(shè)置。
你可以在本文下方提供的鏈接里抓取我使用的草圖并將其上傳到板上。完成后,您就可以開始了!
在啟動時,草圖會通過一系列測試。如果所有測試都通過,它會將內(nèi)置 LED 設(shè)置為亮起。如果有任何故障,它會閃爍內(nèi)置的 LED。設(shè)備也會將故障原因輸出到串口監(jiān)視器,但我實際上并沒有使用此功能。
草圖通過以下測試
初步測試:
這是為了檢查母針是否按預(yù)期讀取,而忽略公針。有關(guān)這一步的更多信息,請參閱三態(tài)邏輯的步驟。
主要測試:
該測試檢查 GND、D+、D- 和 Shield 在 5V 線路阻塞時是否已連接。這是為了檢查 Power Blough-R 的主要功能,它通過除 5V 線之外的所有東西。
橋接測試:
這將檢查是否沒有任何引腳橋接在一起。因此,它會逐步檢查每個引腳,設(shè)置其輸出,然后檢查所有其他引腳是否不受此影響。
下面我將介紹測試中使用的一些功能/概念:
INPUT_PULLUP
這是一個非常有用的方法,它可以在您的項目中為您節(jié)省一個額外的電阻器(每個引腳)。當(dāng)您使用按鈕時,它特別有用。
當(dāng)一個引腳設(shè)置為 INPUT_PULLUP 時,它基本上通過一個 10k 電阻將引腳連接到 VCC。如果沒有上拉(或下拉)電阻,則引腳的默認狀態(tài)被認為是浮動的,當(dāng)您讀取引腳時會得到不一致的值。由于它是一個相當(dāng)高的電阻值,因此通過向引腳應(yīng)用不同的邏輯電平很容易改變引腳的狀態(tài)(例如,當(dāng)按下按鈕時,它將引腳連接到地并且引腳將讀取為低電平。
我將 FEMALE 引腳的引腳模式設(shè)置為 INPUT_PULLUP,因此只要沒有外力作用,我就有一個引腳應(yīng)該是(高)的參考點。在整個測試過程中,MALE 引腳設(shè)置為低電平,當(dāng)這兩個應(yīng)該連接時,我們預(yù)計 FEMALE 引腳為低電平。
三態(tài)邏輯
對于初始測試,我想檢查 FEMALE 引腳的邏輯電平,而基本上忽略 MALE 引腳。這似乎是一個問題,因為 MALE 引腳必須具有一些會影響的邏輯電平。
實際上,大多數(shù)微控制器的引腳都有所謂的三態(tài)邏輯,這意味著它們可以處于 3 種狀態(tài):高、低和高阻抗
高阻抗是通過將引腳設(shè)置為輸入來實現(xiàn)的。這相當(dāng)于在引腳前放置一個 100 兆歐電阻,這將有效地將其與我們的電路斷開。
三態(tài)邏輯是 Charlie-plexing 的主要功能之一,這是一種使用較少數(shù)量的引腳尋址單個 LED 的神奇方式。
測試測試儀
這實際上是一個非常重要的步驟,因為如果您不測試測試儀是否捕捉到負面場景,那么您能否確信當(dāng)測試通過時設(shè)備正在按預(yù)期工作。
如果您熟悉軟件開發(fā)中的單元測試,這相當(dāng)于創(chuàng)建負面測試場景。
為了測試這一點,我還特意創(chuàng)建了幾個有錯誤的板:
將 USB 接頭焊接在電路板的錯誤一側(cè)。USB 接頭可以很好地安裝,但接地線不會連接,5V 線會連接。
故意橋接兩個引腳來測試橋接測試代碼。
-
測試儀
+關(guān)注
關(guān)注
6文章
3912瀏覽量
56377 -
自動設(shè)備
+關(guān)注
關(guān)注
0文章
3瀏覽量
5539 -
Arduino
+關(guān)注
關(guān)注
188文章
6485瀏覽量
189629
發(fā)布評論請先 登錄
相關(guān)推薦
網(wǎng)絡(luò)阻抗測試儀
網(wǎng)絡(luò)阻抗測試儀
網(wǎng)絡(luò)阻抗測試儀
機內(nèi)通話器自動測試儀設(shè)計
繼電器自動測試儀
網(wǎng)線測試儀怎么用_網(wǎng)線測試儀的使用方法圖解
電容測試儀,Capacitance Tester
設(shè)計一個簡易電路特性測試儀的試題詳細說明

評論