MIRSMG5 管理台帳へ戻る

名称 Arduinoソフトウェアのテストプログラム
番号 MIRSMG5D-SOFT-0004
版数 最終更新日 作成 承認 改訂記事
A01 2024.03.25 牛丸真司 小谷進 初版

Arduinoソフトウェアのテストプログラム

Arduino 用の標準プログラムの test タブ(test.ino)にテスト用の関数が定義されいる。 いずれも test関数(test_*())内でループするようになっているので、実行させたい test関数のみを 有効にし、他はコメントする(slave()関数もコメントにしておくこと)。

テスト関数は MG4 のものから変更ない。

void test_modor(int pwm_l, int_pwm_r)

左右それぞれで、PWM値によりモータの回転速度が変化するか?PWM値の符号と回転方向が対応しているか?をチェックする
pwm_l, pwm_r左右のPWM値、-255 から +255の範囲で与える

void test_encoder()

左右それぞれのエンコーダのカウント値をシリアルモニタに表示し、 エンコーダカウント数が正確か否かをチェックする?

void test_distance()

取得したエンコーダ値を左右のタイヤの周距離[cm]に変換し、その値をシリアルモニタに表示する。

void test_vel_ctrl(double vel_l, double vel_r)

左右それぞれで、指定した速度値と回転速度が対応して変化するか?速度値の符号と回転方向が一致しているか?をチェックする。
vel_l, vel_r左右の速度指令値、単位は[cm/s]

void test_runl_ctrl(run_state_t state, double speed, double dist)

state で機体の直進と回転が正確に行るかをチェックするに。直進に対しては走行スピードと停止するまでの距離(走行距離)を指定し、回転に対しては回転角速度、停止までの角度(回転角)を与える。
stateSTR か ROT を指定する。STRが直進制御、ROTがその場回
speedSTRのとき走行スピード[cm/s]、ROTのとき[deg/sec]
distSTRのとき走行距離[cm]、ROTのとき回転角[deg]

double io_test_batt()

バッテリ電圧を取得できるかをチェックする。取得したバッテリー値をシリアルモニタに表示する。 (ただし、MG5の標準機ではバッテリー電圧をモニターする回路構成になっていないので、このテスト関数は利用できない)