李亞振
(安陽師范學院 河南安陽 455000)
當前,社會新工藝、新技術快速發展,人工智能技術逐步成熟,并廣泛應用于工業、農業、醫療等行業。智能小車作為人工智能領域研究的重要分支,可以代替人類在一些危險環境下完成相關工作。本設計以STC89C52單片機作為小車控制系統的核心處理器,包括驅動、紅外循跡、避障和音樂播放等模塊,通過對各模塊的設計,全面說明該智能小車工作的基本原理。
本設計增添紅外線遙控電路,控制智能小車運動,功能除了前進后退,還可以按照設置路線行駛并躲避障礙物,利用C語言程序設置智能小車的運動狀態,在編寫代碼時寫入不同的音樂模塊,調試實現小車的多功能運行[1]。系統設計框圖如圖1所示。

圖1 系統設計框圖
本設計選用7.4V 可充電鋰電池,可以循環使用,經過LM7805穩壓芯片后,給單片機和外圍器件提供供電。電機驅動的芯片由7.4V 鋰電池直接提供。二極管D1起著防反接的作用,LED2作為電源指示燈,當開關SW1打開時,系統就會開始供電。電源輸入原理圖如圖2所示。

圖2 電源輸入原理圖
單片機最小系統由STC89C52 芯片、晶振電路、復位電路、程序下載電路及上拉電阻組成。具體原理如圖3所示,程序下載電路用來下載經過keil軟件編譯好的程序文件。本設計的控制模塊核心是STC89C52 芯片,該芯片具有高速、低功耗、超強抗干擾、價格便宜的優點,而且指令代碼完全兼容傳統8051 單片機,這也是選擇它的重要原因[2]。

圖3 控制模塊原理圖
電機驅動的作用是讓小車跑起來、跑得穩。單片機直接輸出的電流較小,智能小車跑不起來,因此,需要電機專用驅動芯片。RZ7899芯片外圍電路簡單,適用于多種電路。芯片由邏輯輸入端口BI 和FI 控制小車前進、后退及制動,與PWM 的輸出可以控制電機轉速[3]。當兩個電機轉速相同時,可以實現前進與后退,當兩個電機的轉速不同時,可以實現轉彎。這個電路的優點是抗干擾能力強、待機電流小、輸出內阻低等。本次設計的電機采用的是N20 直流減速電機,它有著壽命長、轉速精確等特點,也是市面上比較受大眾用戶支持與喜愛的一個系列。驅動模塊原理如圖4所示。

圖4 驅動模塊原理圖
智能小車的循跡是在地板上貼上黑色的膠帶,智能小車沿著黑膠帶跑起來。利用紅外線光在不同顏色的反射下得到的結果不同進行識別,紅外線一直對外發射,遇到白色會被折回,接收器接收到信號,經過比較器輸出高電平反饋給單片機,遇到黑色會被吸收,無法接收信號,比較器電路則輸出為低電平。循跡電路采用了393電壓比較器與ITR9909紅外對管進行設計,ITR9909 紅外傳感器內部含有紅外發射管和接收管,兩個紅外傳感器應安裝在智能小車底部,二者之間距離應小于黑色膠帶的寬度,從而實現循跡的功能[4]。循跡模塊原理圖如圖5所示。

圖5 循跡模塊原理圖
避障電路采用紅外避障方式,使用IR333C紅外發射管和PT333-3B 紅外接收管實現此項功能。IR333C紅外發射管發出紅外光,PT333-3B紅外接收管接收前方物體反射的紅外光,判斷前方是否有障礙物,小車會做出相應的反應來躲避障礙物,還可以根據反射光的強弱判斷前方物體的距離[5]。小車前方左右兩端分別裝了兩套紅外發射管和接收管,可以實現短距離內避障。避障模塊原理如圖6所示。

圖6 避障模塊原理圖
實現智能小車的基本功能之后,還可以對小車功能進一步豐富。外部控制按鍵用來切換功能和調試代碼;增加2個LED燈放在智能小車前方的左右兩端,對不同場景模擬不同行駛的功能;增加無源蜂鳴器,可以在行駛過程中鳴笛示意[6],無源蜂鳴器還可以播放音樂。
智能小車的外形比較特別,需要設計的PCB 邊框就是小車的底盤。用PCB設計軟件里面的邊框層進行設計,設計工程中,可以用繪圖工具中的直線和弧線工具及其網絡大小和柵格尺寸做輔助。其具體樣式可以根據自己的喜好進行設計,本次設計是一個四驅車的形狀,如圖7所示。

圖7 PCB圖
智能小車的元器件比較多,使用菜單欄中工具的布局傳遞功能,可以快速地對元器件進行分類布局。在布局過程中,需要注意每個電路的核心器件和外圍器件放到一起,特殊器件布局時附近的元件會對特殊器件進行干擾,為了操作更方便,輸入輸出的接口應該放到板子邊緣處。
在智能小車設計中,硬件模塊較多,程序控制比較復雜,程序代碼也較多,為了增強程序可讀性,可以分步調試。首先,讓智能小車動起來;然后,依次測試智能小車的前進后退和左轉右轉功能;最后,將程序綜合起來,做成循跡子程序和避障子程序,實現避障和循跡的功能。下面,主要展示智能小車循跡和避障功能的實現,如圖8所示。

圖8 程序流程圖
當智能小車底部的ITR9909紅外傳感器檢測到黑線時,循跡子程序就會被調用,從而判斷出哪側的紅外傳感器檢測到了信號。若左側的紅外傳感器檢測到了信號,智能小車就會向右轉;若右側紅外傳感器檢測到了信號,智能小車就會向左轉;若兩側均未檢測到信號,小車則繼續前行。當小車前方兩側IR333C紅外發射管和PT333-3B 紅外接收管檢測到前方有障礙物存在時,避障子程序就會被調用,若判斷出左邊有障礙物,智能小車則會向右轉,反之,則會向左轉。
根據PCB設計圖,對智能小車進行安裝與焊接,把編譯好的文件下載到STC89C52 芯片中去,最后,進行綜合調試,觀察是否能夠實現設計的功能。
經過多次調試,小車能夠完成循跡和避障功能,蜂鳴器能夠正常播放聲音,紅外遙控器可以正??刂浦悄苄≤?,完成了設計目標(見圖9和圖10)。

圖9 實物調試圖
本設計基于STC89C52 芯片,通過系統設計、軟件設計、PCB設計和焊接調試4個方面,說明了智能小車的基本工作原理,該智能小車通過4個RZ7899驅動芯片進行驅動,利用ITR9909 反射式紅外傳感器實現循跡功能,利用IR333C 紅外發射管和PT333-3B 紅外接收管實現避障功能,并達到了預期的效果。雖然該智能小車的設計結構比較簡單,但功能齊全,而且成本較低,具有廣泛的實用價值和應用前景。因此,本設計思路和原理適合應用于各智能領域當中。

圖10 實物圖