曹建平, 丁 坦, 楊 輝
(1.武昌首義學院機電與自動化學院,武漢430064;2.華中科技大學水利水電學院,武漢430064;3.武漢聯(lián)特科技有限公司,武漢430064)
隨著工業(yè)4.0 的到來,機器人將廣泛應用在國民生活的各行各業(yè)中。金屬探測小車可以看成是一種檢測金屬的輪式移動機器人,它能根據(jù)指令執(zhí)行相應的運動軌跡。金屬探測是通過利用金屬傳感器在一定范圍內(nèi)掃描金屬物體,并做出精確定位,在軍事、工業(yè)和安全等領域有著廣泛的應用,如地雷探測、考古、采礦、采煤、食品檢測等[1-2]。WIFI 作為一種無線局域網(wǎng)運用技術,組網(wǎng)方便、傳輸速度快以及易于擴展,應用十分廣泛[3]。針對市面上金屬探測儀功能比較單一,將WIFI技術與金屬探測小車有機結合在一起,使小車具有無線通信、視頻傳輸、金屬檢測等功能。本文設計的金屬探測小車,以STM32 為數(shù)據(jù)處理核心,通過無線WIFI網(wǎng)絡傳輸視頻,在Android 手機端實現(xiàn)小車的控制、視頻畫面的傳輸和探測結果的顯示,探測安全而精準。
系統(tǒng)中的金屬探測采用LDC1000 電感數(shù)字轉換器,它可以和單片機進行SPI通信,只需要外接一個線圈就可以實現(xiàn)非接觸式電感檢測。LDC1000 探測金屬是利用法拉第電磁感應原理,金屬導體置于變化的磁場中,導體內(nèi)將產(chǎn)生呈渦旋狀的感應電流,稱之為電渦流或渦流,這種現(xiàn)象稱為渦流效應[4-5]。LDC1000工作原理圖如圖1 所示,在LDC1000 線圈中加上一個交變電流I1,線圈周圍產(chǎn)生交變磁場H1,如果有金屬物體進入該磁場,金屬物體會產(chǎn)生表面渦流I2,I2的方向與I1的方向相反,故渦流產(chǎn)生新的磁場H2方向與H1的方向相反,使原磁場消弱,從而導致線圈的電感量、阻抗和品質因素發(fā)生變化[6-7]。

圖1 傳感器LDC1000工作原理圖
渦流是物體大小、距離、成分的函數(shù),渦流產(chǎn)生的反向磁場同探測線圈耦合,可以等效為變壓器,渦流效應作次級線圈,探測線圈為初級線圈,根據(jù)變壓器互感作用,在探測線圈這邊就可以檢測到金屬物體的參數(shù),如圖1 所示。圖中L1和R1分別是LDC1000 線圈的電感值和寄生電阻,L2和R2則是互感值和互感寄生電阻,M(x)是互感函數(shù)[8-9]。交變電流I1產(chǎn)生交變磁場H1的同時會消耗大量的能量,為了降低能量損耗,在設計時通常給線圈并聯(lián)一個電容,構成并聯(lián)諧振回路,損耗僅僅產(chǎn)生在R1和R2上,通過檢測(R1+R′2)的損耗可以間接地檢測金屬物體。
基于STM32 的WIFI控制金屬探測小車系統(tǒng)由控制板(集成了STM32 單片機和電機驅動模塊)、無線路由器、LDC1000 金屬探測模塊、直流電機驅動輪、攝像頭、電源模塊組成,手機控制端通過和WIFI 板的雙向通信,實現(xiàn)對小車的運動控制以及數(shù)據(jù)接收。總體結構如圖2 所示。
系統(tǒng)以STM32F105 為核心,利用LDC1000 傳感器實現(xiàn)金屬探測。搭載一個監(jiān)視攝像頭,通過無線路由模塊實現(xiàn)和Android手機控制端的無線連接,手機控制端控制小車的運動,并在手機界面上實時顯示金屬探測結果和視頻監(jiān)控畫面。

圖2 系統(tǒng)總體結構圖
小車在機械結構上采用差速驅動式的四輪輪式機構,每個輪子都帶有獨立的執(zhí)行機構(直流減速電動機),左側和右側兩電動機分別串聯(lián)。小車的直線運動通過兩側驅動輪以相同的速率和方向轉動來實現(xiàn),而轉彎動作則是通過兩側驅動輪椅相同速率和不同方向轉動來實現(xiàn)。這種機械結構的優(yōu)點在于,通過直線運動和轉彎動作,探測小車可以輕松完成任意運動路徑,有效降低運動的復雜性。探測小車機械結構示意圖如圖3 所示。

