劉捷,蔣科軍,郭欽軒,王梅雨
(1.江蘇理工學院 汽車與交通工程學院,江蘇常州,213001;2.上海天巡電子設備有限公司 技術研發部,上海,201318)
金屬探測器是一種專門用于探測金屬的電子儀器,自其從20 世紀60 年代在英國誕生以來,經過數次技術革新,其探測距離、探測精度、環境適應性等性能都得到顯著提升,應用場景也從最初的礦產探測逐漸拓展到食品安全檢測、地下金屬探測、安檢、考古等諸多行業[1]。國內金屬探測技術起步較晚,綜合性能較國外有較大差距[2,3],尤其是在金屬類型識別功能上精度不高,靈敏度低[4]。針對該問題,本文利用STM32 單片機設計了一款便攜式金屬探測器,該金屬探測器利用單片機強大的函數運算和數據處理能力,采用幅值檢測和相位檢測相結合的金屬探測方法,能同時探測金屬的種類與深度,實時檢測能力和靈敏度都很好。
當前便攜式金屬探測器一般采用感應平衡式探測技術[5],其原理如圖1 所示。探測線圈由發射線圈與接收線圈組成[6],發射線圈通入高頻交流電流1i,產生交變的基本磁場,該交變磁場使得接收線圈中產生感應電流2i。當沒有金屬通過基本磁場時,感應電流i2不會發生變化;若有金屬物體通過基本磁場,則在渦流效應[7]作用下,金屬物體內會產生時變電流3i,時變電流3i將會產生一個附加磁場,該附加磁場又稱第二磁場,第二磁場方向與基本磁場相反,將會抵消掉部分基本磁場,從而接收線圈中的感應電流2i也會隨之發生變化。

圖1 感應平衡式金屬探測器的電磁原理圖
通過檢測接收線圈中的感應電流i2的幅值及相位變化,可以判斷被測金屬物體的屬性[8]。
本次設計的金屬探測器是一款便攜式金屬探測器,該探測器主要有兩種探測模式:金屬辨別模式與金屬定位模式,其中金屬辨別模式,可辨別常見金屬類別并探測金屬的埋藏深度;金屬定位模式,可比較準確地探測這兩類金屬的埋藏深度。
設計的總體方案如圖2 所示,其中主控芯片采用STM32 單片機,振蕩電路產生正弦激勵信號,信號經過濾波放大電路傳遞到發射線圈。當有金屬物體通過基本磁場時,接收線圈接收到的電信號幅值與相位發生變化,接收信號經過濾波放大電路、同步解調電路與信號檢測電路后傳輸給單片機,單片機對接收信號進行分析處理從而判定目標金屬的類別和位置,并把檢測結果通過LCD 顯示屏(Liquid Crystal Display)和蜂鳴器展現出來。另外單片機還接收控制按鍵的信號,通過按鍵,可以設置探測模式、可探測金屬種類、探測靈敏度。

圖2 設計總體方案框圖
硬件電路包含以下幾個模塊:信號發射模塊,信號接收處理模塊,信號檢測模塊、系統控制模塊以及人機交互與報警模塊。
信號發射模塊使用的是RC 振蕩電路(如圖3 所示),產生的振蕩信號為頻率8.5kHz 的正弦波。該正弦波信號經過LM386 電路放大,能在發射線圈上形成較強的交變電磁場。

圖3 信號發射模塊
信號接收處理模塊包括濾波放大電路和同步解調電路兩部分(如圖4 所示)。接收線圈、C14、C15 與R57 組成接收線圈振蕩耦合電路。接收信號從振蕩耦合電路進入濾波放大電路,以運算放大器OP37GS 為核心構成有源低通濾波放大電路,R55、C11、R56 和CA2 構成負反饋放大,放大倍數可以通過公式(1)計算。

