Snake Robot 蛇型ロボット その4
その4:コントロールボードの製作 2021年2月26日
各画像はクリックすると拡大します。
WiFiとBluetoothが搭載されたESP32チップを裏返し、両面テープでユニバーサル基板に貼り付けて手配線した
簡単なコントロールボードですが、これで複雑な蛇の蛇行運動を実現します。
右端のスイッチは、蛇行運動用サーボモータの出力を90度にセットするために設けました。90度に揃っていないと
左右どちらかへ弓なり、蛇が直進しません。その場合は一直線に揃うように補正値を修正する必要が有ります。
補正の詳細はソフト編で述べます。

参考にさせて頂いた元記事では、13個のサーボモーターをコントロールするために必要なPWM on GPIOを14個備えた
Arduino ATmega2560を使っていました。 しかし、その大きさと別途無線モジュールが必要なことなどが理由で小型で
安価なESP32を使うことにしました。 ここでは無線コントロールにBLE(Bluetooth Low Energy)を使用します。
尚、ESP32の場合PWMが使用可能なGPIOが18個搭載されていますが、、ここでは15個のGPIOを使用しています。
補足:最近ではATmega2560のミニタイプATmega2560 pro MINIが販売されていますがまだまだ高価です。
また、当初はPCA9685 16channel PWM Driverを使う計画でしたが、このドライバーボードが結構大きいので諦めました。

コントロールボードの回路図
下の回路図のようにESP32チップを裏返しに張り付けてあるので各GPIO名が判りやすく、インターフェースピンへの
手配線も間違わずに出来ると思います。 但し、ピンピッチが狭いので先の細い半田ごてが必要です。
プログラムの書き込み部はUSBシリアルモジュールを使った外付け回路としました。

部品配置図
私の例ですが参考にして下さい。手配線が嫌な方は、DOIT ESP32 DevKit V1等に置き換えて使うことが可能です。
クリックすると拡大します。

サーボモータへの配線方法について
各配線は本体中央部にまとめること、サーボモータの角度が90度の場合に配線距離が一番長く、0度又は180度側に
振ると外側へたわみます。そのため。配線をきつく束ねるとこの動きが重くなるので注意が必要です。
①蛇行運動用サーボモータへの配線は、コントロールボードのピンヘッダーからPWM信号線とGNDを配線します。
②+VとGNDの電源線は、最後尾のバッテリーから容量のある配線を用いて先頭のサーボモータまで配線します。
③各サーボモータの取り付けパネル上部にユニバーサル基板を加工した分岐基板をビス止めします。
④次に各々のサーボモータ近くで柔らかい配線を使って分岐して分岐基板へ配線します。ここでPWM信号線と一緒に
モーターリードと接続します。
⑤各配線を分岐基板へ直接半田付けすると、配線の先端が疲労切断する恐れがあるので、下記画像のように
ユニバーサル基板の穴を配線が通るように拡大し、一度その穴に通してから基板裏側で半田付けすると改善できます。

先頭(コントロール部)
測距センサー用サーボモータの電源はコントロール用電源を使用。DC/DCコンバータ(MT3608)はリポバッテリーの
裏側に取り付けています。

最後尾(バッテリー部)
蛇行運動用サーボモータの電源部で単4型充電池4個を搭載しています。

最後に動画をご覧下さい。
次回はその5 リモコン部を掲載の予定です。
皆様の参考になれば幸いです。
by Paradise
各画像はクリックすると拡大します。
WiFiとBluetoothが搭載されたESP32チップを裏返し、両面テープでユニバーサル基板に貼り付けて手配線した
簡単なコントロールボードですが、これで複雑な蛇の蛇行運動を実現します。
右端のスイッチは、蛇行運動用サーボモータの出力を90度にセットするために設けました。90度に揃っていないと
左右どちらかへ弓なり、蛇が直進しません。その場合は一直線に揃うように補正値を修正する必要が有ります。
補正の詳細はソフト編で述べます。

参考にさせて頂いた元記事では、13個のサーボモーターをコントロールするために必要なPWM on GPIOを14個備えた
Arduino ATmega2560を使っていました。 しかし、その大きさと別途無線モジュールが必要なことなどが理由で小型で
安価なESP32を使うことにしました。 ここでは無線コントロールにBLE(Bluetooth Low Energy)を使用します。
尚、ESP32の場合PWMが使用可能なGPIOが18個搭載されていますが、、ここでは15個のGPIOを使用しています。
補足:最近ではATmega2560のミニタイプATmega2560 pro MINIが販売されていますがまだまだ高価です。
また、当初はPCA9685 16channel PWM Driverを使う計画でしたが、このドライバーボードが結構大きいので諦めました。

