名称 | MIRS1805 標準機製作報告書 |
---|---|
番号 | MIRS1805-REPT-0001 |
最終更新日:2018.7.27
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2018.7.27 | 佐野元康 | 初版 | |
A02 | 2018.7.27 | 佐野元康 | 青木先生 |
本ドキュメントは、MIRS1805の標準機製作報告書である。
以下に作業担当を記す。
担当箇所 | 担当者 |
---|---|
電源ボード | 佐々木謙人、佐野元康 |
Arduino | 鈴木文隆、宮林宏行 |
Raspberry Pi | 杉山矢紘、渡邊昌浩 |
メカ | 長野俊平、増田大勢 |
MIRSMG4D 駆動系 電源ボードをもとに製作した。
この基板の回路はスイッチを用いてバッテリーの電源のON/OFFを切り替え、モータ制御ボードとArduinoへ電気を送る。
授業スライドを元に回路を作成した。
素子をつけた後にスズメッキ線で素子間を導通させる時に抵抗のあしを利用して、無駄な半田付けを減らしきれいに見えるようにしたこと、
導通させる際に1つ繋いだら導通の確認をするというのを繰り返して問題箇所の修正を容易にしたことを工夫した。
なお、駆動用バッテリーの電圧(入力)は8.02[V]なのに対してモーターに入力される値(出力)は7.99[V]であった。
完成した基板を以下に示す。裏の画像は、上下をそのままに180度回転させたものである。
fig.1 電源ボード(表)
fig.2 電源ボード(裏)
Arduinoの単体試験の際にスイッチが壊れてしまったので、電源ボードを作り直した。
その際、スイッチの構造(内部の回路)が変わり、基盤の回路も変更したので、最終的に完成した基板は、fig.3,4のようになった。
駆動用バッテリーの電圧(入力)に対しモーターに出力される値(出力)はtable2のようになった。
スイッチが壊れてしまったこと、作り直す際にLEDを壊してしまったことを不具合報告書にそれぞれ示す。
入力電圧[V] | 出力電圧[V] |
---|---|
8.34 | 8.34 |
8.33 | 8.33 |
8.22 | 8.22 |
fig.3 電源ボード(表) 改
fig.4 電源ボード(裏) 改
作成した後、繋がってはいけないところの確認をしてどの箇所も短絡されていた。
また、ショートや断線も無かったので導通チェックを完了した。
バッテリーを繋いでの試験では、スイッチをONにしたときにLEDが点灯し、モーターが回ることが確認できた。
よって試験は成功した。
この基板の回路はモーターを駆動させる。
Arduino のセットアップとデバイス接続を元に回路を作成した。
半田付けの前に紙に素子をつける場所を書いてずれないようにしたこと(fig.7)を工夫した。
完成した基板を以下に示す。裏の画像は、上下をそのままに180度回転させたものである。
fig.5 Arduinoユニバーサル基板(表)
テスターを用いて導通試験をしたが、ショートや断線は無く、繋がってはいけないところでは短絡されていた。
また、RaspberryPiの入力電圧はモバイルバッテリー電圧の半分に近い値になったため、電圧も正常であることがわかった。
このとき、モバイルバッテリーの電圧(5[V])を半分にする理由は、RaspberryPiへの入力電圧は0~3.3[V]でなければならず
5[V]の電圧が入力されるとRaspberryPiが壊れるので、それを防ぐためである。
Arduino単体での動作試験をもとにArduinoの配線を行った。
ダウンロードしたファイルmg4_arduino_ver310.zipディレクトリ内のテストプログラムを用いてArduino単体での動作試験を行いすべて正常に動作することを確認した。
define.h でギア比(T_E_RATIO)の値を1:27になっていたので、使用しているモーターのギア比である1:14に調整した。
動作試験の結果をtable3に示す。
試験名 | 使用したコマンド名 | 試験内容 | 結果 | 判定 |
---|---|---|---|---|
モーター動作試験 | test_motor | Arduinoに任意の出力値を入力しモーターの確認をする。 また出力値を変化させたときのモーターの回転を確認する。 |
出力値を50にしてモーターが正常に動作することを確認できた。 また100にした際にはモーターの回転速度は約2倍になった。 |
良 |
エンコーダ試験 | test_encoder | 機体のタイヤを手動で1回転させた際のエンコーダの値を読み取る。 | table4のようになった。 | 良 |
距離計測試験 | test_distance | 機体のタイヤを手動で1回転させた際、エンコーダで読み取った値と実際のタイヤの一周の長さを比較する。 | タイヤの直径の実測値を測ると87.85mmであったのでπをかけてタイヤの円周を調べると27.60cmとなった。 またエンコーダの値はtable5のようになった。 |
良 |
速度制御試験 | test_vel_ctrl | arduinoに任意の速度を与え、エンコーダの値と比較する | Arduinoに[25cm/s]の速度を与えた結果、平均は左は24.58、右は25.39になったので誤差はそれぞれ1.68[%]、1.55[%]になった。 測定した結果は速度制御試験結果に示す。 |
良 |
走行制御試験 | test_run_ctrl | arduinoに25[cm/s]の速度で200[cm]の距離を直進させる。また、π/6[rad/s]の角速度でπ/2[rad]回転させる。 理論的に求められる時間と実際の動作時間を比較する。併せて実際に移動した距離の結果も示す。 |
直進させた結果table6のようになり、回転させた結果table7のようになった。 なお、直進させたときの理論値は8[s]、回転させたときの理論値は3[s]である。 直進させたときの理論値との誤差が大きくなった原因はストップウォッチを押す タイミングと動き出す、止まるタイミングがずれたからだと考えられる。 |
良 |
バッテリー値試験 | test_batt | テスターで計測した駆動用バッテリー電圧とArduinoで読み取った電圧を比較する。 | table8のようになった。 | 良 |
番号 | 左 | 右 | 左に対する右の回転比 |
---|---|---|---|
1 | 331 | 355 | 1.072 |
2 | 326 | 354 | 1.085 |
3 | 332 | 359 | 1.081 |
4 | 359 | 356 | 0.991 |
5 | 357 | 359 | 1.005 |
6 | 356 | 353 | 0.992 |
7 | 354 | 358 | 1.011 |
8 | 356 | 357 | 1.003 |
9 | 357 | 359 | 1.006 |
10 | 355 | 356 | 1.003 |
11 | 359 | 356 | 0.992 |
平均 | 349.3 | 356.5 | 1.022 |
番号 | 左[cm] | 左と実測値の誤差[%] | 右[cm] | 右と実測値の誤差[%] |
---|---|---|---|---|
1 | 27.0 | 2.17 | 27.2 | 1.45 |
2 | 26.9 | 2.54 | 27.5 | 0.36 |
3 | 27.1 | 1.81 | 28.0 | 1.45 |
4 | 27.3 | 1.09 | 26.8 | 2.90 |
5 | 27.1 | 1.81 | 26.9 | 2.53 |
6 | 27.2 | 1.45 | 27.2 | 2.54 |
7 | 26.7 | 3.26 | 26.8 | 2.90 |
8 | 27.0 | 2.17 | 27.1 | 1.81 |
9 | 27.2 | 1.45 | 27.1 | 1.81 |
10 | 26.7 | 3.26 | 27.0 | 2.17 |
平均 | 27.0 | 2.10 | 27.2 | 2.00 |
番号 | 動作時間[s] | 理論値との誤差[%] | 実際の移動距離[cm] |
---|---|---|---|
1 | 8.86 | 10.75 | 202 |
2 | 8.81 | 10.13 | 202 |
3 | 8.70 | 8.75 | 202 |
4 | 8.86 | 10.75 | 202 |
5 | 8.70 | 8.75 | 202 |
6 | 8.78 | 9.75 | 202 |
7 | 8.96 | 12.0 | 202 |
8 | 8.81 | 10.13 | 202 |
9 | 8.82 | 10.25 | 202 |
10 | 8.73 | 9.13 | 202 |
平均 | 8.80 | 10.04 | 202 |
番号 | 左回転動作時間[s] | 理論値との誤差(左)[%] | 実際の左回転角度[deg] | 右回転動作時間[s] | 理論値との誤差(右)[%] | 実際の右回転角度[deg] |
---|---|---|---|---|---|---|
1 | 3.35 | 11.67 | 89 | 3.41 | 13.67 | 90 |
2 | 3.33 | 11 | 92 | 3.37 | 12.33 | 90 |
3 | 3.30 | 10 | 91 | 3.26 | 8.67 | 90 |
4 | 3.34 | 11.33 | 92 | 3.33 | 11.03 | 89 |
5 | 3.40 | 13.33 | 91 | 3.23 | 7.67 | 90 |
6 | 3.31 | 10.3 | 93 | 3.28 | 9.33 | 90 |
7 | 3.17 | 5.67 | 91 | 3.47 | 15.67 | 91 |
8 | 3.16 | 5.33 | 90 | 3.32 | 10.67 | 89 |
9 | 3.34 | 11.33 | 91 | 3.34 | 11.33 | 91 |
10 | 3.26 | 8.67 | 90 | 3.29 | 9.67 | 90 |
平均 | 3.30 | 9.87 | 91 | 3.33 | 11.00 | 90 |
テスターの電圧の値[V] | Arduinoで読み取った値[V] | テスターの電圧値に対する誤差[%] |
---|---|---|
7.89 | 8.25 | 4.56 |
7.83 | 8.20 | 4.73 |
7.61 | 8.00 | 5.12 |
この基板の回路はタッチセンサや超音波センサセンサなどの値を読み取り、I2Cレベル変換器で双方向の電圧変換を行う。
RaspberryPi のセットアップとデバイス接続をもとにユニバーサル基板を製作した。
ジャンパ線の長さを必要最低限に抑えて不具合の可能性を減らすこと、無駄な半田付けを減らしきれいに見えるようにしたこと、
半田付けの前に紙に素子をつける場所を書いてずれないようにしたこと(fig.10)を工夫した。
完成した基板を以下に示す。裏の画像は、上下をそのままに180度回転させたものである。
fig.8 RaspberryPiユニバーサル基板(表)
fig.9 RaspberryPiユニバーサル基板(裏)
fig.10 RaspberryPi下書き
テスターを用いて導通試験をした。
導通試験では、レベル変換機から各超音波センサコネクタのSDA,SCL,Vcc,GNDピンが導通していること、
Raspberry PiのGPIOピンとレベル変換機が正しく配線、導通されていること
導通してはいけないところで短絡されているかをチェックした。
導通試験は不具合なく成功した。
演習室のPCを用いてマイクロSDにRaspbianをインストールし、その後マイクロSDをRaspberryPiに挿入しRaspberry Pi のインストールとセットアップ をもとにRasbpery Piのセットアップを行った。
Raspberry Pi での動作試験をもとに動作試験を行った。
ダウンロードしたファイルmg4_pi_ver3.0.tar.gzディレクトリ内のテストプログラムを用いてRaspberry Pi単体での動作試験を行いすべて正常に動作することを確認した。
試験名 | 使用したコマンド名 | 試験内容 | 結果 | 判定 |
---|---|---|---|---|
タッチセンサ試験 | test_io | 5[回/s]で押しボタンスイッチを10回押すというテストを5回行う。 複数のスイッチを同時に使用した場合も正常に動作することを確認する。 |
スイッチの数が1つでも複数でも全ての試験で正常に動作することを確認できた。 なお、押しボタンスイッチが1個しかなかったので他の2ピンコネクタにはスズメッキ線を用いて導通させて、複数のスイッチをつないでいるようにした。 |
良 |
正対補正試験 | test_dir_num | 正対補正を行って壁に対して垂直に向き、指定した距離だけ壁から離れて止まるのを利用して超音波センサの性能を確認する。 | table10のようになった。 | 良 |
指定距離[cm] | 実距離[cm] | 止まったときの超音波センサの値[cm] | センサの値と実距離の誤差[%] |
---|---|---|---|
50 | 53 | 51.7 | 2.45 |
60 | 61 | 61.7 | 1.15 |
70 | 71 | 71.7 | 0.99 |
80 | 82 | 82.3 | 0.36 |
90 | 91 | 91.7 | 0.76 |
100 | 100 | 101.7 | 1.70 |
110 | 110 | 111.7 | 1.55 |
180 | 179 | 181.5 | 1.40 |
220 | 219 | 221.7 | 1.23 |
250 | 249 | 253.0 | 1.61 |
270 | 271 | 274.7 | 1.37 |
280 | 279 | 282.4 | 1.22 |
320 | 310 | 321.4 | 3.68 |
SolidWorksを用いてモバイルバッテリーと駆動用バッテリーホルダーの設計をし、3Dプリンターで製作した。
fig.11 モバイルバッテリーホルダーの三面図
fig.12 駆動用バッテリーホルダーの三面図
fig.13 駆動用バッテリーホルダー(左)モバイルバッテリーホルダー(右)
fig.14 駆動用バッテリーの固定
fig.15 モバイルバッテリーの固定
モーターマウントサポータをモーターと固定させるためにモーターマウントサポートにタップ加工(ねじ切り)をした。
6.3 組み立て
MIRSMG4D 標準機メカニクス解説とMIRSMG4D 標準機組み立て手順書をもとにボードを組み立てた。
ボールキャスターの高さを走行用タイヤと高さをあわせるためのスペーサー(白い板)(fig.19)を取って走行が安定するようにした。(fig.20)
また、電源ボードとボールキャスターが接触すると電源がつかなくなるのでゲイン調整中はビニールテープをはって接触しないようにした。(fig.21)
そして標準機製作完了時には、スペーサー(白い円筒)を長くして電源ボードの位置を高くし、接触しないように作り直した。(fig.22)
作業途中の写真を以下に示す。
fig.16 組み立て(1段目)
fig.17 組み立て(2段目)
fig.18 組み立て(1,2段目)
fig.19 ボールキャスターの高さ調整(変更前)
fig.20 ボールキャスターの高さ調整(変更後)
fig.21 ボールキャスターと電源ボードの絶縁
fig.22 ボールキャスターと電源ボードの絶縁 改
Raspberry Pi での動作試験をもとに
ArduinoとRaspberry Piを接続して動作試験を行った。
RaspberryPiとArduinoをつなげてArduinoの単体試験のソースの「slave()」関数のみのこし、ほかの関数はすべてコメントアウトする。
test_requestのプログラムをRaspberryPiで実行し、Arduinoに動作指令を出す。
ためしに走行させたところ、やや右に曲がりながら進んだので、モータの回転比を調整して直進する回転比を見つけた
結果をtable11に示す。進み方の様子は班員(佐野、宮林)が見た所感である。
左に対する右の回転比 | 進み方の様子 |
---|---|
1 | やや右に曲がる |
1.028 | 右に曲がる |
0.9 | 左に曲がる |
0.98 | 左に曲がる |
0.99 | やや左に曲がる |
0.997 | やや左に曲がる |
0.9997 | まっすぐ進む |
番号 | 動作時間[s] | 理論値との誤差[%] | 実際の移動距離[cm] |
---|---|---|---|
1 | 8.76 | 9.5 | 200 |
2 | 8.92 | 11.5 | 201 |
3 | 8.66 | 8.25 | 201 |
4 | 8.52 | 6.5 | 202 |
5 | 8.78 | 9.75 | 200 |
6 | 8.9 | 11.125 | 201 |
7 | 8.67 | 8.375 | 200 |
8 | 8.80 | 10 | 200 |
9 | 8.74 | 9.25 | 200 |
10 | 8.86 | 10.75 | 201 |
平均 | 8.76 | 9.5 | 200.6 |
番号 | 左回転動作時間[s] | 理論値との誤差(左)[%] | 実際の左回転角度[deg] | 右回転動作時間[s] | 理論値との誤差(右)[%] | 実際の右回転角度[deg] |
---|---|---|---|---|---|---|
1 | 3.65 | 21.67 | 90 | 3.61 | 20.33 | 90 |
2 | 3.38 | 12.67 | 90 | 3.63 | 21 | 90 |
3 | 3.41 | 13.67 | 90 | 3.47 | 15.67 | 90 |
4 | 3.62 | 20.66 | 91 | 3.63 | 21 | 90 |
5 | 3.69 | 23 | 90 | 3.43 | 14.33 | 91 |
平均 | 3.55 | 18.33 | 90.2 | 3.554 | 18.467 | 90.2 |
ゲイン調整を行った結果をtable14に示す。がたつきの様子は班員(佐野、宮林)が見た所感である。
0~40のいずれの値であってもがたつき具合が変わるもののまっすぐ進んだ。
作業中にエンコーダの検出ができていないと分かったので、不具合報告書に示す。
パルス抜けの様子をmov.1に示す。mov.1 パルス抜け
エンコーダを エンコーダ出力の確認に沿って直した。
直してもしばらくしたらパルス抜けが起こるのでモータを交換した。
Ksの値 | がたつきの様子 |
---|---|
0 | がたつきがほとんどない(基準にする) |
5 | ほとんどない |
10 | ほとんどない |
11 | ほとんどない |
12 | たまにがたつきがある |
13 | がたつく回数が増えた |
14 | がたつく回数が増えた |
15 | がたつく回数が増えた |
16 | がたつく回数がさらに増えた |
20 | 小刻みにゆれる |
30 | がたつきが大きくなった |
40 | がたつきが大きくなった |
走行動作確認まで終えたので標準機製作が完了した。
標準機を以下に示す。
fig.23 標準機
直径400[mm] 高さ186[mm]
駆動用バッテリーは1つは充電された状態で1時間半持ち、もう1つは充電された状態で約2時間持った。
(2時間使えるバッテリーには黄色のテープで目印をつけておいた。)
モーターに入力される電圧は駆動用バッテリーの電圧と同じ値である。
超音波センサが読み取る値は実際の距離より3.68[%]ほど大きい。
速度と距離を指定して走行、回転させると速度は指定したよりも10%遅くなるが距離、回転角度はほぼ正確である。
エンコーダの分解能は360/(13[パルス/回転]×ギア比14)=1.978[deg]である。
それぞれの不具合報告書を以下に示す。
ジャンパ線の断線報告会資料を以下のリンクに示す。
プレゼンテーション資料