TOP > カテゴリ > ロボット・電子工作・マイコン >

ロボットアーム [Arduino]

ロボットアームを作ってみました。

前半はロボットアームの主機能であるグリッパー(つかむ)をテストしています。後半はロボットの各関節(サーボ)の動作テストとなります。

スマホで動画を撮影しながら各関節の操作用ボリューム(半固定抵抗器)を手動で操作しているので、少し動作が遅いです。その部分を自動でやれば各関節はスムーズに動作します。

目次

1. 使用部品・材料
2. 配線図
3. 写真
4. 作り方
5. スケッチ(プログラム)
6. ロボットアームのハンド
7. サーボのブラケット
最後に

1. 使用部品・材料

総額で約14,740円です。(Arduino本体の値段を除く)

部品/材料値段備考
[電子部品]
サンハヤト SAD-101 ニューブレッドボード
(2個)
¥1000レベル変換、サーボ端子、ACアダプタを配置。
Amazon.com
ブレッドボード BB-102¥300各関節を操作する半固定ボリュームやロボットハンドの操作用のタクトスイッチを配置。
秋月電子の通販コード(P-09257)
ロジックレベル双方向変換モジュール¥3681.8Vから10Vまでに対応した電圧レベル変換。
スイッチサイエンス(SFE-BOB-12009)
マイクロサーボ SG92R¥500ロボットアームのハンド部分に使用。
秋月電子の通販コード(M-08914)
MG996R メタルギア・デジタルサーボ (2個セット)
(1個)
¥1322ロボットアームで使用するのは1個で土台の回転に使用。これは0から180℃回転なので、360回転のものを使用しても良い。
Amazon.com
Longruner サーボ ロボット用 デジタルサーボ 二軸 180度動作 15kg/17kg 0.16sec/60°トルク 1mm硬質アルミ板(大/小U) スマートロボットサーボ 高性能 LY10-1
(3個)
¥6600各関節用
Amazon.com
両端ロングピンヘッダ 1×40¥50ニッパーで3つにしてサーボの端子と接続。(ジャンパーワイヤーでも代用可能)
秋月電子の通販コード(C-09056)
15 cm 150mmオスtoメスJR プラグ  RCラジコン サーボ延長リード線ケーブル (20本入り)¥1199サーボ端子の延長用
Amazon.com
電源用電解コンデンサー100μF35V105℃(ルビコンZLH)
(2個)
¥30電圧の安定用にコンデンサを要所要所に設置しています。サーボの動作がぎこちない場合は適宜コンデンサを追加して下さい。
秋月電子の通販コード(P-02724)
電解コンデンサー 470μF16V105℃(ルビコンWXA)
(3個)
¥30電圧の安定用にコンデンサを要所要所に設置しています。サーボの動作がぎこちない場合は適宜コンデンサを追加して下さい。
秋月電子の通販コード(P-08426)
ブレッドボード用DCジャックDIP化キット¥100サーボの電源用。
秋月電子の通販コード(K-05148)
スイッチングACアダプター6V2A 100~240V NP12-US0620¥840サーボの電源用。
秋月電子の通販コード(M-00024)
半固定ボリューム 10kΩ [103](4個)¥200サーボの各関節操作用。
秋月電子の通販コード(P-08012)
タクトスイッチ
(2個)
¥20ロボットハンドの開閉用。
秋月電子の通販コード(P-03647)
カーボン抵抗器数円10kΩ(2個)を使用。
[材料]
タミヤ 楽しい工作シリーズ No.143 ユニバーサルアームセット (70143)¥798L字部品をロボットアームのハンドに使用。
Amazon.com
T型 平面隅金 50mm¥100家具などの補強用のT型の隅金(すみがね)。2つのラジオペンチで直角に折り曲げてロボットアームのハンド部分で使用。
100円ショップ(ダイソー)
結束バンド 170本入り白色 10cm(4inch)¥100サーボ同士の連結、ロボットアームとMDF材の固定に使用する。
100円ショップ(ダイソー)
3M スコッチ はがせる両面テープ 強力 薄手 12mm×15m SRE-12¥483材木、ダンボールの結合用。ロボットアームのハンドの結合。
※強力ではがせる両面テープです。
Amazon.com
ダンボール無料薄くて丈夫なもの。
[材木]
MDF材6枚 100x100x6mm¥1003枚使用。
100円ショップ(ダイソー)
工作材料 P-5 立方体8個
(2個)
¥20012個使用する。立方体のサイズが異なる場合があるので多めに買うと良い。
100円ショップ(ダイソー)
工作材料 P-8 直方体12個¥1004個使用する。
100円ショップ(ダイソー)
[土台]
ミニバイス¥100ガラステーブルの上で使用すると完全にロボットアームを固定できます。
100円ショップ(ダイソー)
[工具]
一般金属用 金切のこ¥100MDF材に土台のサーボ(MG996R)が入るぐらいの穴を開けるために使用する。念の為に予備の「刃」を買っておくと良いです。
100円ショップ(ダイソー)
精密ハンドドリル 3.0mm¥100MDF材に穴を開ける為に使用する。
100円ショップ(ダイソー)

2. 配線図

電圧の安定用にコンデンサを要所要所に設置しています。サーボの動作が「ぎこちない」場合は適宜コンデンサを追加して下さい。

3. 写真

4. 作り方

ロボットアームの各関節は結束バンドで結合します。(ネジ、ナットでも結合可能)、土台は次のようにします。

ダンボール、木材などの結合には「強力両面テープ」を使用します。

