ESP32 Evo2タイプロボットを作る その3
お知らせ!
10月22日現在、ここに使ったステッピングモータと同じ品が、メルカリで2個(税・送料込み)1100円で出ています。
先ずは動画をご覧下さい。
その3 ソフトウエアーについて
このESP32 Evo2 TypeにはがGitHubに公開されたB-ROBOT_EVO2_ESP32を利用させて頂きました。
ghmartin77さんに感謝いたします。
ダウンロードについて
①次のURLからZIPファイルをダウンロードします。
GitHubのESP32_EVO2_ESP32を開く
②開いたページの緑表示のCODEをクリックし、ダイヤログのDownloadZIPを実行します。
③ダウンロードしたZIPファイルを適当なディレクトリーに解凍します。
④解凍したファイルの上から2番目のディレクトリーBRobotEvo2ESP32を開きます。
⑤開いたディレクトリー1番上のINOファイルBRobotEvo2ESP32.inoはダミーで注釈のみです。
英文の注釈通り意図的に空にしている故、配慮が必要です。
作者の意図を尊重し、あえてファイル名を記しませんが、ソースファイルがどれか直ぐに解ると思います。
ライブラリーの修正
先に解凍したBRobotEvo2ESP32ファイル内のdefinesをテキストエディタ等で開き、ハードウェアが使用する
ピン番号に書き換える必要があります。
前回に記した回路図の所でも少し述べましたが、この回路の通り配線をした場合は図内で記したピン番号に
変更します。その他は使用するハードウェアに合わせます。
変更箇所は11から19行目です。
11 #define PIN_ENABLE_MOTORS 12 ⇒ 32
12
13 #define PIN_SERVO 17 ⇒ 16
14
15 #define PIN_MOTOR1_DIR 27 ⇒ 27
16 #define PIN_MOTOR1_STEP 14 ⇒ 26
17
18 #define PIN_MOTOR2_DIR 25 ⇒ 33
19 #define PIN_MOTOR2_STEP 26 ⇒ 25
変更が終われば保存して終了します。
ライブラリーの追加
先に解凍したBRobotEvo2ESP32ファイルからライブラリー以外の2個を除き、Arduinoがインストールされた
ディレクトリーへ移動し、その下層のlibraryディレクトリーへBRobotEvo2ESP32を直接貼り付ければOKです。
注意
Arduinoのlibraryディレクトリー内に他のMPU6050ライブラリーが存在する場合、追加したMPU6050と競合して
コンパイルエラーが出ます。この場合は、先に入ってたMPU6050ライブラリーを別のディレクトリーへ退避させると
解決します。
使用充電池について
今回使用した格安ステッピングモータはコイルの抵抗値が約5Ωと低いため、電流を流し過ぎるとモータや
ドライバーICの発熱が起き、無駄な電流消費を招きます。
使用したモータドライバーA4988の仕様書では、モータ電圧 min 8.0Vとありますが、今回使用したモータでは
電圧を上げ過ぎると発熱を起こすため、あえて7.4Vのリチウムイオン充電池を使用していますが、
7V以上の電圧が有れば正常に動作します。(6年前の初期B-ROBOTから同じ方法を使用して確認すみです)
但し、容量が多い電池の使用と早めの充電が必要で古い電池はNGです。
モータードライバーの電流調整
モータードライバー基板に付いたVR(ポテンションメータ)を回してステッピングモータに流れる電流を調整します。
①電源回路へ直列に電流計を接続します。
②片方のステッピングモータのコネクターを外します。
③ロボットを水平に寝かせて電源スイッチを投入します。
④暫くするとサーボモータに取り付けたアームが数回小刻みに動いたら手で持ち上げ、
角度を水平から少し起こすとモーターが回転を始めます。
⑤この無負荷で回転する時の電流値を約200mA前後(マイコン等回路全ての消費電流)となるように
VRを回して調整し、ロボットを水平に戻したり起こしたりしながら行います。(電流値には個体差あり)
片方が終われば、反対側のモータも同じ値に調整すれば完了です。
コントロールソフトについて
Evo2ロボットのコントロールには、jjrobots社のB-Robot用スマートフォンアプリが利用可能です。
iPhoneとAndroidの両方がサポートされて、夫々のAPPストアにてダウンロード出来ます。
APPの使用は営利を伴わなければOKだと思いますが自己責任で行って下さい。
以上、ESP32 Evo2タイプロボットを作られる方の参考になれば幸いです。
by Paradise
10月22日現在、ここに使ったステッピングモータと同じ品が、メルカリで2個(税・送料込み)1100円で出ています。
先ずは動画をご覧下さい。
その3 ソフトウエアーについて
このESP32 Evo2 TypeにはがGitHubに公開されたB-ROBOT_EVO2_ESP32を利用させて頂きました。
ghmartin77さんに感謝いたします。
ダウンロードについて
①次のURLからZIPファイルをダウンロードします。
GitHubのESP32_EVO2_ESP32を開く
②開いたページの緑表示のCODEをクリックし、ダイヤログのDownloadZIPを実行します。
③ダウンロードしたZIPファイルを適当なディレクトリーに解凍します。
④解凍したファイルの上から2番目のディレクトリーBRobotEvo2ESP32を開きます。
⑤開いたディレクトリー1番上のINOファイルBRobotEvo2ESP32.inoはダミーで注釈のみです。
英文の注釈通り意図的に空にしている故、配慮が必要です。
作者の意図を尊重し、あえてファイル名を記しませんが、ソースファイルがどれか直ぐに解ると思います。
ライブラリーの修正
先に解凍したBRobotEvo2ESP32ファイル内のdefinesをテキストエディタ等で開き、ハードウェアが使用する
ピン番号に書き換える必要があります。
前回に記した回路図の所でも少し述べましたが、この回路の通り配線をした場合は図内で記したピン番号に
変更します。その他は使用するハードウェアに合わせます。
変更箇所は11から19行目です。
11 #define PIN_ENABLE_MOTORS 12 ⇒ 32
12
13 #define PIN_SERVO 17 ⇒ 16
14
15 #define PIN_MOTOR1_DIR 27 ⇒ 27
16 #define PIN_MOTOR1_STEP 14 ⇒ 26
17
18 #define PIN_MOTOR2_DIR 25 ⇒ 33
19 #define PIN_MOTOR2_STEP 26 ⇒ 25
変更が終われば保存して終了します。
ライブラリーの追加
先に解凍したBRobotEvo2ESP32ファイルからライブラリー以外の2個を除き、Arduinoがインストールされた
ディレクトリーへ移動し、その下層のlibraryディレクトリーへBRobotEvo2ESP32を直接貼り付ければOKです。
注意
Arduinoのlibraryディレクトリー内に他のMPU6050ライブラリーが存在する場合、追加したMPU6050と競合して
コンパイルエラーが出ます。この場合は、先に入ってたMPU6050ライブラリーを別のディレクトリーへ退避させると
解決します。
使用充電池について
今回使用した格安ステッピングモータはコイルの抵抗値が約5Ωと低いため、電流を流し過ぎるとモータや
ドライバーICの発熱が起き、無駄な電流消費を招きます。
使用したモータドライバーA4988の仕様書では、モータ電圧 min 8.0Vとありますが、今回使用したモータでは
電圧を上げ過ぎると発熱を起こすため、あえて7.4Vのリチウムイオン充電池を使用していますが、
7V以上の電圧が有れば正常に動作します。(6年前の初期B-ROBOTから同じ方法を使用して確認すみです)
但し、容量が多い電池の使用と早めの充電が必要で古い電池はNGです。
モータードライバーの電流調整
モータードライバー基板に付いたVR(ポテンションメータ)を回してステッピングモータに流れる電流を調整します。
①電源回路へ直列に電流計を接続します。
②片方のステッピングモータのコネクターを外します。
③ロボットを水平に寝かせて電源スイッチを投入します。
④暫くするとサーボモータに取り付けたアームが数回小刻みに動いたら手で持ち上げ、
角度を水平から少し起こすとモーターが回転を始めます。
⑤この無負荷で回転する時の電流値を約200mA前後(マイコン等回路全ての消費電流)となるように
VRを回して調整し、ロボットを水平に戻したり起こしたりしながら行います。(電流値には個体差あり)
片方が終われば、反対側のモータも同じ値に調整すれば完了です。
コントロールソフトについて
Evo2ロボットのコントロールには、jjrobots社のB-Robot用スマートフォンアプリが利用可能です。
iPhoneとAndroidの両方がサポートされて、夫々のAPPストアにてダウンロード出来ます。
APPの使用は営利を伴わなければOKだと思いますが自己責任で行って下さい。
以上、ESP32 Evo2タイプロボットを作られる方の参考になれば幸いです。
by Paradise
スポンサーサイト
ESP32 Evo2タイプロボットを作る その2
先ずは動画をご覧下さい。
その2 本体の組み立て
この作品は再現性を重点に出来るだけ市販部品を使って組み立てました。
主なパーツを揃える
39㎜ステッピングモータ ×2 (シャフトが長いので13㎜に切断しています)
A4988ステッピングモータ・ドライバーモジュール ×2 (Amazon 5個 849円)
アルミ電解コンデンサー 35V100㎌ ×2 (秋月電子1個 15円)
GY-521 ジャイロセンサー ×1 (Amazon 価格色々、最安 5個 999円)
SG90 マイクロサーボモータ ×1 (秋月電子1個 440円)
ユニバーサル基板 片面ガラスCタイプ72X47.5㎜ ×1 (秋月電子 1枚 60円)
基板スペーサー丸型30㎜ ×4 (秋月電子 丸型両メネジ RFB 3-30 1個 50円)
ホイール マイクロサーボ用60㎜ ×2 (秋月電子1個 160円)
ホイールハブ 5㎜モーターシャフト用ハブ X2 (秋月電子2個入540円)
電池ボックス A123用 ×2 (秋月電子1個 40円)
ROHM スイッチング式3端子レギュレータユニット BP5293-50 ×1 (秋月電子1個 260円)
3.3V 800mA 3端子レギュレータユニット ×1 (Amazon 10個 560円)
アクリル板 t2、t3、t5 少々
その他にピン・ソケット、配線材、ビス、超強力両面テープ等少々

上部アクリル板の寸法図
材料はアクリル板に限らずベニヤ板でもOKです。

アクリル板に部品の取り付け
予め上部のアクリル板に電池ボックスとサーボモータを両面テープにて貼り付けておきます。

モータに補強版の取り付け
左右モータをアクリル板を補強材にして超強力両面テープにて貼り合わせます。
モータ後部には5㎜厚のアクリル板13X13㎜を2枚用意して、モータシャフトを避けて画像のように張り合わせます。
次に底板に厚さ2㎜のアクリル板50x30㎜を両面テープにて接着します。

基板固定用アクリル板の取り付け
最後に基板取り付け用アクリル板を両面テープにて接着しますが、モータのリード線を通し位置を正確に決めます。
この作業で左右のモータが動かなく固定されます。

