冬營營招生中

2019年7月21日 星期日

[micro:bit x Nexus:bit] 使用Nexus:bit擴充板輕易控制MeArm四軸機械手臂




MeArm是英國創客Benjamin Gray在2013年透過Kickstarter集資成功而推出的入門版四軸機械手臂,使用四顆常見的SG90或類似的迷你伺服馬達,因此只要供應5伏特和800mA~1A的電力就能驅動,可說極為平易近人。



Benjamin Gray先生




MeArm的組裝方式,請參閱台灣程式教育協進會的MeArm組裝手冊。(此手冊是以協會上一代micro:bit擴充板Thunder:bit而寫,不過本篇會介紹如何以新的Nexus:bit擴充板控制。)


* * *


首先,我們要把擴充板安裝到MeArm後方的底板上。由於底板的孔與Nexus:bit周圍的螺絲孔規格不符,我們採用的辦法是一邊以M3螺絲及螺帽固定,另一邊則用束線帶綁住。






機械手臂的四條馬達線,要接在Nexus:bit擴充板中央的伺服馬達腳位:


  • 底座水平馬達 → S1(1號)
  • 從後方看的右側側面馬達 → S2(2號)
  • 從後方看的左側側面馬達 → S3(3號)
  • 爪子馬達 → S4(4號)


馬達線對應針腳如下:


  • 橘(信號)→ S(黃色針腳)
  • 紅(電源)→ +(紅色針腳)
  • 褐(接地)→ -(黑色針腳)


※由於爪子馬達會使用三條杜邦線延長,因此可能會比較難插好。可以試著先拔起micro:bit騰出空間,插好後再放回去。






接著就來寫程式啦!

我們希望MeArm的控制方式如下:



  • 左右轉動Nexus:bit的搖桿時,底座馬達(1號)平順左右轉動。
  • 前後轉動搖桿時,右側馬達(2號)平順前後轉動。
  • 但若按住按鈕A前後轉動搖桿,則會改而讓左側馬達(3號)平順前後轉動。
  • 按一下按鈕B,會打開會闔上爪子馬達(4號)。
  • 按一下A+B,會讓整台機械手臂回到預設位置。



當你面對伺服馬達頭時,順時鐘方向角度變小,逆時鐘變大。

我們要使用Nexus:bit擴充板的專屬擴展套件來控制這些馬達。到MakeCode編輯器的「進階」→「擴展」畫面,輸入網址https://github.com/alankrantas/pxt-Nexusbit,按enter即可加入這個套件。(詳情可參閱協會的Nexus:bit使用手冊。)

於是程式撰寫如下:









爪子馬達使用了個變數來記錄它的開闔狀態。此外,為了避免爪子轉得太多、脫離齒輪或者夾太緊,我們設定爪子只會在轉到30或150度。(爪子並不需要像其他馬達一樣「逐次轉動」,所以直接轉就行了。)

如果有馬達在開機後的預設位置太偏,各位可試著在開機後不碰搖桿的情況下,輕輕拔起對應的馬達支架,重新調整它在馬達頭上的安裝位置。

若有馬達試圖轉動、但因手臂零件的安裝位置不當而導致卡死,馬達有可能過熱、發出噪音甚至損壞。此外,左側馬達連接的短臂若往前轉得太多,可能會令手臂卡在一個無法動彈的畸形姿勢。這都是使用者在組裝和調校的過程中要留意的。



軟體和硬體部分都完成後,一台有趣好玩的動力機械手臂就誕生了!






沒有留言:

張貼留言