孫強龍,胡光元



摘要:本設計以STC89C52單片機為控制核心,通過超聲波模塊實現了小車高精度自主避障功能;利用紅外傳感器實現了小車循跡功能;采用紅外接收器接收控制信號,實現對小車的人工控制。該小車性能穩定,可用于教學實驗和機器人比賽。
關鍵詞:智能小車;超聲波避障;循跡;測速
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)47-0055-03
隨著科學技術的發展,智能小車在各行各業的應用越來越廣泛。在交通運輸、生命檢測、防爆檢測、無人巡邏等方面都扮演著重要角色。對于智能小車而言,如何正確地檢測和避開障礙物以及按照規定的路線行駛也成為研發智能小車的首要問題。因此,對智能小車的循跡、避障等功能的研究尤為重要。本文設計的智能小車實現了自主循跡、避障功能,其中實現避障的超聲波模塊能和國外的SRF05、SRF0等超聲波模塊相媲美,測距范圍高達2—450cm,盲區2cm,測距穩定,可實現在黑暗的條件下進行避障功能測試。
一、硬件設計
智能小車的硬件設計主要包括避障模塊、循跡模塊、測速模塊、電源模塊、電機驅動模塊、紅外遙控模塊、STC89C52單片機控制模塊,如圖1所示。
1.單片機控制模塊。本智能小車采用STC89C52單片機芯片作為控制模塊的核心,該芯片采用Flash存貯器技術,成本低,兼容性高,且采用高密度非易失存儲器制造技術制造,將多功能8位CPU和閃爍存儲器組合在單個芯片中,其程序的電可擦寫特性,使得智能小車開發與試驗比較容易。通過Keil軟件對STC89C52編程,實現對小車的運動狀態的控制。
2.循跡模塊。智能小車的循跡功能是指小車按照人為預定的路線進行行駛。在循跡模塊的實驗中,我們采用了紅外探測的方法,為此需要兩路紅外傳感器和專用跑道,跑道是在白色的地板磚上用黑色的膠布鋪設而成。由于不同顏色的物體對紅外線的吸收特性不一致,因此小車在行駛的過程中,紅外傳感器的發射管會周期性地向地面發射紅外光線,白色的地板與粘合在地板上黑色的膠布對紅外線的吸收特性有異,導致發射到白色的地板上的紅外線經過漫反射,被安裝在小車底座下面的紅外接受器所接收;而發射到黑色膠布上的紅外線則會被吸收,紅外接收器無法接收黑色膠布區域的紅外線,也就接收不到信號。因此,我們可依靠紅外接收器是否接收到紅外信號來判定小車是否在預定的軌道上行駛,從而控制小車的運動狀態。只要合理調整兩組紅外傳感器之間的距離與對地高度,便可采用此方案實現車的循跡功能。
3.避障模塊。智能小車的避障功能實現中,采用了超聲波傳感器。相比于傳統的紅外避障傳感器,一是超聲波傳感器可忽略光敏因素的限制,即實現全天性避障,在夜晚也可以進行避障試驗;而是避障精度高、范圍廣,避障范圍為2至450cm。超聲波是一種頻率比較高的聲音,指向性強。超聲波測距利用超聲波在空氣中的傳播速度為已知,測量聲波在發射后遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙。與雷達測距原理相似:
L=CXT
超聲波傳播速度誤差超聲波的傳播速度受空氣的密度所影響,空氣的密度越高則超聲波的傳播速度就越快,而空氣的密度又與溫度有著密切的關系,近似公式為:C=C0+0.607×T℃,式中:C0為零度時的聲波速度332m/s;T為實際溫度344(20℃室溫)。對于超聲波測距精度要求達到1時,就必須把超聲波傳播的環境溫度考慮進去。
超聲波避障原理簡介:
(1)采用觸發測距,給至少10us的高電平信號。
(2)模塊自動發送8個40us的方波,自動檢測是否有信號返回。
(3)有信號返回,通過輸出一高電平,高電平持續的時間就是超聲波從發射到返回的時間。測試距離=(高電平時間*聲速(340/))/2。
4.測速模塊。智能小車測速功能實現中,我們采用了紅外測速碼盤,與紅外循跡原理類似,都利用不同顏色的物體對紅外線的吸收差異性。
在測速實驗中,該傳感器相當于一個紅外電子開關,檢測到障礙(碼盤)輸出低電平,平時高電平。碼盤中沒有障礙物時,紅外管發出的紅外信號經紅外接收管接收回來后,經集成的芯片放大,比較后,輸出一低電平,點亮模塊上的發光管,同時可以輸出一個低平信號,信號可以作為單片機的信號輸入檢測控制外部各種驅動模塊之用。通過計算單位時間內紅外接收器所接收到信號的次數來計算小車的速度。
5.電機驅動模塊。智能小車采用四驅馬達驅動,馬達型號為CH01-48。馬達參數如表1所示:
6.電源模塊。電源模塊采用單電源供電方式,2個3鎳氫可充電電池,提供6V左右的電壓,分別給小車的各個模塊供電。該電源模塊簡單,可以安裝在小車后座上,方便小車的行走,并且可充電,方便重復使用。
7.紅外控制模塊。小車采用多路控制的紅外發射器,多個按鍵可以發射多個信號。不同信號代表著不同的功能,從而控制小車的運動狀態,紅外接收采用1838接收器。
二、軟件設計
智能小車的系統軟件設計采用keilC51作為平臺進行開發。與匯編相比,語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。提供了包括編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境將這些部分組合在一起。本設計的主程序設計思路如下:
利用單片機檢測連接紅外避障的p2.5引腳探測前方是否有障礙物;p1.0-p1.7引腳控制電機驅動,通過給出相應的高低電平控制小車的運動狀態,例如前進、后退、左轉、右轉、停止等;p2.7引腳為舵機引腳,可控制舵機的180度周期性旋轉,方便安裝在舵機上邊的超聲波傳感器探測障礙物;p3.2-p3.3引腳為測速模塊;p3.5-p3.6為循跡模塊引腳接口。小車通過p3.5-p3.6引腳檢測小車是否正常行駛在循跡軌道上,如果偏離軌道則通過p1.0-p1.7引腳控制小車左轉、右轉使小車修正軌道。單片機還同時檢測連接超聲波傳感器的p2.5引腳是否接收到信號來判斷前方是否有障礙物,如果檢測到障礙物,則實時地改變小車運動狀態,避開障礙物,同時單片機還檢測是否接收到紅外控制信號,如果接收到則進入人工控制狀態,然后繼續進行循跡、避障,測速模塊一直在執行。主程序圖如圖2所示:
三、結語
本文介紹了基于STC89C52的智能小車的硬件和軟件設計。在設計過程中,采用模塊化設計思想,使系統具有良好的可升級性和拓展性。采用單片機進行控制處理,性能穩定、易于控制、易于升級。通過測試和實驗,實現了小車循跡、避障、測速、人工控制、前進、后退、左轉、右轉、自轉等功能,由于時間和水平的限制,本系統還有許多可以升級的地方。
參考文獻:
[1]董濤,劉進英,蔣進.基于單片機的智能小車的設計與制作[J].計算機測量與控制,2009,17(2).
[2]祝勝光.智能循跡小車設計與研究[J].科技風,2009,25(7).