コントロール基板の取り付け
コントロール基板の取り付けには厚さ3㎜のスペーサーを使いますが、円でなくても正方形にM3の穴を開けた物を
4個用意します。
次にアクリル板の下側からM3x10㎜のビスを通し、スペーサーを介して基板を載せ、長さ30㎜の金属スペーサーにて
画像のようにコントロール基板を固定します。

電源部の取り付け
先に組み立てた電源部を金属スペーサーに載せてM3x6㎜のビスで固定します。
画像では、転倒時に電池が飛び出さないようにマジックテープで止めるようにしています。

後部の様子
ここまで出来たらモータのリード線を基板に接続出来ますが、リード線の順番は左から、赤、青、黒、緑を接続します。

ホイールの準備
今回使ったホイールは1個160円(秋月電子)にて購入の直径60㎜のマイクロサーボ用です。また、シャフトへの
取り付けには同じく秋月電子で購入のアルミ製ホイールハブ(5㎜モーターシャフト用ハブ(2個入540円))です。
少し高価ですが自分で加工出来ない方には便利です。画像左側のホイールに白く光るのがハブです。
このホイールには2個の取付穴と対角にもう2個下穴が開いていてM3のピンバイスで直ぐに貫通出来ます。
尚、私はホイールのサーボモータ取り付け穴をM5ドリルで貫通して使用しています。
最初にも記しましたが、モーターシャフトが20㎜と長いので金鋸で切断して13㎜長にしています。

完成画像1

完成画像2

次回はソフトウェアについての要点を掲載予定です。
皆さまの参考になれば幸いです。
by Paradise
その2 本体の組み立て
この作品は再現性を重点に出来るだけ市販部品を使って組み立てました。
主なパーツを揃える
39㎜ステッピングモータ ×2 (シャフトが長いので13㎜に切断しています)
A4988ステッピングモータ・ドライバーモジュール ×2 (Amazon 5個 849円)
アルミ電解コンデンサー 35V100㎌ ×2 (秋月電子1個 15円)
GY-521 ジャイロセンサー ×1 (Amazon 価格色々、最安 5個 999円)
SG90 マイクロサーボモータ ×1 (秋月電子1個 440円)
ユニバーサル基板 片面ガラスCタイプ72X47.5㎜ ×1 (秋月電子 1枚 60円)
基板スペーサー丸型30㎜ ×4 (秋月電子 丸型両メネジ RFB 3-30 1個 50円)
ホイール マイクロサーボ用60㎜ ×2 (秋月電子1個 160円)
ホイールハブ 5㎜モーターシャフト用ハブ X2 (秋月電子2個入540円)
電池ボックス A123用 ×2 (秋月電子1個 40円)
ROHM スイッチング式3端子レギュレータユニット BP5293-50 ×1 (秋月電子1個 260円)
3.3V 800mA 3端子レギュレータユニット ×1 (Amazon 10個 560円)
アクリル板 t2、t3、t5 少々
その他にピン・ソケット、配線材、ビス、超強力両面テープ等少々

上部アクリル板の寸法図
材料はアクリル板に限らずベニヤ板でもOKです。

アクリル板に部品の取り付け
予め上部のアクリル板に電池ボックスとサーボモータを両面テープにて貼り付けておきます。

モータに補強版の取り付け
左右モータをアクリル板を補強材にして超強力両面テープにて貼り合わせます。
モータ後部には5㎜厚のアクリル板13X13㎜を2枚用意して、モータシャフトを避けて画像のように張り合わせます。
次に底板に厚さ2㎜のアクリル板50x30㎜を両面テープにて接着します。

基板固定用アクリル板の取り付け
最後に基板取り付け用アクリル板を両面テープにて接着しますが、モータのリード線を通し位置を正確に決めます。
この作業で左右のモータが動かなく固定されます。

コントロール基板の取り付け
コントロール基板の取り付けには厚さ3㎜のスペーサーを使いますが、円でなくても正方形にM3の穴を開けた物を
4個用意します。
次にアクリル板の下側からM3x10㎜のビスを通し、スペーサーを介して基板を載せ、長さ30㎜の金属スペーサーにて
画像のようにコントロール基板を固定します。

電源部の取り付け
先に組み立てた電源部を金属スペーサーに載せてM3x6㎜のビスで固定します。
画像では、転倒時に電池が飛び出さないようにマジックテープで止めるようにしています。

後部の様子
ここまで出来たらモータのリード線を基板に接続出来ますが、リード線の順番は左から、赤、青、黒、緑を接続します。

ホイールの準備
今回使ったホイールは1個160円(秋月電子)にて購入の直径60㎜のマイクロサーボ用です。また、シャフトへの
取り付けには同じく秋月電子で購入のアルミ製ホイールハブ(5㎜モーターシャフト用ハブ(2個入540円))です。
少し高価ですが自分で加工出来ない方には便利です。画像左側のホイールに白く光るのがハブです。
このホイールには2個の取付穴と対角にもう2個下穴が開いていてM3のピンバイスで直ぐに貫通出来ます。
尚、私はホイールのサーボモータ取り付け穴をM5ドリルで貫通して使用しています。
最初にも記しましたが、モーターシャフトが20㎜と長いので金鋸で切断して13㎜長にしています。

完成画像1

完成画像2

次回はソフトウェアについての要点を掲載予定です。
皆さまの参考になれば幸いです。
by Paradise
ESP32 Evo2タイプロボットを作る その1
その1 コントロール基板を作る
今回の製作モデルには、先に紹介しましたステッピングモータの使用を前提ですが、他のモータでも
昇圧回路の追加等で対応できます。
Pylon slalomを練習中

手組基板例
前回作ったESP32 Original Unitを使いユニバーサル基板に電源回路、モータードライバー、ジャイロセンサーを
手配線しました。

回路図
この配線パターンで組み立てた場合は、definesライブラリー内のピン番号の設定を図内リストを参考に変更します。
5Vの3端子レギュレータにはROHM社のDC/DC型モジュールを使っています。電源電圧を上げた場合でも発熱が
無く安心して使えます。3.3Vの方は800mAのコンデンサー実装型(Amazonにて購入)の安価なモジュールです。

基板裏側から見た配線図
手組配線される方は参考にして下さい。電源関係の配線が交差する所は片方を表側へ迂回させています。
信号線は0.32㎜径のラッピングワイヤーを使っています。

基板裏側の見本
上の配線図とほぼ同じに仕上がっていますが、細かい部分ではアレンジしています。
使用したユニバーサル基板は、秋月電子の片面ガラスCタイプ72X47.5㎜を、片側をカットして幅61㎜にて使用。

CNC切削用プリントパターン例 (実物サイズは55X55㎜)
片面基板なので3ヶ所ジャンパー線が必要です。上側ENABLEは表ジャンパー、I2CのSCL,SDAは裏ジャンパーです。
参考にして下さい。

次回は全体の組み立てについて掲載します。
皆さまの参考になれば幸いです。
by Paradise
今回の製作モデルには、先に紹介しましたステッピングモータの使用を前提ですが、他のモータでも
昇圧回路の追加等で対応できます。
Pylon slalomを練習中

手組基板例
前回作ったESP32 Original Unitを使いユニバーサル基板に電源回路、モータードライバー、ジャイロセンサーを
手配線しました。

回路図
この配線パターンで組み立てた場合は、definesライブラリー内のピン番号の設定を図内リストを参考に変更します。
5Vの3端子レギュレータにはROHM社のDC/DC型モジュールを使っています。電源電圧を上げた場合でも発熱が
無く安心して使えます。3.3Vの方は800mAのコンデンサー実装型(Amazonにて購入)の安価なモジュールです。

基板裏側から見た配線図
手組配線される方は参考にして下さい。電源関係の配線が交差する所は片方を表側へ迂回させています。
信号線は0.32㎜径のラッピングワイヤーを使っています。

基板裏側の見本
上の配線図とほぼ同じに仕上がっていますが、細かい部分ではアレンジしています。
使用したユニバーサル基板は、秋月電子の片面ガラスCタイプ72X47.5㎜を、片側をカットして幅61㎜にて使用。

CNC切削用プリントパターン例 (実物サイズは55X55㎜)
片面基板なので3ヶ所ジャンパー線が必要です。上側ENABLEは表ジャンパー、I2CのSCL,SDAは裏ジャンパーです。
参考にして下さい。

次回は全体の組み立てについて掲載します。
皆さまの参考になれば幸いです。
by Paradise
ESP32モジュールを使った汎用ユニットを作る
ESP32 Evo2タイプロボットを作る前に!
ESP32は単体のモージュールの他、Dev Kitが種々販売されていますが、Dev Kit類はサイズが大きくて
組み込み用としては不向きです。
小さいタイプとしてM5シリーズのM5 Stack Atom LiteやM5 Stamp pico Mateなど有りますが、
使用できるGPIOが少ない割に結構高価です。そこで、これらに準じたユニットを作る方法を紹介します。
オリジナルユニットと既存品の比較
上面:左端が今回作ったESP32を載せたユニットで、大きさはほぼAtom Liteと同じです。
利用可能なGPIOは、オリジナルが13個、Atom Liteが8個、Pico Mateが9個です。(書き込み関係含まず)

下面:オリジナルの基板下面にはピンヘッダ8x2とプログラム書き込み用のUSBシリアル端子を設けています。
画像下側のピンソケットは秋月電子にて購入の低メスタイプで高さを低くするのに有効です。

ESP32Dのピンマップ

オリジナルユニットの配線図と組み立て方
両側の端子のみ表示、下部の端子は不使用のため省略しています。(画像をクリックで拡大します)
3.3V電源線とGND線には0.5㎜径の錫メッキ線を使用、信号線は全て0.32㎜径のワイヤーラッピング用を使っています。
ESP32Dは秋月電子で1個330円で購入。新しいタイプのESP32Eは360円です。

