鳳嬌
(山東科技大學機械電子工程學院 山東 青島 266590)
基于Arduino的循跡避障小車的設計與研究
王賀于蘭浩李錚王鳳嬌曹冬冬黃曉松
(山東科技大學機械電子工程學院山東青島266590)
本文設計了循跡避障小車,以Arduino Mega2560為主控制板,L298N直流電機驅動模塊驅動直流電機,紅外傳感器和超聲波傳感器結合可以實現小車靈敏的循跡和避障,通過藍牙模塊,可以實現手機和PC對小車的控制。
Arduino;循跡避障小車;傳感器
循跡避障小車屬于輪式機器人,因其價格低廉并且適合在許多環境下工作,因此得到廣泛應用[1]。智能小車是一種集環境探測、智能決策和自動行駛等功能于一體的綜合機電系統。在循跡避障小車上加裝機械手或其他裝置可以在特定環境下實現特定的功能。
本文使用SolidWorks軟件對循跡小車的整體模型進行設計,包括小車的底盤、兩個直流電機、兩個電機驅動輪、一個前置萬向輪和萬向輪支架。小車的前行動力是靠兩個電機驅動,并通過萬向輪調整前行的方向(如圖1)。

圖1 小車總體裝配圖
常見的Arduino控制板主要有Mega 2560、Mega ADK、Mini、Nano控制板,本文選用的是Arduino Mega2560控制板。Aduino Mega2560具有多達54路的數字輸入輸出接口,14路脈沖寬度調制PWM,16路模擬輸入接口,其供電方式可以通過電源插座供電,也可以將電池直接連接到板卡上電源連接器的VIN和GND引腳或利用USB接口直接供電[2]。
(一)小車循跡原理
在小車車頭安裝有兩個紅外傳感器,紅外尋線傳感器主要用于小車前行時的巡線,小車在前行時可以沿著黑線前行。
(二)小車避障原理
選用HC-SR04超聲波測距傳感器,其測距精度可高達2mm,測距范圍為2~400cm,抗干擾的性能和穩定性能也相對較高。小車有兩個避障傳感器,分別為前避障傳感器和后避障傳感器。在小車前行過程中如果有障礙物,前避障傳感器立即旋轉進行測距,經MCU計算發出方向指令并有輪子旋轉。后避障傳感器安裝與車體平面呈約50度角,負責后退過程中的后方和上方障礙物的檢測。

圖2 HC-SR04超聲波傳感器電路原理圖
(三)手機藍牙模塊的設計
選用的藍牙模塊為HC-06從模塊,該模塊具有4個引腳,該模塊為從機模塊,可以和具有藍牙功能的手機進行配對,通過藍牙發送控制指令,接收端在收到信息后根據指令內容驅動直流電機,可以實現車體的前進、后退、左右轉和停止的功能。
Arduino IDE是Arduino開放源代碼的集成開發環境,Arduino IDE編好程序之后,單擊校驗按鈕,編譯成功后,單擊下載,通過數據線將程序下載到Arduino板子上。
在控制直流電機時要控制電機的旋轉時間、旋轉方向和轉速,需要兩個控制引腳和一個PWM控制引腳,其中兩個引腳用來控制電機的轉動方向,而PWM信號用來控制電機轉速和啟停。

圖3 程序代碼窗口
本文對循跡小車的結構進行了設計,采用Arduino Mega2560為主控制板,L298N直流電機驅動板,紅外傳感器和超聲波避障傳感器相結合控制,通過Arduino IDE軟件編程和調試,保證了小車的平穩運行。
[1]王晶.智能小車運動控制技術的研究[D].武漢:武漢理工大學,2009.
[2]黃春平,萬其明,葉林.基于51單片機的智能循跡小車的設計[J]儀表技術,2011(2)
王賀(1994-),男,漢,研究生在讀,山東科技大學,研究方向機電液控制。