盧慶林
(陜西工業職業技術學院電氣工程學院,陜西 咸陽712000)
智能小車是一種可移動的輪式機器人,其內容涵蓋機械、電子、汽車、計算機、傳感技術和自動控制等領域[1]。隨著汽車工業的快速發展,汽車的智能化必將是未來汽車產業發展的趨勢,可應用于工廠自動料車、固定場地搬運車等技術領域,也可應用于復雜、惡劣的工作環境,具有良好的應用前景[2-3]。目前,超聲避障實現簡便、數據處理量小、易于做到實時控制,并且在測量精度方面能達到實用的要求,因此,成為常用的避障方法[4]。在此,采用紅外尋跡,使小車沿著預定路徑行駛,對行駛途中障礙物,利用超聲波傳感器來實現小車避障,通過控制小車與障礙物的距離,實現了小車多角度檢測障礙物,從而控制小車轉向、后退或前進,使小車能成功躲避障礙物。
避障小車使用STC89C52單片機作為主控芯片,采用雙電機驅動,在左右后輪各安裝1個直流電機,轉向控制由調制舵機的轉動角度來實現。小車尋跡采用紅外對管,安裝在小車前端,為了小車能夠更好的避障,在小車的前、左、右3個方向上安裝了3個超聲波傳感器,通過超聲波測距來獲取小車離障礙物的距離,并用液晶LCD顯示結果。當小車與障礙物的距離大于30 cm時,小車會沿直線前進;當小車檢測到障礙物并與障礙物的距離小于30 cm時,主控芯片根據距離值控制直流電機的轉動,在轉動的方案上將首先嘗試左轉,如果在0.9 s里面連續轉動3次,則說明前方的障礙不能通過,就控制小車向相反的方向轉動并后退一段距離,然后再前進以避開障礙物,同時蜂鳴器報警提醒。系統結構如圖1所示。

圖1 系統總體設計
超聲波傳感器主要發射高頻超聲波,在遇到障礙物時發生像光一樣的反射和散射。超聲波模塊采用成型的HC-SR04模塊,該超聲波模塊測距范圍為3~400 cm,測距精度可達到3 mm,其包括超聲波收發探頭、控制電路和驅動電路[5]。超聲波測距模塊工作原理:采用I/O口TRIG觸發產生8個40 k Hz的方波脈沖,由發射驅動電路加在發射探頭上,經被測物反射到接收探頭,通過檢測電路送處理器處理后,由處理器I/O口Echo產生1個持續高電平,該高電平保持時間即為超聲波從發射到返回的時間。
紅外傳感器ST188是一種反射式光電傳感器,其體積小、使用方便和可靠性高[6]。光電檢測電路如圖2所示,主要有光電和信號處理2部分。在進行光電檢測時,ST188傳感器尋跡,當檢測到路徑時,將信號傳輸給集成運放μA741,構成電壓比較器,得到相關TTL電平信號,送 給 STC89C53單片機處理,從而斷定小車是否沿規定路徑行駛。在預定路徑運行過程中,若檢測到路徑中黑色部分,接收管產生0.5 V低電平信號;若檢測到路徑中白色部分,接收管產生4.8 V高電平信號。電壓比較器完成信號初步處理,30 kΩ的電位器調節其基準電壓[7]。系統為了能準確定位行駛方向及路徑,在小車底盤裝設4個紅外ST188探測頭,從左右2個方向上糾正控制,提高循跡的可靠性。

圖2 光電檢測電路
電機驅動部分主要由STC89C52單片機和L298N構成,其電路如圖3所示。L298N芯片單列直插式,共15個管腳。其中,IN1,IN2,IN3和IN4為輸入端;OUT1,OUT2,OUT3和 OUT4為輸出端;SA和SB為反饋端;ENA和ENB為使能端;GND為接地端;VSS為電源電壓輸入端;VS為功率電源電壓輸入端。L298N芯片響應頻率高、輸出功率大,可同時驅動2個電機。AT 89C52的PB4,PB5端口直接分別與L298N的2個使能端ENA,ENB相連,通過對單片機編程就可實現2個直流電機的PWM調速 控 制[8]。 單 片 機 的PD0~PD3端口分別與L298N的引腳IN1,IN2,IN3,IN4相連,通過電平變化控制電機在持續高速狀態下的轉向。L298N的4個輸出端直接與2個電機相連,以驅動電機。