コントロールボードの回路図
下の回路図のようにESP32チップを裏返しに張り付けてあるので各GPIO名が判りやすく、インターフェースピンへの
手配線も間違わずに出来ると思います。 但し、ピンピッチが狭いので先の細い半田ごてが必要です。
プログラムの書き込み部はUSBシリアルモジュールを使った外付け回路としました。

部品配置図
私の例ですが参考にして下さい。手配線が嫌な方は、DOIT ESP32 DevKit V1等に置き換えて使うことが可能です。
クリックすると拡大します。

サーボモータへの配線方法について
各配線は本体中央部にまとめること、サーボモータの角度が90度の場合に配線距離が一番長く、0度又は180度側に
振ると外側へたわみます。そのため。配線をきつく束ねるとこの動きが重くなるので注意が必要です。
①蛇行運動用サーボモータへの配線は、コントロールボードのピンヘッダーからPWM信号線とGNDを配線します。
②+VとGNDの電源線は、最後尾のバッテリーから容量のある配線を用いて先頭のサーボモータまで配線します。
③各サーボモータの取り付けパネル上部にユニバーサル基板を加工した分岐基板をビス止めします。
④次に各々のサーボモータ近くで柔らかい配線を使って分岐して分岐基板へ配線します。ここでPWM信号線と一緒に
モーターリードと接続します。
⑤各配線を分岐基板へ直接半田付けすると、配線の先端が疲労切断する恐れがあるので、下記画像のように
ユニバーサル基板の穴を配線が通るように拡大し、一度その穴に通してから基板裏側で半田付けすると改善できます。

先頭(コントロール部)
測距センサー用サーボモータの電源はコントロール用電源を使用。DC/DCコンバータ(MT3608)はリポバッテリーの
裏側に取り付けています。

最後尾(バッテリー部)
蛇行運動用サーボモータの電源部で単4型充電池4個を搭載しています。

最後に動画をご覧下さい。
次回はその5 リモコン部を掲載の予定です。
皆様の参考になれば幸いです。
by Paradise
スポンサーサイト
Snake Robot 蛇型ロボット その3
その3:ボディーの製作 2020年2月17日
このSnakeRobotの原型は2017年4月にjoesinstructablesがinsutructables circuitsに発表された作品を参考に
安価で入手が容易な小型サーボモータを15個使い、コントロールボードを小型化した作品です。
興味のある方は、次のURを参考にして下さい。https://www.instructables.com/Snake-Robot-1/SnakeRobot
参考:組み立てキットや完成品も販売されていますが、US$683~746と大変高価です。
https://nevemtech.com/Paymentfinal.aspx?id=N459&stat=h&cnt=Japan
タイトルに100ドル以下で作ると書きましたが、新規購入費用は半分の5000円ほどで済みました。
手前はBluetooth(BLE)を使った自作コントローラーです。

主な部品リスト(制御部のパーツを含む)
サーボモータは到着までに20日ほど掛かりますが、AliExpressが断然安かった!送料込みで1個 100円余し!
1)ボディー部の製作
SG90型サーボモータを組み込む為のパーツをCNC加工して作ります。
使用する材料はアクリル板は、厚さ2㎜、3㎜、5㎜の3種類で、下図が各パーツと組み立て略図です。
私はサーボモータを14個使ったので同じパーツを14組作り、それを超強力両面テープを使って連結しました。
下図の斜線部分が超強力両面テープでサーボモータを固定した部分です。図はクリックすると大きく見れます。

1ユニットの組み立て
下の画像は加工した1ユニット分のパーツですが、サーボモータを挟み込むプレートが抜けていました。
左側のパーツを組み立てると右側のように1ユニットが出来上がります。
サーボモータが届く前に設計図を作ったら、以前日本で購入した物と細部が違い一部変更が必要でした。

このように連結して組み立てます。
サーボモーターに貼ってある数字のラベルは、各モーターに90度信号入力テスト時の補正値です。

先頭部(ESP32を使って小さくまとめたコントロール部)
先頭のサーボモータはIR測距センサーを左右に振るためのモータです。測距センサーGP2Y0E02はI2Cにて接続。
私はユニバーサル基板にESP32モジュールを組み込んで使いましたが、ESP32 Devkitでも使えます。
コントロール部は別電源とし、3.7V500mAhのリポバッテリーをDC/DCコンバータで5Vに昇圧しています。