圖3 小車機械結構示意圖
2.2.1 微處理器模塊
微處理器模塊是控制與數(shù)據(jù)處理的核心,金屬探測小車系統(tǒng)采用的是集成度高、功耗低、成本低的ARM Cortex-M3 內(nèi)核的STM32F105 單片機,其內(nèi)部包含I2C、SPI、USART等多個通信接口,時鐘頻率達到72 MHz,集成了許多常用的外圍設備及接口電路[10]。
2.2.2 電源模塊
電源模塊主要由電池組和電壓轉換器組成。電池組給控制板、WIFI板、LDC1000 模塊和電動機供電,考慮到小車整體機械結構的布局和穩(wěn)定以及各模塊供電的大小,選用由2 節(jié)18650 鋰電池串聯(lián)的7.4 V 電池組,并帶有保護板對電池組進行充放電保護。
電池組輸出電壓為7.4 V,而直流電動機輸入電壓范圍為3 ~9 V,LDC1000 模塊和無線路由模塊需要5 V供電,STM32 工作電壓為3.3 V,通過電壓變換器78M05 和AMS1117-3.3 將7.4 V電壓進行轉換5 V和3.3 V給各模塊供電[11]。
2.2.3 電動機及驅動模塊
系統(tǒng)中采用直流減速電動機作為動力裝置,直流電動機的驅動選用雙極型H 橋型脈寬調(diào)制方式(PWM)的L298N 芯片,L298N 芯片內(nèi)部包含兩個H橋高電壓大電流橋式驅動器,接受標準的TTL 邏輯電平信號,可以驅動46 V、2 A以下的電動機[12-13]。改變單片機I/O口狀態(tài)可以控制電動機的正反轉,使能端ENA、ENB 輸出PWM 信號,改變直流電動機的速度。L298N芯片每個輸出采用兩個IN4001 二極管來保護芯片,驅動電路圖如圖4 所示。

圖4 電動機驅動電路
2.2.4 無線信息傳輸模塊
系統(tǒng)中無線信息傳輸模塊由路由器和攝像頭構成。無線路由模塊的主要功能是實現(xiàn)網(wǎng)絡-串口指令轉發(fā),是下位機和上位機數(shù)據(jù)的中心[14]。設計中采用的是TP-LINK 703N無線路由器,對它進行改造,通過刷入OpenWrt 固件實現(xiàn)雙向數(shù)據(jù)轉發(fā),該模塊執(zhí)行IEEE 802.11b/g/n標準,增設外置2dBi天線放大發(fā)射功率,同時內(nèi)置視頻服務器,可以采集USB 攝像頭圖像。攝像頭選擇高清穩(wěn)定的天敏S605 型攝像頭,通信接口為USB協(xié)議,攝像頭通過USB接口連接無線路由器,配合路由器內(nèi)置480P 視頻服務器輸出MJPEG 視頻流,通過WIFI信道將視頻傳送給上位機。
軟件部分是金屬探測小車實現(xiàn)功能的核心,它控制系統(tǒng)所有的運行狀態(tài),主要包括通信協(xié)議、上、下位機軟件。上位機軟件顯示環(huán)境畫面和控制小車運動,下位機軟件通過接受上位機的命令,執(zhí)行相應的動作,而通信協(xié)議則是連接上位機和下位機的紐帶。
金屬探測小車系統(tǒng)通過STM32 USART 串口與無線路由器建立通信。上位機發(fā)送命令數(shù)據(jù)包到路由器,路由器把數(shù)據(jù)包解開,由串口發(fā)送到STM32 并通過控制模塊執(zhí)行相關操作[15]。
下行數(shù)據(jù)通信協(xié)議如表1 所示。上行數(shù)據(jù)通信協(xié)議如表2 所示。
上位機手機控制端主界面用于顯示視頻信息,并且通過前、后、左、右4個虛擬按鍵控制金屬探測小車的運動。上位機程序使用Eclipse +SDK +ADT 開發(fā),Eclipse是一個基于Java 的集成開發(fā)環(huán)境,擴展安裝Android SDK(軟件開發(fā)工具包)以及插件ADT創(chuàng)建一個Android控制端應用軟件[16]。上位機程序流程圖如圖5 所示。

