ピックワールド(PIC World)

インフォメーション

この記事は 2017年02月06日 に以下のカテゴリに投稿されました Robot.

この記事のタグ

, , , , , , , , , , , ,


Arduino で 4 足歩行ロボットを作ってみるかな – (1) まずは基本のサーボモーター編

3D Printer もあるし、Arduino もあるし、一度は作らないとと思っていたのですが、4足歩行ロボットを作ってみようかなぁと・・

2足だとバランスとるのが大変だからね。

考えもしないで人間は2本足で歩いているけれど、うまくバランスが取れていますが、これを機械でやろうとすると、なかなか完全なものはできませんもの。

4足なら比較的簡単だし、できれば体重移動でバランスを崩さないように優雅な動きを実現してみたいなぁと思っていますが、それは最終目標ということにしておき、とりあえずは4本足で歩くことができるようなものを作ってみようというのが目的です。

関節の動きに当たる部分には、サーボモーターを使いますが、まずはおさらいとして、サーボモーターってどんなものなのかを実験してみようと思います。

用意したサーボモータはこちら。

アマゾンで買っても、10個でこのお値段とは、お安い。

親指の先ほどのちっちゃな重さは 9グラムというサーボです。

Kuman SG90 - 9g サーボモーター

Kuman SG90 – 9g サーボモーター

Kuman SG90 - 9g サーボモーター

Kuman SG90 – 9g サーボモーター

でもトルク(持ち上げる力ね)は小さいし、ギアは樹脂製なので、あまり丈夫ではないが、小さくて軽量なロボットにする予定なので、問題はないだろうと思う。

大きなサーボモータだと消費電流も多くくなるので、Arduino でドライブするには一工夫必要になることもあるので、最適かなぁと思います。

ちなみに上記の製品は、今ではアマゾンプライム対応となっているのですぐ手元に届くと思いますが、入手したときは中国から China Post からの直送だったので、3週間ほどかかりましたねぇ。それだったら、AliExpress で買っても同じだし、価格はもっとお安くなるので、時間を気にする必要がないのならお勧めです。

もう1つ、このサーボは、実は Tower Hobby という会社が作ったモデルのまねっこ品に見えるのですが、その通りで、製品名は同じ SG90 となっていますが、Kuman って書いてある品。

オリジナル版では、モータにつけられたピニオンギアが金属製のものが使われているようです。もしもオリジナル版が良いという場合には秋月電子で扱っていますよ。

さてさて、同時に注文ではなかったのですが、そんな素性の良くわからないサーボを何かしらの方法でテストしないといけないなぁと思い、サーボテスターなる品物も購入。

こんなお値段で、こんな器具が買えるなんて、夢みたい。でもやっぱり China Post なので、こちらも3週間ほど届くのに時間がかかりました。

HJ デジタルサーボテスター

HJ デジタルサーボテスター

さて、この器具は何をするものかというと、サーボのニュートラル(中点)を出したり、与えるパルスによってサーボモーターの回転角度を変えることができるという製品。

他に電源として、5~6V 程度(DC)が必要です。

HJ デジタルサーボテスター

HJ デジタルサーボテスター

少しわかりにくいのだけれど、コネクタに向かって一番左の縦に3個並んだピンが電源の供給に割り当てられ、真ん中が +5V 一番下が GND となっています。

早速いらなくなった USB マウスのケーブルをぶった切って、ケーブルを作ってモバイルバッテリーから電源を供給。

HJ デジタルサーボテスター

HJ デジタルサーボテスター

電源を投入すると、4桁の LED が点灯して、電源が入ったことがわかります。

操作ボタンは、Select / Pulse Width のボタンが LED 下部に並び、LED の右側には、ボリュームがあります。

Select ボタンを押すと S-1 / S-2 /S-3 とモードが切り替わり、それぞれ

  • S-1 マニュアルモード
    ボリュームを回すとサーボモーターに送るパルス幅が可変でき、任意の回転角度で停止する。
  • S-2 ニュートラル
    パルス幅を 1.5ms (固定)とし、フタバ以外のサーボモータでニュートラル(中点)位置で停止する。
  • S-3 オートマチックモード
    パルス幅を 0.8ms ~2.2ms (設定による)と自動的に可変し、サーボモーターを右いっぱい、左いっぱいに連続して動かす。ボリュームを回すことにより、動作のスピードを可変できる。

※パルス幅の単位はミリセコンドで書いてます。

こんな感じで、同じ動作ではありますが、4個のサーボを同時に動かすことができます。

動かしてみた感じはこんな感じ。

ちなみにサーボモーターの動作は、PWM(Pulse Width Modulation)で行い、20ms (50Hz)の周期の中で 0.5~2.4ms のパルスを与えることで、指定の角度に動作します。

ただし、このサーボテスターでは、0.8~2.2ms となっているので、180°の回転数には少し足りないですね~

ラジコンなどで使う時には、1.5ms のニュートラル(中点)に合わせておいて調整を行う際や、奥の方に組み込んでしまうサーボの動作確認を行うなど、1つあると便利に使うことができます。

サーボモーターの動作

サーボモーターの動作

サーボテスターは、この信号を発生する装置ということになり、目的のロボットを作るには、Arduino でこのパルスを出力してサーボモーターを動かせばよいということになりますね。

今回使ったサーボテスターには、Pulse Width の設定も可能で、ボタンを押すごとに以下の順番で、テストするサーボに合わせて、出力する信号を変更することができます。

  • 50Hz アナログサーボ
  • 125Hz デジタルステアリングサーボ
  • 250Hz デジタルサーボ

今回は 50Hz のアナログサーボだけでテストしているので、他のパルスでは試していませんが、取扱説明書には、サーボに合わせた出力パルスを指定しないとサーボを壊してしまいますと記述があります。

この点は注意が必要ですね。

さて、次回は、Arduino とこのサーボを接続して、実際に動かしてみようと思います。

もう少し、パルスの出し方の説明を加えて、どうすればよいか、試行してみたいと思っています。

 


コメントを残す

最近の投稿

最近のコメント

アーカイブ