摘要:文章設計采用了兩片典型通用的單片機——AT89C52作為檢測和控制的核心,通過綜合應用多種傳感器對小車中的位置和姿態進行控制。整個系統主要分為電機驅動模塊、傳感器信號處理模塊、超聲波傳感器測距模塊、金屬片探測電路模塊等,各個模塊信號分別與系統相連。該系統采用雙電源供電,從根本上避免了電機驅動電路對單片機系統的干擾。
關鍵詞:小汽車;PWM脈寬調制;單片機;自動程控;電路傳感器
中圖分類號:TP368 文獻標識碼:A 文章編號:1009-2374(2013)16-0046-02
設計一個以單片機為核心器件實現對行駛中的電動模型小汽車自動控制系統。控制過程是利用反射式光電檢測器采集數據,通過軟件完成對電動模型小汽車在不同路段的行駛速度進行實時控制(其中包括控制電機的正反轉以及電機的啟停)。
基本要求:小車從起跑線出發(出發前,車體不得超出起跑線),到達終點線后停留10s,然后自動返回起跑線(允許倒車返回)。往返一次的時間(從合上汽車電源開關開始記時)應該力求最短。
(1)到達終點線和返回起跑線時,停車位置離起跑線和終點線偏差應最小(以車輛中心點與終點線或起跑線之間距離作為偏差的測量值)。
(2)D~E間是限速區,車輛往返均要求以低速通過,通過時間不得少于8s,但不允許在限速區內停車。
1 方案論證與選擇
根據題目設計的要求,在設計當中實現了電動車的自動行駛、躲避障礙物、探測金屬、計數、報警、光電引導功能、測量距離、數碼顯示、電機控制等功能。
單片機檢測出來感應器輸出信號從而輸出控制信號,控制電機工作,在直道區,考慮引導線是黑顏色,不宜反光,決定利用這一特性選用反射式光電傳感器,當其輸出信號照射到黑色引導線上是輸出一個非常微弱的低電平。這個過程是一個負跳變的過程,通過對此信號高低電平的檢測就可以使電動車沿著直道區和彎道區的引導線行進。
(1)電機驅動模塊:采用由達林頓管組成的H型PWM脈寬調制電路。
(2)傳感器模塊:采用反射式光電傳感器。
(3)測距傳感器:采用霍爾傳感器。
(4)金屬傳感器:采用TK-18N8C金屬探測傳感器。
(5)小車避障:利用超聲波檢測避開外界干擾,迅速方便,計算簡單。
(6)光源引導方案:利用光敏二極管在光的照射下電阻值發生改變的特性,來檢測小汽車各個部位光強。并設計相應的電路,使其在一定條件下引起中斷,在單片機控制下使小車轉向,到達車庫。
(7)停車方案:采用以光敏電阻為主要元件的檢測電路,利用光敏電阻對光源的敏感性,當小車到達與光源一定距離的時候,引起單片機中斷,從而制動停車。
(8)電源的選擇:雙電源供電。
2 系統設計與實現
2.1 電機驅動電路的設計與實現
TIP132、TIP137均為低頻大功率達林頓管,以保證電動機啟動瞬間的8A電流要求。A和B為輸入端控制電機正反轉,我們采用了200Hz的周期信號控制,通過對其占空比的調整,對車速進行調節。最小脈寬為0.2ms,速度共分25擋,可以滿足車速調整的精度要求。同時,可以通過A與B的切換來控制電動機的正轉和反轉。
2.2 傳感器模塊的實現
此模塊包括反射式光電傳感器、霍爾傳感器、金屬探測傳感器、超聲波傳器以及光敏元件、光敏二極管和光敏電阻。
2.2.1 跑道黑線檢測。為了檢測黑色引導線,在車頭安裝了兩個反射式光電傳感器。只要兩個光電傳感器任意一個有效,74LS08便輸出低電平申請中斷。CPU響應中斷后,立刻在P1.7口查詢輸入信號并判斷是哪個光電傳感器引起中斷,從而控制小車左轉或右轉。
2.2.4 小車避障的電路設計。一對單發射單接收傳感器安裝在車頭。當傳感器探測到障礙物的距離達到規定值時,向CPU發出中斷請求,控制小車前輪左右轉向,從而避開障礙物。
2.2.5 光源引導方案的實現。我們在車的前方和右側各安裝了一個光敏二極管,此電路采用測距傳感器OPT303的接收管(黑管)為主要光敏器件,利用光敏二極管對光源的角度的敏感性,用來檢測光源方向,從而達到光引導的作用。
2.2.6 停車方案的實現。利用光敏電阻對光源強度的敏感性,根據其離光源的距離確定阻值,使其足以引起單片機中斷,使小車準確停車。光敏電阻安裝在車的前上方,具體實現電路如圖4所示。
2.2.7 前輪驅動電路的設計與實現。前輪轉向電機的驅動電路形式和后輪電機驅動電路完全一樣,只是它不以PWM方式工作。為減輕系統負擔,使小車運行速度穩定,我們直接給A或B端加高低電平,使其左轉或右轉。具體實現電路同電機驅動電路原理圖。
3 系統的軟件設計
通過對單片機1和單片機2編程,小車實現以下功能:
(1)車速度控制和轉向控制,沿黑色引導線行駛,檢測到C點鐵片停車5s,躲避障礙物,在光源引導下進入車庫并停車。由單片機1完成。
(2)檢測、計算、顯示小車運行距離,檢測并顯示鐵片個數,發出聲光信息,顯示行駛時間。由單片機2完成。
4 結語
在軟件和硬件上運用了一些巧妙方法,硬件方面:超聲傳感器電路部分額外加入了單片機,擴展了此模塊功能,并且使得輸出信號有規律可循,便于89C51單片機在之后的運行中檢測四周電路,減小89C51負擔,同時大大提高了電動車載應對障礙物時候的反應時間。
軟件方面:因為傳感器在檢測到某物體時,輸出信號會發生特定變化,利用這種變化規律,讓單片機只對此類規律的信號有所反應,大大減少了處理數據的時間,從而加快了系統的反應速度,大量使用類似于JB/JNB命令對相應端口進行查詢,并且簡化程序代碼,避免使用繁瑣復雜的終端控制,確保系統的高精確度。另外,整個運行過程中通過采用等分時端口查詢思想,只要分時足夠小,電動車就會對外界因素有充足的反應空間,既達到了接近實時的信號檢測處理效果,又可通過最終等分時數目準確計算出行駛距離,一舉兩得。
參考文獻
[1] 馬忠梅.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,2001.
[2] 胡健.單片機原理及接口技術[M].北京:機械工業出版社,1999.
[3] 霍孟友.單片機基本原理及應用學習概要及題解
[M].北京:機械工業出版社,2000.
[4] 孫育才.MCS-51系列單片機及其應用[M].南京:東南大學出版社,2001.
[5] 王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,1998.
[6] 何立民.單片機應用系統設計[M].北京:北京航空航天大學出版社,2001.
[7] 蘇長贊.使用遙控技術手冊[M].北京:人民郵電出版社,2004.
作者簡介:靳友國(1982—),男,河北廊坊人,開灤集團蔚州礦業公司單侯礦機電管理部助理工程師,研究方向:電氣工程及自動化。