Fig.5 Raspberry Pi用ユニバーサル基板(部品面)
|
Fig.6 Raspberry Pi用ユニバーサル基板(はんだ面)
2.3 電源ボード、ケーブル製作
電源ボードを以下の回路図に従って実装した。
Fig.7 電源ボード基板回路
完成した基板をFig.8に示す。
Fig.8 電源ボード基板
Fig.8のようにユニバーサル基板上に実装した。
スイッチは基板用押しボタンスイッチ(赤・オルタネート)の PS-85Sを用いることとした。
初期状態の電源ボード(ターミナル1個)ではケーブル2本が入りきらなかったため、新たに、同じ仕様のターミナルを増設した。
増設後の電源ボードを以下に示す。
Fig.9 電源ボード基板
2.4 シャーシ組み立て
使用部品をtable.2に示す。
Table2 部品一覧
名称 |
部品コード |
個数 |
材質 |
備考 |
上段シャーシ |
MIRGMG4S_UC |
1枚 |
アクリル板 |
拡張部 |
中段シャーシ |
MIRGMG4S_MC |
1枚 |
アクリル板 |
制御部 |
下段シャーシ |
MIRGMG4S_LC |
1枚 |
アルミ板 |
駆動部・標準のものには電源ボード固定穴がないので注意 |
短支柱 |
MIRGMG4S_SP |
4本 |
アクリル棒 |
下段・中段接続用
|
長支柱 |
MIRGMG4S_LP |
4本 |
アルミ棒 |
下段・上段接続用
|
タイヤホイール |
MIRGMG4S_TW |
2個 |
ABS樹脂 |
|
モータマウント |
MIRGMG4S_MM |
2個 |
ABS樹脂 |
|
モータマウントサポート |
MIRGMG4S_MS |
2個 |
ABS樹脂 |
|
制御用バッテリーホルダ |
MIRGMG4S_CH |
2個 |
ABS樹脂 |
|
駆動用バッテリーホルダ |
MIRGMG4S_DH |
2個 |
ABS樹脂 |
|
超音波センサマウント |
MIRGMG4S_UM |
2個 |
ABS樹脂 |
オプション |
2017.4.27時点では、短支柱と長支柱はABS樹脂であったが、Table2のようにアクリル棒とアルミ棒に変更した。
使用したねじをTable.3に示す。
Table3 使用したねじ
名称 |
用途 |
長さ[mm] |
個数 |
SWの有無 |
ナットの有無 |
5mmキャップボルト |
モータマウント固定 |
12 |
8 |
有 |
無 |
|
短支柱固定 |
12 |
8 |
有 |
無 |
|
長支柱固定 |
12 |
8 |
有 |
無 |
3mmねじ |
モータマウント固定 |
15 |
8 |
有 |
無 |
|
モータマウント固定 |
15 |
8 |
無 |
有 |
|
制御用バッテリーホルダ固定 |
12 |
8 |
無 |
有 |
|
超音波センサマウント固定 |
12 |
4 |
無 |
有 |
3mmねじ |
Arduino固定 |
12 |
4 |
無 |
有 |
|
モータドライバ固定 |
12 |
8 |
無 |
有 |
|
電源ボード固定 |
12 |
4 |
無 |
有 |
2.6mmねじ |
Raspberry Pi固定 |
30 |
4 |
無 |
有 |
|
キャスター固定 |
10 |
6 |
有 |
有 |
スペーサ |
Arduino固定 |
5 |
4 |
|
|
|
モータドライバ固定 |
5 |
8 |
|
|
|
電源ボード固定 |
5 |
4 |
|
|
|
Raspberry Pi固定 |
10 |
6 |
|
|
①下段シャーシへの電源ボード固定穴加工
加工済みの下段シャーシは本来上下反転して使用することを考えていたため、電源ボード固定穴が上方向のみに空いていた。
電源ボード固定穴は下方向に必要なため、接合予定の基板を添えて追加加工穴の位置を定めΦ3.2の穴を4か所追加加工した。
3つの穴を開け最後の一つというところでドリルが貫通しなくなった。
位置的に力がかけづらかったことが原因なので、他の3つの時よりも力をかけて加工した。
Fig.10 追加加工穴
②タップ加工
3Dプリンタで作成した長支柱、短支柱、モータマウント、モータマウントサポートのタップ下穴にタップ加工を行った。
ABS樹脂は割れやすいので力のかけ過ぎに注意しなければならなかった。
モータマウントサポートの一つの穴がタップ加工したにもかかわらず、ネジを引っ張ると抜けてしまった。
モータマウントサポートを一つ壊した。
ABS樹脂の加工を行うのは初めてであり、力加減がわからなかったためであった。
予備をもらい、対応した。
③駆動部の組み立て
タイヤの中に細いタイヤ2本をセットした。
タイヤホイールとタイヤを接続した。タイヤホイールを一つ割ってしまった。予備をもらい、対応した。マイナスドライバーを活用すると設置しやすかった。
モータマウントサポートをモータに通し、モータマウントとモータをM3のネジで固定した。
モータシャフトにタイヤホイールを固定した。
④組み立て
中断シャーシに超音波センサマウント(2個)と制御用バッテリーホルダ(4個)をM3ねじとナットで固定した。
モータマウント、モータマウントサポートを下段シャーシにM5のキャップボルトで固定した。
モータマウント、モータマウントサポートを下段シャーシにM5のキャップボルトで固定した。
駆動用バッテリーホルダ(4個)をM3ねじとナットで固定した。
ボールキャスター(2個)をM2.6ねじとナットで固定した。
長支柱と短支柱を下段シャーシにM5キャップボルトで固定した。
中段シャーシと短支柱をM5キャップボルトで固定し、下段シャーシと接合した。
完成した機体をFig.11に示す。
Fig.11 標準機機体
2.5メカ作業報告
使用ソフト solidworks
①作業内容
Solidworksを使用しバッテリーケースを作成した。Fig.12に作成したバッテリーケース、Fig.13に作成中の図面を示す。
Fig.12 バッテリーケース
|
Fig.13 バッテリーケースの図面
②工夫点
バッテリー全体を囲むようにし、丈夫になるよう設計した。
コードが通る部分は空洞にした。
③失敗点
大きく作り過ぎた為、印刷するときにゆがんでしまった。
青木先生がゆがまないように固定してくれたため、使用はできた。
3.単体試験結果
3.1 Arduino
①デバイス接続
Arduino単体での動作試験を参照し、arduinoを配線した。
この段階で、ユニバーサル基板のピン配置のミスが発覚したため、配線に使用するケーブルの並び順を変えることによって対処した。
②arduinoの設定
Arduino単体での動作試験から、arduino用のソフトウェアをダウンロードした。
arduino IDEでソフトウェアファイルを開き、モーターのギア比にプログラムを変更した。
③動作テスト
実機にて、モーター回転、エンコーダ出力、速度制御を行い、エンコーダ出力テスト時にオシロスコープでPWM波形とエンコーダ波形を確認した。
PWMが51/255で20%のときのPWM波形をFig.14とFig.15に示す。
Fig.14 右モータのPWM波形(20%)
|
Fig.15 左モータのPWM波形(20%)
PWMが127.5/255で50%のときのPWM波形をFig.16とFig.17に示す。
Fig.16 右モータのPWM波形(50%)
|
Fig.17 左モータのPWM波形(50%)
Fig.14とFig.15では1周期の20%が、Fig.16とFig.17では1周期の50%が立ち上がっていることが確認できた。
モータの速度を50に設定したときのエンコーダ波形をFig.18とFig.19に示す。
波形のA層は青、B層は黄色で表されている。
Fig.18 エンコーダ波形(左)
|
Fig.19 エンコーダ波形(右)
図から、A層、B層は1/4周期ずれているのが確認できた。
3.2 Raspberry Pi
Raspberry Pi のインストールとセットアップに従いセットアップを行った。
①環境設定
Raspbianの環境設定を行った。
具体的にはタイムゾーンとインターフェイスの設定、無線LANの接続、jfbtermのインストールを行った。
②デバイス接続
超音波センサ、WebカメラをRaspberry Piに接続した。
タッチセンサは、接続できるものがなかったため、導線を短絡開放させることで簡易的に実現した。
③I2Cの設定
2つの超音波センサを扱う場合は、互いに違うアドレスが設定されている必要がある。
しかし超音波センサのアドレスを確認したところ、2つのセンサのアドレスが元から異なっていたので、アドレス変更は必要なかった。
④テストプログラムの実行
まず、ドキュメントからRaspberry Pi用MG4標準ソフトウェアをダウンロードし、展開した。
展開したファイルの中にある以下のテストプログラムを実行し、それぞれ動作を確認した。
・test_uss: 超音波センサの距離計測
・test_io: ON/OFF IO(タッチセンサ)の信号出力
・test_camera: カメラ映像を出力
・test_number: 数字認識
全てのプログラムが正常に動作することを確認できた。
4.統合試験結果
以下の手順で統合試験を行った。
① Arduinoプログラムの"slave()"をアンコメントして有効にし、他の命令がコメントアウトされていることを確認して、編集したプログラムをArduinoに転送した。
②ArduinoとRaspberry PiをUSB接続し、Raspberry Piでテストプログロム"test_reqest"を実行して、モータが正しい方向に回転していることを確認した。
③標準機体にArduino、Raspberryを実装し、標準機を完成させた。ArduinoとRaspberry Piを実装させた標準機機体をFig.11に示す。
Fig.20 標準機機体
④Raspberry Piで"test_request"を実行し、直進制御が正確かどうか確認した。初期状態で直進させたところ、機体が左右に振れてしまったので、Pゲインを小さくして、直進がスムーズになるように調整した。そのときのPゲインは4。
5.不具合報告
標準機作成から統合試験までに起きた不具合を以下に示す。
1. Arduinoユニバーサル基板のコネクタ向き間違い
2. Arduinoユニバーサル基板のモータの左右配線間違い
3. バッテリーケースのゆがみ
| | | | | | | | | | |