圖4 信號接收處理模塊
式中:s=jω。
R55 與C11 并聯后負反饋到運放OP37GS,具有低通濾波作用,可以濾掉高頻噪聲信號,低通濾波的通帶截止頻率可以通過公式(2)計算。
圖4 中,參考信號為來自發射線圈的激勵正弦信號,以LM393DR 與MC14016BDG 為核心構成了同步解調電路,對接收信號進行正交分解,分解為電抗信號與電阻信號,分別從LM393DR 的引腳OUT1 和OUT2 輸出,電抗信號與電阻信號為相位差為90°的兩路方波。
上文中的電抗信號和電阻信號這兩路信號通過微分運放電路和運放電路(見圖5),最終分解成電阻分量UR1和UR2、電抗分量UX1和UX2以及接收信號的幅值信號UPP。

圖5 信號檢測模塊
金屬辨別模式下,電阻分量UR和電抗分量UX經過以運算放大器U9-LMC6035IM 為核心的一級低通濾波放大電路,過濾部分干擾信號與噪聲,并完成信號放大。同時,電阻分量UR1和電抗分量UX1經過二階RC 滯后移相電路,并通過基于U5-LMC6035IM 構建的二級低通濾波放大電路,得到電阻分量UR2和電抗分量UX2。最終,電抗分量UX1、UX2與電阻分量UR1、UR2輸入單片機。
按下精確定位按鍵,單片機從引腳PA5 輸出高電平信號,場效應管Q9 導通,直流電源V3 通過TC4S66F 為U8-LMC6035IM 構建的低通濾波放大電路供電,金屬定位模式開啟。金屬定位模式下,電阻分量UR和電抗分量UX進行濾波放大處理(見圖5),增大信號幅值,從而增強探測器判斷金屬埋藏深度的準確度。最終,接收信號幅值UPP輸入單片機。
系統控制模塊為單片機系統,由主控制芯片、供電電路、Bootloader 啟動配置電路和程序燒寫電路組成。主控制芯片采用意法半導體公司生產的32 位單片機STM32L152RCT6,該單片機是一種超低功耗Flash 型32位RISC 指令集的嵌入式-控制器的集成電路[9]。
人機交互模塊主要包括控制按鍵和LCD 顯示屏。根據功能要求,共設有8 個輕觸式的設置按鍵,如圖6 所示。

圖6 按鍵電路
LCD 顯示屏選擇段式液晶屏,段氏液晶的像素排列和外形上很自由,且成本降低。液晶屏可顯示金屬探測器當前的探測模式、可探測的金屬種類、探測靈敏度、電源電量、金屬埋藏深度以及金屬類別的特征值等信息。
報警模塊可以輸出音頻信號給揚聲器、藍牙音頻模塊或是耳機,根據檢測金屬種類不同,音頻信號的頻率也不同。
在本次的程序設計中,使用 Keil5 編譯環境,用 C 語言對程序進行編寫[10]??刂瞥绦蛄鞒虉D如圖7 所示,首先系統初始化,之后掃描按鍵并設定探測模式及其相關工作參數,接著探測器開始工作。單片機利用ADC(Analog-todigital converter)功能,讀取接收線圈的電信號,并通過算法得到相位差與幅值,之后與各級閾值逐級對比,若不在閾值范圍內則繼續探測,若在閾值范圍內則說明探測到金屬,系統判斷金屬種類與金屬位置,并更新LCD 顯示屏,發送音頻信號。