部品の準備
基板:秋月電子の片面ガラス・薄型ユニバーサル基板Cタイプ(72X48mm)メッキ仕上げ(日本製)60円を
8×9穴を残して周囲を切断します。この基板は厚さが薄いので両面にカッターを入れると綺麗に折れます。
ピンヘッダ:これも秋月電子にて購入のピンヘッダ 1X40(40P、35円)から8ピンを2本をニッパー等で切断します。
完成高さを低くするためにピンヘッダの足を6.1㎜から3㎜短くしますが、先端を切断すると後の仕上げが大変なので
ラジオペンチを使いハンダ側へ3㎜押し込むと、ハンダ側が3㎜伸びるのでその分をニッパーで切断、高さを揃えます。
ピンソケット:これも秋月電子にて購入の分割ロングピンソケット 1X42 (42P、80円)の6ピン分を切断しますが、
切断箇所両面にカッターで切り込みを入れて折り曲げると綺麗に切断出来ます。
組立作業 注意:組立には順番が有ります。
①ピンヘッダの取り付け
カットしたユニバーサル基板のハンダ面を上にして8ピンのピンヘッダをハンダ付けしますが、ブレッドボードに
ピンヘッダを差し込み、ピンが傾かないように行えば正確に仕上がります。(ピンヘッダには1~16の番号を表示)
②USBシリアル用ソケットの取り付け
次に下面の画像(クリックで拡大します)を参考にして裏側に6ピンソケットを瞬間接着にて固定します。
③電源の配線
3.3VとGND2か所は0.5㎜の錫メッキ線を使い尖端にループを作り、ピンヘッダにハンダ付けした後、少し長めに
切断しておきます。
④USBシリアルソケットへの配線
次にGND、3.3V電源線とTXD、RXD、EN、IO0の信号線をUSBシリアルソケットへ配線しますが、配線図右側を
参考に行います。各配線を表側へ引き出す穴はピンヘッダの一つ内側です。
ENのプルアップ抵抗10KΩ1/6Wのリード線を15番ピンと14番ピン横の穴に通して表側に引き出しておきます。
抵抗の3.3V側とEN側をUSBシリアルソケットの3.3V及びENに接続します。
TXD、RXDはクロス接続するのでUSBシリアルソケット側から配線を始め、2番ピン、3番ピン横の穴から表側に
配線を少し長めに引きだしておきます。
IO0(書き込み=Download mode)ラインは、直ぐ横の穴がUSBシリアルソケットにより塞がれているので6番ピン横の
穴から表側に引き出しておきます。
⑤ESP32の取り付け方法
ESP32の金属面に幅10㎜、厚さ1.1㎜の強力両面テープを貼り、裏返しにして接着しますが、両面テープの厚みが
薄いと基板との間隔が狭く、後の配線作業が難しいので2枚重ねるか薄板の下駄をはかせると良いでしょう。
⑥ESP32への配線とハンダ付けについて
表側に引き出した各リード線をESP32の端子にハンダ付けしますが、少し長めに出してあるので寸法を合わせて切断、
先端の被覆を剥がしGPIO端子の角に沿って芯線を折り曲げてハンダ付けします。しかし、先端が細いICチップ用の
コテ先でないと隣の端子とブリッジするので細心の注意が必要です。
⑦ピンヘッダとESP32各GPIO端子の接続
配線図左側(表面)を参考にピンヘッダ2番から14番と各GPIOをハンダ付けしますが、リード線の被覆を剥がし芯線の
先端にループを作り、ピンヘッダにはめ込んでハンダ付けします。
ピンヘッダとGPIO端子の距離が近くて難しいと思いますが慎重に作業を行います。また、芯線をGPIO端子角で折り
曲げてハンダ付けすると接触面が増えて剥がれ難く仕上がります。
プログラム書き込み用アダプターについて
USBシリアルソケットのピン配置をM5 Stamp Pico Mateに準拠しました。アダプターの回路は下図と共通です。

細かな作業ですが、1つ作っておけば使いまわしが出来るので便利だと思います。
次回はESP32 Evo2タイプロボットの作り方を掲載予定です。
皆さまの参考になれば幸いです。
by Paradise
ESP32は単体のモージュールの他、Dev Kitが種々販売されていますが、Dev Kit類はサイズが大きくて
組み込み用としては不向きです。
小さいタイプとしてM5シリーズのM5 Stack Atom LiteやM5 Stamp pico Mateなど有りますが、
使用できるGPIOが少ない割に結構高価です。そこで、これらに準じたユニットを作る方法を紹介します。
オリジナルユニットと既存品の比較
上面:左端が今回作ったESP32を載せたユニットで、大きさはほぼAtom Liteと同じです。
利用可能なGPIOは、オリジナルが13個、Atom Liteが8個、Pico Mateが9個です。(書き込み関係含まず)

下面:オリジナルの基板下面にはピンヘッダ8x2とプログラム書き込み用のUSBシリアル端子を設けています。
画像下側のピンソケットは秋月電子にて購入の低メスタイプで高さを低くするのに有効です。

ESP32Dのピンマップ

オリジナルユニットの配線図と組み立て方
両側の端子のみ表示、下部の端子は不使用のため省略しています。(画像をクリックで拡大します)
3.3V電源線とGND線には0.5㎜径の錫メッキ線を使用、信号線は全て0.32㎜径のワイヤーラッピング用を使っています。
ESP32Dは秋月電子で1個330円で購入。新しいタイプのESP32Eは360円です。

部品の準備
基板:秋月電子の片面ガラス・薄型ユニバーサル基板Cタイプ(72X48mm)メッキ仕上げ(日本製)60円を
8×9穴を残して周囲を切断します。この基板は厚さが薄いので両面にカッターを入れると綺麗に折れます。
ピンヘッダ:これも秋月電子にて購入のピンヘッダ 1X40(40P、35円)から8ピンを2本をニッパー等で切断します。
完成高さを低くするためにピンヘッダの足を6.1㎜から3㎜短くしますが、先端を切断すると後の仕上げが大変なので
ラジオペンチを使いハンダ側へ3㎜押し込むと、ハンダ側が3㎜伸びるのでその分をニッパーで切断、高さを揃えます。
ピンソケット:これも秋月電子にて購入の分割ロングピンソケット 1X42 (42P、80円)の6ピン分を切断しますが、
切断箇所両面にカッターで切り込みを入れて折り曲げると綺麗に切断出来ます。
組立作業 注意:組立には順番が有ります。
①ピンヘッダの取り付け
カットしたユニバーサル基板のハンダ面を上にして8ピンのピンヘッダをハンダ付けしますが、ブレッドボードに
ピンヘッダを差し込み、ピンが傾かないように行えば正確に仕上がります。(ピンヘッダには1~16の番号を表示)
②USBシリアル用ソケットの取り付け
次に下面の画像(クリックで拡大します)を参考にして裏側に6ピンソケットを瞬間接着にて固定します。
③電源の配線
3.3VとGND2か所は0.5㎜の錫メッキ線を使い尖端にループを作り、ピンヘッダにハンダ付けした後、少し長めに
切断しておきます。
④USBシリアルソケットへの配線
次にGND、3.3V電源線とTXD、RXD、EN、IO0の信号線をUSBシリアルソケットへ配線しますが、配線図右側を
参考に行います。各配線を表側へ引き出す穴はピンヘッダの一つ内側です。
ENのプルアップ抵抗10KΩ1/6Wのリード線を15番ピンと14番ピン横の穴に通して表側に引き出しておきます。
抵抗の3.3V側とEN側をUSBシリアルソケットの3.3V及びENに接続します。
TXD、RXDはクロス接続するのでUSBシリアルソケット側から配線を始め、2番ピン、3番ピン横の穴から表側に
配線を少し長めに引きだしておきます。
IO0(書き込み=Download mode)ラインは、直ぐ横の穴がUSBシリアルソケットにより塞がれているので6番ピン横の
穴から表側に引き出しておきます。
⑤ESP32の取り付け方法
ESP32の金属面に幅10㎜、厚さ1.1㎜の強力両面テープを貼り、裏返しにして接着しますが、両面テープの厚みが
薄いと基板との間隔が狭く、後の配線作業が難しいので2枚重ねるか薄板の下駄をはかせると良いでしょう。
⑥ESP32への配線とハンダ付けについて
表側に引き出した各リード線をESP32の端子にハンダ付けしますが、少し長めに出してあるので寸法を合わせて切断、
先端の被覆を剥がしGPIO端子の角に沿って芯線を折り曲げてハンダ付けします。しかし、先端が細いICチップ用の
コテ先でないと隣の端子とブリッジするので細心の注意が必要です。
⑦ピンヘッダとESP32各GPIO端子の接続
配線図左側(表面)を参考にピンヘッダ2番から14番と各GPIOをハンダ付けしますが、リード線の被覆を剥がし芯線の
先端にループを作り、ピンヘッダにはめ込んでハンダ付けします。
ピンヘッダとGPIO端子の距離が近くて難しいと思いますが慎重に作業を行います。また、芯線をGPIO端子角で折り
曲げてハンダ付けすると接触面が増えて剥がれ難く仕上がります。
プログラム書き込み用アダプターについて
USBシリアルソケットのピン配置をM5 Stamp Pico Mateに準拠しました。アダプターの回路は下図と共通です。

細かな作業ですが、1つ作っておけば使いまわしが出来るので便利だと思います。
次回はESP32 Evo2タイプロボットの作り方を掲載予定です。
皆さまの参考になれば幸いです。
by Paradise
ESP32 Evo2タイプ倒立振子型ロボットの製作
格安ステッピングモータ入手を機に3台追加して4兄弟になりました。
先ずは動画をご覧下さい
2号機の外観
2号機はアクリル板を補強材に両面テープにてモーターを連結、四角いアクリル板を基板スペーサーを使い
上下2段に配置、コントロール部と電池ボックスを取り付け、上側アクリル板にサーボモータを接着した
簡単な構造にしました。ホイールとハブは市販品を使い自作出来ない方にも製作が可能な作り方としました。
コントロール部のプリント基板は昨年1号機を作った時の予備品(M5 Stack Atom Lite用)を使用。
電池は3.7V123Aタイプのリチウムイオン充電池を2個使用、今回使ったステッピングモーターの仕様が
不明ですが、電圧を上げ過ぎないよう注意が必要です。私は昇圧をせずに電池の電圧をそのまま使用しました。
詳細は次回に掲載します。

3号機の外観
こちらは、側板に厚さ3㎜、上下の仕切り版には厚さ5㎜のアクリル板を使用し、M2タップタイトで連結しました。
充電池は16340型3.7Vを2個使用。123Aタイプよりも少し長いが、123A用電池ボックスに辛うじて入ります。
1号機、2号機にはM5 Stack Atom Liteを使いましたが、昨年は700円程だったのが今は倍ほどに値上がり!
今回から、330円で買えるESP32Dチップを手組配線しました。ホイールは1号機と同じ65㎜径を使用。

4号機の外観
昨日出来上がったばかりです。3号機と殆ど変わりませんが、電池にCANON IOS7Dに使っていた予備の
カメラ用電池7.2V 1800mAを使いました。ホイール75㎜径は文字描きロボットに使った予備品を使用。

次回は2号機から順に工作についての要点を掲載予定です。
皆さまの参考になれば幸いです。
by Paradise
先ずは動画をご覧下さい
2号機の外観
2号機はアクリル板を補強材に両面テープにてモーターを連結、四角いアクリル板を基板スペーサーを使い
上下2段に配置、コントロール部と電池ボックスを取り付け、上側アクリル板にサーボモータを接着した
簡単な構造にしました。ホイールとハブは市販品を使い自作出来ない方にも製作が可能な作り方としました。
コントロール部のプリント基板は昨年1号機を作った時の予備品(M5 Stack Atom Lite用)を使用。
電池は3.7V123Aタイプのリチウムイオン充電池を2個使用、今回使ったステッピングモーターの仕様が
不明ですが、電圧を上げ過ぎないよう注意が必要です。私は昇圧をせずに電池の電圧をそのまま使用しました。
詳細は次回に掲載します。