番号内容
1MDF材の中央にハンドドリルで穴を開ける。その穴は結束バンドが2本入るようなサイズ。中央の穴から左右2cmぐらいに結束バンドが1本入るような穴を開ける。合計穴は3つ。その3つを使用してロボットアームを固定する。
2MDF材の4隅に設置。
3-
4MDF材と同じサイズのダンボール。
5MDF材の中央に長方形の穴を開ける。サイズはサーボ(MG996R)が入るぐらい。
6ダンボールはサーボホーンのサイズ。四角形でも良い。
7-
8ミニバイスでサーボを固定する。高さは手動で調整可能です。
9ミニバイスでサーボを固定する。高さは手動で調整可能です。
10土台の足となる。机とこの足の間にも強力両面テープを忘れずに。固定しないと土台ごと動いてしまいます。

ロボットアームを(7)の円形サーボホーンだけで支えるには強度面が心配なので、(5)のMDF材で補強する形になっています。(5)と(6)の高さを同じにしてから、(6)のダンボールを僅かに高くすると良いです。

<注意>
(4)と(5)の間に強力両面テープは使用しません。(4)の下に結合するのは(6)のダンボールのみです。

5. スケッチ(プログラム)

myServo1は一番下、myServo2はその上という順番になっています。

#include <Servo.h>
Servo myServo1;
Servo myServo2;
Servo myServo3;
Servo myServo4;
Servo myServo5;

void setup() {
  Serial.begin(9600);
  pinMode(2,INPUT); 
  pinMode(3,INPUT); 

  myServo1.attach(13);       
  myServo2.attach(12,500,2500);     
  myServo3.attach(11,500,2500);  
  myServo4.attach(10,500,2500);
  myServo5.attach(9);
  
  // サーボの位置を初期化する
  myServo1.write(0);  
  myServo2.write(90);  
  myServo3.write(90);  
  myServo4.write(90);
  myServo5.write(90);  

  delay(2000);
}

void loop() {
  int angle;
  angle = map(analogRead(A1), 0, 1023, 0, 180);
  myServo1.write(angle);
    
  angle = map(analogRead(A2), 0, 1023, 0, 180);
  myServo2.write(angle);
  
  angle = map(analogRead(A3), 0, 1023, 0, 180);
  myServo3.write(angle);
     
  angle = map(analogRead(A4), 0, 1023, 0, 180);
  myServo4.write(angle);

  // ハンドでつかむ
  if (digitalRead(2) == HIGH) {
    myServo5.write(90);
  }
  
  // ハンドを広げる
  if (digitalRead(3) == HIGH) {
    myServo5.write(0);
  }
  
  delay(10);
}

6. ロボットアームのハンド

ロボットアームのハンドは「自作」または「購入」する必要があります。自作では3Dプリンタや歯車などを使用する方法があります。購入する場合は私の調査結果をご参考にして下さい。

名称価格備考
1 dofアルミロボットハンドユニットでLDX-218デジタルステアリングギアサーボ用diy教育
正しい日本語:ロボットハンド付きサーボ LDX-218
$17.50アリババ(Aliexpress.com)。日本語がおかしくて中国発送なので配送に13-20日必要。あちらのお国なので動作する保証はなく、サーボ端子が何故か手の中にある。ただ、アマゾンで売ってればお試しに購入したと思う。残念。
サーボモータ用ハンド「ServoHand SH1」¥1,944浅草ギ研。新規会員登録で500円引き。
Longruner サーボ ロボット用 デジタルサーボ 二軸 180度動作 15kg/17kg 0.16sec/60°トルク 手部ブラケット+大Uブラケット(1mm硬質アルミ板) スマートロボットサーボ 高性能 LQY10-2¥2,350Amazon.com。ハンド部分が大きすぎるので今回は見送りました。
Standard Gripper Kit複数マルツ。SparkFun製のロボットハンド(グリッパー)で5種類あります。マルツに在庫がないので配送までに時間がかかると思う。
SG90用ロボットハンドキット¥1450Amazon.com。
Arduino 対応 アルミ合金 6自由度ロボットアーム 爪&スイベル¥1570Amazon.com。中国から配送なので時間がかかる。
マイクロ グリッパー キット(サーボなし)¥914robotshop.com。HitecのHS-55/HS-5055MGのサーボ用。

7. サーボのブラケット

サーボモーターをロボットの関節にする為には「ブラケット」という「コの字型」のアルミ板が必要です。自作する場合はアルミ板を直角に曲げたり、穴を開けたり、切断したりと板金加工が必要です。

今回はその作業を省くために「LY10-1」というブラケット付きのサーボを使用しています。ブラケットは100円ショップにある厚み1mmから2mmのプラスチック板(PPシート)を同じく100円のハサミ、カッター、発砲スチロールカッターなどを使用して作成する事も可能です。ただ、この手法だと正確に曲げたりするのが難しいので、自作する方はアルミ板を推奨します。

学生の方は学校に板金用工具があると思います。一般の方は「ポケットベンダー」「ハンドニブラー」などを購入すると良いです。

参考動画

Android & Arduinoでロボットアームを作ってみた
Arm Robot with Arduino アームロボットの作成

最後に

ロボットアームで超音波などの距離センサーや画像処理などを行えば自動で物をつかむ事も可能です。この辺りはハードウェアじゃなくて、ソフトウェアの部門なので今回は見送りました。

時間を掛ければ、江戸時代の文字書き「からくり人形」のようにロボットアームで文字を書けるようにできるかも知れません。





関連記事



公開日:2018年01月12日 最終更新日:2018年07月20日
記事NO:02629