名称 |
MIRS1704 標準機製作報告書 |
番号 |
MIRS1704-REPT-0001 |
版数 |
最終更新日 |
作成 |
承認 |
改訂記事 |
A01 |
2017.5.26 |
松藤由郁 |
|
初版 |
A02 |
2017.6.9 |
松藤由郁 |
牛丸先生 |
第二版 |
ドキュメント内目次
1.はじめに
-
本ドキュメントは、MIRS1704の標準機製作報告書である。
2.製作手順
2.1 電源ボード・ケーブル製作
①電源ボード
回路図を元に、ユニバーサル基盤上に実装した。
基板配線に用いるケーブルは被覆径が2mm~3mmのものか、金属線(リード線をカットしたもの)を用いた。
バッテリーおよびMCB接続の端子は、Fig2のようにターミナルブロック2ピン(縦・小)を用いた。入力側(バッテリ)を緑、出力側(MCB)を青とした。
電圧監視用ポートには Molex 2ピンのハウジングを用いた。
Fig1に回路図、Fig2に電源ボード、Fig3にはんだ面から見た電源ボードを示す。
|
Fig.1 回路図
|
Fig.2 電源ボード
|
Fig.3 電源ボード(はんだ面)
テスターを用いてスイッチがONの状態とOFFの状態のそれぞれで導通チェックを行った。
また、バッテリーを接続し、スイッチを入れてMCB側にバッテリー電圧が出力されているか、LEDが点灯しているかを確認した。
同様にスイッチを入れた際に、電圧監視用ポートにバッテリー電圧が出力されているかを確認した。
すべて正しく確認できた。
②電源ケーブル
接続ケーブルには被覆径が2mm~3mmのものを使用した。
ケーブル同士を半田接続したので、接合部を熱収縮チューブで絶縁した。
2.2 Arduino
①ユニバーサル基盤
Arduino のセットアップとデバイス接続を参考に紙に下書きをしFig4、Fig5のように配線を確認した上で半田付けした。
導通チェックを行いショートが発生していないことを確認した。
|
Fig.4 ユニバーサル基盤はんだ面
|
Fig.5 ユニバーサル基盤
②セットアップ
Whindows7で開き接続を試みたところ、認識されなかった。
そこでcentOS上で端末を開きArduinoを実行。本体とケーブル接続し認識されることを確認した。
③テストモータの駆動
Arduino単体での動作試験を参考にPC、Arduino、ユニバーサル基盤、モータドライバ、電源基盤、バッテリーを接続し回路を導通させた。
が、Fig6のように2回ケーブルが焼損した上に、電源基盤スイッチの溶着が発生した。
電源基盤を再配線し直すことでようやく正常にモータが回転した。
なお、この原因の完全な究明はできなかった。
電源ボードを再構成した後は不具合が解消したのでここが原因であることが考えられるが、具体的にどこがショートしたのかを特定すべきだった。
|
Fig.6 焼損したコード
2.3 Raspberry Pi
①ユニバーサル基盤
RaspberryPi のセットアップとデバイス接続を参考にしてRaspberry Piとデバイスとの接続に使用する、ユニバーサル基盤(UB-RPI02)のはんだ付けを行った。
Raspberry Pi用の20ピン×2列のピンソケット, I2Cレベル変換チップ用の8ピンICソケット(溝のあるほうが上となるようにはんだづけした), ON/OFF IOデバイス用の3個の2ピンのハウジング, 超音波センサ用の4個の4ピンハウジングをはんだ付けした。
Fig7、Fig8のようにはんだ付けを行った。
|
Fig.7 ユニバーサル基盤はんだ面
|
Fig.8 ユニバーサル基盤裏面
②導通チェック
テスターを用いて、はんだ付けを行ったすべての回路系に対して、導通、非道通のチェックを行った。
結果、ミスなくはんだ付けができていることを確認できた。
③ユニバーサル基板のRaspberry Piへのマウント
ユニバーサル基盤とRaspberry Piの間にスペーサーをねじ止めし、両者をマウントした。
Fig9のようにマウントした。
|
Fig.9 マウントしたユニバーサル基盤
2.4 メカニクス
ここでは、ArduinoやRaspberry Piなどの機器を設置するまでの過程に関しては記していない。
機器の設置に関してはシステム統合試験の作業報告に詳細を記す。
①シャーシ作り
・長支柱、短支柱のタップ加工
3Dプリンタで作成した支柱(各2個)は上下2か所にタップ下穴が開いているので、M5タップ加工を行った。
|
Fig.10 支柱のタップ加工
・下段シャーシへの電源ボード固定穴加工
加工済みの下段シャーシは本来上下反転して使用することを考えていたため、電源ボード固定穴が上方向のみに空いている。
前方に開けてある穴の位置を参考に、Φ3.2の穴を4か所開けた。
|
Fig.11 電源ボード用の穴
・駆動部の組み立て
(ⅰ)タイヤの中に細いタイヤ2本をセットした
(ⅱ)タイヤホイールとタイヤを接続する ※マイナスドライバーを活用すると設置しやすかった
(ⅲ)モータマウントサポートをモータに通し、モータマウントとモータをM3のネジで固定する
(ⅳ)モータシャフトにタイヤホイールを固定した
(ⅴ)モータマウント、モータマウントサポートと下段シャーシをM5のキャップボルトで固定する
(ⅵ)駆動用バッテリーホルダ(4個)をM3ねじとナットで固定した
(ⅶ)ボールキャスター(2個)をM2.6ねじとナットで固定した
(ⅷ)短支柱と下段シャーシをM5キャップボルトで固定した
(ⅸ)長支柱と下段シャーシをM5キャップボルトで固定した
|
Fig.12 駆動部組み立て
・制御部の組み立て
(ⅰ)制御用バッテリーホルダ(4個)をM3ねじとナットで固定した
(ⅱ)超音波センサマウント(2個)をM3ねじとナットで固定した
(ⅲ)中段シャーシと短支柱をM5キャップボルトで固定した
|
Fig.13 駆動部組み立て
・拡張部の組み立て
上段シャーシと長支柱をM5キャップボルトで固定した
|
Fig.14 拡張部の組み立て
②支柱取替え
シャーシ組み立ての際は3Dプリンタで作成された支柱を用いていたが、シャーシ組み立て後、工場で支柱が完成したため、その支柱に取り換えた。
|
Fig.15 支柱取り換え
3.単体試験結果
3.1 Arduino
ケーブルについてを参考に単体での動作確認を行った。
①エンコーダ
エンコーダ出力の確認を参考にして波形の確認を行った。
Fig16に得られた波形を示す。
|
Fig.16 エンコーダ波形
②PWM波形
PWM値50とPWM値150とPWM値250のPWM波形をそれぞれFig17、Fig18、Fig19に示す
|
Fig.17 PWM波形(50)
|
Fig.18 PWM波形(150)
|
Fig.19 PWM波形(250)
3.2 Raspberry Pi
Raspberry Pi での動作試験を参考にして単体動作試験を行った。
①デバイス接続
Raspberry Piにカメラ(1台)、ユニバーサル基盤に超音波センサ(2個)を接続した(タッチセンサについては導線を短絡させることで代用した)。
②Raspberry Piの起動とソースファイルの展開
まず、キーボード(USB)、マウス(USB)、ディスプレイ(HDMI)を接続し、Raspberry Pi を起動した。
その後、MIRSMG4D-SYST-0008からmg4_pi_ver3.0.tar.gzをダウンロードし、tar xvf mg4_pi_ver3.0.tar.gzというコマンドで"test"ディレクトリに展開した。
③動作確認
上で展開したプログラムを実行し、タッチセンサ、超音波センサ、カメラの動作確認、またカメラでの数字認識の確認を行った。
概ね正常な動作を示したが、数字認識だけ「7」を認識しようとしたところ、「1」や「-1」や「0」などと認識され、「7」と認識されることは無かった。
しかし、プログラム内のキャプチャ画像を調べたところちゃんと「7」の形は認識しているようであり、試しに「5」で試したところ、しっかりと認識した。「7」は「1」と形が似ており、判定が難しかったのだと考えられる。
もし「7」を認識したい場合は、もう少し調整をする必要があるだろう。
4.統合試験結果
4.1 標準機の統合
ケーブルについてを参考に配線を行い、それぞれ作成したArduinoとRaspbrry Pi、機体を統合し標準機を組み立てた。
Fig20に統合した標準機を示す。
|
Fig.20 標準機機体
4.2 動作確認
RaspberryPi と Arduino のシリアル通信を参考にArduinoとRaspbrry Piの通信を行った。
モータはギア比1:27のものを用いた。
接続はUSBケーブルで行い、Raspbrry Piでプログラムを実行し、動作テストを行った。
Raspbrry Piでプログラムを実行することでArduinoと通信し、モータが動作することが確認できた。
4.3 走行テスト
Raspberry Pi での動作試験を参考にtest_requestプログラムをコンパイル後、実行した。
今回は、実験室の床タイル(45cm)を基準として走行させた。
45cm,90cm,135cmの距離で走行を行い、それぞれ指定した距離で停止をした。また、タイルの際にタイヤを沿わせて走行させることで、正常な直進走行を行っているかも確認した。
回転の動作に関しても直進同様に、タイルを利用して90度、180度、360度に角度を設定して回転動作の確認を行った。
4.4 ゲイン調整
直進走行を実現するためにゲイン調整を行ったところ、直進を妨げない、がたつきが許容できる最大の値は31、がたつきがほとんどなく、直進もできているだろうとみなせる値は20であった。どこまで値を下げたら直進が保証できるのかは、確認することができなかった。
結果としては以上の通りだが、直進といっても完全な直進ができているとは言い難かった。
その原因として、検証はD科演習室で行ったが、そこの床がまっ平らでなかったこと、そしてP制御のみでは位置の追従が不完全であることが挙げられる。
5.不具合報告
・ ケーブルの焼損
・ モーターの不良