電源ボード
参考資料
MIRSSTND デュアルレギュレータ電源ボード製造仕様書,
取扱説明書
MIRS1204 標準ボード試験報告書
部品配置確認
電解コンデンサの向きに注意する。
2ピンコネクタがDCジャックに変更されている点は確認済みである。
導通試験
電源ボードのパターン図を以下に示す。
動作試験
定格7.8Vバッテリー電圧を制御系電圧(5.1V)、駆動系電圧(6.1V)に変換可能か確認し、仕様を満たしているか試験する。
入力電圧が低下したときの動作も確認するため、入力電圧を変化させる幅は6.0〜8.5Vとする。
MIRS1204 標準ボード試験報告書
で報告されている出力波形の乱れを考慮し、電圧の測定にはオシロスコープを使用する。
合格の基準として用いている数値もこの報告書で報告されている数値を参考にしている。
この試験はほかのボードを破壊しないか確かめることを主目的としている。
したがってCPUボード、モーター駆動時の電圧測定は最低限に抑え、基本的に無負荷時の電圧を測定する。
使用器具
電源ボード、安定化電源、オシロスコープ、CPUボード、モーター
制御系電源の試験手順
- 制御系電源のスイッチがOFFになっていることを確認する。(DCジャックを自分の方に向けて右側のスイッチ)
- CN1とCN2にオシロスコープのプローブを接続する。このときショートさせないように注意する。
- CN1に任意電圧発生装置を接続し、出力電圧を6.0Vに設定する。
- 制御系電源のスイッチをONにする。
- CN1の電圧を6.0〜8.5Vまで0.1V刻みで変化させながら、CN2に出力される電圧を測定し記録する。
- 入力電圧7.4V〜8.5Vに対して出力電圧の最大値が5.1~5.6Vの範囲内であれば次に進む。
- CPUボードを動作させている状態の出力電圧を測定する。
一旦スイッチをOFFにし、CPUボードをCN2に接続して再度電源を投入。
入力電圧7.4V,8.5Vに対する出力電圧を記録する。
- CPUボード動作時の出力電圧の平均が5.1Vを超えていれば合格とする。
ただし、平均が5.1Vを超えていても波形の乱れが大きく最小値が4.5Vを下回る場合は不合格とする。
不合格だった場合の対処法としては、基板の溝をカッターなどで削りなおすことと、
電解コンデンサ、三端子レギュレータ、スイッチなどの部品を交換することがある。
駆動系電源の試験手順
- 駆動系電源のスイッチがOFFになっていることを確認する。(DCジャックを自分の方に向けて左側のスイッチ)
- CN3とCN4にオシロスコープのプローブを接続する。このときショートさせないように注意する。
- CN3に任意電圧発生装置を接続し、出力電圧を6.0Vに設定する。
- 駆動系電源のスイッチをONにする。
- CN3の電圧を6.0〜8.5Vまで0.1V刻みで変化させながら、CN4に出力される電圧を測定する。
- 入力電圧7.4V〜8.5Vに対して出力電圧の最大値が6.1~6.7Vの範囲内であれば次に進む。
- モーターを駆動させている状態の出力電圧を測定する。
一旦スイッチをOFFにし、モーターをCN4に接続して再度電源を投入。
入力電圧7.4V,8.5Vに対する出力電圧を記録する。
- モーター駆動時の出力電圧の平均が5.5Vを超えていれば合格とする。
ただし、平均が5.5Vを超えていても波形の乱れが大きく最小値が5.1Vを下回る場合は不合格とする。
不合格だった場合の対処法としては、基板の溝をカッターなどで削りなおすことと、
電解コンデンサ、三端子レギュレータ、スイッチなどの部品を交換することがある。
ドータボード
参考資料
MIRSMG3D ドータボード製造仕様書,
PCB製造仕様書,
回路図,
基板試験仕様書
部品配置確認
コネクタ、ICソケット、ラダー抵抗の向きに注意する。
導通試験
ドータボード上下段のパターン図を以下に示す。
動作試験
ドータボードは、FPGAボードの拡張ボードという性質上、単体での動作試験は行うことができない。
よって、
MIRSMG3D On/Off I/Oデータ取得試験プログラム
を使用し、
タッチセンサ、白線センサの値を正しく読み取ってCPUに伝えられるかを試験する。
この動作試験はタッチセンサと白線センサの動作試験も兼ねている。
使用器具
ドータボード上下段、CPUボード、FPGAボード、電源ボード、白線センサ2つ、タッチセンサ3つ、
ディスプレイ、キーボード、安定化電源、白い紙(白線センサ試験用)、ビニールテープ(センサーの識別用)
準備
- 各ボードとディスプレイ、キーボードを接続する。
接続方法について分からないことがある場合は、各ボードの仕様書と
MIRS1201解体作業報告書
の図を参照して情報を集める。
主にCPUボードとFPGAボード周辺の情報が不足することが予想されるので以下の図にまとめておく。
- 電源ボードのスイッチが両方ともOFFになっていることを確認する。
- 安定化電源を電源ボードのCN1に接続し出力電圧を8.0Vに設定する。(電源ボードの仕様上、7.4V~8.5Vの範囲なら問題無い)
- 電源ボードの制御系電源のスイッチをONにする。
- OSにログインする。
- 標準プログラムがインストールおよびコンパイルされていることを確認する。
/home/mirs/src/mg3_std_program 以下が標準プログラム群のディレクトリである。
されていない場合は
MIRSMG3D 標準プログラムパッケージ
を参考にインストールまたはコンパイルを行う。
- 現在FPGAボードに書き込まれている回路は、タッチセンサーの2番ポートが故障しているため
MIRSMG3D FPGA Quatus設計データおよびTTFファイル
を参考にして回路を更新する。
試験手順
- On/Off I/Oデータ取得試験プログラムがあるディレクトリに移動する。
$ cd /home/mirs/src/mg3_std_program/test
- まずドータボードに何のセンサも接続せずにOn/Off I/Oデータ取得試験プログラムを実行する。
$ sudo ./irs_ts_ws_test
- I/O[1~8]、TS[1~4]のすべての出力が1であることを確認する。(センサが接続されていない場合,このプログラムは1を返す)
- 用意したタッチセンサと白線センサに、識別用の番号を書いたビニールテープを貼る。
このテープは試験終了後も外さないのでしっかり貼っておく。
- 下段の白線センサポートに白線センサを接続する。(ポートの位置は製造仕様書の実装図を参照)
- 白線センサに白い紙を近づけたとき対応する出力が1になり、離したとき0になることを確認する。(担当者2名がそれぞれ最低1回は確認)
反応が鈍い場合は、白線センサの可変抵抗を調整することを試みる。
- 上段のタッチセンサポートにタッチセンサを接続する。(ポートの位置は製造仕様書の実装図を参照)
- タッチセンサを押したとき対応する出力が1になり、離したとき0になることを確認する。
- ポートとセンサの組み合わせで正常に動作しないものがある場合は、他の組み合わせの結果から原因を絞り込む。
例)ポートを変えずセンサのみ交換して正常に動作するようであればセンサに異常がある。
例)センサを変えずポートのみ変更して正常に動作するようであればポートに異常がある。
- 全てのポートとセンサーが正常に動作する場合を合格とする。
不合格になった場合のうち、センサーに異常があると特定できた場合はケーブルが断線していないか確認する。
ケーブルに異常が無い場合はセンサーそのものの故障であるので新しいセンサーに交換する。
ポートに異常があると特定できた場合はケーブルの断線や接触不良が無いか確認し、基板の溝を削りなおす。
タッチセンサーやタッチセンサポートの不良の場合で原因が特定できない場合はRSフリップフロップを交換してみる。
モーター制御ボード
参考資料
MIRSMG3D MTCB製造仕様書,
試験仕様書
MIRSMG3D シリアル通信回路仕様書
MIRSMG3D PICプログラム仕様書
部品配置確認
モーター制御ボードは同じものが2枚あるので、識別用の番号を油性ペンでボードに書き込んでおく。
MP4212、コネクタ、ICソケット、トランジスタ、LEDの向きに注意。
導通試験
モーター制御ボードのパターン図を以下に示す。
シリアル通信試験
CPUからモーター制御ボードまでの通信が正常に行われるか試験する。
つまりドータボードの動作試験でもある。
使用器具
モーター制御ボード2枚、CPUボード、FPGAボード、ドータボード上下段、電源ボード
安定化電源、ディスプレイ、キーボード
準備
- モーター制御ボードに取り付けるPIC16F88にUSART.hexを書き込む。
これは演習室ホワイトボード下のPCで行う。(プログラムもこのPCの中にある)
- 各ボードとディスプレイ、キーボードを接続する。
- 電源ボードのスイッチが両方ともOFFになっていることを確認する。
- 安定化電源を電源ボードのCN1に接続し出力電圧を8.0Vに設定する。(電源ボードの仕様上、7.4V~8.5Vの範囲なら問題無い)
- 電源ボードの制御系電源のスイッチをONにする。
- OSにログインする。
- 試験プログラムをダウンロード、解凍する。
- 解凍したディレクトリ(ディレクトリ名:MPC)内にあるsiotest.cをコンパイルし、
/home/mirs/src/mg3_std_program/test/以下にコピーする。(実行ファイル名はsiotestとする)
siotest.cはFPGA内のシリアル通信回路に対してデータの読み書きを行うプログラムである。
詳しい使用方法は同じディレクトリに入っているreadme.txtの90行目以降を参照。
試験手順
- シリアル通信試験プログラムがあるディレクトリに移動する。
$ cd /home/mirs/src/mg3_std_program/test
- シリアル通信試験プログラムを実行する。
$ sudo ./siotest
0x300-0x303 : done.
0x308-0x30b : done.
- まずドータボードのSERIAL1コネクタに接続された制御ボードから試験する。
- ブレーク信号が送信され続けている可能性があるのでLSRレジスタを書き換えてこれを止める。
Input? or Output? (i/o) o
Which address?(0:THR/RBR,1:IER,2:IIR,3:LSR)
Which address?(8:THR/RBR,9:IER,A:IIR,B:LSR) B
30B
Please output value. (0x00-0xFF) 0
ok.
Do you want again? (y/n) y
- THRレジスタに適当な1Byte整数を書き込んでデータを送信する。
このとき送信された制御ボードのLED2が点灯する。
Input? or Output? (i/o) o
Which address?(0:THR/RBR,1:IER,2:IIR,3:LSR)
Which address?(8:THR/RBR,9:IER,A:IIR,B:LSR) 8
308
Please output value. (0x00-0xFF) (適当な16進2桁)
ok.
Do you want again? (y/n) y
- 送信したデータがRBRレジスタに戻ってきていることを確認する。
Input? or Output? (i/o) i
Which address?(0:THR/RBR,1:IER,2:IIR,3:LSR)
Which address?(8:THR/RBR,9:IER,A:IIR,B:LSR) 8
308
(ここに値が表示される)
Do you want again? (y/n) y
- 送信する値を変えて4.〜5.の操作を繰り返す。
- この後、SERIAL2コネクタに接続された制御ボードについて3.〜6.の操作を行う。
ただし指定するアドレスは以下のように変更する。
Which address?(8:THR/RBR,9:IER,A:IIR,B:LSR) 3
(省略)
Which address?(8:THR/RBR,9:IER,A:IIR,B:LSR) 0
(省略)
Which address?(8:THR/RBR,9:IER,A:IIR,B:LSR) 0
- SERIAL1コネクタとSERIAL2コネクタに対してそれぞれ10回送信して、
全て正常に動作する場合を合格とする。
不合格の場合は、FPGAボードとドータボード間のケーブルや
ドータボードとモーター制御ボード間のケーブルの断線と接触不良を調査する。
それでも原因が特定できない場合はICを別のものと交換してICの故障を調査する。
ロータリーエンコーダ読み取り試験
ロータリーエンコーダからの信号が正常に読み取れるか試験する。
使用器具
モーター制御ボード2枚、ロータリーエンコーダ、CPUボード、FPGAボード、
ドータボード上下段、電源ボード、安定化電源、ディスプレイ、キーボード
準備
- モーター制御ボードに取り付けるPIC16F88にRE.hexを書き込む。
これは演習室ホワイトボード下のPCで行う。(プログラムもこのPCの中にある)
- 各ボードとロータリーエンコーダ、ディスプレイ、キーボードを接続する。
- 電源ボードのスイッチが両方ともOFFになっていることを確認する。
- 安定化電源を電源ボードのCN1に接続し出力電圧を8.0Vに設定する。(電源ボードの仕様上、7.4V~8.5Vの範囲なら問題無い)
- 電源ボードの制御系電源のスイッチをONにする。
試験手順
- ロータリーエンコーダを指で回して、
正転させたときにLED1が点灯し、逆転させたときに消灯することを確認する。
明滅しなかった場合は制御ボードに問題があるか、接続の仕方が間違っている。
- シリアル通信試験の試験手順を参考にして制御ボードから送られているデータを読み込み、
制御ボードからロータリーエンコーダの総回転角[deg]が送られてきていることを確認する。
- 合格の基準は、LEDの明滅と総回転角の受信が正常に行われていることを確認できた場合とする。
不合格の場合のうち、総回転角が正しい値でない場合についてはロータリーエンコーダのゴムを交換する。
総回転角の受信そのものができない場合は、シリアル通信試験を再度行う。
PWM出力試験
モーター制御部が正常に動作するか試験する。
この試験は本来CPUボード、FPGAボード、ドータボードを必要としないが、
ケーブルの接続方法を変更することによるミスを考慮して標準機と同様の配線を行う。
使用器具
モーター制御ボード2枚、モーター、CPUボード、FPGAボード、
ドータボード上下段、電源ボード、安定化電源2つ
数kΩ 、数十Ω の適当な大きさの抵抗それぞれ1つ、オシロスコープ
準備
- モーター制御ボードに取り付けるPIC16F88にPWM.hexを書き込む。
これは演習室ホワイトボード下のPCで行う。(プログラムもこのPCの中にある)
- 各ボードを接続する。
- 電源ボードのスイッチが両方ともOFFになっていることを確認する。
- 安定化電源を電源ボードのCN1、CN3に接続し出力電圧を8.0Vに設定する。(電源ボードの仕様上、7.4V~8.5Vの範囲なら問題無い)
- 電源ボードの制御系電源のスイッチをONにする。
試験手順
- モーター出力(CN2)に数kΩ の抵抗を繋ぐ。(安全を考慮して最初はモーターを接続しない)
- 駆動系電源のスイッチをONにする。
この後、電源についている電流計が1A以上の値を指した場合は
回路のどこかがショートしているので即座に駆動系電源のスイッチをOFFにする。
(詳しくはsiotest.cと同じディレクトリに入っているreadme.txtを参照)
- オシロスコープを抵抗の両端に接続する。(CN2の基板内周側のピンにGNDを繋ぐ)
- 抵抗に現れる波形が約1秒間隔で、
正転側→ 逆転側→ 正転側→ ブレーキ
逆転側→ 正転側→ 逆転側→ ブレーキ
と変化することを確認する。(dutyは50%→ 100%→ 0%の順で変化する。)
確認できない場合は駆動系の電源ケーブルの断線を調査する。
それでも原因が特定できない場合は、MP4212とフォトカプラを交換してみる。
- 駆動系電源のスイッチをOFFにし、抵抗の大きさを数十Ω のものに交換する。
- 再度駆動系電源を投入し、オシロスコープで波形を確認する。
これで問題が無いようであれば、実際にモーターを接続して動作を確認する。
- 出力波形と、モーターの回転が正常であることを確認できた場合を合格とする。
総合動作試験
シリアル通信、ロータリーエンコーダの読み取り、PWM出力の3つの機能を総合した試験を行う。
この試験でPICに書き込むintegration2.hexは実際の走行制御に使用されるものである。
使用器具
モーター制御ボード2枚、モーター、CPUボード、FPGAボード、
ドータボード上下段、電源ボード、安定化電源2つ
準備
- モーター制御ボードに取り付けるPIC16F88にintegration2.hexを書き込む。
これは演習室ホワイトボード下のPCで行う。(プログラムもこのPCの中にある)
- 各ボード、モーターおよびロータリーエンコーダを接続する。
なおモーター制御ボードは2枚とも繋ぐ。(ドータボードのSERIAL1が左側、SERIAL2が右側に対応している。)
- 電源ボードのスイッチが両方ともOFFになっていることを確認する。
- 安定化電源を電源ボードのCN1、CN3に接続し出力電圧を8.0Vに設定する。(電源ボードの仕様上、7.4V~8.5Vの範囲なら問題無い)
- 電源ボードの制御系電源のスイッチをONにする。
- OSにログインする。
- 標準プログラムがインストールおよびコンパイルされていることを確認する。
/home/mirs/src/mg3_std_program 以下が標準プログラム群のディレクトリである。
されていない場合は
MIRSMG3D 標準プログラムパッケージ
を参考にしてインストールおよびコンパイルを行う。
試験手順
- 試験プログラムがあるディレクトリに移動する。
$ cd /home/mirs/src/mg3_std_program/test
- motor_testを実行する。
$ sudo ./motor_test
- 走行モードを聞かれるので、直進走行モードを指定する。
mode select
s:straight r:rotate c:circle
mode:s
- 走行距離と走行時間を適当に指定する。
val[mm] = (走行距離)
time[msec] = (走行時間)
- 左右のモーターの回転角、角速度、走行距離が表示されていくことを確認する。
recv start
end
puls l = (回転角), r = (回転角)
vl = (角速度), vr = (角速度), xl = (走行距離), xr = (走行距離)
roop end
- 指定した走行距離に対応してモーターの回転する角度が変化することと、
回転している時間が指定した走行時間と一致していることを確認する。
それぞれ正しく動作していることが確認できた場合を合格とする。
不合格の場合は、先に行った3つの動作試験を再度行ない、原因を探る。
超音波センサボード
参考資料
MIRSMG3D 超音波センサボード製造仕様書,
試験仕様書,
取扱説明書,
PICプログラム取り扱い説明書
MIRSMG3D 超音波距離計測試験プログラム
部品配置確認
ICソケット、ダイオード、電解コンデンサ、コネクタの向きに注意する。
導通試験
超音波センサボードのパターン図を以下に示す。
距離計測試験
超音波による距離計測が正常に行えるか試験する。
これは平らな板に対して垂直に超音波を送信した場合についての試験である。
ただし、超音波センサの性能を確認するために、板に対して斜めに超音波を送信した場合の結果も測定する。
試験の合否に関係はないが今後センサを使用するうえで必要な情報となることが予想される。
使用機具
超音波センサボード親機子機、モーター、CPUボード、FPGAボード、
電源ボード、安定化電源、ディスプレイ、キーボード
平らな板、メジャー、分度器、油性ペン
準備
- 親機のPICにUSS1.hexを、子機のPICにUSS2.hexからUSS4.hexを書き込む。
これは演習室ホワイトボード下のPCで行う。(プログラムもこのPCの中にある)
- 各基板に識別用の番号(USS1.hexを書き込んだ基板には@)を書き込んでおく。
- 各ボード、ディスプレイ、キーボードを接続する。
- 電源ボードのスイッチが両方ともOFFになっていることを確認する。
- 安定化電源をCN1に接続し出力電圧を8.0Vに設定する。(電源ボードの仕様上、7.4V~8.5Vの範囲なら問題無い)
- 電源ボードの制御系電源のスイッチをONにする。
- OSにログインする。
- 標準プログラムがインストールおよびコンパイルされていることを確認する。
/home/mirs/src/mg3_std_program 以下が標準プログラム群のディレクトリである。
されていない場合は
MIRSMG3D 標準プログラムパッケージ
を参考にしてインストールおよびコンパイルを行う。
試験手順
- 超音波距離計測試験プログラムがあるディレクトリに移動する。
$ cd /home/mirs/src/mg3_std_program/test
- 超音波距離計測試験プログラムを実行する。
$ sudo ./uss_test
- 超音波センサが取得した値[cm]が表示されていることを確認する。
このとき値が9999から動かない場合はセンサーが認識されていない可能性がある。
- 超音波センサに対して板を並行に設置する。
- 超音波センサと板の距離を20cmに設定する。
- 超音波センサが計測した距離を3回分記録する。
- 超音波センサと板の距離を1cm刻みで40cmまで増やしながら測定を繰り返す。
- 40cm以降は10cm刻みで100cmまで測定する。なお9999はエラー値であり、測定不能状態を意味する。
- 試験の合否は、測定値の平均と実際の距離の誤差で判定する。
板までの距離が20cmから40cmのときは誤差5%以内、40cmから先は誤差10%以内であれば合格とする。
不合格の場合は、可変抵抗の調整を行う。
可変抵抗の調整だけで誤差を減らせない場合は芋はんだになっている部分が無いか調査する。
調査
- 板を超音波センサに対して斜めに設置する。
以下の図に示すように角度θ を定義する。
- θ の値を-60°,-45°,-30°,+30°,+45°,+60°と変化させ、計測結果を記録する。
測定する距離は20cmから40cmまでは1cm刻み、以降は10cm刻みで100cmまで測定する。
3回連続でエラーが返ってくる場合は、それ以上の距離での測定を省略して良いものとする。