4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

2足歩行ロボットの製作1(Microbit、 サーボモータ使用)

Posted at

Microbit、サーボモータを使た2足歩行ロボットを製作しました。

###2足歩行メカ部分
2足歩行のメカ部分は、下記の作り方を参考にしました。

  1. 3Dプリンタ/金属加工不要、サーボ代込み5000円でつくる2軸2足歩行ロボット筐体
  2. 小学生でも作れる2軸2足歩行ロボット筐体(サーボ代込み2500円)

参考にしたものに少し改良を加えています。
上足を固定した写真。(写真では下側になっています。)
P_ulfix.jpg
上足(腰の回転)の固定は、ブレットボードにM2のねじでホーン(回転軸を固定する部品)を固定しています。(十字ホーンの長い方の4つ目の孔をM2のドリルの歯で少し広げてM2x8(10)+ナットで固定しています。

前からの写真。
Front.jpg

後ろからの写真。
Back.jpg
下足は前だけの支えだと不安定だったので、後ろからM3のねじで押さえつけています。(M3x10、M3ナット2個/1足あたり)ねじを固定するプラスチック部品は、前から支えるものと同じもので、接着剤で下のボードのに固定しています。

###サーボモータボード

サーボモータを動かすボードは、DFROBOTのボードを用いました。
Micro:bit Driver Expansion Board SKU:DFR0548
詳しくは、こちらの記事を参考にしてください(DCモータとサーボモータ両方制御できます)。
Microbit:DC motor制御(DFROBOTボード)
電源は、単三電池4本の6Vを使用しています。

###2足歩行ロボット用 初期角度設定プログラム

サーボモータをホーン(回転軸に固定する部品)を固定するにあたり、サーボモータをまず90度まで回転させます。(使用しているサーボモータが±90度ですので、90度の位置を仮の原点にします。)

組み立てると、微妙に角度のずれが生じ、ちゃんと直立した状態になっていません。下記のプログラムでその角度のずれを調べて、組みあがったものの原点とします。
dfservo_carib.png

####使い方
サーボモータをS1からS4に接続します。
S1、S2、S3、S4の順に調整していきます。
Aボタンを押すと角度が+の方向に回転します。
Bボタンを押すと角度が-の方向に回転します。
A+Bボタンで確定して、その角度を表示(2回表示)して、次のモータに移ります。

####プログラム概略説明

変数は3つあります。
ang: 角度の値
mp:サーボモータの番号
incr:サーボモータを変化させる角度の大きさ

最初だけでは、すべてのモータを基準となる角度90度に設定します。
Servo_select関数は、モータ番号によってサーボモータのIOポートが変わるので、それをまとめています。
オレンジ色のブロック(DFROBOTの拡張ライブラリー)の部分を書き換えると他のボードでも使うことができます。
A+Bボタンを押すでは、ボタンを押すたびにmpの数が増えますが、4が終わるとまた1に戻ります。そして、調整した値を2回表示します。
モータ番号と、回転方向(+と-で動く方向)、調整した値は紙にでも記録しておいてください。
私の場合、左下足:1(S1)、左上足(腰の部分):2(S2)、右下足:3(S3)、右上足(腰の部分):4(S4)としています。足や腰が平行や垂直になる角度は、それぞれ、83、81、94、96でした。製作によって変わるので、このプログラムを参考に調べてみてください。

2足歩行の歩行プログラムは次回以降に。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?