3号機の外観
こちらは、側板に厚さ3㎜、上下の仕切り版には厚さ5㎜のアクリル板を使用し、M2タップタイトで連結しました。
充電池は16340型3.7Vを2個使用。123Aタイプよりも少し長いが、123A用電池ボックスに辛うじて入ります。
1号機、2号機にはM5 Stack Atom Liteを使いましたが、昨年は700円程だったのが今は倍ほどに値上がり!
今回から、330円で買えるESP32Dチップを手組配線しました。ホイールは1号機と同じ65㎜径を使用。

4号機の外観
昨日出来上がったばかりです。3号機と殆ど変わりませんが、電池にCANON IOS7Dに使っていた予備の
カメラ用電池7.2V 1800mAを使いました。ホイール75㎜径は文字描きロボットに使った予備品を使用。

次回は2号機から順に工作についての要点を掲載予定です。
皆さまの参考になれば幸いです。
by Paradise
安価に作る倒立2輪ロボットの紹介 その5
その5 ソフトウェアについて
今回応用させて頂いた基本ソースは、6年前に倒立2輪ロボットの製作を始めた頃に出会ったサインスマート社の
セルフバランシングロボットです。教材的なキットとして販売されていますが、WiFiモジュールが技適認証外のため
残念ですが国内で使えません。そこで、マイコンをArduinoから技適対応の通信機能を内蔵したESP系に置き換え、
BLYNK APPを使ってスマートフォンからリモコン操作が出来るようにしました。
参考にしたサインスマート社のページ (現在は新しい機種が販売されています)
モータの取り付け方法を両面テープ止めからネジ止め式に変更しました。

マイコンにESP32系を使うための変更
M5 Stamp PicoやM5 Stack Atom Liteを使うためには、基本ソースの変更が必要です。
また、リモコンに何を使うかによっても受信部やモータコントロール部が異なりますが、ここではその4で紹介の
BlynkAPPを使った場合に合わせたコードの変更を記します。
1)ライブラリーのインストール
各リンクサイトからライブラリーのzipファイルをダウンロードしてArduinoIDEにインクルードしておきます。
インストール手順:ArduinoIDE⇒スケッチ⇒ライブラリーをインクルード⇒ZIP形式のライブラリーをインストール
①MPU6050-0.4.0.zip
mpu6050ライブラリー ダウンロードサイトへのリンク
②M5Atom-0.0.5.zip
M5Atom ライブラリー ダウンロードサイトへのリンク
2)ソースコードの変更
ソースコードが長いので下記ページを開きながら参照して下さい。
行番号&注釈付きソースコードを別ページに開きます。
主な変更点
①12行目:Blynk APPから取得したauth codeを記入します。
スマートフォンとWiFのペアリング時に56行目のデバイス名「M5Stamp_BLE」が表示されるのでペアリングします。
デバイス名は任意なので好みの名称に変更出来ます。
②70~80行目:ESP32系のPWM出力の設定です。(arduinoのanalogWriteに相当)
ここでは、8ビット0~255のPWM信号を扱います。
注意:使用するマイコン M5 Stamp PicoとM5 Stack Atom liteでは使用GPIO番号が異なります。
③93~102行目:BLYNK_WRITE(V0)の設定
Blynk APPで設定したV0のボタンスイッチ(トグル)です。
走路が滑らかなフローリングの場合やカーペットやマットなどの使用条件により、モータの出力を切り替えています。
④104~167行目:BLYNK_WRITE(V1)の設定
ジョイスティックからのx、y信号の値 0~±255を前後進と左右旋回及び停止信号に変換しています。
使い易くするためにx、y方向共に0~±100の間を不感帯としています。
⑤183~197行目:PIDの調整
ここでは、私が試したkp、ki、kdの値を記していますが、個体差が有るので微調整が必要です。
時間が掛かりますが、一番安定する値を求めて下さい。
⑥199~228行目: MotorControl
ジャイロセンサーの傾斜角度及びPID制御により得たOutput値とBlynkコントローラーから受信して得た
Run_Speed値及びTurn_Speed値の合計値を、左右のモータを動かすモータドライバーへ出力します。
ArudinoIDE用txtファイルを添付しましたコピーして貼り付けます。
3)調整のポイント
①静止せずに前後何れか決まった方向に進む場合は、20行目のAngle_offsetの値を0から少し±に変更すると
僅かに前後に動くがほぼ静止するポイントが有ります。
この調整が面倒な方は、ジャイロセンサーの取り付け方法をシーソー式とし、傾きを僅かに変えることにより静止
ポイントを簡単に見付けることが出来ます。但し調整後に動かないよう固定する構造が必要です。
②前項の⑤に記したPID制御の設定値ですが、kp、ki、kd各々にポテンションメータを置き、A/D変換した値により
調節するのが最良ですが、今回は省略しています。
どうしても必要な方は、スマートフォンのBlynkAPPにスライダーを3個追加してその値を利用する方法も有ります。
但し、一度値を求めたらその後は必要なく、固定値に戻せばよいので興味のある方はお試し下さい。
③前項③に記した走路によるパワーの切り替えですが、これもBlynkAPPにスライダーを2個追加することにより
連続した出力の変更が可能です。興味のある方はお試し下さい。
4)コントローラーとオペレーション
近年幼児期からスマホやゲーム機に親しむ子供が多く、スマホのジョイスティックの操作などお手の物だと思います。
しかし、後期高齢者の私は工作が得意なのにオペレーションが下手で子供達のように上手く操作が出来ません。
このバランシングロボットの欠点は少しスピードを上げると転倒します。これを転倒しないようにジョイスティックを
操作するのが大変難しく、練習が必要と痛感しています。
5)超安定バランシングロボットのお勧め
今回は安価にバランシングロボットを作るのが主題で、初めてのバランシングロボット体験とプログラムの勉強には
適材ですが、もっと安定した高性能のバランシングロボットを希望される方にはjjRobot社のB-Robot Evo2が
お勧めです。キットも販売されていますが、使用するマイコンが技適認証外なので国内で使うことが出来ません。
そこで、技適マークが付いたマイコンを使って作ったのが、昨年に紹介しましたM5 Stack ATOM Lite を使用の
B-Robot Evo2 Paradise Modelです。 このBlogのカテゴリー「倒立振子型ロボット」にてご覧頂けます。
前回参照:現在このバランシングロボットに使えるステッピングモーターが通常1個1500円以上しますが
4個セットで400円で販売されています。残り僅かです!興味のある方にはラストチャンスだと思います。
高速でも転倒し難く、海外では自作したB-Robot Evo2を持ち寄り、専用コースでレース競技も行われています。
次回紹介予定のNew Evo2
New Evo2は、上記の1個約100円のステッピングモータを使った簡易型紹介用モデルです。
ホイールやホイールフランジも市販品なのでCNC加工機が無くても作れるように設計しました。

皆さまの参考になれば幸いです。
by Paradise
今回応用させて頂いた基本ソースは、6年前に倒立2輪ロボットの製作を始めた頃に出会ったサインスマート社の
セルフバランシングロボットです。教材的なキットとして販売されていますが、WiFiモジュールが技適認証外のため
残念ですが国内で使えません。そこで、マイコンをArduinoから技適対応の通信機能を内蔵したESP系に置き換え、
BLYNK APPを使ってスマートフォンからリモコン操作が出来るようにしました。
参考にしたサインスマート社のページ (現在は新しい機種が販売されています)
モータの取り付け方法を両面テープ止めからネジ止め式に変更しました。

マイコンにESP32系を使うための変更
M5 Stamp PicoやM5 Stack Atom Liteを使うためには、基本ソースの変更が必要です。
また、リモコンに何を使うかによっても受信部やモータコントロール部が異なりますが、ここではその4で紹介の
BlynkAPPを使った場合に合わせたコードの変更を記します。
1)ライブラリーのインストール
各リンクサイトからライブラリーのzipファイルをダウンロードしてArduinoIDEにインクルードしておきます。
インストール手順:ArduinoIDE⇒スケッチ⇒ライブラリーをインクルード⇒ZIP形式のライブラリーをインストール
①MPU6050-0.4.0.zip
mpu6050ライブラリー ダウンロードサイトへのリンク
②M5Atom-0.0.5.zip
M5Atom ライブラリー ダウンロードサイトへのリンク
2)ソースコードの変更
ソースコードが長いので下記ページを開きながら参照して下さい。
行番号&注釈付きソースコードを別ページに開きます。
主な変更点
①12行目:Blynk APPから取得したauth codeを記入します。
スマートフォンとWiFのペアリング時に56行目のデバイス名「M5Stamp_BLE」が表示されるのでペアリングします。
デバイス名は任意なので好みの名称に変更出来ます。
②70~80行目:ESP32系のPWM出力の設定です。(arduinoのanalogWriteに相当)
ここでは、8ビット0~255のPWM信号を扱います。
注意:使用するマイコン M5 Stamp PicoとM5 Stack Atom liteでは使用GPIO番号が異なります。
③93~102行目:BLYNK_WRITE(V0)の設定
Blynk APPで設定したV0のボタンスイッチ(トグル)です。
走路が滑らかなフローリングの場合やカーペットやマットなどの使用条件により、モータの出力を切り替えています。
④104~167行目:BLYNK_WRITE(V1)の設定
ジョイスティックからのx、y信号の値 0~±255を前後進と左右旋回及び停止信号に変換しています。
使い易くするためにx、y方向共に0~±100の間を不感帯としています。
⑤183~197行目:PIDの調整
ここでは、私が試したkp、ki、kdの値を記していますが、個体差が有るので微調整が必要です。
時間が掛かりますが、一番安定する値を求めて下さい。
⑥199~228行目: MotorControl
ジャイロセンサーの傾斜角度及びPID制御により得たOutput値とBlynkコントローラーから受信して得た
Run_Speed値及びTurn_Speed値の合計値を、左右のモータを動かすモータドライバーへ出力します。
ArudinoIDE用txtファイルを添付しましたコピーして貼り付けます。
3)調整のポイント
①静止せずに前後何れか決まった方向に進む場合は、20行目のAngle_offsetの値を0から少し±に変更すると
僅かに前後に動くがほぼ静止するポイントが有ります。
この調整が面倒な方は、ジャイロセンサーの取り付け方法をシーソー式とし、傾きを僅かに変えることにより静止
ポイントを簡単に見付けることが出来ます。但し調整後に動かないよう固定する構造が必要です。
②前項の⑤に記したPID制御の設定値ですが、kp、ki、kd各々にポテンションメータを置き、A/D変換した値により
調節するのが最良ですが、今回は省略しています。
どうしても必要な方は、スマートフォンのBlynkAPPにスライダーを3個追加してその値を利用する方法も有ります。
但し、一度値を求めたらその後は必要なく、固定値に戻せばよいので興味のある方はお試し下さい。
③前項③に記した走路によるパワーの切り替えですが、これもBlynkAPPにスライダーを2個追加することにより
連続した出力の変更が可能です。興味のある方はお試し下さい。
4)コントローラーとオペレーション
近年幼児期からスマホやゲーム機に親しむ子供が多く、スマホのジョイスティックの操作などお手の物だと思います。
しかし、後期高齢者の私は工作が得意なのにオペレーションが下手で子供達のように上手く操作が出来ません。
このバランシングロボットの欠点は少しスピードを上げると転倒します。これを転倒しないようにジョイスティックを
操作するのが大変難しく、練習が必要と痛感しています。
5)超安定バランシングロボットのお勧め
今回は安価にバランシングロボットを作るのが主題で、初めてのバランシングロボット体験とプログラムの勉強には
適材ですが、もっと安定した高性能のバランシングロボットを希望される方にはjjRobot社のB-Robot Evo2が
お勧めです。キットも販売されていますが、使用するマイコンが技適認証外なので国内で使うことが出来ません。
そこで、技適マークが付いたマイコンを使って作ったのが、昨年に紹介しましたM5 Stack ATOM Lite を使用の
B-Robot Evo2 Paradise Modelです。 このBlogのカテゴリー「倒立振子型ロボット」にてご覧頂けます。
前回参照:現在このバランシングロボットに使えるステッピングモーターが通常1個1500円以上しますが
4個セットで400円で販売されています。残り僅かです!興味のある方にはラストチャンスだと思います。
高速でも転倒し難く、海外では自作したB-Robot Evo2を持ち寄り、専用コースでレース競技も行われています。
次回紹介予定のNew Evo2
New Evo2は、上記の1個約100円のステッピングモータを使った簡易型紹介用モデルです。
ホイールやホイールフランジも市販品なのでCNC加工機が無くても作れるように設計しました。

