董雷剛 崔曉微 張丹 張華 安向明
摘要:自動循跡小車在不用人為干預的情況下,可以按照預定軌跡自動行進,該技術在工業(yè)上有很高的指導和應用價值。文章介紹的是一種復雜路況下智能循跡小車的設計方案,系統(tǒng)以單片機AT89S51為控制核心,采用高靈敏度的紅外傳感器采集路面信息,并將信息傳到AT89S51,由單片機根據(jù)路況信息控制小車的行進方向,并產(chǎn)生PWM波來調(diào)整小車的速度,從而實現(xiàn)小車在復雜路況下的平穩(wěn)循跡。
關鍵詞:自動循跡;AT89S51;紅外傳感器;PWM
中圖分類號:TN391.8 文獻標識碼:A 文章編號:1009-3044(2014)07-1532-05
隨著科學技術的發(fā)展,機器人的使用已經(jīng)遍及機械、電子、交通等諸多領域。近年來機器人的智能水平不斷提高,并迅速改變著人們的生活方式。人們在不斷探討、改造、認識自然的過程中,制造能替代人類勞動的機器一直是人類的夢想。機器人要實現(xiàn)自動引導功能和避障功能就必須要感知引導線和障礙物,感知引導線相當于給機器人一個視覺功能。智能循跡小車的制作就是機器人在這方面的一個典型應用。現(xiàn)有的方案所采用的軌跡基本上都是比較平滑的,而在實際應用上,軌跡往往是比較復雜的,因此,該文提出一種能夠在復雜路況下平穩(wěn)行進的智能循跡小車設計方案。
1 系統(tǒng)理論分析
小車要實現(xiàn)自動循跡,就必須能識別行車軌跡,辨別軌跡與周圍環(huán)境的不同,而且能隨著軌道的變化而不斷調(diào)整小車行進的方向,以保證小車沿著軌跡行進。在行進過程中,小車須能識別路況標志,并且根據(jù)不同的路況自動調(diào)節(jié)行進速度,以保證小車順利通過,不會偏離軌道。由于在極端路況下行進時,電機的較強扭矩會對控制單元產(chǎn)生干擾,因此,還需解決控制單元的抗干擾問題。
為了模擬不同路況,設計了如下跑道,如圖1所示。在白色的高分子板上,用黑色膠帶鋪設路線,在該路線中,既包含直線,也包含曲線、大角彎、直角彎,還包含6厘米高80厘米長的模型橋(圖中N所示)。小車從A點出發(fā),按照行走路線循跡行走,直到終點結(jié)束。圖中與軌道垂直的短線為下一路況的標志線。
2 系統(tǒng)模塊設計
根據(jù)設計要求,系統(tǒng)以AT89S51單片機為控制核心進行設計,采用紅外傳感器對行車路線進行檢測,信號經(jīng)過比較器LM324之后送給單片機,然后單片機根據(jù)信號的不同進而驅(qū)動電機轉(zhuǎn)動、糾正小車的行進方向。在行進過程中,由路況標志檢測模塊實時檢測路況信息并顯示在數(shù)碼管上,單片機根據(jù)此信息調(diào)整PWM波實現(xiàn)對小車速度的控制,從而實現(xiàn)小車的平穩(wěn)循跡運動。
系統(tǒng)包括軌道檢測、路況標志檢測、電源穩(wěn)壓、車輪驅(qū)動、方向控制、速度調(diào)整、路況顯示等功能。
2.1 微控制器芯片
微控制器是整個小車運行的核心部件,控制著整個系統(tǒng)的運行[1]。本系統(tǒng)采用了北京精儀達盛公司的AT89S51開發(fā)板作為控制核心部件。對于軌道的檢測、電機的驅(qū)動、速度的調(diào)整等功能,都不涉及精確時序的問題,而且51單片機具有價格低廉且使用簡單的優(yōu)點,在很大程度上降低了主控芯片的使用難度,可以留出更多的精力去完善整個系統(tǒng)的功能和穩(wěn)定性。基于上述原因,綜合考慮選用了達盛公司的AT89S51作為本系統(tǒng)的核心。其外圍電路圖如圖3所示。
2.2 軌道檢測模塊
此模塊采用的是紅外探測法[2],即利用紅外線在不同顏色的物體表面具有不同反射性質(zhì)的特點。反射式紅外傳感器一對紅外發(fā)射接收管組成,兩者用黑色物體隔開,當紅外線遇到白色物體時會反射回來,接收管可以接到紅外線并產(chǎn)生低電平(用0表示);當紅外線遇到黑色物體時會被吸收,接收管接收不到紅外線并產(chǎn)生高電平(用1表示)。鑒于黑白物體對紅外線具有很大差別的反射系數(shù),小車的行車軌跡為白色高分子板上粘貼的黑膠帶。紅外傳感器固定在車底盤前沿,距離地面1厘米左右。在小車行駛過程中,紅外傳感器不斷地向地面發(fā)射紅外線進行檢測,并根據(jù)接收端的信后來確定路面的信息。
為了實現(xiàn)紅外傳感器接收信號的可靠性,在車體前端共安裝4個紅外傳感器,如圖3所示,圓圈表示紅外傳感器,傳感器1和2之間的距離稍大于路線(黑膠帶)寬度,傳感器1、3和2、4的距離比黑膠帶略窄。這樣一來,就可以根據(jù)4個紅外傳感器的接收段信號更好的來確定黑線的位置和小車的行進方向,使單片機以此為依據(jù),對小車進行實時控制。傳感器的信號與小車行進方向的關系如表1所示,因為系統(tǒng)采用帶減速齒輪的小電機作為車輪驅(qū)動,小車的速度不會特別快以至于失控,因此4個傳感器的信號組合主要有5種。
此模塊的作用除了進行路線檢測之外,還負責路況標志線的檢測。路況標志線是垂直于路線的橫線,要想檢測到此標志,需要用到傳感器1和2,當這兩個傳感器同時探測到黑線時,一定是標志線,此時可將標志線計數(shù)器加1,并調(diào)整小車的速度。
2.3 電機驅(qū)動模塊
本系統(tǒng)對車輪的驅(qū)動采用的是帶有減速齒輪的直流小電機,對直流電機的驅(qū)動使用的是L9110芯片電路[3],如圖4所示。L9110是為控制電機設計的兩通道推挽式功率放大專用集成電路器件,將分離電路集成在單片IC之中,使外圍設備成本降低,整機可靠性提高。該芯片有兩個TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個輸出端能直接驅(qū)動電機的正反向運動,它具有較大的電流驅(qū)動能力,每通道能通過750-800MA的持續(xù)電流,峰值電流能力可達1.5-2.0A;同時它具有較低的輸出飽和壓降;內(nèi)置的鉗位二極管能釋放感性負載的反向沖擊電流,使它在驅(qū)動繼電器,直流電機,步進電機或開關功率管的使用上的安全可靠。L9110芯片的使用非常簡單,只要在兩個輸入端有4V左右的電位差,就可驅(qū)動電機轉(zhuǎn)動,改變輸入端的電位差的正負,即可改變電機的轉(zhuǎn)動方向。
為了使小車能按照軌跡行進,需要在行進的過程中對小車方向進行實時糾正,當小車向左偏時,應當向右糾正——左輪正轉(zhuǎn),右輪暫停;當小車向右偏時,應該向左糾正——右輪正轉(zhuǎn),左輪暫停??刂茊卧獙π≤嚪较蜻M行控制的依據(jù)是車體前面的4個紅外傳感器的輸出值,見上表1。
2.4 顯示模塊
本系統(tǒng)設計的軌道涉及多種路況,為了顯示運行狀態(tài)和方便系統(tǒng)調(diào)試,采用了3個7段數(shù)碼LED來顯示路況標志線——記錄小車的過線次數(shù),計數(shù)從000累加到012。由于單片機引腳輸出的電流不能直接驅(qū)動數(shù)碼管,因此,采用CD4511芯片來驅(qū)動數(shù)碼管。CD4511是一個用于驅(qū)動共陰極 LED (數(shù)碼管)顯示器的 BCD 碼—七段碼譯碼器,具有BCD轉(zhuǎn)換、消隱和鎖存控制、七段譯碼及驅(qū)動功能的CMOS電路能提供較大的拉電流,可直接驅(qū)動LED顯示器。該芯片是4個輸入、7個輸出,因此可以利用較少的單片機引腳來實現(xiàn)對LED的控制。原理圖如圖5所示。
用兩個數(shù)碼管來顯示數(shù)據(jù),需要用到數(shù)碼管的動態(tài)掃描。動態(tài)數(shù)碼掃描顯示方式是利用了人眼的視覺暫留效應,把多個數(shù)碼管按一定順序(從左至右或從右至左)進行點亮,當點亮的頻率(即掃描頻率)不大時,我們看到的是數(shù)碼管一個個的點亮,然而,當點亮頻率足夠大時,看到的不再是一個一個的點亮,而是全部同時顯示(點亮),與傳統(tǒng)方式得到的視覺效果完全一樣。因此只要給數(shù)碼管這樣一個掃描頻率,就可以實現(xiàn)兩個以上的數(shù)碼管同時點亮。
2.5 PWM調(diào)速模塊
在復雜路況下,如果小車按照全速行進的話,在彎道太大或過橋時有可能會偏離路線,這就需要在不同的路況實時調(diào)整車速。本系統(tǒng)采用的是PWM調(diào)速原理[4],脈沖寬度調(diào)制(PWM)是一種對模擬信號電平進行數(shù)字編碼的方法,通過計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數(shù)字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。更改占空比的數(shù)值即可實現(xiàn)單片機輸出端口的電壓調(diào)節(jié)。原理圖如圖6所示,假設滿負荷電壓為V,在單位時間T內(nèi),如果通電的時間是t,斷電的時間是T-t,則單位時間內(nèi)的平均電壓指應該是Vt/T,因此,改變通電時間t的大小即可改變單位時間內(nèi)平均電壓的大小。當單位時間很小的時候,單片機輸出端口即可得到穩(wěn)定的電壓值:單位時間內(nèi)的平均電壓值。
2.6 電源穩(wěn)壓模塊
在測試過程中,發(fā)現(xiàn)如果直接使用5V電池為系統(tǒng)供電,由于在小車通過極端路況時電機的扭矩過大,導致電池的電壓下降,單片機無法正常工作,因此采用了7805穩(wěn)壓芯片為單片機供電[5]。圖7是穩(wěn)壓電路原理圖,電壓輸入端用電解容CI與地相接,對輸入電壓進行簡單的整形和濾波,提高輸入電壓的質(zhì)量。第二引腳是芯片的接地端。第三引腳是電壓輸出端,在輸出電壓之前用電容C0進行整形的濾波,提高輸出電壓的質(zhì)量。這樣,無論輸入端電壓怎樣變化,只要保持在9V以上,輸出端就可獲得平穩(wěn)的5V電壓。因此,將12V的電源直接供電給電機驅(qū)動芯片L9110,將12V電源通過7805穩(wěn)壓電路后給單片機供電,這樣就可最大程度的降低電機對單片機的干擾。
3 軟件流程
軟件編程流程圖如圖8所示,程序開始后便不斷進行紅外探測,探測軌道和路況標志線,然后隨時進行速度的調(diào)整和小車行進方向的糾正,以保證小車能在不同路況下平穩(wěn)的行進,從而最終完成循跡任務。
4 經(jīng)驗總結(jié)
在系統(tǒng)的設計和實驗過程中,經(jīng)過不斷的調(diào)試和改進,總結(jié)了很多注意事項,主要有以下幾點。
1)電路的焊接點一定要牢固,盡量不要出現(xiàn)虛焊的情況,否則在后期檢查時很費力氣。
2)盡量用鋰充電電池,電流和電壓比較穩(wěn)定,以方便PWM編程的調(diào)試。
3)盡可能使用帶紋理的橡膠輪胎,增大車輪與地面的摩擦力,以提高車輪抓地力。
4)紅外傳感器的發(fā)射端串聯(lián)電阻的阻值不宜太小,否則會引起電路發(fā)熱,影響壽命。
5)單片機的負載不要太多,車體重量不宜太重,否則會影響小車的靈活性,尤其在小車轉(zhuǎn)彎的時候。
5 結(jié)束語
本文討論的是復雜路況下循跡小車的實現(xiàn)方法,用紅外傳感器進行路線檢測,由單片機根據(jù)檢測信號對小車實施方向控制和速度調(diào)整,經(jīng)過多次實驗表明,此設計方案能比較完好的實現(xiàn)小車的平穩(wěn)循跡,達到了預期效果,這些思路和方法在實踐中都是值得借鑒的。但在實際應用中,還應該根據(jù)工業(yè)現(xiàn)場的環(huán)境,進行進一步改進和提高。
參考文獻:
[1] 肖榮海,張吉衛(wèi).智能小車目標識別跟蹤系統(tǒng)的實現(xiàn)[J].重慶大學學報,2004,27(9):45-47.
[2] 陳懂,劉榮.世俊.智能小車的多傳感器數(shù)據(jù)融合[J].現(xiàn)代電子技術,2005(6):3-5.
[3] 潘永雄.新編單片機原理與應用[M].西安電子科技大學出版社,2003:160-163.
[4] 孫立志.PWM與數(shù)字化電動機控制技術應用[M].北京:中國電力出版社,2008:266-293.
[5] 郭天祥.新概念51單片機C語言教程[M]. 北京:電子工業(yè)出版社,2009:44-78.