|
基于超聲波傳感器的避障小車1 引言 避障小車以單片機為控制核心的小車改變了傳統(tǒng)遙控小 車的控制方式,應(yīng)用超聲波測距技術(shù)與小車相結(jié)合實現(xiàn)小車 自動避障,使小車能夠更加智能,小車在行進過程中降低人的 干預(yù)。 2 系統(tǒng)總體方案設(shè)計 2.1 設(shè)計方案 (1)通過紅外遙控器按鍵控制小車行動,如前進、后退、 停止、左右轉(zhuǎn)。 (2)距離障礙物小于設(shè)定距離時,左轉(zhuǎn);左轉(zhuǎn)之后判斷距 離障礙物是否大設(shè)定距離,若大于則前進,反之右轉(zhuǎn)180度;右 轉(zhuǎn)之后判斷與障礙物距離,是否大設(shè)定距離,若大于則前進,反 之右轉(zhuǎn)90度前進。 2.2系統(tǒng)結(jié)構(gòu) 單片機控制簡單、方便、快捷。價格低廉等優(yōu)點。采用單片 機作為整個系統(tǒng)的核心,用其控制小車運動。控制系統(tǒng)結(jié)構(gòu)如 圖1所示。 圖1 控制系統(tǒng)框圖 該設(shè)計系統(tǒng)以89C51單片機為核心,利用紅外遙控器控制小車的啟停,能實現(xiàn)小車的啟動停止、左右轉(zhuǎn)和直行與后退等功能[1]。 車頭中間超聲波發(fā)射和接收裝置檢測小車行進方向的障 礙物,用于判斷是否轉(zhuǎn)彎來達到避障功能。單片機發(fā)出頻率為40千赫茲的信號,經(jīng)放大電路發(fā)大后由超聲波發(fā)射裝置發(fā)出;超聲波接收器進一步放大接收到的信號,用鎖相環(huán)電路檢波后,調(diào)用單片機中斷程序,測出時間t,再由程序運算得出距離參數(shù),然后經(jīng)過單片機程序處理,得到的數(shù)據(jù)來對小車的電機進行相應(yīng)的控制[2-3]。 3 系統(tǒng)硬件電路設(shè)計 3.1 紅外接收器 紅外接收器電路通常集成在一個元件中,即紅外接收頭。內(nèi)部電路包括紅外監(jiān)測二極管,放大器,限幅器,帶通濾波器,積分電路,比較器等[4]。紅外監(jiān)測二極管監(jiān)測到紅外信號后,放大器放大紅外信號通過限幅器、解調(diào)電路和積分電路進入比較器,比較器輸出高低電平,還原發(fā)射信號。該模塊使用紅外接收頭1838。電路如圖2所示。 圖2中,C3為去耦電容,起濾除輸出信號的干擾得作用。1端是解調(diào)信號的輸出端,與單片機的P3.2口相連。當(dāng)有紅外編碼信 號發(fā)射時,經(jīng)紅外接頭處理輸出檢波整形后的方波信號,并送 給單片機,執(zhí)行相應(yīng)的操作,從而來實現(xiàn)電機控制。 圖2 紅外接收模塊 3.2 電機驅(qū)動模塊 該模塊采用芯片L298,L298芯片是一種高壓、大電流雙全橋式的驅(qū)動器可同時控制兩個電機的正反轉(zhuǎn)并調(diào)節(jié)電機的轉(zhuǎn)速,滿足設(shè)計要求。電機驅(qū)動模塊的電路圖如圖3所示。 圖3 電機驅(qū)動模塊 圖3中L298DE VCC端與單片機共用5V直流電源,VS端接12V電源。ENA,ENB為使能端,低電平禁止輸出。IN1,IN2, IN3,IN4為數(shù)據(jù)輸入引腳,分別與單片機的P1.0、P1.1、P1.2、 P1.3口相連。OUT1,OUT2接電動機MG1;OUT3,OUT4接電動 機MG2。通過調(diào)節(jié)IN1,IN2,IN3,IN4之間輸入的高低電平來實 現(xiàn)電動機MG1和MG2的正向和反向運轉(zhuǎn),從而實現(xiàn)小車左右轉(zhuǎn) 和前進后退等功能。當(dāng)IN1輸入低電平,MG1電機正轉(zhuǎn);當(dāng)IN2輸 入低電平,MG1電機反轉(zhuǎn);當(dāng)IN3輸入低電平時,MG2電機正轉(zhuǎn); 當(dāng)IN4輸入低電平時,MG2電機反轉(zhuǎn)。高電平輸入時,電機不工 作。D1~D8是保護二極管,用于電機緊急制動時,保護L298不被 損壞。 3.3 超聲波模塊 采用BNCS超聲波測距模塊,包括超聲波發(fā)射器、接收 器與控制電路[5]。基本工作原理:(1)采用IO口TRIG觸發(fā)測距,給最少10us的高電平信呈。 (2)模塊自動發(fā)送8個40khz的方波,自 動檢測是否有信號返回; (3)有信號返回,通過IO口ECHO輸出 一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時 間。測試距離=(高電平時間*聲速(340M/S))/2。超聲波測距模塊 電路如圖4所示。 圖4 超聲波模塊 4 系統(tǒng)軟件設(shè)計 4.1 主程序 程序啟動后,開始檢測紅外接收模塊,如果接收到信號, 單片機開始判斷鍵值,發(fā)出信號到驅(qū)動模塊使小車并作出相應(yīng)動作。在小車前進時,超聲波模塊開始發(fā)出信號,單片機判斷與 障礙物的距離,向驅(qū)動模塊發(fā)出信號并使小車進行避障。 4.2 超聲波避障流程(圖5) 圖5 超聲波避障流程 圖5所示的避障流程,小車開始前進就檢測前方障礙物,若有則左轉(zhuǎn),繼續(xù)檢測,若還有則反轉(zhuǎn)180°,若無則繼續(xù)前行。 5 驅(qū)動模塊仿真 使用Protel軟件對小車控制系統(tǒng)進行模擬仿真,仿真電路 如圖6所示。 圖6 驅(qū)動模塊仿真 在仿真過程中紅色表示高電平,藍色表示低電平。由于仿 真軟件無法模擬紅外遙控和光電感應(yīng)信號和超聲波檢測,所 以在仿真過程中通過按鍵來提供仿真所需的各種信號。2號按 鍵實現(xiàn)小車前進功能,8號按鍵實現(xiàn)小車后退功能,5號按鍵停 止,4號按鍵小車左轉(zhuǎn),6號按鍵小車右轉(zhuǎn)。 6 結(jié)束語 本小車控制系統(tǒng)采用單片機為控制核心,使用超聲波測距 模塊探測小車運動方向的障礙物,單片機處理后發(fā)出指令驅(qū)動 L298,驅(qū)動電機避開障礙物繼續(xù)運行。并通過仿真軟件進行仿 真,仿真結(jié)果表明,該設(shè)計滿足要求。 參考文獻 [1] 趙海蘭. 基于單片機的紅外遙控智能小車的設(shè)計[J]. 電子世界, 2011 (8): 45-47. [2] 王懿川. 基于單片機控制的超聲波測距報警系統(tǒng)[J]. 上海計量測 試, 2011 (5): 53-56. [3] 李錄鋒.基于AT89C51超聲波測距控制系統(tǒng)設(shè)計[J]. 制造業(yè)自動 化,2012(4):45-47. [4] 朱高偉. 基于單片機的自動蔽障移動小車控制系統(tǒng)[J]. 通訊世界: 下半月, 2015 (8): 277-278. [5] 蘇琳. 基于 HC-SR04 的超聲波測距器的設(shè)計[J]. 科技信息, 2012 (9): 125-125. |