皆さまの参考になれば幸いです。
by Paradise
安価に作る倒立2輪ロボットの紹介 その4
新作の紹介
既製品のホイールを使った分と2台作りました。右側が昨年6月の作品(B-ROBOT Evo2 M5 Stack Atom Lite)です。
B-ROBOTページ参照:https://cncparadise.blog.fc2.com/blog-date-202006.html (抜群の安定性が特徴です)
お知らせ:B-ROBOTに使ったステッピングモーターが4個、400円、残り3セットがFA機器.COMにて販売されています。
新たに作られる方にB-ROBOTがお勧めです。 FA機器.COM:https://fakiki.com/products/detail/58887

その4 コントローラにBlynk Appを使う
Blynk Appのダウンロード
先ず、スマホがiPhoneの場合はApp Store、Androidの場合はPlayストアからBlynk Appをダウンロードします。
初めてBlynkを使う場合は、Create New AccountからemailとPasswordを入力してアカウント設定します。
プロジェクトの準備
①Create New ProjectをタップしてProject SettingsにてProject Nameを入力します。
②次にChoose DeviceのドロップダウンリストからESP32 Dev Boardを選択します。
③次にConnection TypeのロップダウンリストからBLEを選択します。
④一番下のCreateをタップすると先に入力したプロジェクト名のプロジェクトが開きます。
⑤プロジェクト名の右側のナットマークをタップすると新しいプロジェクトを開きます。
⑥丸+マークをタップするとWidget Box画面が開き、配置する部品が選べます。
⑦下の画像には出てませんが、右端の三角マークをタップするとプロジェクトがビジーとなります。
部品の配置と設定
最初、Widget Boxの電池マークは無料で使える2000エネルギーが表示されています。
ここでは、ジョイスティック(400)、ボタン(200)、BLE(0)の3つの部品を選びます。残り1400エネルギーです。
下の画像を参考に設定して下さい。トグルスイッチは走路がフローリングやカーペット等の種類により、パワーを
選ぶ為に設けています。 下の画像はタップすると拡大します。
プロジェクトに対し、登録したアカウントにAuth Codeが送られて来ます。 そのコードをプログラムに
記述する必要があるので大切に保管します。
動画をもう一度ご覧下さい。
B-ROBOT Evo2の動画を再掲載します。
次回はソフトウェアについて説明の予定です。
皆さまの参考になれば幸いです。
by Paradise
既製品のホイールを使った分と2台作りました。右側が昨年6月の作品(B-ROBOT Evo2 M5 Stack Atom Lite)です。
B-ROBOTページ参照:https://cncparadise.blog.fc2.com/blog-date-202006.html (抜群の安定性が特徴です)
お知らせ:B-ROBOTに使ったステッピングモーターが4個、400円、残り3セットがFA機器.COMにて販売されています。
新たに作られる方にB-ROBOTがお勧めです。 FA機器.COM:https://fakiki.com/products/detail/58887

その4 コントローラにBlynk Appを使う
Blynk Appのダウンロード
先ず、スマホがiPhoneの場合はApp Store、Androidの場合はPlayストアからBlynk Appをダウンロードします。
初めてBlynkを使う場合は、Create New AccountからemailとPasswordを入力してアカウント設定します。
プロジェクトの準備
①Create New ProjectをタップしてProject SettingsにてProject Nameを入力します。
②次にChoose DeviceのドロップダウンリストからESP32 Dev Boardを選択します。
③次にConnection TypeのロップダウンリストからBLEを選択します。
④一番下のCreateをタップすると先に入力したプロジェクト名のプロジェクトが開きます。
⑤プロジェクト名の右側のナットマークをタップすると新しいプロジェクトを開きます。
⑥丸+マークをタップするとWidget Box画面が開き、配置する部品が選べます。
⑦下の画像には出てませんが、右端の三角マークをタップするとプロジェクトがビジーとなります。
部品の配置と設定
最初、Widget Boxの電池マークは無料で使える2000エネルギーが表示されています。
ここでは、ジョイスティック(400)、ボタン(200)、BLE(0)の3つの部品を選びます。残り1400エネルギーです。
下の画像を参考に設定して下さい。トグルスイッチは走路がフローリングやカーペット等の種類により、パワーを
選ぶ為に設けています。 下の画像はタップすると拡大します。
ボタンとジョイスティックを選択 | BLEを選択 | 部品の配置 |
![]() | ![]() | ![]() |
ボタンの設定 ①ボタン名にPOWERと記入 ②Select Pinをタップして VirtualとV0を選択 | トグルスイッチとして使うので MODEをSwitct側に設定 ON/OFFに状態名を入力 | ジョイスティックの設定 VirtualとV1に設定 スイッチをMERGE側に設定 値を-255~255に設定 |
![]() | ![]() | ![]() |
記述する必要があるので大切に保管します。
動画をもう一度ご覧下さい。
B-ROBOT Evo2の動画を再掲載します。
次回はソフトウェアについて説明の予定です。
皆さまの参考になれば幸いです。
by Paradise
安価に作る倒立2輪ロボットの紹介 その3
その3 部品の製作と組み立て
完成画像 (全ての画像はクリックすると拡大します)

主なのパーツ
モータ、コントロール基板、モータドライバー、電池ボックス、ホイールから構成しています。
部品価格参考:M5 Stamp Pico 1個 825円(スイッチサイエンス)、Oリング1A-G65 1本107円(ヨドバシカメラ)
モータFM90 (秋月電子)1個 250円、単4 2個用電池ボックス(秋月電子)1個 50円
GY-521(MPU6050):250~450円(アマゾン)、MX1508:モータドライバー:約200円、(アマゾン)

ホイールについて
一番ネックになるのがホイールだと思います。 既製品が無いかと探したら、FM90の出力軸に合うスプライン形式
20T/4.8㎜の製品は60㎜が最大でした。 径が小さいと挙動が不安定になると思います。
参考:販売元:スイッチサイエンス(マイクロサーボ(20T/4.8mm)用 60×8mmホイール 2個セット 白、561円)
9月14日追伸:試しに上記ホイールを購入、テストの結果問題なく使えました。
先ずは、私が厚さ5㎜のアクリル板をCNC加工して作ったホイールの概略図を示します。
外周に幅3㎜、深さ2㎜の溝を加工し、タイヤにはOリング 1A-G65 1本107円を引き伸ばしながら嵌め込んでいます。
DXFファイルが必要な方は申し出て下さい。

組立図
厚さ2㎜のアクリル板を使い、モーターや電池ボックスを超強力両面テープを使って貼り合わせます。
私が使ったのは、3M Scotchのスーパー多用途粗面用 幅12㎜、厚み1.1㎜です。
モータドライバーMX1508は、取付穴が無いので前面のアクリル板に両面テープで貼り付けています。
単4タイプの電池ボックにスは、背中合わせのタイプが無いので、2個用を背中合わせに接着しました。

コントロール基板の回路図
ここでは、新しく発売されたM5 Stamp Picoを使いましたが、USBシリアルが実装されたM5 Stack Atom Liteの方が
USBシリアルモジュールが不要なので、新しく購入される方にはお勧めです。(性能的には同等です)。
M5 Stamp Picoとジャイロ基板を47X29㎜にカットしたユニバーサル基板に組み込みました。
尚、単4電池には、必ず1.2V出力のニッケル水素充電池を使います。電圧が高いアルカリ電池は不可です。

コントローラについて
動画では3種類のコントロールスタイルを紹介しましたが、夫々に特徴が有ります。専用のコントローラを使うのが
操作性に優れてベストです。 しかし、自作が難しいのでスマホアプリを使った方法が簡単でお勧めです。
BLE専用コントローラーに興味のある方は、以前の記事(第3章)を参考にして下さい。
特にBlynk APPの場合、androidとiPhoneの両方をサポートしているのが特徴です。
次回は、Blynk APPのインストールとWidget Boxからジョイスティックを選び、使い方を説明の予定です。
動画をもう一度ご覧下さい。
皆さまの参考になれば幸いです。
by Paradise
完成画像 (全ての画像はクリックすると拡大します)

主なのパーツ
モータ、コントロール基板、モータドライバー、電池ボックス、ホイールから構成しています。
部品価格参考:M5 Stamp Pico 1個 825円(スイッチサイエンス)、Oリング1A-G65 1本107円(ヨドバシカメラ)
モータFM90 (秋月電子)1個 250円、単4 2個用電池ボックス(秋月電子)1個 50円
GY-521(MPU6050):250~450円(アマゾン)、MX1508:モータドライバー:約200円、(アマゾン)

ホイールについて
一番ネックになるのがホイールだと思います。 既製品が無いかと探したら、FM90の出力軸に合うスプライン形式
20T/4.8㎜の製品は60㎜が最大でした。 径が小さいと挙動が不安定になると思います。
参考:販売元:スイッチサイエンス(マイクロサーボ(20T/4.8mm)用 60×8mmホイール 2個セット 白、561円)
9月14日追伸:試しに上記ホイールを購入、テストの結果問題なく使えました。
先ずは、私が厚さ5㎜のアクリル板をCNC加工して作ったホイールの概略図を示します。
外周に幅3㎜、深さ2㎜の溝を加工し、タイヤにはOリング 1A-G65 1本107円を引き伸ばしながら嵌め込んでいます。
DXFファイルが必要な方は申し出て下さい。

組立図
厚さ2㎜のアクリル板を使い、モーターや電池ボックスを超強力両面テープを使って貼り合わせます。
私が使ったのは、3M Scotchのスーパー多用途粗面用 幅12㎜、厚み1.1㎜です。
モータドライバーMX1508は、取付穴が無いので前面のアクリル板に両面テープで貼り付けています。
単4タイプの電池ボックにスは、背中合わせのタイプが無いので、2個用を背中合わせに接着しました。

