ハードウェア(PCA9685 モータドライバー)

⚫︎ PCA9685 モータドライバー

 サーボモータは、幅を持ったパルス信号を回転の角度として認識しその角度まで回転します。その際、その形式に合う信号を作り、モータとやり取りをする必要があります。モータドライバーは、MCU(ESP32などのマイクロコントローラーとモータの間のやり取り担当する存在です。

モータドライバーの写真

モータドライバーの写真

ハードウェア(サーボモータ)

⚫︎ DS3225(25kg Servo) とRDS5160(60kg Servo)

 サーボモータは、他のモータと違って、回転をするためのモータではありません。もちろん、中には回転が可能な種類もありますが、基本的には、パルス信号を受け取ったら決まった角度まで回転する、という仕組みを持っています。

 今回は、ある程度、回転力(トルク)の強いモータを使用しました。

サーボモータ(DS3225 25kg)の写真

サーボモータ(DS3225 25kg)の写真

サーボモータ(RDS5160 60kg)の写真

サーボモータ(RDS5160 60kg)の写真

ハードウェア(ESP32 Devkit)

⚫︎ ESP32開発ボード

 ESP32は、Espressif社が製造するマイクロコントローラです。マイコンではArduinoが広く知られていますが、ESP32は基本的にWifi、Blutooth通信機能を持っていて、メモリも多く搭載しているなどが優れています。

 なら、全部こういうスペックのものを使えばいいのでは?と思われるかもしれませんが、一般的な用途を持つデスクトップと違って、組み込みシステムと呼ばれる領域での処理は、高い処理能力はつまり高い電気消耗を意味します。

 そこで、マイコンを製造するメーカは様々なタイプのラインを開発します。そのような、多様な側面を考慮することは一見複雑に見える部分でもありますが、同時に一本化されない点で魅力的にも感じられます。

ESP32開発ボードの写真

ESP32開発ボードの写真

配線作業のイメージ

配線作業のイメージ

配線作業について

 サーバモータは、サーボモータドライバーモジュールに接続します。今回使用したドライバーには、1つのモータに対して3つの線(電源+と-、PWM)を繋ぎます。

 また、モータドライバーにモータのための電源を接続することで、PWMの信号を作るESP32の作業と分離させることができます。概要のビデオ後半に写っていますが、モータの使用電力は動いている間変動します。また、ESP32から供給できる電力は限りがあるため、モータが必要とする電力は別で用意することが望ましいです。

 さらに、今回は曲げセンサーを同時に接続しています。ESP32の3.3Vの+電気を、10kΩの抵抗を通ってからセンサーに繋げています。この抵抗はプルアップ抵抗として繋げていて、センサーが機能していないとき、ランダムな値を拾ってしまうことを防ぐためのものです。