表1 下行通信協(xié)議

表2 上行通信協(xié)議
初始化后,使用Socket 方法建立Android 手機和WIFI板的連接,控制端信號的發(fā)送和下位機上傳信號的接收都通過該通道;使用HTTPURLConnetion 方法請求和WIFI 板上內(nèi)置視頻服務器連接,接收視頻流信號并在Surfaceview上顯示。設置前、后、左、右4 個按鈕事件,監(jiān)視對應的4 個按鈕控件,一旦觸發(fā)事件就發(fā)送相應的數(shù)據(jù)。接收數(shù)據(jù)放在字符型變量里面,判斷變量的值,然后刷新主線程UI顯示金屬探測結果。

圖5 上位機程序流程圖
下位機是以STM32 為核心的驅動與檢測系統(tǒng),其主要功能是接收路由器轉發(fā)的上位機命令,來控制小車運動和探測環(huán)境金屬。在IAR 集成開發(fā)環(huán)境用C語言進行編程,流程圖如圖6 所示。

圖6 下位機程序流程圖
首先完成引腳、定時器、串口以及LDC1000 的初始化,然后進入循環(huán)體,執(zhí)行SPI 方式讀取LDC1000的采樣數(shù)據(jù),判斷該數(shù)據(jù),將相應的指令通過串口中斷發(fā)送給路由器;當上位機發(fā)出指令時,下位機串口則觸發(fā)接收中斷接收數(shù)據(jù),然后調(diào)用命令解釋函數(shù)對數(shù)據(jù)進行判斷,根據(jù)命令下達驅動指令驅動電機。
首先選擇5 種不同的金屬體,在距離LDC1000 探測線圈中心點投影不同距離進行了測試,并記錄下LDC1000 采樣數(shù)據(jù),如表3 所示。

表3 LDC1000 采樣數(shù)據(jù)
根據(jù)測試的數(shù)據(jù)分析,金屬物體的大小、成分和探測線圈的距離都會影響LDC1000 采樣輸出的數(shù)據(jù)。對LDC1000 采樣數(shù)據(jù)進行處理,編寫代碼見表4。具體的思路是,對LDC1000 采樣濾波函數(shù)返回的參數(shù)值進行判斷,當返回參數(shù)值不大于0x3000 時,向串口發(fā)送字節(jié)0x00,這個指令表示當前小車沒有探測到金屬,此時感應強度為0,依照通信協(xié)議向上位機發(fā)送過去,手機界面顯示綠色的“當前金屬感應強度為0”;當參數(shù)值在0x3000 ~0x3050 之間時,向串口發(fā)送字節(jié)0x01,表示此時探測到金屬,感應強度為1,手機界面顯示黃色的“當前金屬感應強度為1”;依此類推,設置10 個感應強度級別。

表4 LDC1000 采樣數(shù)據(jù)處理
然后對小車探測金屬性能進行測試,在地面放置一部iPhone手機,手機初始界面顯示為綠色的“0”,如圖7 所示。通過界面虛擬按鍵控制小車向手機的位置移動,當小車探測線圈檢測到iPhone 手機,手機控制端最終顯示感應強度為紅色的“當前金屬感應強度為10”,如圖8 所示。

圖7 探測手機性能測試

圖8 探測到手機時的手機界面
圖9 和10 分別是檢測1 元硬幣的初始狀態(tài)和檢測到硬幣時的手機界面。分別對其他面值的硬幣和鑰匙進行了測試,小車都能根據(jù)手機端指令做出動作,手機控制端也能實時收到金屬探測結果,視頻監(jiān)控畫面也在實時更新,測試結果準確,這里不再一一贅述它們的測試結果。

圖9 探測1元硬幣性能測試

圖10 探測到1元硬幣時的手機界面
本文設計了一種基于STM32 的WiFI控制金屬探測小車系統(tǒng),LDC1000 傳感器為小車金屬探頭,完成了探測小車的整體設計、各部分硬件模塊的設計以及軟件程序的編寫與調(diào)試。金屬探測小車系統(tǒng)的測試性能表明,WIFI無線控制靈敏度高,獲取攝像頭的視頻信息清晰、流暢,檢測金屬的準確度高,探測小車穩(wěn)定性良好、適用性強。該小車系統(tǒng)可以有效的避免危險場合探測金屬物體的二次傷害,具有一定的推廣價值和實際意義。