MIRS1202 管理台帳へ戻る

名称 MIRS1202 トラブルシューティング
番号 MIRS1202-TECH-0005

最終更新日:2013.2.1

版数 最終更新日 作成 承認 改訂記事
A01 2013.2.1 二見 啓之 初版

目次




1.はじめに

本ドキュメントはMIRS開発時に生じた不具合、その時の解決法などをまとめたものである。



2.メカに関するトラブルシューティング

以下のことが起こった
  • @タッチセンサの誤作動(シーソー時)
  • Aボールキャスターの淵がステップに擦れる

  • 改善策
  • @スポンジをタッチセンサに挟んだ
  • Aスペーサーに角度をつけ、ボールキャスターを傾けた

  • 3.エレキに関するトラブルシューティング

    以下のことが起こった
  • @配線ミスによる電源とGNDの短絡
  • A基盤ミスによるLSIやPIC等の部品からの煙
  • BLSIに送るシリアル通信のレベルがLSIに供給している電源と違う
  • CLSIに送るシリアル通信のレベルが違う
  • D8pinフラットケーブルやコネクタの断線による不調
  • E電源電圧の設定ミス
  • F超音波センサの可変抵抗の故障
  • GMCBのランドがはがれて電源供給の不調
  • HMCBからロータリーエンコーダに流れる信号と電源が入れ替わっていたことによって、ロータリーエンコーダの故障

  • 改善策
  • @試験をする前に念入りに導通チェック
  • A正確に基盤を作成
  • B5V電源に統一
  • Cレベルコンバーターの導入
  • Dテスターで導通チェックを行い、導通してない場合は新規作成
  • Eケーブルに直接番号を振り、だれが組み立てるにしてもわかりやすいようにした。
  • Fテスターでどの部品が悪いかのチェック、また見つからなかったときは部品の変更を順次行い、故障個所を発見し除去した。
  • Gジャンパ線を用いてはんだ付けをし、テスターできちんと導通しているかのチェックを行った。
  • Hコネクタの向きを統一し、班全員で確認を行った。

  • 4.ソフトに関するトラブルシューティング

    以下のことが起こった
  • @セグメンテーション違反が出てプログラムが終了する。
  • A走行中にI/Oエラーが発生する。
  • Bロータリーエンコーダの値が正確にとれなくなる。
  • CCPUが途中で落ちてしまう。

  • 改善策
  • @文字出力を用いて、セグメンテーション違反が起こってしまう原因となる箇所を探していった結果、スピーカーでの音声出力を行うためのchar型配列を操作しているところで毎回セグメンテーション違反が起こってしまっていることが分かった。そこで、その配列の大きさを小さくしたり、配列の宣言、使用箇所の見直しなどを行った。
  • Aerrno = 5が出た時にmotor_restartを実行する。
  • Bモーターの制御にタイマーをかけることによって暴走を防ぐ。
  • Crc.localを書き換えて復活するようにした。



  • 沼津工業高等専門学校 電子制御工学科