コントロール基板の回路図
ここでは、新しく発売されたM5 Stamp Picoを使いましたが、USBシリアルが実装されたM5 Stack Atom Liteの方が
USBシリアルモジュールが不要なので、新しく購入される方にはお勧めです。(性能的には同等です)。
M5 Stamp Picoとジャイロ基板を47X29㎜にカットしたユニバーサル基板に組み込みました。
尚、単4電池には、必ず1.2V出力のニッケル水素充電池を使います。電圧が高いアルカリ電池は不可です。

コントローラについて
動画では3種類のコントロールスタイルを紹介しましたが、夫々に特徴が有ります。専用のコントローラを使うのが
操作性に優れてベストです。 しかし、自作が難しいのでスマホアプリを使った方法が簡単でお勧めです。
BLE専用コントローラーに興味のある方は、以前の記事(第3章)を参考にして下さい。
特にBlynk APPの場合、androidとiPhoneの両方をサポートしているのが特徴です。
次回は、Blynk APPのインストールとWidget Boxからジョイスティックを選び、使い方を説明の予定です。
動画をもう一度ご覧下さい。
皆さまの参考になれば幸いです。
by Paradise
安価に作る倒立2輪ロボットの紹介 その2
動画が出来ましたのでご覧下さい。
リモコンの方法を3種類試しました。スマホアプリのBluetooth2種とオリジナルのBLEコントローラの3種です。
ファームウエアを入れ替えることにより選べます。作るのが大変ですがオリジナルの専用コントローラが使い易いです。
次回は作り方を掲載します。皆さまの参考になれば幸いです。
by Paradise
リモコンの方法を3種類試しました。スマホアプリのBluetooth2種とオリジナルのBLEコントローラの3種です。
ファームウエアを入れ替えることにより選べます。作るのが大変ですがオリジナルの専用コントローラが使い易いです。
次回は作り方を掲載します。皆さまの参考になれば幸いです。
by Paradise
安価に作る倒立2輪ロボット その1
先月発売されたM5 Stamp Picoを使い、手持ちの安価な部品を集めて
倒立2輪ロボットを作りました。
ロボットの操作には、スマホアプリBLYNKのジョイスティックを利用しました。
DCモータを使った倒立2輪ロボットは、ステッピングモータを使った場合に比べて回路が簡単で軽く作れますが、
安定性はステッピングモータには及びません。

主要部品
M5 Stamp Pico:825円、GY-521(MPU6050):250~450円、MX1508:モータードライバー:200円、
FM90型DCモータ:250円2個、単四型電池ボックス2本用リード線タイプ2個、単4型ニッケル水素充電池4個、
その他手持ち部品少々の合計2000円余しです。
アクリル板:2㎜厚、大きさ52X22㎜X2、52X30㎜X1、52X20㎜X1の合計4枚です。

部品の組み立て
部品の組み立ては2㎜厚アクリル板の端材を使い、3M社の強力両面テープにて接着しています。
モータのスプラインに会った既製品のホイールが入手出来なかったので、5㎜厚のアクリル板を加工して外周に
3㎜幅のOリングを嵌め込んでします。モータとの接合にサーボモータ用のホーンを使用。 ホイール外径75㎜。

透明アクリル板を使ったのでモータとの接着が見えています。グレー色が両面テープ

次回から作り方とソフトウェアについて掲載予定です。動画も用意します。
皆さまの参考になれば幸いです。
by Paradise
倒立2輪ロボットを作りました。
ロボットの操作には、スマホアプリBLYNKのジョイスティックを利用しました。
DCモータを使った倒立2輪ロボットは、ステッピングモータを使った場合に比べて回路が簡単で軽く作れますが、
安定性はステッピングモータには及びません。

主要部品
M5 Stamp Pico:825円、GY-521(MPU6050):250~450円、MX1508:モータードライバー:200円、
FM90型DCモータ:250円2個、単四型電池ボックス2本用リード線タイプ2個、単4型ニッケル水素充電池4個、
その他手持ち部品少々の合計2000円余しです。
アクリル板:2㎜厚、大きさ52X22㎜X2、52X30㎜X1、52X20㎜X1の合計4枚です。

部品の組み立て
部品の組み立ては2㎜厚アクリル板の端材を使い、3M社の強力両面テープにて接着しています。
モータのスプラインに会った既製品のホイールが入手出来なかったので、5㎜厚のアクリル板を加工して外周に
3㎜幅のOリングを嵌め込んでします。モータとの接合にサーボモータ用のホーンを使用。 ホイール外径75㎜。

透明アクリル板を使ったのでモータとの接着が見えています。グレー色が両面テープ

次回から作り方とソフトウェアについて掲載予定です。動画も用意します。
皆さまの参考になれば幸いです。
by Paradise
M5 Stack ATOM Lite を使って倒立振子型ロボットを作る その3
2020年6月25日
私は、後期高齢者の爺さんですが、若い方に科学や工作について興味を抱いて欲しいと願っています。

EVO2用ESP32ソースファイルの紹介
先ずは、B-ROBOT EVO2用にESP32のソースファイルを公開されたghmartin77氏への敬意と感謝を申し上げます。
ESP32を使うことにより、原形のB-ROBOT EVO2に比べ回路の簡素化により部品点数が少なくなりました。
GitHub B-ROBOT EVO2 ESP32を開きます。
BRobotEvo2ESP32を開くと1番上のBRobotEvo2ESP32.inoはダミーファイルで、4番目のESP32SelfbalancingBot.cppが
本当のソースファイルなので拡張子をcppからinoに変更します。
次にそれ以外の12個のファイルは、libraryファイルなのでフォルダー名をBrobot等と付けた中にコピーし、Arduinoのlibraryに
インストールします。
M5stack ATOM Liteを使うためのコード変更
ghmartin77氏のGithubでは、ESP32 DevKitを使ってますが、私は小さく作るためにM5stack ATOM Lite(技適証明付き)
を使いました。
そのために使用するGPIOの番号を変更する必要があります。GPIOがバラバラなのは、プリントパターンを優先した結果です。
変更箇所はlibraryのdefines.hなのでテキストエディタ等で次の部分(11行目から)を編集します。
#define PIN_ENABLE_MOTORS12 ⇒ 19
#define PIN_SERVO17 ⇒ 32
#define PIN_MOTOR1_DIR27 ⇒ 26
#define PIN_MOTOR1_STEP14 ⇒ 33
#define PIN_MOTOR2_DIR25 ⇒ 23
#define PIN_MOTOR2_STEP26 ⇒ 25
以上の6行を書き換えたら保存を忘れずに行います。
注意:ESP32では、I2CのGPIOが21pin=SDA、22pin=SCLと規定されているので手組で配線される方は忘れずに!

ArduinoIDEでの書き込みについて
ここでは、M5stack ATOMの特別な機能を使わないので"M5Atom.h"を#includeする必要がありません。
ボードの選択は標準のESP32 Dev ModuleでOKです。
注意:Upload Speedは115200に設定します。これより早いと書き込みエラーが出ます。

コントロールソフトについて
B-ROBOT EVO2開発元のJJrobots社がスマホ用アプリ[JJrobots control APP]を無料公開されています。
android用はGooglePlay、iPhone用はApp Storeにてダウンロードして下さい。
APPの使い方は、JJrobots社のホームページにてご覧下さい。
JJrobots社のホームページには、倒立振子2輪ロボットの原理の他、参考になる情報が満載です。

遊び方
完成したら動かせてみましょう!机の上などは落下の危険があるので広い場所で行って下さい。
①本体を寝かせて電源スイッチをON。
②暫くするとアームが小刻みに動いた後静止します。(自動キャリブレーション)
③スマホのWiFi設定をタップすると利用可能なネットワークに「bbot」と表示されていると思います。
④「bbot」をタップしてパスワード[12345678]を入力設定します。
⑤少しすると接続済みになります。
⑥スマホにインストール済のJJrobots control APPを起動します。
⑦APPの右側SERVOボタンを押すとアームが本体を起こして自動的に倒立します。 左側のSERVO2は実装していません。
⑧後は、前後と左右のスライダーを動かす事により、思い通りに動かせます。
各スライダーは画面から指を離すと中立点で停止します。
⑨PROボタンを押すと動作スピードがアップしますが、普通モードで慣れてからでないと操作が難しいです。
海外ではサーキット・コースを作り、競技会が行われています。何人かで遊ぶと楽しいと思います。
機能を追加して楽しむ
M5stack ATOMを使った場合は、GPIOを全部使って余りが無いので無理ですが、GPIOに余裕があるESP32 DevKitや
ESP32単体に置き換えると、各種センサーを取り付けて障害物を避けながらの自動走行やライントレースを楽しむなど、
工夫次第で色々と発展させることが出来ます。
自作出来ない方のためにキットの販売も有りますが・・・
JJrobots社ではキット販売を行っていますが、使っているWiFiチップが日本国内で使えない技術適合証明が付いていない
ので注意が必要です。
最後にもう一度動画をご覧下さい。
最後までご覧頂き有難うございました。
皆様の参考になれば幸いです。
私は、後期高齢者の爺さんですが、若い方に科学や工作について興味を抱いて欲しいと願っています。

EVO2用ESP32ソースファイルの紹介
先ずは、B-ROBOT EVO2用にESP32のソースファイルを公開されたghmartin77氏への敬意と感謝を申し上げます。
ESP32を使うことにより、原形のB-ROBOT EVO2に比べ回路の簡素化により部品点数が少なくなりました。
GitHub B-ROBOT EVO2 ESP32を開きます。
BRobotEvo2ESP32を開くと1番上のBRobotEvo2ESP32.inoはダミーファイルで、4番目のESP32SelfbalancingBot.cppが
本当のソースファイルなので拡張子をcppからinoに変更します。
次にそれ以外の12個のファイルは、libraryファイルなのでフォルダー名をBrobot等と付けた中にコピーし、Arduinoのlibraryに
インストールします。
M5stack ATOM Liteを使うためのコード変更
ghmartin77氏のGithubでは、ESP32 DevKitを使ってますが、私は小さく作るためにM5stack ATOM Lite(技適証明付き)
を使いました。
そのために使用するGPIOの番号を変更する必要があります。GPIOがバラバラなのは、プリントパターンを優先した結果です。
変更箇所はlibraryのdefines.hなのでテキストエディタ等で次の部分(11行目から)を編集します。
#define PIN_ENABLE_MOTORS
#define PIN_SERVO
#define PIN_MOTOR1_DIR
#define PIN_MOTOR1_STEP
#define PIN_MOTOR2_DIR
#define PIN_MOTOR2_STEP
以上の6行を書き換えたら保存を忘れずに行います。
注意:ESP32では、I2CのGPIOが21pin=SDA、22pin=SCLと規定されているので手組で配線される方は忘れずに!

