馮 洋
(渭南師范學(xué)院 數(shù)理學(xué)院,陜西渭南714099)
基于金屬探測器的自動循跡小車設(shè)計
馮 洋
(渭南師范學(xué)院 數(shù)理學(xué)院,陜西渭南714099)
針對目標(biāo)金屬物的非接觸式探測定位和移動的具體要求,設(shè)計了一種自動循跡小車。該小車以MSP430F5529為控制核心,采用TI公司的LDC1000作為循跡傳感器,實現(xiàn)了在規(guī)定的具有0.6~0.9 mm細(xì)鐵絲標(biāo)識的平面跑道上自動按順時針方向循跡前進的功能,在行進過程中同時也可實現(xiàn)硬幣的檢測和報警。多次測試表明,該循跡小車達到了預(yù)期的設(shè)想,基本完成了各項要求,具有性能穩(wěn)定、抗干擾能力強的特點。
MSP430F5529;LDC1000;循跡
根據(jù)目標(biāo)金屬物的非接觸式探測定位和移動的具體要求,設(shè)計實現(xiàn)了一種自動循跡小車。小車的軌跡如圖1所示,軌跡由0.6~0.9 mm細(xì)鐵絲標(biāo)識,同時在軌道上隨機出現(xiàn)4枚硬幣,要求小車能夠沿鐵絲跑道準(zhǔn)確前進并檢測出硬幣[1]。
圖1 小車行走路徑圖
圖2 系統(tǒng)硬件框圖
為了達到要求,設(shè)計采用MSP430F5529單片機作為控制核心、采用LDC1000傳感器實現(xiàn)金屬的檢測,同時結(jié)合舵機、直流電機、測速模塊、12864液晶顯示屏、蜂鳴器等模塊實現(xiàn)自動循跡前進、顯示、報警等功能[2-4]。系統(tǒng)硬件總體結(jié)構(gòu)框圖如圖2所示。
小車動力部分采用HC02-48型直流電機和PWM控制方式以保證較低的功耗和對車速的精準(zhǔn)控制,同時利用舵機帶動LDC1000傳感器在設(shè)定范圍內(nèi)進行平面掃描測量,再通過單片機的SPI接口實現(xiàn)高速數(shù)據(jù)采集,從而順利實現(xiàn)小車在設(shè)定軌道上的準(zhǔn)確運行。
設(shè)計采用MSP430F5529作為主控芯片,該芯片自帶PWM脈沖輸出端口,通過設(shè)定使其工作在8位PWM模式下,通過設(shè)置輸出占空比達到調(diào)節(jié)電機速度的目的。采用PWM調(diào)速,即通過改變平均電壓調(diào)節(jié)轉(zhuǎn)速:
電機裝好后,β是個常數(shù),改變電機電壓,可以保持機械特性曲線平行下移,而硬件不改變。通過對單片機編程可控制脈沖的占空比,即可實現(xiàn)電機的調(diào)速。當(dāng)需要拐彎時,單片機產(chǎn)生兩個不同占空比的脈沖,由左右速率差來進行拐彎,能實現(xiàn)90°以上的大角度快速拐彎,通過控制轉(zhuǎn)輪的速率和方向確定小車的行進軌道。[5-6]
速度與控制算法可以分為3個部分:直行、直行偏離微調(diào)、轉(zhuǎn)彎。
直行速度控制:結(jié)合設(shè)計要求及小車定性,將左右輪設(shè)置同一最大值。根據(jù)傳感器傳回的信號判斷,若車體發(fā)生偏移,則調(diào)用車身調(diào)整函數(shù)進行微調(diào)。
直行偏離微調(diào):若檢測到左偏,右側(cè)電機減速;否則左側(cè)電機減速。
轉(zhuǎn)彎控制:當(dāng)檢測到金屬線,并且舵機一直左轉(zhuǎn)時,左輪速度減慢,右輪速度保持不變。當(dāng)轉(zhuǎn)過一定角度后,直行并循線檢測前行,實現(xiàn)左轉(zhuǎn),右轉(zhuǎn)同理。
循線檢測的實施實際上是使用了一種簡單的算法進行金屬源尋找,即直接使舵機的轉(zhuǎn)角與金屬源的位置成比例,在檢測金屬確定位置時設(shè)置13個位置進行掃描巡點,使用金屬傳感器檢測小車是否一直在鐵絲軌道上運行。金屬源位置掃描定位圖如圖3所示。
圖3 金屬源位置定位
金屬源的檢測采用LDC1000傳感器,該傳感器是TI公司推出的一款全新的電感數(shù)字轉(zhuǎn)換器,利用了電磁感應(yīng)原理,LDC實際上是一個特殊的ADC,外接一個傳感線圈。[7]LDC1000是通過檢測等效并聯(lián)電阻RP來測定金屬物體是靠近還是遠(yuǎn)離線圈,當(dāng)有金屬物體接近線圈時,就會使傳感器的數(shù)值發(fā)生變化,對這一變化進行判斷便可得知小車是否在正確的軌道上,同時通過對金屬源檢測位置的定位檢測可以得到當(dāng)前前進的方向是否偏離,以便糾正。[8]同時當(dāng)傳感器檢測為鐵絲時,由于鐵絲的表面積較小,單片機讀出LDC1000采集回來的數(shù)據(jù)就小;當(dāng)檢測為硬幣時,由于硬幣的面積比鐵絲大多了,所以采集回來的數(shù)據(jù)將比之前大很多。因此,可通過多次實驗人為交互式地設(shè)定一個閾值來區(qū)分鐵絲與硬幣。
本設(shè)計采用LDC1000來判斷小車是否行走在細(xì)鐵絲上。LDC1000收集到的數(shù)據(jù)發(fā)送給單片機,單片機經(jīng)過計算后再判斷小車下一步的行走方向。
MSP430F5529與LDC1000的硬件連接如圖4所示。通過SDI、SDO、SCLK 3根數(shù)據(jù)線互連實現(xiàn)高速數(shù)據(jù)傳送。其中MSP430F5529對LDC1000進行數(shù)據(jù)讀寫采用SPI通信,首先將片選信號CSB置低,然后MSP430F5529通過SDI線向LDC1000寫入訪問寄存器地址,最高位為0表示寫入,為1表示讀出,剩余7位為寄存器地址。如果為讀,SDO線上發(fā)送來自其地址寄存器上的8位數(shù)據(jù);如果為寫,SDI線接收來自MSP430F5529的8位數(shù)據(jù)并且將其寫入寄存器。
圖4 LDC1000與MCU連接圖
電機驅(qū)動采用L298芯片,其內(nèi)部包含4通道邏輯驅(qū)動電路,具有2套H橋電路,可同時控制2個電機,工作電壓高,且輸出電流可高達2 A,能為電機提供較大的動力,以便提高尋找速度。電機驅(qū)動電路如圖5所示。
圖5 電機驅(qū)動電路
單片機外接液晶LCD12864用于顯示時間、距離、檢測數(shù)值等相關(guān)參數(shù),在檢測到硬幣時蜂鳴器發(fā)出報警信號。液晶顯示及報警電路如圖6所示。
軟件設(shè)計首先進行初始化,然后立刻調(diào)用顯示子函數(shù),進入顯示界面將時間、距離、舵機狀態(tài)等信息顯示出來。再根據(jù)不同的功能調(diào)用不同的函數(shù),核心算法和控制相關(guān)的代碼放在子程序中。在每個控制周期,讀取傳感器的反饋值,經(jīng)過計算后,對直流電機進行控制,從而控制小車的行駛狀態(tài),并且將傳感器所測的數(shù)據(jù)及時顯示出來。傳感器采集到的數(shù)據(jù)經(jīng)過MCU的計算用來控制舵機的動作,舵機執(zhí)行過程中會產(chǎn)生新的傳感器測量數(shù)值,當(dāng)前測量數(shù)值又作用于小車,從而控制小車轉(zhuǎn)向、直行或后退運動。系統(tǒng)主流程圖如圖7所示,小車控制流程圖如圖8所示。
圖6 液晶顯示及報警電路
圖7 系統(tǒng)主流程圖
圖8 小車控制部分程序流程圖
在小車循跡程序設(shè)計中,對LDC1000所檢測到的多組數(shù)值求其平均值進行處理,并把此均值設(shè)定為標(biāo)準(zhǔn)參考值。然后小車開始行進,行進過程中不斷檢測是否有硬幣(使LDC1000一直來回擺動檢測),若檢測到有硬幣則蜂鳴器報警,若沒有硬幣則繼續(xù)行駛。行駛過程中依然不斷檢測,若檢測到小車在鐵絲上行走,則說明小車狀態(tài)正常,使其繼續(xù)保持前行。若檢測到小車不在鐵絲正上方,則需要立即判斷鐵絲是處于小車的左邊還是右邊,從而控制小車的轉(zhuǎn)向。若小車已經(jīng)徹底檢測不到任何信號,說明其已經(jīng)脫軌,立刻使小車后退,直至能檢測到信號為止。
表1 小車全程用時數(shù)據(jù)記錄
小車在賽題要求的標(biāo)準(zhǔn)軌道上進行正常運行測試,每次跑1圈,全程用時記錄如表1所示。
在賽題要求的標(biāo)準(zhǔn)軌道直線段上隨機放置4枚直徑約為19 mm的鍍鎳鋼芯硬幣,再將小車放在軌道上進行測試,每次跑1圈,測試硬幣檢測準(zhǔn)確度。因現(xiàn)行硬幣都以鋼芯電鍍其他金屬方式制作,因此LDC1000傳感器可以有效識別鍍層特征,從而實現(xiàn)硬幣鑒別。有關(guān)硬幣檢測的檢測結(jié)果如表2所示。
表2 硬幣漏檢率和誤檢率測試
通過數(shù)次測試與改進,本系統(tǒng)基本完成了設(shè)計的要求,通過對記錄數(shù)據(jù)進行分析,可得該小車在直行和轉(zhuǎn)彎過程中基本都能根據(jù)細(xì)鐵絲標(biāo)識的平面跑道運動,準(zhǔn)確度較高,運行速度較快。從調(diào)試結(jié)果來看,該自動循跡小車已達到了設(shè)計要求,后續(xù)可通過改進算法、優(yōu)化程序等方法提高小車的運行速度和測量值的準(zhǔn)確度。
[1]2016年 TI杯大學(xué)生電子設(shè)計競賽題 C-自動循跡小車[DB/OL].(2016-07-25)[2017-01-05].http://nuedc.xidian.edu.cn/uploads/soft/160725/2-160H50J503.zip.
[2]郭志超,何愛龍.自動循跡避障尋光智能小車軟件系統(tǒng)設(shè)計[J].新鄉(xiāng)學(xué)院學(xué)報,2017,(6):61-63.
[3]張猛,丁愛國,陳欣歡.基于單片機的智能循跡小車設(shè)計[J].山東工業(yè)技術(shù),2017,(8):281.
[4]劉紅,劉康.基于單片機的自動循跡小車的設(shè)計與制作[J].電腦知識與技術(shù),2017,(5):198.
[5]程叢叢,田為民,秦雷.基于單片機的智能循跡小車[J].山東工業(yè)技術(shù),2017,(7):2.
[6]許文卓,顧亭,孫浩諦,等.基于紅外循跡的火災(zāi)報警小車循跡算法研究[J].甘肅科技,2017,33(4):11-13.
[7]謝富珍,戈林發(fā).基于51單片機的智能小車設(shè)計[J].新余學(xué)院學(xué)報,2015,20(4):6-9.
[8]萬正兵.基于LDC1000的自動循跡小車的設(shè)計[J].福建電腦,2016,32(10):111.
The Design of Automatic Tracking Car Based on Metal Detector
FENG Yang
(School of Mathematics and Physics,Weinan Normal University,Weinan 714099,China)
An automatic tracking car is designed,according to the specific requirements of positioning and mobile and noncontact detection of metals.The car is controlled by the MSP430F5529 and adopts the LDC1000 of TI company as the tracking sensor,and achieves the function of automatically moving clockwise on the plane runway with the specified 0.6 ~ 0.9mm thin wire marking.During the process,the coin can also be detected and alarmed.Several tests show that the system has reached the expected assumption,completed the requirements basically and had the characteristics of stable performance and strong anti-jamming capability.
MSP430F5529;LDC1000;tracking
TP273
A
1009-5128(2017)24-0033-05
2017-09-04
渭南師范學(xué)院教育教學(xué)改革研究項目:單片機課程項目教學(xué)法研究與實踐(JG201615)
馮洋(1982—),女,四川資陽人,渭南師范學(xué)院數(shù)理學(xué)院副教授,工學(xué)碩士,主要從事嵌入式系統(tǒng)設(shè)計與開發(fā)研究。
【責(zé)任編輯 牛懷崗】