86スパイダー組立教学





プロジェクトの由来

このプロジェクトはスコーピオンスキャナに由来し,
「やっぱり、スパイダーロボットはいいなぁ!」とボスは思った。
「恩卓博士、私たちはU大を買いましょう!彼に3Dプリンタのスパイダーロボットを作らせましょう!」
そうして恩卓博士はビールと焼き肉の串を持ってU大を捜しに行き、
後日、世界でたった一台の86スパイダーがこのようにして誕生したのである。



機能説明

本プログラムは 86Duino Enjoy , 86Duino Zero , 86Duino Oneを使用し、鋭利な道具を使用するため、制作時は、お子さんに家族の同伴が必要であり、動作コードは 86MEを使用し、プログラムを入力しなくても、86スパイダーを作動することができる!



準備材料

  1. 86Duino One と 86Duino Zero 1個
  2. Tower Pro SG90サーバー (多めに準備してよい)  12個
  3. 3Dプリンタ(このプロジェクトでは印匠ENJOYを使用)
  4. 2mm x 4mm ボルト
  5. 2mm x 8mm ボルト
  6. 2mm x 15mm ボルト
  7. ケーブル
  8. 電子拡張版 (for 86DuinoZero)
  9. ケーブルピン

電子拡張版の電子回路はとてもシンプルなものだが、みなさんが作製せれるとき、コテを使用するため、お子さんが作製される場合は、大人の同伴が必要です。
zero_size



機構コピー

まず 86DuinoRepetier-Host をインストールし、印匠ENJOY 快速入門教学参照すること。

インストール完成後Thingiverseホームページの86スパイダー STL フォルダをダウンロードし、

下図の6個のフォルダの圧縮を解凍すること:

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の方法は2種類ある:

方法一: USB ケーブル使用

スライス完成後、直接プリントボタンを押すと、直ぐにプリントを開始する
zero_size


方法二: SD カード使用

スライス完成後、下図の標示をクリックし、G-codeフォルダをSDカード内に保存する:G-Code Editorを選択する > 保存ボタンクリック

zero_size

SDカード内のgcodeデータを取り出し、ファイル名をauto.gcodeに変更し、保存する

zero_size

パソコンからSDカードを抜き取り、SDカードを86Duino Enjoy 背面のSDスロットへ入れ、
86Duino Enjoyの電源を入ると、86Duino Enjoは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開発ボードにバーニングしなくてはならず、以下、範例プログラミングコードを提供する:

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個の長さ15 mmのボルトで、下図赤丸で示したようにbody_topに固定する:

zero_size

ドリルで一字の形をしたパーツに対し穴を開ける(中心数えて二つ目の穴、下図参照)。合計で6つの穴を開けること:

zero_size

先程提供した秒帰零プログラムは6個のサーバーをそれぞれ中点とし、並びに一字型のアクセサリートレイを下図の通りサーバーの出力軸へかぶせること:

zero_size

3個の2mm x 4mmボルトを用いて脚部に固定し(2個でアクセサリートレイを固定し、もう1個で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をパーツ上に固定すること:

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値を微調整する必要があることを忘れないでおくこと。そうすることで、サーバー上のわずかな誤差を修正することが可能である。



成果表示





関連資料

完成過程ビデオ

機構ダウンロード

86Duino スパイダーロボット 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.