楊弼堯
(西南民族大學,四川成都,610000)
智能尋跡小車是一種不需要人工參與就能自動沿著軌跡行駛的小車。它集機械、電子、計算機等技術于一體。該技術可應于無人生產線、物流、倉庫等領域等各種領域,也可以作為玩具的發(fā)展對象,為中國玩具市場技術含量的缺乏進行一定的彌補,實現經濟收益,形成商業(yè)價值。
本文設計的智能尋跡小車要求能夠在白底黑線的跑道上自動行駛,跑道示意圖如圖1 所示。軌跡由多段直線和圓弧組成,小車在運動過程中需要直線行駛,轉直角彎、大彎和小彎,為實現自動行駛,需要對小車的機械結構和控制系統進行設計。
圖1 小車尋跡跑到示意圖
尋跡小車為三輪小車,主要由機械系統和控制系統兩部分組成。其中機械系統包括底盤、車輪、電機和傳感器。由于亞克力材料具有絕緣性能優(yōu)良,質量輕,便于加工的特點,所以底盤采用亞克力材料。小車共三個輪子,前面兩個輪子作為驅動輪加轉向輪,后輪為一個萬向輪,可實現轉向。車輪骨架采用塑料,質量輕,強度合適,輪子外部用橡膠包裹,增大摩擦力。前面兩個車輪的轉動由電動機驅動,驅動電機可以采用步進電動機也可以采用直流電機。步進電動機為數字量控制,控制精度高,但輸出的轉矩隨轉速的升高而下降,且在較高轉速時會急劇下降,不適用于小車等有一定速度要求的系統。直流電機具有轉動力矩大,響應快速,體積小,質量輕,調速平滑、方便,調速范圍廣,過載能力強,可實現頻繁的無級快速啟動、制動和反轉,價格便宜的特點,本次設計采用直流雙軸減速電機驅動兩個驅動輪。傳感器是用來識別跑到上的黑線的,所以采用顏色識別傳感器,為了使小車能夠識別轉不同的路徑,采用5 個顏色識別傳感器,并且按照一定的距離并行安裝在小車前面的底盤上,由于控制系統由STC89C52RC 單片機最小系統、電源模塊、直流電機驅動模塊、傳感器模塊組成。
尋跡小車的結構組成如圖2 所示。
圖2 尋跡小車的結構組成
利用差速轉向原理實現小車左轉、右轉、直角彎、轉轉大彎、轉小彎的運動控制。所謂的差速,是指左右兩驅動車輪有速度差,差速原理如圖3 所示。小車在拐彎時車輪的運動軌跡是圓弧,如果小車向右轉彎,圓弧的中心點在右側,在相同的時間里,左側輪子走的弧線比右側輪子長,為了平衡這個差異,就要右邊輪子慢一點,左邊輪子快一點,用不同的轉速來彌補距離的差異。同理,小車左轉時,在相同的時間里,右側輪子走的弧線比左側輪子長,就要左邊輪子慢一點,右邊輪子快一點。要實現小車兩輪轉速的快慢,則需要控制驅動兩個車輪轉動的直流減速電機的轉速和方向。
圖3 差速原理
要求小車在白色地板上循黑線行走,由于黑線和白色地板對光線的反射系數不同,可以根據接收到的反射光的強弱來判斷“道路”。通常采取的方法是紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射強度的特點,實現尋跡。本次設計的智能尋跡小車采用TCRT5000 紅外線傳感器對黑色軌道進行識別。在小車行駛過程中傳感器的紅外對管不斷向地面發(fā)射紅外光,當紅外光遇到白色地面時發(fā)生漫反射,紅外對管接收管接收反射光;如果遇到黑線則紅外光被吸收,則紅外對管接收不到信號。紅外對管采集回來的信號通過傳感器模塊里面的LM339 比較器后輸出高或低電平,低電平為白色地面,高電平為黑色跑道,從而實現信號的檢測。
控制系統的結構框圖如圖4 所示??刂破鳛閱纹瑱C,輸入信號為TCRT5000 紅外傳感器,控制對象為直流減速電機,由于需要對電動機的轉速和轉向進行控制,所以在單片機和電機之間加上電動機的驅動模塊L298N。需要電源模塊為系統提供電源。
圖4 控制系統的結構框圖
(1)電源模塊
小車的供電系統分為兩部分,一部分為系統給直流減速電機驅動模塊供電,另一部分為單片機和紅外傳感器供電。為使電機不會因電壓的變化受影響,使用電壓為12V 的可重復充電18650 電池組為電動機供電。單片機和紅外傳感器需要5V 電壓,采用LM2596S 降壓電源模塊將12V 電壓轉換5V 的穩(wěn)壓電源,為單片機和紅外傳感器供電。
(2)紅外傳感器的接口電路
為了使小車能夠實現直行、向左直行、向左轉大彎、轉小彎,向右直行、向右轉大彎、轉小彎,該尋跡小車用安裝5 個TCRT5000 紅外傳感器,其中中間的3 個傳感器長度相同,兩側的2 個傳感器比中間的短,5 個傳感器并行安放,傳感器之間的距離根據黑色跑道的寬度確定。正常行駛時,只有中間的傳感器在黑色跑到上方,當小車需要向左轉彎時,左側的傳感器會出現在黑色跑到上方,根據檢測是哪個或者哪幾個左側的傳感器在黑色跑到上方,來判斷小車是轉直角彎、小彎還是大彎。同理當小車需要向右轉彎時,右側的傳感器會出現在黑色跑到上方,根據檢測是哪個或者哪幾個右側的傳感器在黑色跑到上方,來判斷小車是轉直角彎、小彎還是大彎。小車行駛狀態(tài)與傳感器信號之間的關系如表1 所示。根據5 個傳感器檢測到的不同信號,單片機執(zhí)行不同的子程序,實現小車按照軌跡行駛。
表1 傳感器與小車運動狀態(tài)
在設計程序時,將小車的每一種運動狀態(tài)單獨編譯成一個子程序,當單片機檢測到紅外傳感器輸入信號后,調用相應的子程序即可,這樣不但可以節(jié)省了很大的程序空間,而且提高單片機的運行速度,使小車的運動軌跡更精準。采用TCRT5000 紅外傳感器進行尋跡,5 個紅外傳感器的接口電路如圖5 所示。每個傳感器的輸出口分別與單片機的I/O 口相連。
圖5 紅外傳感器的接口電路
(3)電機驅動電路
小車的兩個驅動輪采用直流電機驅動,因為單片機自身管腳輸出的高電平的電壓不能直接驅動直流電機轉動,所以需要通過電機驅動芯片來完成小車的驅動。由于L298N 芯片驅動能力強、操作方便、穩(wěn)定性好,性能優(yōu)良,能夠分時驅動兩個直流電機,并能實現電機轉向和速度控制,所以采用L298N 直流電機驅動模塊,電機的驅動電路如圖6 所示。L298N 芯片左側引腳與單片機的I/O 口相連,右側引腳與兩個直流減速電機的兩根控制線相連。
圖6 電機驅動電路
L298N 的9、10 引腳與左側電機相連,11、12 引腳與右側電機相連,通過設置IN1、IN2、IN3、IN4 引腳的數值,實現小車的轉向控制。控制方式與小車運動狀態(tài)如表2 所示。
表2 控制方式與小車運動狀態(tài)
小車的轉速通過對使能端ENA、ENВ 輸出PWM 脈沖實現控制,改變PWM 的占空比即可實現對電機兩輪轉速進行控制,從而實現小車沿不同軌跡運動。
由于AT89C52RC 單片機沒有PWM 輸出口,所以利用單片機內部的定時計數器T0 實現PWM 脈沖的輸出,為了提高單片機的工作效率,定時計數器采用中斷的工作方式。通過改變定時器T0 的初值,可以實現P2.7 和P2.2 引腳輸出不同占空比的PWM 脈沖波形。
(4)STC89C52RC 單片機接口電路
STC89C52RC 單片機具有高速、低功耗、超強抗干擾的特點,工作電壓為5V,8K 字節(jié)的ROM、512 字節(jié)的RAM,32 個通用I/O 口,3 個16 位定時器/計數器,4 路外部中斷。
單片機的P1.0~P1.4 分別與5 個紅外傳感器TCRT5000 的輸出引腳out1~out5 相連,接收紅外傳感器發(fā)出的信號。單片機的P2.2~P2.7 分別與電動機的驅動芯片L298N 的引腳相連,通過控制各引腳的輸出值實現電動機的轉速和轉向控制,電路接線圖如圖7 所示。
圖7 單片機的接口電路
小車進入尋跡模式后,即開始不停地掃描與紅外傳感器連接的單片機I/O 口P1.0~P1.4 的狀態(tài),一旦檢測到某個I/O 口有信號發(fā)生變化,就執(zhí)行相應的判斷程序,把相應的信號發(fā)送給電動機從而糾正小車的狀態(tài)。控制系統程序流程圖如圖8 所示。
圖8 控制系統程序流程圖
當所有傳感器輸出為0 時,說明小車脫離運行軌道,小車將停止運動,當傳感器輸出不全為零時,則要判斷調用哪個應用模塊。應用模塊共有7 個,當中間的傳感器輸出為1,其它輸出為0 時,調用直行程序模塊,當中間和左2傳感器輸出為1,其它輸出為0 時,調用向左轉直角彎程序模塊;當只有左2 傳感器輸出為1,其它輸出為0 時,調用向左轉小彎程序模塊;當中間和左側兩個傳感器同時輸出為1,其它輸出為0 時,調用向左轉大彎程序模塊;右轉彎同理。每個應用模塊包括定時器T0 初始化函數,定時器T0 中斷服務函數,用于生成兩路可調的PWM。當小車直行時,兩個驅動電機轉速相同,P2.7 和P2.2 引腳輸出占空比相同的PWM 脈沖波形;當小車轉彎時,輸出的兩路PWM 占空比不同。當轉小彎時,兩路PWM 占空比的差值小,當轉大彎時,兩路PWM 占空比差值較大,具體數值需要現場調試得到。
設計的智能尋跡小車通過紅外傳感器循跡模塊判斷黑線路徑,然后由STC89C52 單片機通過IO 口控制L298N驅動模塊改變兩個直流電機的工作狀態(tài),最后實現小車循跡。小車具有結構簡單,質量輕,性能較好的特點。