ラズパイで2軸サーボモーターを動かす【ロボットに関心ない人でもアーム作り】驚愕ピンポンロボ

ステッピングモーターは去年動かしたが、サーボモーターが本に載っていたので試してみる。軽い気持ちだったが、よくよく考えるとこれでロボットのアームが実現できる。記事後半では、驚くべき動画を発見。

始まりはカメラ台から

この本によると、A838というカメラ台が500円だという話が出てきた。車のバックカメラとか、とにかくカメラが動くのは実用的かな?と思った。

「500円だから、買えばいい」

ちなみにモーターも安いみたいだ^^
サーボモーターは未経験なので、練習だよね。

サーボモーターも種類があり、全然わからん

この本にもSG90というモーターが載っていて、超メジャーなのですが、他にも色々あって、結局何が良いんだ?ってなるので、以下を参考:

で、結局よく分からないw 今回はすぐに試したいのでSG90を選択。
ただし安いのなら、幾つかストックしたいかも。

材料と価格

黄色のSG90と台座を、別々に手配。

モーター台座(amazon):6€

モーター4個(ebay):12€

2軸あたり、計1500円位になった。

到着

カメラ台が届き、ネジの数を確認。
①6個②5個③④4個⑤7個であった。

カメラ台はちゃちいのは仕方ないとして、モーターも到着し、大きさには驚いた。

後段で紹介する「スマートドール」には搭載できないが、それでも小さい

縦横2cm×1cm、高さ2.5cmという感じ。

組み立てはコチラに詳しく載っているが、構造は以下の通り。

おおまかな構造と組立て

上部と下部にそれぞれモーターをセット。

そして上部・下部・土台を連結する。

だが、参照リンク先にもあるとおり、加工しないといけない。。

これ正直止めてほしい。販売者ももっと工夫しろよなー。土台にピッタリハマるホーン位作って欲しいわ。

で、削るとか地味なことが嫌いだから、ニッパーでパツっと切ったのだが、長さだけじゃなく、幅も微妙に調整が必要で、面倒だ。

ちなみにモーターに付属した十字のホーンは完全に不要です。

上側のモーターは、パックマン的な動き。

アゴの動きかな。

下側のモーターは、左右に旋回する動き。

灯台のサーチライトのように回る動き。

リンク先に1.5mmの穴を空けるってあったけど、僕は違うと思う。

ホーンは瞬間接着剤で止めちゃってOKだと思う。ホーンを削るのにカッターを使用したが、こういう作業は怪我に気を付けるべし。

まだ連結しない。

サーボモーターの特性と使い方

本を読むと断然わかりやすいが、以下のブログも結構わかりやすい。

上記ブログでは0.5ms-2.4ms(2.5% – 12.0%)というデューティー比を指定しているが、参考本では0.7ms-2ms(3.5%-10%)になっている。

とりあえず使う前にサーボを0度に合せる

本によればサーボは現在の角度を0度にしてから使うもののようだ。
ということは?逆に言うと、角度を検知できるってことだろうか??

sudo apt-get update
sudo apt-get install wiringpi
sudo apt-get install python-dev python-setuptools
sudo apt-get install python3-dev python3-setuptools
git clone http://github.com/Gadgetoid/WiringPi2-Python.git
cd WiringPi2-Python
sudo python setup.py install
sudo python3 setup.py install

で、コチラの記事でやったように、参考本のプログラムをDLし実行:
sudo python bb2-06-01-zero.py
すると、突然動いた。なお5Vは#2、GNDは#6、信号線は#18と全てZEROに繋いでいる。あくまで0度設定に使うだけだし、機能した。

ただし、2個目のモーターを0度にしようと、繋ぎ直すと電源が切れた
やはり別の5V電源が必要なのか・・。少し面倒だ。

そして0度に合せた後、ホーンに勘合する。

実行したプログラムを見ると、69が0度ということになるのかな?
wiringpi.pwmWrite(PWM0, 69)
1024/100*6.75としているようだ。6.75は0度、3.5%は‐90度、10%は+90度らしい。変換しているのは、0-1024で指定するため。

であればが+90は10%だから1024/100*10=102
‐90は3.5%だから1024/100*3.5=36。かな?

これまでを見る限り、ソフトとハードの0度が一致していれば、角度はラズパイ側で把握できるんだろうね・・。

ということで、参考本はWebIOPIを用いて続きをやっているが、面倒臭いので、ここで終わることにするw

だがそれでは終わらなかった「デューティー比」

一応念のため、+90度で102、‐90度で36を試してみた。
な、なんか違うw やはり前述のブログのとおりデューティー比がオカシイのだろう。というか、SG90でも私のは黄色だし、違う可能性がある。
さらに前述のブログのように0.5ms-2.4ms(2.5%-12.0%)でもないw

