ちょっと買い物:ロボットアームを動かしてみる
はじめに
今回はAmazonで買ったロボットアームを動かしてみました。本来の目的はサーボモーターを安くたくさん入手したかったということなのですが、キット化されたもののほうが使いやすそうだったので購入してみました。
購入したロボットアームにはサーボモーターが6つ入っています。金属製のブラケットやホーン、ハンドもついているので、必要なものは揃っていますね。Amazonなのでセール中に安くなったりするかもしれません。
ロボットアームとして使うつもりは全く無く、あとでロボットの尻尾とかに使おうかなと思っています。
▼購入したものはこちら
組み立ててみる
購入したものを組み立ててみました。
▼金属製の部品も入っています。サーボホーンはねじ穴が切られています。
▼組み立てはそれほど複雑ではなかったです。取り付け用の穴が多いので、アーム以外にも組み立てられそうです。
▼完成するとこんな感じ。
基板を作る
サーボモーター6つをESP32で制御できるように配線しました。ユニバーサル基板を使っています。
本当はESP32-WROOVER-Eを使いたかったのですが、なぜかGPIOの16番と17番が使えないみたいです。詳しく調べてはいないのですが、サーボモーターは動かせませんでした。ESP32-WROOM-32だと動かせました。
▼基板のおもてはこんな感じ。サーボモーターの電源とマイコンの電源は分けています。
両面基板であることを活かして、うらにはスイッチを付けました。GPIOの34番と35番は内部にプルアップ抵抗がなかったので、そこだけプルアップ抵抗を入れています。狭いところはポリウレタン線で配線しました。
▼うらはこんな感じ。スイッチ12個で、サーボモーターの正転と逆転を操作します。
▼配線するとこんな感じ。サーボモーターの線が短いので、よく絡まりそうになります。
操作してみる
スイッチ12個の入力と、サーボモーター6つを制御するプログラムを作成しました。
▼プログラムはこちら。一部、ヘッダファイルに分けています。Servoの宣言もコンパクトにしたい...
▼実際の動作はこちら。家にあったペンギンを掴んでみました。
▼別視点から。リセットすると、初期位置に戻ります。
最後に
実際に動かしてみたところ、腕が伸びた状態で根元のサーボモーターを動かすのは難しそうだなと感じました。トルクが大きくなって電流値が大きくなった影響か、動作が不安定になることがありました。勝手に動いたりします。
過負荷状態が続くと機器が危ないので、対策を考えないといけませんね。これまでにサーボモーターが熱くなりすぎて何回か壊したことがあるのです...
重量のある動力部品の位置を変えるために、ベルトとかで動力を伝達するのも試してみたいところです。