李紅宇,馬 進(jìn),趙雨秋,劉 文
(華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071003)
金屬探測器(Mental Detector),是一類能夠探測到金屬導(dǎo)體的電子儀器。金屬探測裝置能夠在旅客進(jìn)入車站的時(shí)候?qū)ζ渌鶖y帶的包裹進(jìn)行檢測,以防金屬危險(xiǎn)物品帶入其中[1]。它可以探測到埋在地下的金屬管道,甚至應(yīng)用在軍事上探測爆炸物;還能用在建筑行業(yè)中以探測墻壁中的電線電纜等金屬物體[2]。目前,金屬探測器已被廣泛應(yīng)用,成為探測金屬導(dǎo)體物體的重要設(shè)備[3]。實(shí)現(xiàn)了不用人們手動操作移動金屬探測器,即可自動找到一塊材料里面的金屬。這個(gè)功能將極大節(jié)省人力支出,減少工作成本,對于彌補(bǔ)金屬探測器的自動檢測,并實(shí)現(xiàn)定位方面功能的空缺,有著較大的意義。
圖1 總體框架圖Fig.1 Overall framework diagram
本文設(shè)計(jì)了一輛具有簡單智能化的簡易小車[4],該設(shè)計(jì)是基于單片機(jī)的智能控制,控制靈敏度高;采用霍爾傳感器,周圍的金屬物體檢測度高;WEMOS單片機(jī)為核心處理器,檢測和分析實(shí)驗(yàn)結(jié)果,提高了系統(tǒng)的精度和可靠性。對物體利用超聲波模塊進(jìn)行掃描,當(dāng)小車距離物體小于某個(gè)閾值,小車自動避障;對金屬物體的遠(yuǎn)近進(jìn)行規(guī)劃,慢慢地靠近探測線圈,使磁場發(fā)生變化,從而電流和阻抗也跟著變化,并通過探測報(bào)警的聲音變化來反應(yīng)金屬的有無。
實(shí)現(xiàn)系統(tǒng)功能:在規(guī)定的范圍,小車避障,檢測金屬物體,探測報(bào)警及該系統(tǒng)采用的結(jié)構(gòu)和實(shí)現(xiàn)的功能。將系統(tǒng)框架分為主機(jī)和從機(jī)兩個(gè)部分,主機(jī)完成控制小車移動等功能,從機(jī)完成找尋目標(biāo)和金屬物體探測報(bào)警等功能[5]。編寫一個(gè)程序代碼,并將其導(dǎo)入到手機(jī)里面,通過操作手機(jī)控制系統(tǒng),實(shí)現(xiàn)智能金屬探測操作。使其系統(tǒng)連接緊密,各模塊相互配合,完成工作;然后,從硬件上將系統(tǒng)框架分為金屬探測模塊、超聲波模塊、電機(jī)及其驅(qū)動模塊、電源模塊等幾個(gè)部分??傮w框架圖如圖1所示。
根據(jù)系統(tǒng)的應(yīng)用場景,研究實(shí)現(xiàn)的系統(tǒng)功能如下:
1)從機(jī)能夠根據(jù)金屬物體的有無,找尋探測金屬物體,產(chǎn)生渦流效應(yīng)。
2)設(shè)計(jì)一個(gè)自主報(bào)警電路。
3)將程序代碼導(dǎo)入手機(jī),通過手機(jī)操作,實(shí)現(xiàn)系統(tǒng)的控制。
4)操作手機(jī),系統(tǒng)能夠?qū)崿F(xiàn)前后左右各個(gè)方向的探測。
5)通過操作智能小車,線性霍爾傳感器去探測金屬物體,并實(shí)現(xiàn)自動智能報(bào)警。
圖2 硬件設(shè)計(jì)原理圖Fig.2 Schematic diagram of hardware design
金屬探測系統(tǒng)的硬件設(shè)計(jì)原理圖如圖2所示,整個(gè)系統(tǒng)由單片機(jī)最小系統(tǒng)、金屬探測模塊、報(bào)警模塊、電機(jī)驅(qū)動模塊、WIFI模塊和電源模塊組成[6]。主要完成的功能如下:
1)金屬探測模塊和報(bào)警模塊完成金屬探測功能,并發(fā)出報(bào)警信號。
2)驅(qū)動模塊驅(qū)動4個(gè)直流減速電機(jī),實(shí)現(xiàn)金屬探測器的可移動功能。
3)WIFI模塊實(shí)現(xiàn)單片機(jī)與手機(jī)的無線數(shù)據(jù)傳輸功能,完成手機(jī)對小車無線控制功能。
4)電源模塊實(shí)現(xiàn)電壓轉(zhuǎn)換和電壓穩(wěn)定的功能,為整個(gè)系統(tǒng)提供所需的工作電壓。
WEMOS芯片集成了一個(gè)ESP8266WIFI模塊,如圖3所示。它有3種編程方式:使用AT指令進(jìn)行操作、LUA語言編程、Arduino開發(fā)環(huán)境編程[7]。
ESP8266可以實(shí)現(xiàn)的主要功能包括:串口透傳,PWM調(diào)控,GPIO控制[8]。它支持STA、AP等工作模式[9]。其中,將模塊設(shè)置為STA模式,可通過路由器連接互聯(lián)網(wǎng),作為上網(wǎng)設(shè)備使用等。
將WEMOS芯片構(gòu)架為一個(gè)服務(wù)器,等待客戶端接入,若金屬傳感器檢測到金屬,將數(shù)據(jù)傳入芯片,芯片驅(qū)動報(bào)警模塊;同時(shí),芯片還不斷地掃描是否有數(shù)據(jù)傳來,利用客戶端的數(shù)據(jù)判斷,驅(qū)動小車。主程序流程圖如圖4所示。
圖3 WIFI模塊圖Fig.3 WIFI module diagram
WEMOS板載無線網(wǎng)卡,將其設(shè)置為STA模式[10],然后WEMOS架設(shè)為一個(gè)FTP服務(wù)器。若將手機(jī)APP作為客戶端連入WEMOS,就可以實(shí)現(xiàn)手機(jī)APP對小車的控制。
#include<ESP8266WiFi.h>
char *ssid="D-Link_DIR-612";
char *passward="13473904192";
WiFiServer server(88);
void initwifi(){
WiFi.mode(WIFI_STA);
WiFi.begin(ssid,passward);
while(WiFi.status()!=WL_CONNECTED){
Serial.print(".");
delay(500);
}
Serial.println(WiFi.localIP());
}
void setup() {
Serial.begin(115200);
initwifi();
pinMode(D5,OUTPUT);
digitalWrite(D5,HIGH);
server.begin();
}
void loop() {
char cmd;
WiFiClient cli=server.available();
while(cli.connected())
while(cli.available()){
cmd=cli.read();
swicth(cmd){
圖4 主程序流程圖Fig.4 Main program flow chart
case 1:
}
}
}
}
該代碼是整體的一部分,可實(shí)現(xiàn)通過無線網(wǎng)絡(luò)對小車進(jìn)行控制。WEMOS芯片作為一個(gè)服務(wù)器,當(dāng)有客戶端接入時(shí),不斷掃描客戶端是否有數(shù)據(jù)傳來,可以借助該程序結(jié)合驅(qū)動程序,實(shí)現(xiàn)小車的無線控制。
實(shí)物圖如圖5所示。對實(shí)物進(jìn)行了調(diào)試,測試金屬探測小車是否能夠?qū)崿F(xiàn)對金屬物體的探測功能,測試小車能否實(shí)現(xiàn)避障功能。經(jīng)過多次調(diào)試,發(fā)現(xiàn)當(dāng)探測觸頭調(diào)到10cm左右時(shí),探測器的靈敏度高,精確度高,誤差比較小。因此,把它的探測觸頭調(diào)在10cm范圍。調(diào)好范圍之后,需要探測記錄數(shù)據(jù)。將1元硬幣、5角硬幣和1個(gè)自己制作的小鐵塊,分別放置于一定的地方,然后操作智能小車,對其進(jìn)行測試,每種金屬分別探測5次,得到的探測結(jié)果見表1。
金屬物體探測器調(diào)試結(jié)果基本都是正確的,但因探測模塊只有一定的探測范圍,以及硬件設(shè)備不良,都會影響儀器工作的調(diào)試,存在一定的誤差。當(dāng)小車超聲波探頭與地面物體距離小于3cm,小車自動后退。經(jīng)過多次試驗(yàn),避障功能基本成功,但由于超聲波模塊的感測精度以及芯片的計(jì)算速度的影響,存在一定誤操作。
表1 探測結(jié)果Table 1 Detection results
圖5 實(shí)物圖Fig.5 Physical image