最後部(電源部)
サーボモータ14台分の電源を賄うバッテリーに単4充電池1.2Vを4個使用してます。
14個のサーボモータを1度に動かすのでモーター電源の供給は、バッテリーから末端まで太い配線を使い、
夫々のモータの近くで分岐して供給する方法を採用、端末のモータも電圧降下が少なく元気に動きます。

最後に動画をご覧下さい。
次回はその4 制御部を掲載の予定です。
皆様の参考になれば幸いです。
by Paradise
このSnakeRobotの原型は2017年4月にjoesinstructablesがinsutructables circuitsに発表された作品を参考に
安価で入手が容易な小型サーボモータを15個使い、コントロールボードを小型化した作品です。
興味のある方は、次のURを参考にして下さい。https://www.instructables.com/Snake-Robot-1/SnakeRobot
参考:組み立てキットや完成品も販売されていますが、US$683~746と大変高価です。
https://nevemtech.com/Paymentfinal.aspx?id=N459&stat=h&cnt=Japan
タイトルに100ドル以下で作ると書きましたが、新規購入費用は半分の5000円ほどで済みました。
手前はBluetooth(BLE)を使った自作コントローラーです。

主な部品リスト(制御部のパーツを含む)
サーボモータは到着までに20日ほど掛かりますが、AliExpressが断然安かった!送料込みで1個 100円余し!
部品名 | 型番又は商品名 | 個数 | 参考 |
アクリル板 | 2㎜、3㎜、5㎜ | 100X300 | 端材数枚 手持ち品 |
強力両面テープ | スコッチ 超強力両面テープ | 1個 | ヨドバシカメラ |
タイヤ用Oリング | 1A-P9 [Oリング(10個入り)] | 32個(4 set) | ヨドバシ 1set 248円 |
サーボモータ | SG90 | 15個 | AliExpress 1個 1US$ |
マイコンモジュール | ESP32 WROOM 32D | 1個 | 秋月電子 1個 460円 |
測距モジュール | GP2Y0E02 I2C&analog | 1個 | 秋月電子 1個 680円 |
ユニバーサル基板 | 片面ガラス基板 Cタイプ | 3枚 | 秋月電子 1枚 60円 |
ピンヘッダー | 1x40(40P) | 1個 | 秋月電子 1個 35円 |
分割ピンソケット | 1x42(42P) | 1個 | 秋月電子 1個 80円 |
電池ケース | 単4 2個タイプ | 2個 | 秋月電子 1個 50円 |
その他 | 配線材・ビス類 | 多少 | 手持ち品 |
1)ボディー部の製作
SG90型サーボモータを組み込む為のパーツをCNC加工して作ります。
使用する材料はアクリル板は、厚さ2㎜、3㎜、5㎜の3種類で、下図が各パーツと組み立て略図です。
私はサーボモータを14個使ったので同じパーツを14組作り、それを超強力両面テープを使って連結しました。
下図の斜線部分が超強力両面テープでサーボモータを固定した部分です。図はクリックすると大きく見れます。

1ユニットの組み立て
下の画像は加工した1ユニット分のパーツですが、サーボモータを挟み込むプレートが抜けていました。
左側のパーツを組み立てると右側のように1ユニットが出来上がります。
サーボモータが届く前に設計図を作ったら、以前日本で購入した物と細部が違い一部変更が必要でした。

このように連結して組み立てます。
サーボモーターに貼ってある数字のラベルは、各モーターに90度信号入力テスト時の補正値です。

先頭部(ESP32を使って小さくまとめたコントロール部)
先頭のサーボモータはIR測距センサーを左右に振るためのモータです。測距センサーGP2Y0E02はI2Cにて接続。
私はユニバーサル基板にESP32モジュールを組み込んで使いましたが、ESP32 Devkitでも使えます。
コントロール部は別電源とし、3.7V500mAhのリポバッテリーをDC/DCコンバータで5Vに昇圧しています。

最後部(電源部)
サーボモータ14台分の電源を賄うバッテリーに単4充電池1.2Vを4個使用してます。
14個のサーボモータを1度に動かすのでモーター電源の供給は、バッテリーから末端まで太い配線を使い、
夫々のモータの近くで分岐して供給する方法を採用、端末のモータも電圧降下が少なく元気に動きます。

