youtube始めました

Arduinoでロボットを動かしてみる~その1~

_
arduino-robot-1-eyecatchArduino(マイコンボード)
この記事は約6分で読めます。

こんにちは。ホビーハッピーです。

最近放置していたArduinoで遊び始めたら意外とハマっています。

コードが単純だし、パソコンにつなぐだけだしraspberryPiより

お手軽な感じがしますね。

常にパソコンをつけているような人にはArduinoのほうが、

つなげるだけでいいのでラクです。

それでは今回の内容ですが、

Amazonで購入した6軸のロボットを組み立てたお話です。

最終的には動かすところ、センサーもつけて応用編

みたいなこともやる予定です。

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

それでは今回の内容の目次です。

Arduinoってロボットうごかせるの?

Arduinoはロボットを動かせます。

マイコンボードなので、シリアル通信でもI2C通信でもなんでもできます。

動かしている映像はこちら。↓↓

もしあなたが1個だけサーボモータを使って動かしてみたいなら、

直接サーボモータとArduinoをつなげたほうが話が早いです。

サーボモータは基本3線式になっていて、

  • GND
  • 5V
  • 信号線

の3本です。

なので信号線をArduinoのデジタル端子につなぎ、

残りを5VとGNDにつなげてスケッチを書けば動きます。

どんなロボットをArduinoで動かしたの?

この手の電気工作系は、私は基本Amazonで物色しています。

今回私が組み立てたのはこちらのロボットアームです。↓↓

商品説明の完成品のところの写真には、

銀色になっていましたが、届いたのは黒でした。

個人的にはどちらでもよかったのですが、黒のほうがそれっぽくていいかもですね。

サーボモータは6個付属されています。

電気工作キットに入っているようなプラスチッキーな歯車ではなく、

根本はしっかり金属の歯車でした。

それにサーボモータの本体の大きさ自体意外と大きくて、

出力がだいぶありそうです。

サーボモータの型番はMG 996で、単品販売もされているようです。

最大トルクは4.8Vの時に13 kg-cmだそうです。

強いんだか弱いんだかちょっと判断できないですが、

電子工作キットのものが3kg-cmなんてのもあったので

それの4倍くらいの出力と考えるとハイパワーかな….

ほかに注意点としては、組付けるときの動作範囲だけ気にしてください。

サーボモータは「360°回らない」ので、可動域が存在します。

大体270°くらいでしょうか。

なので、組付けていくときにモータの軸を変な位置で組み付けると

アームの部品同士が干渉してモーターが回らなくなることも…

Arduino本体以外に何が必要なの?

さて、動かすロボットを紹介し終わったところで、

実際に必要な道具やあったら便利なものを紹介していきます。

ロボット組み立てに絶対に必要なもの

  • プラスドライバー

プラスドライバーは付属しません。

これ意外と重要なことなのですが、

このロボットアームの「付属品にプラスドライバーは入っていません。」

なので別途用意する必要があります。

もちろんすでに何本も持っている人はいいですが、

持っていない人は用意しないとそもそも組み立てられません。

なくても組み立てられなくはないが、あったほうがいいもの

  • ジャンパーワイヤーの延長
  • 結束バンド

ジャンパーワイヤーの延長

なぜジャンパーワイヤーの延長があったほうがいいのか。

それはですね、サーボモータの3線が意外と短いんです。

なのでArduinoとそこそこ近づけないと接続できません。

ただ、近づけるのはいいんですが、ロボットアームなのでガンガン動きます。

ガンガン動くロボットの近くにArduinoがあるってちょっと嫌ですよね。

なので遠ざける意味でも延長はあったほうがいいです。

値段もそんなに高くないので、予備としても持っておいて損はないです。

オスーメスで延長になるので、

オスーオスやメスーメスなど間違えて購入しないように気をつけましょう。

結束バンド

結束バンドもあったほうがいいです。

こちらもジャンパーワイヤーの延長と同様に配線関係になりますが、

可動する軸が6個もあるので、かなり複雑な動きもできます。

なので複雑な動きをしたときにモータの線が絡まらないように

本体側に沿わせておいたほうが安全です。

もちろんギチギチにしてしまうと、今度は動かしたときに

断線の原因にもなってしまうので余裕は持たせたほうがいいです。

最近知ったのですが、

配線をまとめるマジックテープのようなものがなかなか便利そうなので

購入しました。

もちろんこんな感じのいつも通りの結束バンドでも全く問題ないです。

ただ何回でも再利用可能ってのはエコな感じがしていい気がします。

ちょっと失敗してやり直す時もべりべりはがすだけなのでラクチンですし。

これがあると便利

  • サーボモータドライバ(複数軸)
  • DC5V電源
  • ナットドライバー

サーボモータドライバ(複数軸)

先にモノを見ていただいたほうが早いのでこちらをご覧ください。

これは何かというとですね、

最大16個のサーボモータを制御できるドライバです。

ArduinoとはI2C通信で通信するので、

Arduinoの端子は、5V,GND,SCL,SDAの4本だけでサーボモータが16個繋げられます。

今回は6個のサーボモータなので、ここまで必要ないですが、

ほかにもサーボモータへの電源供給ができたりと、

複数のサーボモータを制御するならあっても損はないです。

値段も1,000円前後ですからお財布にも優しいです。

DC5V電源

電子工作キットのようなプラスチックのサーボモータであれば、

Arduinoからの電源で動くのですが、

今回のロボットでは全然足りません。

やってはいないですが、ぴくぴく動くのが精いっぱいという感じでしょう。

電圧が5Vであっても、大事なのは電流値[A]です。

3Aあれば十分かと思いますが、(各軸500mA)

最大負荷だともしかすると2軸か3軸くらいが限界かもしれません。

そこの限界については今後検証していく予定です。

ナットドライバー

地味にあったほうがよかったツールとしては、

こちらです。↓↓↓

ナットドライバーと呼ばれるもので、

ロボットアームを組むときにあったほうがいいです。

このロボットアームは、プラスねじと六角のナットで組むのですが、

プラスねじをある程度しめると、六角のナットが一緒に回り始めて

しっかり締められません。

わたしはペンチで代用しましたが、

ナットも傷だらけになるし、そもそも締めるのに時間がかかります…

あったほうが素早く組み立てられること間違いなし。

実際にArduinoでロボットを動かしたときの様子

こちらが実際に動かしたときの映像です。

全軸を動かすと大変なことになるので、

とりあえず1軸を5°ずつ繰り返し動かして、30°になったら

元に戻るようなプログラムにしてみました。

最後は力尽きるおまけつきです笑

動画を見てもらえればわかるんですが、

電流値が足りずに自重が支えられなくて落っこちています。

この時は1AくらいのDC電源でした。

動かしている軸はおそらく一番負荷の高い軸だと思われますので、

瞬間的に1Aでは足りなくなったと考えられます。

なのでちゃんと3AくらいのDC電源を入手する予定です。

多分モータ自体の出力は足りているはずなので…

コメント

タイトルとURLをコピーしました