利用Parallax雷射感測器製作Arduino雷射機器人—第1部分

arduino robot

 

試想一下,您剛搬到一個新地方,需要儘快添置傢俱,但是手頭沒有卷尺可以進行測量。那麼,這款Parallax雷射Arduino機器人就會派上用場!

我們在之前的文章《如何製作自己的機器人》《如何製作自己的機器人(第2部分)》中描述了如何利用Arduino UNO R3從零開始搭建屬於自己的機器人。在本文中,我們將進一步增加機器人的功能:讓它能夠動起來並且添加雷射測距(LRF)功能,以使該裝置能夠檢測物體並測量距離。

雷射感測器會幫我們獲得更準確、更可靠的資料。該Arduino機器人的行動方式為自主行動模式。它在行動的過程中能夠檢測到障礙物並主動避開。

該機器人的設計目標如下:

  • 向前、向後行動;向左和向右旋轉90度;向左和向右旋轉45度。
  • 基於最佳路徑,透過向不同方向行動避開障礙物。
  • 測量各個方向(前方、左右90度、左右45度)的距離。
  • 基於可用的最長距離,確定朝哪個方向前進(向前、向後、向左或向右)。

感測器安裝在伺服上,以便機器人可以左右平移以進行多次測量。測量的距離將顯示在一塊小型OLED顯示幕上。我們將使用步進馬達實現平穩、安靜的運行。

我們會一步一步地討論該Arduino機器人的構建過程。第一步是如何安裝底盤、馬達和Arduino/馬達研發板。然後,我們利用一個小程式來測試馬達,以確保系統連接和軟體安裝都準確無誤。然後,在下一篇文章中,我們會逐步添加其餘裝置,並且每一步都透過程式來測試安裝和連接是否正確。透過這種按部就班的方法能夠讓我們更方便地解決製作過程中遇到的任何問題。

硬體

製作該機器人所需的硬體請參見以下硬體明細,這些零件在許多電商都可以買到(零件明細中有提供網址)。

 

軟體

工具

  • 圓銼
  • Dremel電動工具
  • 電烙鐵
  • 迷你鋼鋸

安裝馬達、輪子和壓克力底座

Parallax底盤由高強度鋁製成。該零件是專門為伺服系統而不是步進馬達設計的,因此我們需要做一些修改。

首先,要將馬達安裝到主機殼上,我們得在主機殼的兩側開口。請用Dremel電動工具按照馬達的安裝尺寸精確切割主機殼。

我們使用的步進馬達型號為NEMA 17,其解析度為200步/轉。其供電規格為12V 350mA。

要將馬達裝入底盤內,我們需要尺寸為6.5cm x 4.5cm的壓克力板,如圖1所示。請用鋼鋸將壓克力板切割成所需尺寸,然後用Dremel電動工具鑽孔。用M2 x 10mm的螺釘將馬達裝在壓克力安裝板上,兩個馬達需要8顆螺釘。然後,將製作完畢的壓克力板和馬達安裝到底盤內。

arduino robot

圖1. 將步進馬達安裝在6.5×4.5cm壓克力板上

要固定Arduino和OLED顯示幕,我們需要切割一塊15cm x 8cm的壓克力底座(圖2)。請用4個墊片和螺絲安裝壓克力底座,然後用附帶的銷釘安裝尾輪。

 

arduino robot

圖2. 主機殼、尾輪和15 x 8壓克力板底座

 

arduino robot

圖3. 輪子和軸連接器

 

arduino robot

圖4. 安裝在底盤上的步進馬達和尾輪

我們需要用圖3中所示的軸連接器安裝輪子。但是,我們必須做一個小修改。軸孔的直徑為4mm,而步進馬達軸的直徑為5mm。因此,我們需要將連接器的孔擴大到5mm。請使用圓銼或Dremel工具擴孔。擴孔時一定要小心操作!

arduino robot

圖5. 安裝在底盤上的壓克力底座

請將馬達線纜從頂部的孔穿出,然後用雙面膠帶將電池粘在主機殼下方。對於該專案來說,鋰聚合物電池是理想解決方案。其供電規格為11.1V 800mAh〜1000mAh,這使得系統續航可超過1小時,而且還可以充電。但是該電池需要專門的充電器。如果您是航空模型或遙控車愛好者,那麼您肯定知道這種電池。我們也可以用6或8節AA電池(9-12V)代替。

arduino robot

圖6. 用雙面膠將電池粘在底盤上

將馬達電纜連至馬達研發板

Adafruit 馬達研發板規格 – Adafruit

  • 與Arduino高解析度專用計時器相連的兩個5V Hobby伺服器介面
  • 4個H橋:搭載TB6612晶片組,每個橋可提供1.2A電流(峰值為3A,持續20ms),具有熱關斷保護功能,以及內部反沖保護二極體。可為馬達提供4.5VDC至13.5VDC供電。
  • 可連接最多4個雙向直流馬達,具有單獨8位元速度選擇功能。
  • 可連接最多2個單線圈、雙線圈、交叉步進或微步進馬達 (單極或雙載子)
  • 經測試與Arduino UNO、Leonardo、ADK/Mega R3、Diecimila和Duemilanove相容。相容Due,配有3.3v邏輯跳線。相容Mega/ADK R2及更早版本,具有2個跳線。
  • 5v3.3v邏輯電平(跳線可配置)。

該馬達研發板能同時運行2個步進馬達和2個伺服器。該步進馬達研發板的一個很大優勢在於它不佔用任何Arduino引腳,因為它透過I2C連接。唯一需要引腳的是伺服器。我們只需按照說明連接馬達電纜即可。

要瞭解步進馬達的基本知識及其與Arduino UNO R3的連接,請參考《Arduino與零件和感測器——步進馬達第1部分》

arduino robot

圖7. 將馬達連至馬達研發板

 

arduino robot

圖8. 壓克力底座上的Arduino和馬達研發板

現在,我們只需要根據下圖安裝輪子和電池連接器即可。

 

arduino robot

圖9. 步進馬達電纜連至馬達研發板

安裝軟體並上傳代碼

現在,我們可以運行第一段代碼了!首先,我們需要從Arduino網站下載並安裝Arduino IDE,從Adafruit網站上下載並安裝馬達研發板程式館。安裝成功後,請將以下原始程式碼複製到Arduino中。

 

這段代碼非常簡單。其目的是讓機器人能夠向左旋轉90度以及向右旋轉90度。該程式還能讓機器人返回到起始位置:向前行動400步,然後向後行動回到起始位置。在程式迴圈中,我們運行Motor函數,該函數具有2個參數。第一個參數表明馬達必須旋轉多少步,第二個參數表明馬達行動方向(向前、向後、向左和向右)。

程式運行後,該Arduino機器人應該會像上述影片顯示的那樣行動。

在下一篇文章中,我們將繼續添加其他系統零件,比如伺服器和雷射測距儀(LRF),並編寫一個程式,讓機器人能夠自主行動。因此,請繼續看我的下一篇文章!