圖7 控制程序流程圖
根據信號相位差的大小,金屬探測器將相位閾值由鐵磁性金屬到非磁性金屬劃分為12 級,前4 級為鐵磁性金屬,后8 級為非鐵磁性金屬。同時探測器還可數值顯示金屬種類,0-25 為鐵磁性金屬,25-90 為非鐵磁性金屬。根據接收信號幅值的大小,金屬埋藏深度根據3 幅值閾值劃分為4 個等級,分別表示金屬距離探測線圈0-6cm、7-12cm、13-19cm、20-26cm、27+cm。
假設發射線圈的激勵正弦信號Uout為:
其中A為激勵正弦信號的幅值。
當探測到金屬時,接收線圈的接收信號Uin為:
其中:B為接收信號的幅值,θ是接收信號與發射信號的相位差,接收信號頻率與發射信號相同[8]。θ的數值可用于區分金屬種類,B的數值可用于檢測對象金屬的埋藏深度。
對式(4)分解可得:
其中,UR=Bsin (θ),UX=Bcos(θ) 。
從式(5)可以看出,對接收信號進行正交分解可得到用于區分金屬種類的電阻信號UR與電抗信號UX,其中電阻信號UR與電抗信號UX的相互正交,因此,接收信號可用復平面表示,其復平面的表達式為:
當金屬與探測器相對運動時,接收信號中的電阻信號UR與電抗信號UX也隨著時間而變化,即:
因此,由式(5)、式(7)與式(8)可得:
即先求得兩時刻之間電阻信號幅度的變化值與電抗信號幅度的變化值的比值,然后求反正切值,便是相位差θ的值。
單片機信號采樣一般都是以一個完整的周期波形為對象,所以把電阻信號的振幅作為電阻信號的變化值UR,即UR=URmax-URmin,UX1、UX2分別為URmax、URmin采樣時的電抗信號,即:
為了檢測各模塊電路是否可以實現預期功能,設計制作了小批量樣機電路板實物(如圖8 所示),PCB 板大小為12cm×12cm。并對樣機電路板進行波形檢測和功能檢測。

圖8 樣機電路板
圖9 為發射信號和濾波放大后的接收信號,這兩個波形均為類正弦波頻率為8.5kHz。

圖9 發射信號與接收信號波形對比圖
同步解調電路輸出信號波形圖如圖10 所示,接收信號通過同步解調電路進行正交分解,分解為電抗信號與電阻信號,但因高頻信號與噪音等因素,波形有些失真。

圖10 同步解調電路輸出信號波形對比圖
圖10 中的電阻信號與電抗信號經過低通濾波放大電路后,輸出信號如圖11 所示,由圖中兩路波形可見,低通濾波放大電路可以滿足系統的濾波需求。

圖11 低通濾波電路輸出信號波形對比圖
滯后移相電路的輸入與輸出信號波形對比圖12 所示,輸入信號與輸出信號的相位差為180°。

圖12 滯后移相電路的輸入與輸出信號波形對比圖
為了驗證金屬探測器的性能,對一元硬幣、五角硬幣、紫銅塊、鋁片、錫箔紙、鐵塊、金共7 種不同金屬物體分別進行金屬辨別測試與金屬定位測試,7 種金屬尺寸如表1所示。

表1 測試金屬規格尺寸
金屬辨別測試,并將測試金屬放置距離探測線圈20cm處,測試結果如表2 所示。測試結果顯示,本設計能較為準確地區分判斷金屬種類。

表2 金屬辨別測試結果(等級-數值)
金屬定位測試,將測試金屬依次放置距離探測線圈4cm、10cm、16cm、22cm、28cm 處,測試結果分別 如表3 所示。測試結果顯示,本設計可以有效地探測金屬的大致位置,但是由于金屬大小與種類等因素的影響,當金屬距離探測線圈26cm 以外時,探測結果會出現偏差。

表3 金屬定位測試(距離等級)
本文提出了一種基于 STM32 單片機的便攜式金屬探測器設計。文中詳細介紹了系統硬件結構及軟件設計,采用了模塊化設計思想,以 STM32 單片機作為核心器件,以信號發射模塊,信號接收處理模塊,信號檢測模塊等模塊為外圍部件進行信號采集與處理,將處理后的信號傳給系統控制模塊,并通過人機控制模塊進行顯示和控制,實現了探測金屬種類與埋藏深度的功能。
實驗結果顯示,該探測器可以高效、準確地區分磁性金屬或非鐵磁性金屬并判斷金屬的位置范圍,并根據數值顯示大致判斷金屬的具體種類,但當金屬距離超過26cm,金屬定位模式的探測結果會出現一定的偏差。該系統相較于市面上現有便攜式金屬探測器,在探測精度與探測范圍有一定優勢,同時具有體積小、方便攜帶、通用性強等優點,進一步優化了現有便攜式金屬探測器的性能。