趣味のマイコンいじり

安価なマイコンを利用して作成したアプリの紹介です。

ESP8266::MicroPython 簡単な2WDロボットカーの制御

<MicroPythonでのDCモータコントロール
       ESP8266のボード上でのMicroPythonのコードによるDCモータの制御を
       検討して見ました。コントロールの対象を、2WDのロボットカーとし、
       先に検討したWebSocketのモジュールを利用すればスマホからのWiFi
       コント―ルで簡単に行える事が判りました。その様子は次の様な
       ものでした。

 [システム]  

      f:id:I_Satoh:20191023175734p:plain

 [主要部品]

     f:id:I_Satoh:20191023175855p:plain

 [構成]  

      f:id:I_Satoh:20191023180010p:plain

       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を利用して、スマホのブラウザからロボットカーを制御する
             状況を確認

     結果としては、ほぼ期待通りの制御ができる事を確認しました。ただし、
     左右のモータのバランスが思った以上に悪く、しかも、前進と後退で
     様子が大きく異なった為、前進用と後退用にそれぞれバランス調整を
     ける必要が有りました。でも、他のアプリにも十分利用可能で有る
     事は判りました。

 [機器の接続] 

       f:id:I_Satoh:20191023180607p:plain

 [コントロール画面]
     ブラウザは iPhoneSafari  

      f:id:I_Satoh:20191023180745p:plain

 [コードモジュール構成]
     モジュール内の「.mpy」と「.html」ファイルのデバイスへの
      ダウンロードには adafuit-ampy を利用 

       f:id:I_Satoh:20191023180940p:plain

 [コードの設定]
    「main.py」内のSSIDとそのパスワードの部分を、利用しているWiFi
      ものに変更して対応

       f:id:I_Satoh:20191023181120p:plain

    [コードダウンロード]
      Code download URL : https://drive.google.com/open?id=1-NHkzlk3gOZu6pSvjlVYz9XJ2Vdmy42B