86小六足組裝教學





專案起源

此專案源起自機械蠍子史加納專案,
「看來還是六隻腳的機器人比較好做呢!」老大沉思樣。
「恩卓博士,我們去收買 U大吧!請他做一隻用 3D 列印的小六足機器人!」
隨後恩卓博士帶著一打台啤與燒肉串去找了 U大,
隔天,全世界的第一台 86小六足就這樣誕生了。



功能說明

本專案利用 86Duino Enjoy86Duino Zero86Duino One 實作,由於會使用到銳利的工具,所以製作時小朋友需要家長陪同,動作編輯使用 86ME,一行程式都不用寫就能讓 86小六足動起來!



準備材料

  1. 一片 86Duino One 或 86Duino Zero
  2. 12顆 Tower Pro SG90 伺服機(可以多準備一些備用)
  3. 3D列印機(此專案使用印匠ENJOY)
  4. 2mm x 4mm 螺絲
  5. 2mm x 8mm 螺絲
  6. 2mm x 15mm 螺絲
  7. 杜邦線
  8. 電子擴充板(使用 86DuinoZero 時才需要)
  9. 杜邦針腳

電子擴充板的電路相當簡單,各位可以自己實做一個,使用烙鐵時,小朋友請務必要有家長陪同。
zero_size



列印機構

首先要下載並安裝 86DuinoRepetier-Host,可參照印匠 ENJOY 快速入門教學

安裝完成後便可以至 Thingiverse 網站下載 86小六足 STL 檔案

解壓縮後有六個檔案,如下圖:

zero_size

零件名稱和實際對應圖:

zero_size

zero_size

A_arm_bottom、A_arm_top、leg、linker 為小六足足部的組合零件,這 4 個零件可以組合成一個足部,
body_top 為小六足身體上半部零件,
body_bottom 為小六足身體下半部零件。

開啟我們已經安裝好的 86DuinoRepetier-Host,並且點擊 Load 按鈕,載入 86小六足足部檔案:A_arm_bottom、A_arm_top、leg 、linker

zero_size

載入後的圖如下:

zero_size

點選 Linker,將零件沿著 Y 軸翻轉 90 度,如下圖:

zero_size

翻轉後的 linker 零件,擺放角度應如下圖:

zero_size

點選 A_arm_bottom,將零件沿著 Y 軸翻轉 180 度,如下圖:

zero_size

翻轉後的 A_arm_bottom 零件,擺放角度應如下圖:

zero_size

翻轉完成後的足部零件如下圖:

zero_size

打開支撐選項,設定 Support Type 為 Everywhere:

zero_size

按下切片按鈕,就會立即進行切片,
zero_size

切片完成後會出現類似下面畫面:
zero_size

傳輸檔案給 86Duino Enjoy 的方法有兩種:

方法一:使用 USB 線傳輸

切片完成後,直接按下列印按鈕,86DuinoEnjoy 會立即開始列印
zero_size


方法二:使用 SD 卡

插上 SD 卡至您的電腦,
切片完成後,點擊如下圖示, 將 G-code 檔儲存至 SD 卡中:選擇 G-Code Editor 分頁 > 按下儲存按鈕

zero_size

將檔案儲存在 SD 卡中的 gcode 資料夾下,儲存檔名改成 auto.gcode,按存檔

zero_size

從電腦拔出 SD 卡,將此 SD 卡置入 86Duino Enjoy 背面的 SD 卡插槽,
打開 86Duino Enjoy 電源,86Duino Enjoy 會自動讀取 auto.gcode 檔開始列印!

要完成一整隻 86小六足一共要列印:
6 個足部
1 個身體上半部
1 個身體下半部



組合零件


在組合零件前,我們必須先拆除並打磨零件的支撐材料:

linker 零件,使用尖嘴鉗拆除以下支撐:
zero_size

body_top 零件,使用尖嘴鉗拆除以下支撐:
zero_size

打磨 linker 零件,使用銼刀來回將不平整的表面磨平:

zero_size

磨到可以將伺服機順利置入即可:

zero_size

打磨 body_top 零件,重複使用平銼刀打磨拆除支撐後的面,直到伺服機可以容易的置入:

zero_size

使用平銼刀磨平 body_bottom 與伺服機的接觸表面,直到伺服機可以順利壓入:

zero_size

完成拆除與打磨零件後,我們要做鑽孔與攻牙:

需要攻牙的孔,如下圖紅圈處:

Linker 零件:

zero_size

A_arm_bottom 、leg 零件:

zero_size

body_top 、body_bottom 零件:

zero_size

需要鑽孔的孔,如下圖紅圈處:

