DIY -精靈PI- ESP32 +智能手機敏感金屬探測器
一個靈敏的金屬探測器,這是微控制器和Android智能手機之間合作的一個很好的例子。
脈沖感應(yīng)(PI)金屬探測器的工作原理是通過線圈發(fā)送短脈沖電流來產(chǎn)生磁場。這種脈沖持續(xù)很短的時間,通常是微秒。當(dāng)脈沖被傳輸時,磁場從線圈向外擴散。如果線圈附近有金屬物體,就會破壞磁場。然后,線圈檢測由金屬物體引起的磁場變化,從而產(chǎn)生不同于正常脈沖的反射脈沖。
這種差異被處理并以聲音或短嗶嗶聲的形式發(fā)出,其頻率根據(jù)被探測金屬物體的距離和尺寸而變化。在我之前的幾個視頻中,我介紹了制作這樣一個金屬探測器的方法,包括一個非常相似的,用Arduino納米微控制器。這一次,該設(shè)備使用更強大的ESP32微控制器板,還包含內(nèi)置藍(lán)牙,所以現(xiàn)在的結(jié)構(gòu)更簡單。
原始項目的創(chuàng)建者是Neco Desarrollo,您可以在給定的頁面上找到其他偉大的項目。他關(guān)于微控制器和智能手機共生的想法非常巧妙。微控制器很容易接受和傳輸來自外部電子電路的信號,智能手機是一個強大的處理工具,以及結(jié)果的視聽呈現(xiàn)。
本項目由PCBWay贊助。今年,PCBWay將于3月3日至4月31日舉辦第十一屆徽章設(shè)計大賽。按照設(shè)計要求,以給定的方式提交您的設(shè)計,并成為一個有價值的現(xiàn)金和優(yōu)惠券獎品的獲勝者。這次比賽不僅僅是一場比賽——它是對11年創(chuàng)新的慶祝,也是一個夢想PCBWay未來無限可能性的機會。
所有PI金屬探測器的輸入電路幾乎相同,由以下組件組成:
?一種由20圈絕緣銅線組成的搜索線圈,其橫截面為0.4mm^2,呈直徑為20cm的圓形。
?一個運算放大器IC,我特別使用TL081,但電路的工作原理幾乎與OP07, LM741和CA3130 IC相同。
?具有一個或兩個驅(qū)動晶體管的功率MOSFET。在這種情況下,可以使用IRF740, BC547和BC557,但可以使用近似替代品
?7805穩(wěn)壓器為微控制器供電
?還有一些電阻、電容和二極管。
為了給金屬探測器供電,我使用了三節(jié)串聯(lián)的鋰電池,大約是12V。最大總功耗約150mA。
在最初的測試中,我無法完全激活A(yù)ndroid應(yīng)用程序。藍(lán)牙連接正常建立,但當(dāng)我按下應(yīng)用程序的刷新按鈕時,它從屏幕上消失了,或者出現(xiàn)了錯誤,這取決于Android操作系統(tǒng)的版本。由于這個應(yīng)用程序不是我的,我通常也不具備修改的條件和知識,所以我主要是用微控制器或者Arduino代碼修改輸入部分。更改包括以下內(nèi)容:我將初始占空比值的順序從16更改為13,并且代碼中的更正行看起來像這樣:
在此之后,Android應(yīng)用程序?qū)⒄9ぷ?,我們可以開始測試。首先,讓我解釋一下應(yīng)用程序是如何工作的。在第一次啟動后,我們?nèi)ピO(shè)置并選擇金屬探測器版本Spirit PI。然后我們進(jìn)入藍(lán)牙設(shè)置,選擇ESP32-Spirit PI-2,然后返回。
現(xiàn)在我按下刷新按鈕,從這一刻起,設(shè)備就準(zhǔn)備好工作了。有趣的是,我們可以很容易地改變產(chǎn)生的頻率和占空比的值,根據(jù)我們是想檢測大質(zhì)量還是小金屬物體來獲得不同的性能。
接下來,讓我們使用示波器來跟蹤我們帶到微控制器輸入的信號的形狀和變化,以便進(jìn)一步分析。
這是一開始的樣子,現(xiàn)在通過把一個金屬物體靠近搜索線圈,信號的幅度和占空比發(fā)生了變化。
這種變化由微控制器檢測到,并通過藍(lán)牙傳輸?shù)街悄苁謾C,然后智能手機發(fā)出音頻和視覺通知。
現(xiàn)在讓我們看看探測器在近似真實的空氣條件下是如何反應(yīng)的,記住探測距離在地面上大大縮短了。
至于這個金屬探測器的性能,您可以注意到它們幾乎與前面介紹的Arduino Nano金屬探測器相同,考慮到它們在很大程度上依賴于Android應(yīng)用程序,在這兩種情況下實際上是相同的。
最后,一個簡短的結(jié)論:這是一個從外部電路接收數(shù)據(jù)并對其進(jìn)行部分處理的微控制器與Android智能手機之間合作的好例子。Neco Desarrollo的這個創(chuàng)意不僅在這一領(lǐng)域具有巨大的潛力,而且在許多其他設(shè)備中也具有巨大的潛力,考慮到現(xiàn)在我們都擁有具有令人難以置信的高處理能力的智能手機。
本文編譯自hackster.io