ArduinoIDEでの書き込みについて
ここでは、M5stack ATOMの特別な機能を使わないので"M5Atom.h"を#includeする必要がありません。
ボードの選択は標準のESP32 Dev ModuleでOKです。
注意:Upload Speedは115200に設定します。これより早いと書き込みエラーが出ます。

コントロールソフトについて
B-ROBOT EVO2開発元のJJrobots社がスマホ用アプリ[JJrobots control APP]を無料公開されています。
android用はGooglePlay、iPhone用はApp Storeにてダウンロードして下さい。
APPの使い方は、JJrobots社のホームページにてご覧下さい。
JJrobots社のホームページには、倒立振子2輪ロボットの原理の他、参考になる情報が満載です。

遊び方
完成したら動かせてみましょう!机の上などは落下の危険があるので広い場所で行って下さい。
①本体を寝かせて電源スイッチをON。
②暫くするとアームが小刻みに動いた後静止します。(自動キャリブレーション)
③スマホのWiFi設定をタップすると利用可能なネットワークに「bbot」と表示されていると思います。
④「bbot」をタップしてパスワード[12345678]を入力設定します。
⑤少しすると接続済みになります。
⑥スマホにインストール済のJJrobots control APPを起動します。
⑦APPの右側SERVOボタンを押すとアームが本体を起こして自動的に倒立します。 左側のSERVO2は実装していません。
⑧後は、前後と左右のスライダーを動かす事により、思い通りに動かせます。
各スライダーは画面から指を離すと中立点で停止します。
⑨PROボタンを押すと動作スピードがアップしますが、普通モードで慣れてからでないと操作が難しいです。
海外ではサーキット・コースを作り、競技会が行われています。何人かで遊ぶと楽しいと思います。
機能を追加して楽しむ
M5stack ATOMを使った場合は、GPIOを全部使って余りが無いので無理ですが、GPIOに余裕があるESP32 DevKitや
ESP32単体に置き換えると、各種センサーを取り付けて障害物を避けながらの自動走行やライントレースを楽しむなど、
工夫次第で色々と発展させることが出来ます。
自作出来ない方のためにキットの販売も有りますが・・・
JJrobots社ではキット販売を行っていますが、使っているWiFiチップが日本国内で使えない技術適合証明が付いていない
ので注意が必要です。
最後にもう一度動画をご覧下さい。
最後までご覧頂き有難うございました。
皆様の参考になれば幸いです。
M5 Stack ATOM Lite を使って倒立振子型ロボットを作る その2
2020年6月23日
先は動画をご覧下さい。
キビキビ走り回る安定度抜群の倒立振子型2輪ロボットです。前面カバーに幼児が好きなドラえもんのイラストを借用しました。
1)ボディの工作について
私と同じ部品の入手が難しく、切削用のDXFファイルを添付しても役に立たないと思います。
と言うのは、ここで使用したステッピングモータ39㎜はオリジナルマインド社の新古品を利用しましたが、今では入手出来ません。
一般的には国内で入手し易い42㎜(NEMA17)タイプを使うことになります。
その他の工作については5年前の記事になりますが、下記URLのB-ROBOT3号機iの紹介記事を参考にして下さい。
http://kishiwada2.web.fc2.com/CNC/B-Robot3.htm
2)コントロール基板の回路図
今回製作目標の一つ小型化を実現するのに超小型のM5 Stack ATOM Liteを使いました。
ATOM Liteには、ESP32picoが組み込まれています。しかし、GPIOが最大8個しか使えませんが、B-ROBOT EVO2に必要な
要件を最小限ですが満たしています。但し、標準機能以外の拡張性が有りません。
ATOM Liteの3.3V出力電流の容量が僅かなので、別途3.3V500mAの電源を用意しました。
尚、GPIOの出力先がバラバラなのは、プリントパターンを優先した結果です。 IO26と32がPH2.0 4Pコネクターから出力
されていますが、本当はここにIO21と22を出してほしかった。その理由はI2Cラインが便利に使えるからです。

3)CNC切削でプリント基板の作製
簡単な回路なのでユニバーサル基板で作れますが、生基板にCNCでパターンを切削しました。
下の画像は実寸より大きいですが、実際の寸法は55㎜X55㎜の正方形です。但し2個所ジャンパー線が必要です。
基板切削用DXFデータのZIPファイルをダウンロード出来ます。

4)組み立て済の基板を参考にして下さい。
ATOM LiteとMPU6050の間隔が狭かったので上記プリントパターでは少し間隔を広げてます。

5)電源について
私は手持ちのデジカメ用7.4Vリチウムイオン電池を使いましたが、純正品が高価なので互換品を使っています。
参考:Canon純正型のNB-10L(ロワ・ジャパン)880円をAMAZONにて購入。
新たに用意される方は、3S(11.1V)タイプのLipo電池を使う方法があります。その場合はDC/DCコンバータが不要です。
NB-10Lの電池ケース加工方法はB-ROBOT3号機の紹介記事を参考にして下さい。
次回はghmartin77氏がESP32用に作成され、Githubに公開されたソースファイルを
M5 Stack ATOM Liteへの変更点などを紹介します。
先は動画をご覧下さい。
キビキビ走り回る安定度抜群の倒立振子型2輪ロボットです。前面カバーに幼児が好きなドラえもんのイラストを借用しました。
1)ボディの工作について
私と同じ部品の入手が難しく、切削用のDXFファイルを添付しても役に立たないと思います。
と言うのは、ここで使用したステッピングモータ39㎜はオリジナルマインド社の新古品を利用しましたが、今では入手出来ません。
一般的には国内で入手し易い42㎜(NEMA17)タイプを使うことになります。
その他の工作については5年前の記事になりますが、下記URLのB-ROBOT3号機iの紹介記事を参考にして下さい。
http://kishiwada2.web.fc2.com/CNC/B-Robot3.htm
2)コントロール基板の回路図
今回製作目標の一つ小型化を実現するのに超小型のM5 Stack ATOM Liteを使いました。
ATOM Liteには、ESP32picoが組み込まれています。しかし、GPIOが最大8個しか使えませんが、B-ROBOT EVO2に必要な
要件を最小限ですが満たしています。但し、標準機能以外の拡張性が有りません。
ATOM Liteの3.3V出力電流の容量が僅かなので、別途3.3V500mAの電源を用意しました。
尚、GPIOの出力先がバラバラなのは、プリントパターンを優先した結果です。 IO26と32がPH2.0 4Pコネクターから出力
されていますが、本当はここにIO21と22を出してほしかった。その理由はI2Cラインが便利に使えるからです。

3)CNC切削でプリント基板の作製
簡単な回路なのでユニバーサル基板で作れますが、生基板にCNCでパターンを切削しました。
下の画像は実寸より大きいですが、実際の寸法は55㎜X55㎜の正方形です。但し2個所ジャンパー線が必要です。
基板切削用DXFデータのZIPファイルをダウンロード出来ます。

4)組み立て済の基板を参考にして下さい。
ATOM LiteとMPU6050の間隔が狭かったので上記プリントパターでは少し間隔を広げてます。

5)電源について
私は手持ちのデジカメ用7.4Vリチウムイオン電池を使いましたが、純正品が高価なので互換品を使っています。
参考:Canon純正型のNB-10L(ロワ・ジャパン)880円をAMAZONにて購入。
新たに用意される方は、3S(11.1V)タイプのLipo電池を使う方法があります。その場合はDC/DCコンバータが不要です。
NB-10Lの電池ケース加工方法はB-ROBOT3号機の紹介記事を参考にして下さい。
次回はghmartin77氏がESP32用に作成され、Githubに公開されたソースファイルを
M5 Stack ATOM Liteへの変更点などを紹介します。
M5 Stack ATOM Lite を使って倒立振子型ロボットを作る その1
2020年6月17日
5年前にjjrobots社のB-ROBOTを4台作りましたが、今回B-ROBOTにESP32を使った海外の記事が目に留まり、
5台目を作ってみました。 作っての感想は抜群の安定性で皆さんにお勧め出来る性能です。
参考にした記事ではESP32DevKitを使ってましたが、私は超小型のATOM Liteを使って完成させました。
完成したB-ROBOT Evo2 (前後のカバーを撮影用に外しています)。

今回使った全パーツ
ステッピングモータの下側が片面生基板をCNCでパターンカットしたPCBでサイズは約55X55㎜角に纏めました。
モータドライバA4988が2個並ぶ左下が24x24㎜角のATOM Liteで、その横がMPU-6050 3軸ジャイロセンサーです。
バッテリーはキャノンのデジカメに使われている7.4Vリチウムイオン電池を流用しています。
ボディやホイールは何時ものように3㎜と5㎜のアクリル板をCNC加工して作りました。

次回から製作についての詳細やソフトウエアーのお話を順次掲載します。
5年前にjjrobots社のB-ROBOTを4台作りましたが、今回B-ROBOTにESP32を使った海外の記事が目に留まり、
5台目を作ってみました。 作っての感想は抜群の安定性で皆さんにお勧め出来る性能です。
参考にした記事ではESP32DevKitを使ってましたが、私は超小型のATOM Liteを使って完成させました。
完成したB-ROBOT Evo2 (前後のカバーを撮影用に外しています)。

今回使った全パーツ
ステッピングモータの下側が片面生基板をCNCでパターンカットしたPCBでサイズは約55X55㎜角に纏めました。
モータドライバA4988が2個並ぶ左下が24x24㎜角のATOM Liteで、その横がMPU-6050 3軸ジャイロセンサーです。
バッテリーはキャノンのデジカメに使われている7.4Vリチウムイオン電池を流用しています。
ボディやホイールは何時ものように3㎜と5㎜のアクリル板をCNC加工して作りました。

次回から製作についての詳細やソフトウエアーのお話を順次掲載します。
Inverted Balancing Robot(倒立振子型ロボット)その10
Inverted Balancing Robot(倒立振子型ロボット)その2をWiFiに改造
2017年8月の作品
2017年8月の作品
ESP8266 WROOM-02を使ってWiFiコントロールに改造した2号機
その2で紹介の2号機の記事と併せてご覧下さい。

ATmega328マイコンに替えてWiFiモジュールESP8266 WROOM-02を使ったことにより、回路が簡素化しました。
この2号機はステッピングモータを使わないのでB-ROBOTやYABRのような安定性が望めませんが、安価で
入手し易い模型用ギヤーボックスやWiFiモジュールを使って簡単に倒立ロボットの実験が出来てIoTの
勉強にもなるかと思います。
コントロール基板の回路図

小さなユニバーサル基板に組み込んだコントロール回路

コントローラーにWiiヌンチャクを使う場合の回路図

Wiiヌンチャクを改造せずにWiFi化する方法
小さな箱にWiFiモジュールESP8266 WROOM-02と電池を組み込むことにより、手頃なWiFiコントローラーになります。

