MIRS1202 管理台帳へ戻る
名称
MIRS1202 トラブルシューティング
番号
MIRS1202-TECH-0005
最終更新日:2013.2.1
版数
最終更新日
作成
承認
改訂記事
A01
2013.2.1
二見 啓之
初版
目次
1. はじめに
2.メカに関するトラブルシューティング
3.エレキに関するトラブルシューティング
4.ソフトに関するトラブルシューティング
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を書き換えて復活するようにした。
沼津工業高等専門学校 電子制御工学科