ESP8266::MicroPython 簡単な2WDロボットカーの制御
<MicroPythonでのDCモータコントロール>
ESP8266のボード上でのMicroPythonのコードによるDCモータの制御を
検討して見ました。コントロールの対象を、2WDのロボットカーとし、
先に検討したWebSocketのモジュールを利用すればスマホからのWiFi
コント―ルで簡単に行える事が判りました。その様子は次の様な
ものでした。
[システム]
[主要部品]
[構成]
1.ESP8266の基板はWeMos D1 mini のクローンを利用
2.2WDのロボットカーのシャーシは中国製のキットを利用
3.DCモータ駆動用のHブリッジは L9110 を利用
4.ESP8266が取得したIPアドレスの表示用に0.96"のOLEDを利用
5.駆動用の電源は、Ni-MHを4本(1.2Vx4)にして対応
6.DCモータ駆動時の電圧低下補正用にステップアップコンバータを
利用
[動作状況]
<テスト内容>
DCモータの制御動作の検証に関しては次の事を目標としました。
1.PWM出力を利用する事で速度と回転方向の制御ができる事を確認
2.PWMの出力周波数に関しては、速度が50%以上では100Hz、
50%以下では10Hzとする事で、広い範囲の速度制御ができる
事を確認
3.WiFiを利用して、スマホのブラウザからロボットカーを制御する
状況を確認
結果としては、ほぼ期待通りの制御ができる事を確認しました。ただし、
左右のモータのバランスが思った以上に悪く、しかも、前進と後退で
様子が大きく異なった為、前進用と後退用にそれぞれバランス調整を
ける必要が有りました。でも、他のアプリにも十分利用可能で有る
事は判りました。
[機器の接続]
[コントロール画面]
ブラウザは iPhone の Safari
[コードモジュール構成]
モジュール内の「.mpy」と「.html」ファイルのデバイスへの
ダウンロードには adafuit-ampy を利用
[コードの設定]
「main.py」内のSSIDとそのパスワードの部分を、利用しているWiFiの
ものに変更して対応
[コードダウンロード]
Code download URL : https://drive.google.com/open?id=1-NHkzlk3gOZu6pSvjlVYz9XJ2Vdmy42B