李曉云,何秋生,楊 柳,王利民,王 磊
(太原科技大學電子信息工程學院,山西 太原 030024)
智能車,有時也稱為輪式機器人[1]。本文設計的智能車主要實現(xiàn)自動循跡和避障功能[2],自動循跡采用光電開關檢測道路,相比于攝像頭和CCD 采集更加簡單,處理更加快捷方便;采用紅外對管避障,相比于超聲波更加快速,電路結構更加簡單,成本低;電源方面采用電池和太陽能板多電源供電[3],功耗小,節(jié)能減排。
系統(tǒng)的結構組成如圖1 所示,主要包括循跡模塊、避障模塊、顯示模塊、驅動模塊和電源模塊。本文主要介紹智能車系統(tǒng)軟件實現(xiàn)的三大部分:自動循跡、避障、速度控制。
圖1 系統(tǒng)的總體框圖
系統(tǒng)主程序流程圖如圖2 所示,主要用來循跡,循跡過程中直行速度可以保持在1.3~1.5 m/s 左右,當紅外對管檢測到有障礙物出現(xiàn)時,減小速度并觸發(fā)外部中斷,進入避障子程序,待順利躲開障礙物后,繼續(xù)循跡。
圖2 主程序流程圖
智能車循跡采用四個光電開關,分別置于車身前軌道兩側,左右各一對。為了方便,從左到右依次標記為左1、左2、右2、右1。當光電開關對準的賽道為白色時,輸出電壓為0.2 V;當賽道為黑色時,輸出電壓為5 V[4]。將輸出電壓與閾值電壓作比較,單片機通過檢測比較器的輸出即可得到賽道的信息,通過控制電機的轉動實現(xiàn)循跡功能。
循跡的軟件實現(xiàn)如圖3 所示,循跡主要是檢測黑線的位置,分為6 種情況:若沒有檢測到黑線就直走,此處包含了智能車通過十字路口時沒有黑線的情況;若四個光電開關均檢測到黑線,就停車;若左1 檢測到黑線,說明車身已經(jīng)大幅度的偏向右邊,控制智能車大幅度左轉;若左2 檢測到黑線,控制車小幅度左轉;若右2 檢測到黑線,控制車小幅度右轉;若右1 檢測到黑線,控制車大幅度右轉。
圖3 循跡的軟件流程圖
避障采用兩個紅外對管實現(xiàn),分別置于智能車的前方和右側。前方的紅外對管用來探測前方是否有障礙物,右側的用來探測障礙物的長短。以前方為例,紅外對管發(fā)射紅外光,若前方有障礙物,紅外線將從物體反射回來,單片機將檢測到低電平,控制電機改變智能車的行進方向,從而順利避開障礙物。本文以寬度為6 cm,長度不定的障礙物進行實測。
避障的軟件流程圖如圖4 所示。單片機通過精確延時使二極管發(fā)射38.5 kHz 的紅外線,同時檢測紅外檢測器的狀態(tài)[5]。當檢測到前方有障礙物時,觸發(fā)外部中斷,單片機通過控制電機使智能車轉彎,避開障礙物,然后直走。同時檢測車身右側是否有障礙物,主要是確定障礙物的長短和智能車直走的距離。當檢測到無障礙物時,驅動電機使智能車轉彎再次回到黑線上,繼續(xù)循跡。
圖4 避障的軟件流程圖
PWM 是通過調節(jié)直流電源電壓的占空比,來改變負載兩端電壓的平均值,而達到控制要求的一種電壓調整方法[6]。由于PWM 控制,不僅可以調節(jié)速度,而且還可以彌補硬件結構的缺陷,消除左右兩輪之間摩擦阻力不同的影響,因此這里采用PWM 控制智能車的速度。單片機系統(tǒng)主頻是12 MHz,若PWM 輸出頻率為1 kHz,定時中斷次數(shù)設定為100,即0.01 ms 中斷一次,這樣可以設定占空比范圍是1~100。
PWM 的軟件流程圖如圖5 所示,其中C 為中斷次數(shù),0.01 ms 觸發(fā)一次中斷,left 為左輪PWM 的給定值,right 為右輪PWM 的給定值,將它們依次與中斷次數(shù)C 進行比較,控制電機的使能端,改變電源電壓的占空比,從而達到調速的目的。
圖5 PWM 控制的軟件流程圖
速度顯示流程如圖6 所示。測速模塊采用LM393 和20格的光電碼盤。光電碼盤每轉一格觸發(fā)一次外部中斷,測速中斷主要是記錄碼盤轉的格數(shù)。速度顯示采用LCD1602,每400 ms 更新一次,速度計算公式為:v=2nπR/(20 ×0.4),n為光電碼盤轉的格數(shù),R 為光電碼盤的半徑。
圖6 LCD 顯示的軟件流程圖
如圖7 是設計的智能車,圖8 為調試智能車的賽道,圖中標記著一長一短兩個障礙物,障礙物寬度為6 cm,長度不限,黑線寬度為2 cm。因障礙物寬度一定,智能車轉彎的延時時間和速度需經(jīng)過多次試驗調整,使其順利通過障礙物,并繼續(xù)自動循跡。本系統(tǒng)中智能車直行時速度能穩(wěn)定在1.52 m/s,左轉彎時左輪速度大約0.55 m/s,右輪速度大約1.15 m/s,右轉彎時右輪速度大約0.58 m/s,左輪速度大約1.18 m/s。
圖7 智能車模型
圖8 調試賽道
本文設計的智能車可以在強光的照射下自動為智能車供電或者給電池充電。經(jīng)多次測試表明智能車能夠穩(wěn)定地按照設定黑色軌跡運動,并能夠躲避任意長度的障礙物,能在誤差允許范圍內測得速度并實時顯示。
[1]趙建領,弓雷.51 系列單片機開發(fā)寶典[M].北京:電子工業(yè)出版社,2012.
[2]王允上.學用單片機制作機器人[M].北京:科學出版社,2011.
[3]劉帥,王潔瑜,尹志強,等.太陽能LED 路燈驅動器設計[J].電子技術與軟件工程,2014(8):152 -153.
[4]王艷.基于51 單片機的紅外遙控小車設計和制作[J].機電信息,2010(12):4 -5.
[5]韓毅,楊天.基于HCS12 單片機的智能尋跡模型車的設計與實現(xiàn)[J].計算機工程與設計,2008,29(18):4736 -4739.
[6]林廣峰.用單片機實現(xiàn)頻率可調的PWM 控制信號[J].科技傳播,2010(6):220 -221.