PR

ロボット制作⑧ 右脚(膝下)を作ってみる(再)
右脚の膝から下を作ってみた。Arduinoを使って、ワイヤー(釣り糸)で動かしている。

加工・組み立て

右脚(膝下)の再設計

先日、右脚(膝下)を作ってみましたが、足首がギクシャクしてスムーズに動かなかったことと、一部、バネを使ってワイヤーを引っ張ろうとしましたが、引っ張る力が弱かったため、スムーズに動くことが出来ませんでした。そこで以下の設計変更を行って再度組み立ててみたいと思います。

  • マイクロサーボモータを1台から2台に増やす
  • サーボモータを動力を直接ワイヤーに伝えるためにプーリーを印刷して使用する
  • 金属製ワイヤーの使用を止めて、すべてPEライン(釣り糸)を使用する

以前の設計だとすねとふくらはぎの中には、マイクロサーボモータは1台しか入れることが出来ませんでした。2台入れるようにするためには、大幅に内容量(空間)を増やす必要があります。

設計上だとプーリーが足からはみ出る

脚が太くなり少しバランスが悪くなってしまいましたが、マイクロサーボモータがギリギリ2台入るスペースが確保できました。

右脚(膝下)の組み立て

設計変更が完了したので組み立てを行います。

3Dプリンタで設計変更後の部品を印刷

マイクロサーボモータには、プーリーを取り付けてワイヤーを引く力を強化します。直接、サーボモータのギアに取り付けするため何度も嚙み合わせを微調整しました。

サーボモータにプーリーを装着

今回は、組み立ての動画を作成しました。少し長いですが時間が許せば見てみてください。

右脚の膝下の組み立て動画
完成図

右脚(膝下)を動かしてみる(再)

組み立てが完了したので、「Arduino UNO」と 今回は、モータ制御に「PCA9685 16Ch PWM Driver」を使って動かしてみました。

Arduino UNO、PCA9685、サーボモータを繋いだ写真
PCA9685 Ch0とCh1を使って2台を制御する
Arduino UNO のSDAとSCL出力を使う(奥なのでぼやけてます)

サーボモータは、PCA9685に繋ぎ、動力電源は単三乾電池からPCA9685に渡します。信号用の電源は、Arduino UNOのUSB接続で賄います。PCA9685には、Arduino UNO からGRD、SCL、SDA、5Vをそれぞれ、GRD、SCL、SDA、VCCに接続します。

以下のような簡単なプログラムで動かしてみます。

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40);

#define SERVOMIN  500   // 最小パルス幅
#define SERVOMAX  2400  // 最大パルス幅

int Servo1_pin = 0;
int Servo2_pin = 1;
int angle1;
int angle2;

void setup() {
  pwm.begin();
  pwm.setPWMFreq(50);
  delay(1000);
}

void loop() {
  angle1 = 0;
  angle2 = 180;
  angle1 = map(angle1, 0, 180, SERVOMIN, SERVOMAX);
  angle2 = map(angle2, 0, 180, SERVOMIN, SERVOMAX);
  pwm.writeMicroseconds(Servo1_pin, angle1);
  pwm.writeMicroseconds(Servo2_pin, angle2);
  delay(1000);

  angle1 = 180;
  angle2 = 0;
  angle1 = map(angle1, 0, 180, SERVOMIN, SERVOMAX);
  angle2 = map(angle2, 0, 180, SERVOMIN, SERVOMAX);
  pwm.writeMicroseconds(Servo1_pin, angle1);
  pwm.writeMicroseconds(Servo2_pin, angle2);
  delay(1000);
}
実際に動かした動画です(短めです)

次は、膝上を設計していきたと思います。少し時間がかかってしまうと思いますが、ご了承ください。

以上

コメント

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