スマートフォンやタブレットを使ってコントロールする方法
コントロール基板のESP8266 WROOM-02のsketchを少し変更することにより、スマートフォン・アプリのTouchOSCを
利用するとスマホなどがWiFiコントローラーとなります。このページに関するsketchなどの詳細はこちらから見れます。
また、WiFiを省電力のBluetooth LE(BLE)に変更したい場合は、テオヤンセンメカニズムを応用した作品 その9 を
参考にして下さい。
動画をご覧ください。
2019.04.22 by Paradise
テーマ : こんなの作りました♪
ジャンル : 趣味・実用
Inverted Balancing Robot(倒立振子型ロボット)その9
Joop brokking氏企画のYABR(倒立ロボット)を作る
2017年7月の作品
2017年7月の作品
私は、以前に作ったB-ROBOT Miniのフレームや部品を再利用するため、YABRとは外観をはじめマイコンや主要部品が
異なりますが、今迄の倒立ロボット製作の経験から充分に再現性が有ると判断して製作を進めました。
YABRでは、リモコン用にシリアルトランシーバーモジュールを使ってますが、技術適合品ではなく国内では使えません。
そこで、技術適合マークが付いたWiFiモジュールを使い、スマホやタブレットからリモート操作が出来るように変更しました。

手持ち部品を使うためにマイコンやモータードライバーを変更した回路図です。

マザーボードに部品配置した様子(電池台を外した状態)
私はフレーム再利用のために高密度実装しましたが、Joop brokking氏の様に箱型に組むと作り易いと思います。

YABRのsketch(Sauce)はとても良く出来ていて、バランスが良いのでライントレースにも挑戦しました。
IRセンサーTCRT5000を左右と中央に配置して黒いラインから外れないように自走するライントレース機能を
組み込みました。

60㎝×90㎝の白い発泡スチロール板に電工用ビニールテープを貼り付けたコースでテストしました。

動画をご覧ください。
如何でしたか?Joop brokking氏が企画されたYABRの基本Sketchを利用させて頂き、安心して国内で遊べるように
通信方法の変更やライントレース機能を追加しましたが、1ヶ月余しで何んとか発表出来るようになりました。
YABRに興味を持ち製作される方は、最初は基本機能から始め、完動後にライントレース等の付加価値を追加して
ください。 最後までご覧頂き有難うございました。 興味のある皆様の参考になれば幸いです。
2019.04.21 by Paradise
テーマ : こんなの作りました♪
ジャンル : 趣味・実用
Inverted Balancing Robot(倒立振子型ロボット)その8
フレームから基板までをCNCで加工したB-ROBOT 3号機miniの紹介
2015年10月の作品
2015年10月の作品
B-ROBOT 2号機とB-ROBOT Miniの大きさを比較

ステッピングモータを一回り小さい39㎜を使いました。

CNC加工して専用コントロール基板を製作しました。

完成したコントロール基板

完成したB-ROBOT 3号機 Mini

B-ROBOT miniの動画をご覧下さい。
小さくてもキビキビと走ります。 操作をTouchOSCのXY-Padを使い指一本で行えるようにしました。
B-ROBOT 2号機とminiの共演ご覧下さい。
Miniの試作機と併せて4台となりました。
2019.04.20 by Paradise
テーマ : こんなの作りました♪
ジャンル : 趣味・実用
Inverted Balancing Robot(倒立振子型ロボット)その7
安定性抜群!ステッピングモーターを使ったB-ROBOT 2号機の紹介
2015年9月の作品
木製フレームB-ROBOT 2号機の初期モデル

B-ROBOT2号機では、オリジナルと同じArduino Leonardo互換機が入手出来たのでこれを使い、WiFiモジュールは
1号機同様に技適証明が付いたESP-WROOM-02を使いました。

電源も1号機と同様にカメラ用リチウムイオン電池を使っています。

ステッピングモーターも1号機同様にオリジナルマインド社で購入した新古品です。

フレームとホイールをアクリル板で作り変えたB-ROBOT 2号機

アクリルフレームB-ROBOT 2号機の後ろ側

動画をご覧ください。
2019.04.20 by Paradise
テーマ : こんなの作りました♪
ジャンル : 趣味・実用
Inverted Balancing Robot(倒立振子型ロボット)その6
安定性抜群!ステッピングモーターを使ったB-ROBOT 1号機の紹介。
2015年9月の作品
2015年9月の作品
今回はjjrobots社公開のB-ROBOTを国内で購入出来る部品を使って完成させました。
B-ROBOTの特徴は駆動モータにステッピングモータを使っていることで、ギアモータのようなバックラッシュが
無くて安定したコントロールが得られることです。 ここをクリックするとjjrobots社のページを開きます

フレームはシナベニヤをCNC加工してムーミンをデザインしてみました。

ホイールはシナベニヤをCNCで加工して貼り合わせ、タイヤにはOリング(太さ5.7mm、外径約80mm)を使い、
ホイールとモーターシャフトはアクリル板をCNCで加工したHUBを使って固定しました。

木製フレームにステッピングモータを組み込んだ様子。

コントロール基板
jjrobots社のオリジナル回路のマイコンをArduino Leonardoがから小型のArduino Pro Microに変更。
WiFiモジュールを電波法の関係で国内では使えないESP-12Eから技術基準適合証明が付いたESP-WROOM-02変更。

電源には小型軽量のデジタルカメラ(CANONのLP-6Eの互換品)用7.2V約1800mAhのリチウムイオン電池を使用。

動画をご覧ください。
リモコンにはタブレット又はスマートフォンを使ってWiFiで操作します。
2019.04.19 by Paradise
テーマ : こんなの作りました♪
ジャンル : 趣味・実用
Inverted Balancing Robot(倒立振子型ロボット)その5
超音波自律走行と倒立振子の複合型ロボット2号機の紹介
2015年5月の作品
2015年5月の作品
複合型ロボット2号機の特徴は、駆動モータにロータリー式サーボモータを使った事ですが、駆動トルクは有るが
回転数が低くて倒立時のバランスが難しい等、初期モデルに欠点が有りました。

初期モデル 倒立はするがバランスが悪かった!

そこで、対策として増速用の40:12ギアをCNC加工して追加しました。

増速ギアを追加して完成した複合型ロボット2号機

底部に取り付けた倒立補助用サーボモータ

回路図

動画をご覧ください。 増速ギアのバックラッシュで少し倒立が不安定ですが、何とかk完成しました!
2019.04.19 by Paradise
テーマ : こんなの作りました♪
ジャンル : 趣味・実用
Inverted Balancing Robot(倒立振子型ロボット)その4
超音波自律走行と倒立振子の複合型ロボットの紹介
2015年5月の作品
2015年5月の作品
「手動走行・自律走行・倒立走行」3つのモードが使えるロボットです。
マイコン(Arduino)の勉強を始めて約半年、今回は3つの超音波センサーを使い障害物を避けて走行する
ロボットをRCサーボを使い、自動で倒立する複合型のロボットを作りました。
駆動モーターには、タミヤの楽しい工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ (70168)を使用。

今回の目玉は、超音波自律ロボットを赤外線リモコンを使い、ボタン操作一つで倒立するようにしました。
倒立開始時は先に転倒防止用補助アームを所定位置へ作動、次にメインアームを作動、バランスポイントまで車体を
持ち上げて倒立、数秒の安定時間をおいてスタートさせます。
倒立終了時も補助アームを先に動かして後への転倒を防ぎ、次にメインアーム伸ばした後ゆっくりと車体を下げます。
両アーム共に其々のRCサーボモーターよって働き、正確にバランスポイントに止まるように設定してます。

ロボットの底面に取り付けたサーボモーター及びメーンアームと補助アーム
今回は、3個の超音波センサーを使い、前方と左右斜め前方の障害物を感知して自立走行します。

回路図

動画をご覧ください。
2019.04.18 by Paradise
テーマ : こんなの作りました♪
ジャンル : 趣味・実用
Inverted Balancing Robot(倒立振子型ロボット)その3
Inverted Balancing Robot 3号機の紹介
2015年2月の作品
2015年2月の作品
2号機とほぼ同じですが、以前に通販で購入した中国製の12Vギアモーターを使いました。
何時ものように3㎜厚のシナベニヤをCNCで加工してフレームを作り、ホイールも同じくシナベニヤを貼り合わせて
作りました。 タイヤにはOリング(外径約70mm)を使ってます。

コントロール基板の回路図:Arduinoを使わずにユニバーサル基板に上記の回路を手配線しました。
USB-Serial変換部は組み込まずに6Pinソケットを介して外付にしてます。電源はアルカリ乾電池6本の9Vで使ってます。

ユニバーサル基板に組み込み、シンプルに出来上がったコントロール基板 (テレビの赤外線リモコンで操作します)

動画をご覧下さい。
2019.04.18 by Paradise
Inverted Balancing Robot(倒立振子型ロボット)その2
Inverted Balancing Robot 2号機の紹介
2015年2月の作品
2015年2月の作品
今回はジャイロモジュールにMPU-6050を使い、Webに公開されたスケッチを参考にしてPID制御を用いましたが、
ソフトは初心者なのでハード面を中心に紹介します。
動力部は国内で入手可能な部品を使い再現性を重視、制御部はATmega328PマイコンとモータードライブICを
50mmX72mmのユニバーサル基板に組み込みました。遠隔操作にテレビ用赤外線リモコンの十字キーを使い、
前後左右にコントロール出来るようにしました。

何時ものように3㎜厚のシナベニヤをCNCで加工してフレームを作り、タミヤの楽しい工作シリーズのNo.168
ダブルギヤボックスを38.2:1に設定して組み込み、タイヤには楽しい工作シリーズのNo.145ナロータイヤセット
(58mm径)使いました。電源には単3型ニッケル水素電池1.2Vを4個の4.8Vを使います。

回路図:Arduinoを使わずにユニバーサル基板に手配線しました。

シンプルに出来上がったコントロール基板

動画をご覧ください。
1号機に比べスピーディーに動くのが特徴です。
2019.04.17 by Paradise
Inverted Balancing Robot(倒立振子型ロボット)その1
Inverted Balancing Robot(倒立振子型ロボット)を作ってみました。
2014年12月の作品
2014年12月の作品
マイコン(Arduino)の勉強を始めて数か月、3作目のアイデアを探してWebを検索中に巡り合ったのが
この倒立振子型のロボットです。
倒立振子型の作品はWebに沢山出ていますが、私が参考にしたのはinstructablesに投稿された
ArduinoDeXXXさんの「もう一つの倒立振子(デジタル版)」です。(日本語ページです)
ハード&ソフトウエア(sketch)の公開と画像や動画を使った詳細な解説により、Arduino初心者にも
解りやすい親切丁寧な優れた製作記事です。
下がArduino UNOに自作シールド基板を載せて最初に作ったモデルです。

ArduinoDeXXXさん詳しい解説のお陰で何の苦労もせずに倒立することが出来ました。
(シールド基板やフレームの製作を含めてたった2日間で完成!)
シールド基板にスペースが有ったのでマイコンチップATMega382Pを組み込み、Arduino UNOを取り外しました。

回路図:シールド基板にすべての機能を載せました。赤外線センサーを使ったリモコンで操作します。

動画をご覧ください。
動きがぎこちないですが、赤外線リモコンの機能を追加して前後と左右の回転が出来るよう改良にしました。
2019.04.17 by Paradise