(北京信息職業技術學院圖書館 北京 100015)
本題目設計的是超聲波避障小車,類似于生活中使用的掃地機器人。由于采用了Ardunio與超聲波傳感器,Ardunio平臺為開源軟件且模塊化編程,主芯片能耗低、靈敏度高、該項目對于高職院校師生啟發性強。
避障小車主控模塊(圖1)由以下幾部分組成:Arduino板、Arduino電機驅動板、Arduino擴展板等等。

圖1 避障小車主控模塊
Arduino超聲波避障模塊主要依靠Arduino單片機進行分析控制,基于超聲波傳感器數據,(左,中,右方向)分析,進一步實現避障小車前進、后退、左右以及掉頭等各個動作。
圖2為超聲波避障小車工作流程,工作中首先通過超聲波模塊采集數據、讀入數據到Arduino-UNO、單片機分析判斷,進一步控制馬達轉速,決定前進后退。

圖2 避障小車工作流程
電機驅動模塊主要功能是將單片機相關信號通過驅動模塊轉化為小車實際功率。本設計中采用的電機專用驅動芯片L298N,L298N耐高電壓并且具有高電流驅動能力。一般接收TTL邏輯電平,工程師用來驅動感性負載(像繼電器,電機等等)。L298N芯片有一個電源VCC引腳、地GND引腳、四個電機驅動引腳、四個PWM引腳。VCC引腳可以接12V電源用來給芯片和電動機供電。還可將板內5V 電壓傳給單片機供電??蓪崿F電機正反轉、轉矩大、調速快、性能好、可同時驅動兩臺直流電機。
超聲波測距借助類似于蝙蝠的超聲波來實現,在Ardunio中具體的工作原理與程序是:超聲波傳感器發射頭發超聲波,接收頭收超聲波,該模塊發送8個40khz的方波,HC-SR04自動檢測是否有信號返回,若有信號返回,則Echo端口輸出一個高電平脈沖給單片機相關I/O口,高電平持續時間于是就等于超聲波從發射到返回時間。
方案1:晶宏STC89C52單片機作為核心處理器。STC89C52:低功耗、高性能8位單片機,它含4k Bytes ISP(In-system programmable)Flash只讀程序存儲器,器件采用高密度、非易失性技術制造,可以反復擦1萬次以上。兼容MCS-51指令系統和80C51引腳,片內集成8位CPU和ISP Flash存儲器,利用STC89C52的I/O口采集傳感器信號并實時驅動控制步進電機。晶宏STC89C52單片機把必需控制內容都集成于一個很小的集成電路芯片。它若按功能劃分,由如下內部組件組成,即串行口、定時器/計數器、中斷系統微處理器、數據存儲器、程序存儲器、并行I/O口、及特殊功能寄存器。它們由片內單一總線連接并且基本結構依舊是CPU+外圍芯片的傳統模式,對各種功能模塊的控制采用特殊功能寄存器來控制。
方案2:Arduino Uno用的芯片基本就是ATmega328p,Arduino Uno核心處理器即ATmega328p-AVR芯片,閃存容量為32KB、上電復位、可編程、低功耗、高性能、8位控制器;采用RISC體系結構、高耐力、非易失內存、含內部校準振蕩器,同時具有外部和內部中斷源。
綜合上面分析,同時結合ATmega328p在Arduino Uno開發板上集成了大量現成的庫文件,十分方便實用。所以在智能小車創新項目中采用了第二種解決方案。
超聲波避障小車工作原理:打開電源,超聲波傳感器初始化,分析小車正向障礙物距離。若數值在安全距離內小車則直行,若小于安全距離,超聲波傳感器測量左右方向障礙物距離,且對左右向距離進行分析判斷,小車下一步需要選取合理路徑。
智能小車(圖3所示)具體工作原理:智能小車安裝超聲波傳感器后程序依據路況判定,若前方距離大于設定值,則前進;不然,左右方向都小于某設定值,后退;再不然,判斷左右方向距離后再決定行駛路線或者自行掉頭避障。

圖3 小車外觀圖
本文介紹了基于Arduino超聲波避障小車的結構和組成,闡明了超聲波避障小車開發關鍵流程。具有一定編程基礎的大學生可以很方便的創新與二次迭代開發,也可以廣泛應用到大學生電子設計競賽中去。