圖3 L298N電機驅動電路
主控系統主要采用STC89C52單片機作為中央處理器,主要包含ISP下載端口、超聲波連接端口、L298N連接端口和各類指示燈等。
STC89C52單片機是8位單片機系統,具有低功耗、性能穩定、可靠性高和支持在線編程等優點。另外,STC89C52還有2個8位可編程計數定時器,4 KB的RAM,32個I/O口[9]。由其構成單片機最小系統如圖4所示。系統采用外部時鐘,振蕩頻率為12 MHz,復位采用按鍵控制。

圖4 時鐘電路和復位電路
顯示模塊采用LM016L液晶模塊,內部帶有控制器,具有簡單而功能較強的指令集,可以實現字符閃爍、移動等功能[10]。LM016L與單片機通訊可采用8位或4位并行傳輸2種方式。顯示電路如圖5所示。系統報警電路采用的是三極管驅動的蜂鳴器,其工作電壓為3~15 V,驅動電流為10 m A。蜂鳴器由三極管和電阻組成的驅動電路來驅動,STC89C52單片機的P3.5口接三極管基極輸入端,通過P3.5輸出高電平使電路產生報警。

圖5 LM016L顯示電路
小車尋跡流程如圖6所示。STC89C52單片機定時器預置的初值,使其P0.4和P0.5端口產生不同占空比的方波信號,來控制電機兩端的電壓值,進而控制小車運行速度。小車沿規定路徑行駛時,系統處理器不間斷地掃描單片機與紅外探測器的接口,判斷是否有信號輸入,檢測到就進行相應判斷處理,并傳送給電機,使小車沿預定路徑行駛。

圖6 小車循跡流程
在超聲波探測模塊中,I/O口觸發,給Trig口至少10μs的高電平,啟動測量;模塊自動發送8個40 k Hz的方波,自動檢測是否有信號返回;有信號返回,則通過I/O口Echo輸出1個高電平,高電平持續的時間就是超聲波從發射到返回的時間,測試距離=(高電平時間×340)/2,單位為m。超聲波測距流程如圖7所示。

圖7 超聲波測距流程
程序中測試功能主要由2個函數完成,即measure()負責啟動1次模塊的測距,然后由Should Turn()確定前方是否有障礙物。根據車體大小及系統的反應,經過測試,取30 cm的反應距離效果較為明顯。另外,HC-SR04超聲波探測模塊探測的間隔周期推薦值是64 ms,經過試驗,小車系統中取125 ms較為適宜,使主程序有足夠的時間來驅動小車前進。實現中采用定時器0進行定時測量,8分頻,TCNTT0預設值0XCE,當timer0溢出中斷發生2 500次時為125 ms。
在自動尋跡避障小車中,采用功能單元模塊化的設計,使得系統響應快、性能穩定、簡潔。經測試表明,小車實現了預期設定的循跡功能,并在規定的時間內,沿設定路徑完成循跡,對于行駛路徑中的障礙物,如小于30 cm,可自動轉向避讓。為了使小車更加智能化,還可為小車增加自動巡航、識別、車速檢測和制動等功能。
[1] 夏 鯤,張振國.電動車蹺蹺板自平衡系統設計[J].電子測量與儀器學報,2010,24(2):179-183.
[2] 蘭 羽.基于紅外傳感器ST188的自動循跡小車設計[J].電子設計工程,2013,21(3):64-66.
[3] 簡 盈,王躍科,潘仲明.超聲換能器驅動電路及回波接收電路的設計[J].電子技術應用,2004,30(11):31-34.
[4] 董 濤,劉進英,蔣 蘇.基于單片機的智能小車的設計與制作[J].計算機測量與控制,2009,17(2):380-382.
[5] 蘇 煒,龔壁建,潘 笑.超聲波測距誤差分析[J].傳感器技術,2004,23(6):8-11.
[6] 蘭 羽.具有溫度補償功能超聲波測距系統的設計[J].電子測量技術,2013,36(2):85-87.
[7] 蘭 羽.基于40 k Hz超聲波測距系統的設計[J].機械與電子,2013(8):66-69.
[8] 蔣緯洋,鄧 遲,肖曉萍.兩輪自平衡小車系統制作研究[J].國外電子測量技術,2012,31(6):76-79.
[9] 蘭 羽,萬可順.基于AT89C51的無線溫度采集系統的設計[J].國外電子測量技術,2013,32(6):83-85.
[10] 王 剛,喬純捷,王躍科.基于時鐘同步的分布式實時系統監控[J].電子測量與儀器學報,2010,24(3):274-278.