最後に動画をご覧下さい。
次回はその4 制御部を掲載の予定です。
皆様の参考になれば幸いです。
by Paradise
Snake Robot 蛇型ロボット その2
動画が出来ましたので先に掲載します。
その1でも述べましたが、この蛇型ロボットには車輪が付いていますが、全てフリーホイールです。
動く原理は、実際の蛇と同様にくねくねと蛇行する運動によって進みます。
この蛇行運動は、14個のサーボモータをコントロールするマイコンにより実現しています。
次回から製作編、ソフト編を順次掲載の予定です。
皆様の参考になれば幸いです。
by Paradise
その1でも述べましたが、この蛇型ロボットには車輪が付いていますが、全てフリーホイールです。
動く原理は、実際の蛇と同様にくねくねと蛇行する運動によって進みます。
この蛇行運動は、14個のサーボモータをコントロールするマイコンにより実現しています。
次回から製作編、ソフト編を順次掲載の予定です。
皆様の参考になれば幸いです。
by Paradise
Snake Robot 蛇型ロボット その1
Snake Robot 蛇型ロボット その1 2021年2月8日
先にお知らせしていました蛇型ロボットが出来上がりました。
今回も自作のCNCマシンを使い、アクリル板を切削して各パーツを作りました。
このSnakeRobotの原型は2017年にjoesinstructablesがinsutructables circuitsに発表された作品を
参考に、安価で入手が容易な小型サーボモーターや超小型のマイコンボードを自作して小さく纏めてみました。
興味のある方は、次のURを参考にして下さい。https://www.instructables.com/Snake-Robot-1/SnakeRobot
動作については動画を見て頂くのが1番ですが、未だ準備が出来ず、後日撮影の予定です。
完成したSnakeRobot本体 原形ではサーボ―モータを12個連結ですが、2個増やして14個としました。
また、距離センサーをコントロール部に直結する為に原形とは進行方向を逆向きしています。

このSnakeRobotの特徴は、車輪で動くのではなく、実際の蛇と同様にくねくね運動によって進みます。
車輪は蛇の鱗の代わりに胴体方向には転がりますが、斜めや横方向にはグリップが掛かり、進行方向へ
押し出す力となります。

先頭部には自律歩行の為の赤外線距離センサーとコントロール部を配置しました。
コントロール部の電源には3.7V500mAhのリポバッテリーを使用。サーボモータのバッテリーは最後部に搭載。

原形ではコントロール部に大きなATmega2560を使ってますが、小さく作ることが目標なのでESP32チップを
ユニバーサル基板に組み込んで小さく作りました。 また、ESP32を使うことにより、WiFiやBluetoothが使え、
リモコンモジュールの追加が不要となります。

次回から製作編、ソフト編を順次掲載の予定です。
皆様の参考になれば幸いです。
by Paradise
先にお知らせしていました蛇型ロボットが出来上がりました。
今回も自作のCNCマシンを使い、アクリル板を切削して各パーツを作りました。
このSnakeRobotの原型は2017年にjoesinstructablesがinsutructables circuitsに発表された作品を
参考に、安価で入手が容易な小型サーボモーターや超小型のマイコンボードを自作して小さく纏めてみました。
興味のある方は、次のURを参考にして下さい。https://www.instructables.com/Snake-Robot-1/SnakeRobot
動作については動画を見て頂くのが1番ですが、未だ準備が出来ず、後日撮影の予定です。
完成したSnakeRobot本体 原形ではサーボ―モータを12個連結ですが、2個増やして14個としました。
また、距離センサーをコントロール部に直結する為に原形とは進行方向を逆向きしています。

このSnakeRobotの特徴は、車輪で動くのではなく、実際の蛇と同様にくねくね運動によって進みます。
車輪は蛇の鱗の代わりに胴体方向には転がりますが、斜めや横方向にはグリップが掛かり、進行方向へ
押し出す力となります。

先頭部には自律歩行の為の赤外線距離センサーとコントロール部を配置しました。
コントロール部の電源には3.7V500mAhのリポバッテリーを使用。サーボモータのバッテリーは最後部に搭載。

原形ではコントロール部に大きなATmega2560を使ってますが、小さく作ることが目標なのでESP32チップを
ユニバーサル基板に組み込んで小さく作りました。 また、ESP32を使うことにより、WiFiやBluetoothが使え、
リモコンモジュールの追加が不要となります。

次回から製作編、ソフト編を順次掲載の予定です。
皆様の参考になれば幸いです。
by Paradise