Arduino 単体での動作試験

1. デバイス接続

  1. Arduino に接続して動作させるデバイス(モータ、エンコーダ、電源監視)を接続する。
  2. Arduino の USB ポートをArduino IDE をインストールした PC に接続する。



    モータ・エンコーダ(2個)、モータ制御ボード(2個)、バッテリー、電源スイッチをを接続した Arudino テスト環境の構成図

2. Arduino ソースファイルの展開と Arudino IDEの起動

  1. mg4_arduino_ver320.zip をダウンロードし、適当な場所に展開する。

    zipファイルの展開は、unzip ZIPファイル名とする。

  2. Arduino IDE を起動し、展開したフォルダーのソースファイルを開く。 (フォルダー内のどれか一つのソースファイルをを開くと関連する全てのファイルが同時にオープンする。)
  3. 「ツール」タグで、ボートが Arduino/Genuino Uno になっており、ポートがチェックの付いた番号と一致しているか確認する。(異なっていれば変更する。)

3. 単体機能テスト

  1. ギア比の確認(変更)
    define.h でギア比(T_E_RATIO)の値が使用してモータのギア比と一致しているか確認する。 一致していなかれば変更する。
  2. 試験プログラムの選択

    mg4_arduino_ver* の loop 関数で、試験したいプログラムを選択する。 以下に loope 関数内のコメントでのテストに関する説明をを示す。

    /*
      いずれか一つの関数を有効にする。
      どの関数も無限ループになっている。しがたってこの loop 関数は実際にはループしない。
      */
    
    /* --------------機能のテスト---------------------------------------------
        テスト関数 test_*() のいずれかを有効にする。
        実行時にシリアルモニタを立ち上げて値を確認する。
      ------------------------------------------------------------------------- */
    
      /* モータ動作テスト 引数:左モータのPWM値、右モータのPWM値 (範囲は -255~255)*/
      //test_motor(70, 150);
    
      /* エンコーダテスト(モータを回転させて行う)*/
      motor_set(50, 50) ; test_encoder();
      /* 距離計のテスト(モータを回転させて行う)*/
      //motor_set(50, 50) ; test_distance();
    
      /* 速度制御のテスト 引数:左モータの速度[cm/s]、右モータの速度[cm/s] */
      //test_vel_ctrl(25, 0);
    
      /* 走行制御のテスト 
        引数:モード(直進:STR or 回転:ROT)、速度[cm/s] or 角速度[deg/s]、距離[cm] or 角度 の速度[deg] */
      //test_run_ctrl(STR, 25, 100);
      //test_run_ctrl(ROT, 45, 90);
    
      /* バッテリー値の確認 */
      //test_batt();
    
      /* シリア通信のエンコード、デコーダ値の確認 */
      //test_encode();
      //test_decode();
    
  3. テストプログラムの実行

    Arduino IDE の右矢印アイコンをクリックして、プログラムのコンパイル・転送を行う。 プログラムの転送が完了した時点で、そのプログラムが動作する。
    以下にエンコーダテスト時のシリアルモニタのログを示す。 Ver3.0 以降でシリアルモニターを使う場合は、この図のように右下の通信速度を9800bpsから 115200bps に変更すること。


    エンコーダテスト時のシリアルモニタのログ(通信速度を 115200bpsに変更していることに注意)

4. 単体テストが正常に行えなかった場合の対応

  1. モータ動作テストが不調だった場合(モータが動かないなど)
  2. エンコーダ動作テストが不調だった場合(エンコーダ値が正常にカウント出来ないなど)
  3. バッテリ電圧値が正常でない場合

「システム」へ戻る