名称

電子機械設計演習完了報告書

番号

MIRS-TECH-0002


  
版 数 最終更新日 作 成 承 認 改 訂 記 事
A01 2009.7.10 金子 杉崎 第一版
A02 2009.10.2 杉崎 杉崎第二版




目次
1.はじめに
2.課題内容
3.課題外の結果
4.日ごとの作業報告
5.各作業についての詳細
6.反省

1.はじめに

本ドキュメントは電子機械設計演習実施計画書の内容を示すものである

2.課題内容


現在与えられているMIRSの動作プログラムを理解し、新しく課題用のプログラムを作成する
具体的な目標は、モーター、超音波船さのプログラムを基に、コース進行、小部屋、ロータリー用のプログラムを作成する

3.課題に対する結果

  • motor.cにコメントを付けた
  • moter_test.cを改良した
  • ロータリー集会プログラムの作成に着手した

    3.課題外の結果


  • MTCBのケーブルと電源ボードを修理することで、モーターが動くようになった
    ・側方用の超音波センサボードを作成した

    4.日ごとの作業報告


    7/27
  • 実施計画書の作成
  • プログラム(motor.c)の解読、コメント記入
    7/28
  • コメント記入続き
  • motor_test.cの解読、書き換え
  • MIRSのモーターが回らなかったため、MTCB、電源ボード周辺のチェック
    7/29
  • MTCB、電源ボード、ケーブルのチェック、修理
  • ロータリー周回プログラムmotor_circle()の構想
    7/30
  • MTCB、電源ボード、ケーブルのチェック、修理
  • ロータリー周回プログラムmotor_circle()の作成
    7/31
  • 発表準備
  • 成果発表

    5.格作業についての詳細


  • プログラムの解読、コメント記入、書き換え motor.cを解読し、理解しながらコメントを記入していった。motor_straight()などの関数にはポインタと配列をつかい、距離もしくは角度と、時間を渡していることがわかった。
    motor_testを実行し、valを20以上にするとループが終了しないが、これを解決する方法はわからなかった。
    motor_test.cを見て、straight、rotate、circleの何を選択してもstraightしかしないことを発見した。そのためmotor_test.c中で呼び出しているmotor()の第一引数を ’s’ からscanfで読み込まれる変数cに変えた。

  • ロータリー周回プログラムmotor_circle()の作成
    motor()内の関数motor_circle()の中身は実際にはmotor_rotate()の内容だった。そのためmotor_circle()にあたる、ロータリー周回プログラムを作ることにした。関数の冒頭の、ロータリーの半径から右タイヤ、左タイヤの回転距離を算出するところまでは作成した。 MIRSのモーターが動くようになったのが作業最終日だったのでこのプログラムを動かしてはいないため、まだまだ完成までは時間がかかると思われる。

  • ボード、ケーブルのチェック、修理 メインボードとドータボードをつなぐケーブルのうち1箇所、線が交差している部分を発見し、ハンダ付けしなおした。 ヘッドから線がほとんど抜けていた部分を発見したので、圧着しなおした。 電源ボードの短絡箇所をなおした これらを行ったことで、MIRSのモーターが回るようになった。

    6.反省


    MIRSのモーターを回すためのチェックや修理に時間がかかり、目的としていたプログラムの作成をやりきることができなかった。今とりかかっているプログラムや、その他の課題用のプログラムについては、構想、作成を夏休み中に進めておきたい。