ブログだいちゃん

ブログだいちゃん

趣味のブログ

ブログだいちゃん

ESP Wroom32 で倒立Robot Car を作成

Google の Voice Kit に興味を持ちマイコンに手を出してから早1年になろうとしています、年を重ねるごとに1年が早く過ぎ去りますね。

さて、倒立 Robot Car も今回で4台目になります、最初に作成したものはふらふらしながら立つのがやっとでしたが、何台か作成してきて多少なりともまともになってきたかなと。(自己満足(^_^;)

ESP Wroom32 を使用する

ユニバーサル基板にパーツを配置して作成していますので、今までの仕様だと小型化がなかなか難しく70mm×90mm の基盤が限度でしたので、フレームはこの大きさより小さく出来ませんでした。

ESP Wroom32 を使用するとWiFi部分が内蔵されていますので、残りは Motor_driver ・ Regulator・MPU6050 位ですので 50mm×70mm のユニバーサル基板に治まりそうです、今回はこの大きさで作成してみます。

使用パーツ

ESP Wroom32:ESP32-DevKitC ESP-WROOM-32開発ボード(秋月電子

ステッパーモータードライバー:DRV8825(アマゾン)

ジャイロ:MPU6050(アマゾン)

5Vレギュレータ:三端子レギュレーター 5V1.5A L7805CV-DG (秋月電子

電解コンデンサー:100μF セラミックコンデンサー:0.1μF(秋月電子

抵抗器:1KΩ   LED:青・赤  スイッチ  (秋月電子

ユニバーサル基板:50mm×70mm  ピンヘッダー 分割ロングピンソケット  (秋月電子

ステッパーモーター:日本電産サーボ 2相  KH39FM2-022(オリジナルマインド)

車輪用Oリング:太さ5.7mm×内径59.6mm (ものたろう)

フレーム:3Dプリンターで作成 カバー:0.5mm 塩ビ板

電池:3S11.1V450mAリポ電池(KKホビー)

回路図

B-robot の forum に掲載されていたものを参考にしています。

スケッチ・ライブラリーなどはGitHub からダウンロードして使用します、使い方は Readme.md に書かれています。

なお、forum にも書かれていますが Timers.cpp ファイルの一部修正が必要です。

基盤作成及び組み立て

50mm×70mmのユニバーサル基板にきれいに収まりました、配線の汚さには目をつぶって下さい。

フレーム及び車輪は3Dプリンターで作成しました。

塩ビのカバーをフレームの溝に入れて、車輪を取付け完成です。

ステッパーモーターのコネクターを外し、電源を入れた時に流れる電流は150mA位です、片方のステッパーモーターを取付けて流れる電流を230mA程度にモータードライバーを調整すると振動がなく調子よく動きました、オーバーパワーにするとモーターの振動が増加してガクガクします。

立たせてみました結構安定しています。

スマフォによるコントロール

手持ちのスマフォは Android ですが iPhone 用もあります、Google Play からJJrobots contro APP をダウンロードしインストールします。

スマフォのWiFi設定を開くと、一覧の中に bbot が表示されていますので選択、Passはディフォルトでは「12345678」です、IDとPassは変更可能ですがPassは8文字以上が仕様です、接続されたらAPPを起動B-robotを選択すればコントロールが可能になります。

動画です


www.youtube.com

関連記事

blogdaichan.hatenablog.com

blogdaichan.hatenablog.com

スパイダーロボットの作成

f:id:blogdaichan:20190103135253j:plain

プロローグ

AIY Voice Kit を作成したことからマイコンに興味を持つようになりRspberry Pi よりは理解しやすそうな Arduino で電子工作を始めました。

YouTubeには色々興味をそそる物がアップされていて、作成方法も詳しく説明されている所もあり、技術を伴わない素人の私でも作成することができてありがたいですね。

さて、今回はmicroサーボを使用したスパイダーロボットの動画があり、作成方法もアップされていたので作成してみました。

作成方法及び使用パーツ

作成方法はここにあります、おおまかなパーツは Arduino NANO ・5Vレギュレーター・SG90microサーボ・3S1500mA Lipo・他3Dプリンターで作成したフレームです、50×70mmのユニバーサル基板にパーツを配置し配線しました、回路は単純ですがサーボが12個有りますので配線がごちゃごちゃ状態になります。

f:id:blogdaichan:20190103135250j:plainf:id:blogdaichan:20190103135256j:plain

動作確認

これでデモは動かせますが、遠隔操作を行うには、ESP8266またはBluetoothが必要でスマフォなどからの操作になります。

ディフォルトの設定でデモを実行してみました。

ぎこちない動きでおもしろくありません、まともな動きにするには各サーボの動作位置の調整が必要ですね、またサーボ12個の中の1つが不良でした、安価なサーボなので予備をストックしておくのが良さそうです。

self balancing robot 作成 その3 B-ROBOT の作成

各種モーターを使用する

2輪 倒立振り子の作成も今回で3回目になります、初回はタミヤのモーターを使ったものでなんとか立ちましたが不安定でダメでした、2度目はローターリーエンコーダー付DCモーターを使用した物でこれはほぼ完璧に立ちましたが、リモートコントロールで躓いています。

残っているモーターは、ステッパーモーター、ブラシレスモーターなどですが今回はステッパーモーターを使用した物に挑戦します。

ステッパーモーター仕様のB-Robot作成

YouTubeなどを見るとステッパーモーターを使用したself balancing robot の動画が数多くアップされています、この中から作成しやすそうな物を2件チョイスしました。

YABR:初心者向けに詳細に説明されており作りやすそうです。

B-ROBOTJJrobots でキットも発売されています、Githubにフレームのデーターから回路図・スケッチまで公開されていて作りやすそうです、またこれを元に小型化した物を作成した方もおられますので参考になります。

今回は B-ROBOT を参考に作成することにします、専用のAndroidアプリも提供されていてコントロールがしやすいように思えます。

パーツ・仕様

オリジナルのB-ROBOTの仕様と違うところは以下です。

Arduino Leonardo → Arduino ProMicro ステッパーモーター NEMA17 → 中古 日本電産KH39FM2-022

電源 単3(1.2V)6本 → 3Sリポ850mA このため5Vレギュレーター追加

ESP8266 → ESP Wroom-02 技適対応品

フレームは側面:3mmアクリル板をCNC加工、底板及び天板は3Dプリンターで作成、ホイールは3Dプリンターで作成しOリングを取付けました、サーボは使用しません。

基盤にパーツを配置

90×70mmのユニバーサル基板にパーツを配置し配線しました、パーツの配置を考えればもう少し小さくなりそうです。

プログラムの変更点

B-RBOTを小型化された方を参考にしましたが、ProMicroのD6端子では動作しなかったのでD9端子に変更しました。

バッテリーを3Sリポバッテリーにしたのでリポ電池使用にスケッチを変更

ハマった事

Wroom-02はProMicroからATコマンドで操作されますが、エラーで繋がらない事象が発生しました、配線チェックしても問題なく原因が分からずハマりました。

ネットで色々調べた結果分かったことは、「一度プログラムを書き込んだESP8266はATコマンドを使用出来ない」と言うことでした、確かにWroom-02にプログラムを書き込んだ物を使用していました。

ATコマンドを再度使えるようにするにはファームウエアを書き込む必要があるようです、ここの記事を参考にファームウエアを最新の物に書き換えてATコマンドが使えるようになりました。(^_^;)

AndroidスマフォのAPPでコントロール

スマフォのAPP JJrobots control APP をインストールすればスマフォでB-ROBOTをコントロールできます、またPIDの調整もスマフォで出来ますので便利です。

完 成

バッテリーは当初上部に置きましたが不安定だったので現在の位置に移動しました、パーツの配置密度を上げて基板を小さくすればもっとスマートになったでしょうが、ちょっと頭でっかちで不格好です。

B-ROBOTもどきの動作動画

関連記事

blogdaichan.hatenablog.com

ESP8266 (WROOM-02) 書き込み汎用基板作成

f:id:blogdaichan:20190103140156j:plain

ESP WROOM-02 にスケッチを書き込む際、ブレッドボードを使用して書き込んでいますが、書き込みするたびに配線するのは面倒なのでなんとかしたいと思っていました。

書込み用汎用基板の作成

そこでユニバーサル基板を使い書込み用汎用基板を作成してみました、汎用と言ってもWROOM-02をピッチ変換用基板(スイッチサイエンス製)に取付けたものを対象にしています。

f:id:blogdaichan:20190103140153j:plain

使用パーツ

FTDIシリアル変換アダプター(5V・3.3V切り替えスイッチ付)、手持ちのものは5V専用だったので3.3V用に変更しました。

f:id:blogdaichan:20190103140148j:plainf:id:blogdaichan:20190103140144j:plain

ピンヘッダー オスおよびメス10KΩ抵抗基板用スイッチ、及びユニバーサル基板(60×40mm)

f:id:blogdaichan:20190103140141j:plain

回路図

FTDIシリアル変換アダプターから3.3Vを供給しています、3.3Vのレギュレーターを入れるのが良いとは思いますが、書込みが出来ましたのでレギュレーターは付けませんでした。

プログラムを書き込むときは、スイッチを UART DownLoad 側に入れます。

f:id:blogdaichan:20190103140208j:plain

基盤への組み込み配線

回路自体は複雑では無いので、半田付けに慣れた人は簡単に出来ます、老眼の私は、ルーペを付けて行いました。

f:id:blogdaichan:20190103140205j:plainf:id:blogdaichan:20190103140201j:plain

まだ使い始めたばかりですが、ESP Wroom-02はWiFiに繋がりプログラムも書き込めますのでいろいろ使えそうです。

半田ごて用こて台を新調

f:id:blogdaichan:20190103140956j:plain

モノタローで工作に使う小物を探していたところ目にとまって購入することに、探していたものは安価な小物だったのに、いつものように目が欲しくなってポチってしまいました。

必要な物なので無駄ではないですが、よく調べもしないで衝動買いするのが私の悪い癖、アマゾンで安く購入できたのに。(^_^;)

f:id:blogdaichan:20190103140953j:plain

ものは「白光の633」というこて台です、今までは作業台の上に直に半田ごてを置いて作業をしてました、最近Arduinoなどを使って電子工作に夢中で半田付け作業が頻繁になり火傷しそうになったこともしばしば。

f:id:blogdaichan:20190103140950j:plain

鉄製で重量があり安定しています、金属たわしみたいな小手先クリーナー付ですが、耐熱スポンジも捨てがたいので両方使っています。

ちなみに半田ごても白光の「ダイヤル式温度制御はんだごて」です、すぐに熱くなり温度調節も出来るので重宝しています。

f:id:blogdaichan:20190103140959j:plain

Voice Kit 小ネタ スマフォのVNCアプリでシャットダウンさせる

f:id:blogdaichan:20190103160509j:plain

プロローグ

Voice Kit をオートスタートさせて使用していますが、シャットダウンする場合はVoice Kitにモニターとキーボードを繋げるか、VNCなどを使用し遠隔制御で行います。

また、local command を使えば音声でシャットダウン出来ますが、Voice Kitのボタンが使えないし応答の音声が大きすぎ、しかもボリュームをコントロール出来ません、この件については Googleも改善に取り組んでいるようですが現時点では改善されていません。

PCからVNC接続

Voice Kit の設定がある程度済んだ後は、モニターやキーボードがじゃまになってきて、今はノートPCからVNC接続で行っています、コマンドラインが苦手な私にはGUIで設定出来るVNCはありがたいです。

しかし、オートスタートさせたVoice Kit をシャットダウンさせる事だけにPCを立ち上げるのは面倒ですし効率が悪いですね。

スマフォのVNCを使う

スマートフォンを持っていればVNCアプリが使えます、画面が小さいので設定などを行うのには無理がありますが、シャットダウンさせるのは問題なく出来そうです。

早速Google Play store でVNCを検索「VNC Viewer Remote Desktop」がありましたのでインストール、書き留めておいたVoice Kit のIPアドレスとパスワードを設定し接続しました。

立ち上げてプルダウンメニューからシャットダウンを選択したところです。

f:id:blogdaichan:20190103160513j:plain

これでオートスタートさせたVoice Kit も手早くシャットダウン出来ます。