Linker、A_arm_bottom、A_arm_top 零件:

zero_size

body_top、body_bottom 零件:

zero_size

完成後,我們便可以準備將轉盤安裝至伺服機上,但要先對伺服機做歸零的動作,歸零是指將伺服機轉動至可動範圍的正中央,我們利用 Servo86 函式庫將伺服機歸零,並使用 86Duino IDE 燒錄歸零程式至 86Duino 開發板上,以下提供範例程式碼:

86Duino Zero 歸零程式

#include <Servo86.h> // 使用 Servo86 函式庫
 
Servo myservo1; // 初始化 Servo 物件
 
void setup()
{
  // 設定 Servo 腳位為 2
  myservo1.attach(2);

  // 送出 1500us 的 PWM 信號,使伺服機歸零至中點
  myservo1.write(1500);
}

void loop() {}

86Duino One 歸零程式

#include <Servo86.h> // 使用 Servo86 函式庫
 
Servo myservo1; // 初始化 Servo 物件
 
void setup()
{
  // 設定 Servo 腳位為 21
  myservo1.attach(21);

  // 送出 1500us 的 PWM 信號,使伺服機歸零至中點
  myservo1.write(1500);    
}

void loop() {}    

燒錄完成後, 86Duino 會立刻從指定腳位送出 duty 為 1500us 的 PWM,接著我們要將伺服機與 86Duino 連接起來。
將 86Duino 接上電源/電池後,伺服機會立即轉到中點位置,此時將十字型配件盤的短軸對齊中點 (標記線),套在伺服機輸出軸上,如下圖所示:

zero_size

完成後便可用螺絲鎖上零件,最後完成圖如下,也可以用斜口鉗修飾配件盤,剪除較長的邊:

zero_size

完成六個足部後接著就可以來組合身體,將 6 顆伺服機置於 body_bootom,如下圖:

zero_size

將落在外側的伺服機連接線,各別拉至身體中央,統一從一端伸出 (這麼做是為了方便後續整線):

zero_size

蓋上 body_top 零件,並用 6 顆長度15mm 的螺絲鎖緊 body_top,如下圖紅圈處:

zero_size

使用鑽孔刀對一字型配件盤鑽孔 (由中心數來第二個孔,如下圖),一共要對 6 個一字型配件盤鑽孔:

zero_size

用剛才提供的歸零程式把六顆伺服機分別歸零至中點,並將一字型配件盤照下圖方式套至伺服機輸出軸:

zero_size

用 3 顆 2mm x 4mm 螺絲結合足部 (2 顆固定配件盤,另一顆固定 linker 與 body_bottom),並以自攻螺絲鎖緊伺服機一字型配件盤,可以用斜口鉗將一字型配件盤凸出的部分剪除,增加美觀:

zero_size

6 個足部全部鎖上後,如下圖:

zero_size

裝上 86Duino Zero 開發板

對應下圖紅圈處,用 3 顆 2mm x 4mm 螺絲固定 86DuinoZero 於 body_top 上:

zero_size

用 2 顆 2mm x 4mm 螺絲固定擴充板:

zero_size

86小六足伺服機編號與擴充板上的腳位對應如下:

zero_size

使用 12 條黃色 (PWM)、1 條紅色(VIN)、1 條黑色(GND)的杜邦線連接 86DuinoZero 和轉接板:

zero_size


裝上 86Duino One 開發板

對應下圖紅圈處,用 3 顆 2mm x 4mm 螺絲將 86DuinoOne 固定於 body_top 零件上:

zero_size

86小六足伺服機編號與 86DuinoOne 上的腳位對應如下:

zero_size

將所有伺服機連接線連接至 86DuinoOne 上:

zero_size

最後我們將外露的連接線稍做整理,讓 86小六足看起來更美觀。
先將外露的伺服機連接線拉至 86小六足身體內,將伺服機連接線來回折短,用束線帶固定在兩旁支架:

zero_size

用束線帶固定完成後,盡量讓右圖紅框處沒有伺服機連接線穿過,因為這是未來要放置鋰電池的空間。



動作控制

由於 86ME Mk-II 已經將 86小六足的應用專案設為範例專案,你可以在 C:\ProgramData\86ME\examples 裡面找到 86Hexapod.rbm 的步行動作。
開啟專案後記得要根據每台 86小六足去微調它的 offset 值,可以校正一些伺服機上的小誤差。



成果展示

— DEMO影片 —




相關資料

[1] 完整課程影片
[2] STL 機構檔下載
[3] 86小六足機器人 DIY 課程教材:



自造遊樂園主頁面

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.