摘要:傳統(tǒng)的循跡小車采用光電傳感器作路面軌道檢測,其工作可靠性受環(huán)境光線的影響很大,實(shí)際運(yùn)行中經(jīng)常要根據(jù)環(huán)境光線的變化時(shí)傳感器的靈敏度進(jìn)行調(diào)整。提出一種感應(yīng)式循跡小車的設(shè)計(jì)方法。用金屬鋁箔膠帶代替黑色軌道線,在小車上設(shè)置多只金屬感應(yīng)傳感器,基于感應(yīng)的方法來檢測鋁箔膠帶路線的位置,把檢測的結(jié)果送單片機(jī)處理,再由單片機(jī)輸出相應(yīng)控制信號(hào)驅(qū)動(dòng)小車運(yùn)行。所提出的方法能夠完全消除環(huán)境光線對循跡小車的干擾,提高小車運(yùn)行的可靠性。樣品小車的測試結(jié)果表明,基于新方法設(shè)計(jì)的小車運(yùn)行平穩(wěn),在長時(shí)間工作中沒有出現(xiàn)脫軌現(xiàn)象,小車的整體性能良好。
循跡小車是目前較為普遍的一項(xiàng)智能小車制作競賽,該制作要求小車能尋著一條黑色軌跡前進(jìn)直到終點(diǎn),用達(dá)到終點(diǎn)的時(shí)間決定競賽成績。到達(dá)終點(diǎn)的時(shí)間越短,成績越好。在整個(gè)設(shè)計(jì)過程中,循跡小車的尋跡電路是循跡小車的一個(gè)關(guān)鍵部件,傳統(tǒng)的設(shè)計(jì)采用光電傳感器作為尋跡器件。然而,光電傳感器對環(huán)境的光線變化比較敏感,不適合在露天環(huán)境和光照比較強(qiáng)的地方開展活動(dòng)。通過反復(fù)試驗(yàn)和嘗試,作者提出把金屬感應(yīng)傳感器用于循跡小車替代光電尋跡電路,用帶不干膠的金屬鋁箔膠帶貼在地面替代黑色軌跡線條,循跡小車尋著鋁箔膠帶軌道前進(jìn),無需光線介入,大大增加了尋跡小車活動(dòng)的環(huán)境適應(yīng)性。
1 硬件及電路
感應(yīng)式循跡小車是由單片機(jī)控制系統(tǒng)、尋跡電路、電動(dòng)機(jī)驅(qū)動(dòng)電路等幾部分組成。
1.1 金屬感應(yīng)傳感器電路
金屬感應(yīng)傳感器電路在小車中實(shí)現(xiàn)金屬鋁箔路軌的感應(yīng)尋跡功能,該電路是用金屬探測電路改進(jìn)得到的,電路如圖1所示。圖中,電感線圈L、電容C1、C2、C3,三極管VT1等組成了一個(gè)典型的電容三點(diǎn)式振蕩電路,振蕩電路產(chǎn)生的正弦波信號(hào)經(jīng)VT2放大后,由VD1、VD2、C6等進(jìn)行倍壓整流、濾波,使三極管VT3的基極獲得了一定幅度的基極電壓而導(dǎo)通,其集電極輸出低電平,后級NE555電路構(gòu)成的施密特觸發(fā)電路因其2腳電平小于1/3VCC,其輸出端3腳輸出1電平。若把電感線圈L靠近金屬物體,線圈的變化磁場會(huì)在金屬物體內(nèi)感應(yīng)出渦流而產(chǎn)生鐵損,線圈的Q質(zhì)下降,電路振蕩減弱直至停止振蕩。作用在VT3基極上的電壓消失,三極管VT3由導(dǎo)通變?yōu)榻刂?,其集電極輸出高電平,該電平使后級NE555的6腳電平大于2/3VCC,其輸出端3腳的電平由1跳變?yōu)?,把這個(gè)信號(hào)送給單片機(jī)I/O端口,單片機(jī)就可以通過檢測該端口的信號(hào)變化,了解循跡小車的運(yùn)行狀態(tài),給出相應(yīng)的控制指令。在該電路中,調(diào)整可調(diào)電阻RP的電阻大小可改變電路的正反饋幅度,使振蕩電路剛好處于振蕩的臨界點(diǎn)上,可調(diào)節(jié)傳感器感應(yīng)到金屬物體的靈敏度。通過精確調(diào)節(jié)RP,可使相應(yīng)金屬感應(yīng)傳感器的靈敏度達(dá)到10mm以上。
1.2 單片機(jī)控制電路
整個(gè)循跡小車的設(shè)計(jì)采用51單片機(jī)構(gòu)建控制系統(tǒng),電路圖如圖2所示,該電路由電源電路、ISP下載接口、電動(dòng)機(jī)驅(qū)動(dòng)電路接口、AT89S51單片機(jī)等幾部分組成。把單片機(jī)的P3.4,P3. 5,P3.6端口作為傳感器的輸入端口,從金屬感應(yīng)傳感器電路原理分析中可以看出,當(dāng)傳感器靠近金屬物體時(shí),傳感器輸出為低電平,無金屬物體時(shí),輸出為高電平,P3.7口直接接地,方便以后尋跡程序的編寫。
1.3 電動(dòng)機(jī)驅(qū)動(dòng)電路
機(jī)器人采用兩個(gè)減速電動(dòng)機(jī)分別帶動(dòng)左右兩個(gè)動(dòng)力輪,實(shí)現(xiàn)前進(jìn)、后退、轉(zhuǎn)彎等功能。電動(dòng)機(jī)的驅(qū)動(dòng)電路選用小直流電動(dòng)機(jī)專用驅(qū)動(dòng)芯片L293D,它能同時(shí)驅(qū)動(dòng)2個(gè)減速電機(jī),最大輸出峰值電流達(dá)1 A,該芯片與單片機(jī)連接如圖3所示。
2 循跡小車的尋跡控制
2.1 傳感器的位置
感應(yīng)式循跡小車底盤結(jié)構(gòu)如圖4,底盤左右兩輪都為動(dòng)力輪,分別由兩個(gè)減速電動(dòng)機(jī)驅(qū)動(dòng),后面的小輪為隨動(dòng)輪,隨著兩個(gè)動(dòng)力輪的運(yùn)行而運(yùn)行。3個(gè)金屬感應(yīng)傳感器的電感線圈并排安裝在機(jī)器人的前面,距地面約5毫米左右的距離,正常運(yùn)行時(shí),讓中間的一個(gè)傳感器位于道路的正上方,處于檢測到金屬物體的狀態(tài),傳感器輸出為0電平,旁邊兩個(gè)傳感器在道路兩邊,沒有檢測到金屬物體,輸出為1電平,3個(gè)傳感器的輸出端與單片機(jī)對應(yīng)端口連接,電平輸出信號(hào)就是單片機(jī)端口的輸入信號(hào)。
2.2 尋跡狀態(tài)分析
在循跡小車尋著鋁箔膠帶軌道運(yùn)行的過程中,會(huì)出現(xiàn)正常運(yùn)行,右邊偏離軌道,左邊偏離軌道等各種情況,按照上面?zhèn)鞲衅鞯脑O(shè)置,循跡小車在正常行駛時(shí),傳遞到單片機(jī)端口的電平信號(hào)是101,由于事先已將單片機(jī)的P3.7口接地,因此,傳遞給單片機(jī)P3口的高4位電平信號(hào)為0101,當(dāng)循跡小車從右邊偏離軌道時(shí),左邊和中間的傳感器會(huì)同時(shí)檢測到金屬體,此時(shí),3個(gè)傳感器的輸出狀態(tài)為100,單片機(jī)P3口的高4位電平信號(hào)為0100,定義這種偏離為右偏,如果繼續(xù)右偏,中間的傳感器會(huì)從右邊離開軌道,此時(shí),只有左邊的傳感器檢測到金屬體,此時(shí)單片機(jī)端口的電平信號(hào)為0110,把這種偏離定義為嚴(yán)重右偏。用這種方法??梢远x機(jī)器人7個(gè)尋跡狀態(tài),把這些狀態(tài)對應(yīng)的電平信號(hào)用BCD碼表示,并以此排序,得到端口對應(yīng)的尋跡狀態(tài)編碼表,如表1所示。
2.3 尋跡狀態(tài)分析
循跡小車由左右兩只電動(dòng)機(jī)驅(qū)動(dòng),實(shí)現(xiàn)前進(jìn)、后退、轉(zhuǎn)彎等各種運(yùn)動(dòng),控制信號(hào)由單片機(jī)P2口的低4位給出。對循跡小車的轉(zhuǎn)彎控制采用一輪停止,一輪運(yùn)行的方法實(shí)現(xiàn),用轉(zhuǎn)彎的時(shí)間來控制循跡小車轉(zhuǎn)彎的幅度,同樣是左轉(zhuǎn),轉(zhuǎn)彎1s和轉(zhuǎn)彎2s轉(zhuǎn)彎的幅度是不一樣的,后者轉(zhuǎn)彎的幅度大,把轉(zhuǎn)彎帽度大的叫“急轉(zhuǎn)”,如“右急轉(zhuǎn)”,“左急轉(zhuǎn)”,以區(qū)別轉(zhuǎn)彎幅度小的左轉(zhuǎn),右轉(zhuǎn)等。結(jié)合表1,針對各種可能的尋跡狀態(tài),制定出控制方案如表2所示。
根據(jù)單片機(jī)系統(tǒng)圖、表1和表2,把電動(dòng)機(jī)控制參數(shù)和延時(shí)參數(shù)以壓縮BCD碼的形式組合為一個(gè)字節(jié),控制參數(shù)放高4位,延時(shí)參數(shù)放低4位,整理后,可得到單片機(jī)信號(hào)端口和控制端口對應(yīng)關(guān)系的編碼表,如表3所示,可在此基礎(chǔ)上進(jìn)行尋跡機(jī)器人的程序設(shè)計(jì)。
3 循跡小車的程序設(shè)計(jì)
3. 1 總體設(shè)計(jì)思路
在循跡小車運(yùn)行過程中,不斷讀取P3口的狀態(tài)值,取出高4位,將結(jié)果存入累加器A中,然后用查表的方法,取出對應(yīng)的組合參數(shù)表值,在讀出的表值中,高4位為控制電動(dòng)機(jī)運(yùn)行的參數(shù),低4位為電機(jī)運(yùn)行的延時(shí)參數(shù),把高4位和低4位數(shù)從字節(jié)中分離出來,將高4位數(shù)送入P2口對循跡小車運(yùn)動(dòng)狀態(tài)進(jìn)行控制,將低4位值賦予延時(shí)子程序的R0,延時(shí)時(shí)間為R0×T(ms),T是單位時(shí)間,需根據(jù)循跡小車的速度性能確定,用以控制各運(yùn)行狀態(tài)的運(yùn)行時(shí)間。另外,在循跡小車尋跡過程中,常會(huì)出現(xiàn)循跡小車出軌的情況,一旦循跡小車脫離尋跡軌道,往往意味著尋跡失敗,因此需在程序中增加挽救措施,讓循跡小車在發(fā)現(xiàn)自已脫軌后,立即后退,回到軌道線繼續(xù)運(yùn)行。根據(jù)以上設(shè)計(jì)思路,循跡小車的控制流程圖如圖5所示。
3.2 主要匯編程序?qū)崿F(xiàn)
4 結(jié)論
為提高傳統(tǒng)循跡小車的運(yùn)行可靠性,文章提出感應(yīng)式循跡小車的設(shè)計(jì)方法,且詳細(xì)地闡述了該設(shè)計(jì)的主婁組成:循跡小車的硬件及電路、循跡小車的循跡控制和單片機(jī)的程序?qū)崿F(xiàn)。
按照本文所提出的新方法,作者成功地設(shè)計(jì)和制作了感應(yīng)式循跡小車的樣品,樣品實(shí)際測試結(jié)果表明:基于新方法設(shè)計(jì)的小車運(yùn)行平穩(wěn),在長時(shí)間工作中沒有出現(xiàn)脫軌現(xiàn)象,循跡小車的運(yùn)行與環(huán)境光的強(qiáng)弱沒有關(guān)系,小車的整體性能較好。