ど、どうやってDuty値を確定するんだ?

少なくとも下限値と上限値を確定したらどうか。

で、このモーターが稼働する値を割り出した。35-140位かな。
その範囲で動作確認をすると、180°以上回っているw ほうほうw

あとは計算。35-140の中間は88。だが、ギアとホーンはそこでピッタリとハード的に勘合できない。ハード面は9毎の数値しか正面にできないので、82にした。あとはソフト(数値)で正面を向かせる。

このモーターのDuty値は、3.5%-13.6%となる。でもオカシイ。

ここで変な感じだが、計算式と実際の数値が合わない。図だと82を起点とすれば、131と37は等距離でもないのに実際は180度。

つまり比例式でないw 実際の2次関数も実験すれば、近似的に割り出せるだろうけど。。

でも実際はある程度動いた

-45, 0, +49の値の範囲なら、適当にやる方針にするかと試しに+側を107=49/90*45としてみた。すると・・・+45度になるぅ!!!

では-側を82-37÷90×45=59とすると・・・お!45度だ!(目視程度w)

ともかく2個目のモーターも正確に同じ挙動を示したw
中心もモーターによって82ではなく83になることもある。勘合による。
モーターをONの時にネジで固定しないとズレるので、注意する。

とりあえず、酷いモーターではなく、ちゃんと動くし、動かせるようだ^^

サーボモーターの待機電力

ステッピングモーターは静止時にもかなり電力を喰うが、サーボは待機電力は気にしなくてよいようだ。待機時も非装着時も変わらない。

待機時:0.20A 。これは2つ繋げても同じ感じ。(動作時は0.60A等々)

ノイズ

ジーっていうノイズがたまに発生するのは嫌だ。ステッピングモーターの場合もあることなので、仕方ないか?こちらも参考になりそう:

興味なかったロボットアームについて調べたら

このブログ記事、話が凄く好きですなのですが、記事を読み進めると

Raspberry Piにサーボを付けてロボットアームを作ってみた話

ん?『みんなのラズパイコンテスト2016』で受賞?2016年の時点で、こんなロボットアームが凄いって言うのか。。案外レベル低いんかな?

と思ったら、そのリンク先を見たら、ドイツ人?いや、ハーフ?というか作ってるモノが凄い。卓球ラケットでボールを保ち続けるって・・

デルタタワーをこんな風に使うなんて、天才か!

CNCシールドは4つまでモーターが動かせるのか知らないが、それをデルタでしてみるって、どんだけ・・・

電気を教える、そんな素敵な父親は大変残念ながら持たなかったんだけど、そういう父親になる事はまだ可能かもしれない;

日本語も、ドイツ語や英語もイケるだろうし、やること凄いし、ビデオや音楽もセンス良いし、ちょっと驚愕というか、驚愕させるベースにはさらに驚愕な要素がある。若いし、凄い有望だよね。

10年や20年でハーフが増えたりすると、かなり諸国間で理解の底上げが起こって、どんどん人材のレベルが上がるよね。特に日本。今の日本だとまだ職場なども封建的だろうけど、あと20年もすればブラック企業とかかなり減るだろうと思う。そうすればそういうハーフも活躍できるだろう。息子に電子工作を教えるよりも、沢山の日本人が外国人と交配して、種を撒くってのも面白いのかもしれないね。ま、語学に努力すればそんな事どうでもいいんだろうけど、ハーフだと2つ以上の言語世界を持っているから情報ソースが2・3倍あって、速いと思うんだよね。

ロボットに興味ないが「プラレス三四郎」はOK

ほぼ覚えていない昔、「プラレス三四郎」というアニメ、かなり好きだった。

僕はロボットというイメージが嫌いだが、このロボは人間みたいで、プラモに愛がある?ような気がした。サイズ感も良い。

まずメカありき、ではなく、「プラモありき」ってのが子供心に良いかもw

ロボットアームが制御できれば、「プラレス三四郎」ができるのは目前だ。

画像を見て、どちらが正解かわからないが、ロボットにも『色気』がないと僕は気が済まない。

やはり人間らしいというか、ロマンが無いと。昔からある『ロボコン』は僕には凄く醜いというか、気持ち悪いオタクがヘボい機械で、下らないコンテストをするという風にしか見えなかったが、プラレス三四郎であれば、何というか見ていて楽しめそうだ。

スマートドール』のように”骨および関節の再現”で、どこか人間を感じさせるものが面白いと思う。サーボの小型化はどの程度進むのだろうか?DCモーターだと凄い小さいものがあるから、こういう人形に使えると凄いんだろうなぁ。

QR Code