MIRS1703 管理台帳へ戻る
名称 |
MIRS1703 標準機製作報告書 |
番号 |
MIRS1703-REPT-0001
|
最終更新日:2017.6.15
版数 |
最終更新日 |
作成 |
承認 |
改訂記事 |
A01 |
2017.5.19 |
上野山 |
|
初版 |
A02 |
2017.6.14 |
上野山 |
鈴木静男 |
画像の引用元を明記、RaspberryPiに動作確認の項目追加、その他誤字、リンクの張り忘れの修正 |
ドキュメント内目次
1.はじめに
本ドキュメントは標準機製作過程を示したものである。
2.目的
ドキュメント作成の練習をしつつ、標準機の製作過程を記し残すことで、今後改良を行い不具合が起きた場合でも原点に振り返ることで適切な対応ができるようになることを目的とする。
3.担当
Arduino |
峯慎平 上野山翔太 |
RaspberryPi |
金澤滉典 片岡駿介 |
メカ |
遠山暉大 塩崎智也 |
電源ケーブル |
若子純平 野中太一朗 |
4.Arduino
4.1. 使用したピン
回路図と実装図から半田付けする場所を下書きしたのちソケットを付けジャンパ線、鈴メッキ線で接続した。
後に導通チェックを行いArduino用ユニバーサル基盤を作成した。
作成時に参考にした電源部の回路図をfig.1に示す(実際の回路にはSWは利用しない)。
fig.1 電源配線参考回路図
fig.1は(
Arduinoのセットアップとデバイス接続)から引用
使用したピン一覧をTable.1に示す。
Table.1 Arduino使用ピン
ピン番号 |
接続デバイス |
IN/OUT |
備考 |
2 |
右エンコーダ(A層) |
IN |
プルアップ、割り込み(CHANGE) |
3 |
左エンコーダ(A層) |
IN |
プルアップ、割り込み(CHANGE) |
4 |
左エンコーダ(B層) |
IN |
プルアップ |
7 |
右エンコーダ(B層) |
IN |
プルアップ |
8 |
右モータ(方向) |
OUT |
|
9 |
右モータ(PWW) |
OUT |
PWM |
11 |
左モータ(PWW) |
OUT |
PWM |
12 |
左モータ(方向) |
OUT |
|
A5(19) |
バッテリー電圧 |
IN |
抵抗分圧により1/2倍値を入力 |
4.2. 配線図の作成
回路図とピン割り当てを参考に、配線図の下書きを行った。
fig.2 下書き中の峯慎平君
4.3. 回路の作成
作成した配線図を基に、ユニバーサル基盤への半田付けを行った。
fig.3 Arduinoユニバーサル基盤表面
配線が複雑になるのを防ぐため、極力ジャンパ線を減らし、素子のリード線も配線に使用した。
また、スルーホール基盤を使用したため、素子の取り外しをすることがないように注意して半田付けした。
fig.4 Arduinoユニバーサル基盤裏面
基盤表面の黄色シールは韓国語で右、青シールは韓国語で左を表している。韓国語にしていることに特に意味はない。
完成時、エンコーダのA層、B層の配線が反対になっていたが、導通チェックの際に気づき修正した。
4.4. 単体機能試験
Arduinoのセットアップとデバイス接続(
MIRSMG4D-SYST-0003)、Arduino単体での動作試験(
MIRSMG4D-SYST-0007)を参考に動作試験を行った。
モータ回転、エンコーダ出力、速度制御について確認した。
fig.5 モータの駆動テスト
最終的に得られたエンコーダ波形とデューティ比の対応は以下のとおりである。
fig.6 duty比:50時のエンコーダ波形
4.5. 作業中の不具合
エンコーダ波形をオシロスコープで確認したところ、片側のモータのA層が全く検出されず、それ以外にもパルス抜けが見られた(詳細は不具合報告に記載)。
5.RaspberryPi
5.1. 構成素子
- ソケット(8ピン)×1
- 4ピン端子(オス)×3
- 2ピン端子(オス)×3
- 20×2列ピンソケット×1
5.2. 完成図
以下に完成図を示す。(a)が半田面、(b)が端子面であり、端子面を上にして接続する。ジャンパ線やメッキ線は半田面のみに配線し断線・短絡のリスクを下げ、端子を追加する可能性も考慮し、基盤の空きに余裕を作ってある。
fig.7 RaspberryPi基盤表
fig.8 RaspberryPi基盤裏
5.3. 単体機能試験
Raspberry Pi のセットアップとデバイス接続(
MIRSMG4D-SYST-0004)、Raspberry Pi での動作試験(
MIRSMG4D-SYST-0008)を参考にテストプログラムを用いたWebカメラでの識字、超音波センサでの距離計測を行った。
fig.9 RaspberryPi動作試験
5.4. 動作確認
超音波センサがある位置を基準に障害物を離していき、障害物のある位置と超音波センサの計測を記録した。
結果をTable.2に示す。
Table.2 RaspberryPi動作試験結果
Table.2中のEは測定不能を意味する。
Table.2 より超音波センサの計測値と実際の距離には(実際の距離)=(超音波センサの計測値)-10[cm]の関係があることが分かった。
また、超音波センサの有効測定距離は左:15~150、右:15~144の範囲である。
5.5. 作業中の不具合
目立った不具合はなく、正常に動作した。
6.電源ボード
回路図と押しボタンスイッチの仕様書を以下に示す。
fig.10 電源ボード回路図
fig.10は(
電子機械設計・製作Ⅰ 電源ボード製作手順)から引用
fig.11 押しボタンスイッチ仕様書
fig.11は(
PUSH SWITCH PS-85S)から引用
6.1.下書き
下書き用紙に基盤の結線の下書きをした。
その後、基盤自体にも紙に書いたようにマジックで下書きをし、素子の配置や向きを間違えないように確認しながら半田付けした。
6.2.はんだ付け
もう一度正しく取り付けられたか確認しながら、ジャンパ線とリード線を半田付けした。
完成した電源ボードを以下に示す。
fig.12 電源ボード完成図裏
fig.13 電源ボード完成図表
6.3.エンコーダ付きモータの加工
エンコーダ付きモータにまとまってついている6本の線から6PINコネクタを切り取った。その後、赤色と黒色の線に2PINコネクタが繋がっている線を、茶色、緑色、青色、紫色の線に、
4PINコネクタが繋がっている線を熱収縮チューブを用い取り付けた。このとき順番に注意しなければならない。
fig.14 コネクタとの結合部
7.メカ
標準機組み立て手順書(
MIRSMG4D-MECH-0003)に従い、標準機の組み立てを行った。
以下の手順で機体の加工・組み立てを行った。作業時に工夫した点も合わせて記載する。
7.1. 部品加工
まず部品の加工を行った。3Dプリンタで作成された長支柱、短支柱の上下2ヶ所にM5タップ加工を行った。後に、下段シャーシの電源ボード固定用の穴をボール盤を用いてφ3.5の穴を4ヵ所開けた。
fig.15 タップ加工を施した長支柱
7.2. ねじ・スペーサーの用意
標準機組み立て手順書に表記されている、ねじ・スペーサーの必要数の表に従い、指定された数を準備する。スプリングワッシャー・ナットは取り付け箇所によって必要の有無が異なるので注意して準備する。
また、ねじの長さが異なると十分に固定できないことがあるので確認して用意する。
7.3. 下段シャーシの組み立て
まずタイヤの組み立てを行う。太いタイヤ1つと細いタイヤ2つを使用し、太いタイヤの中に細いタイヤ2本を並べて入れる。次に、太いタイヤにホイールを取り付ける。このとき、ホイールが樹脂製であることを考慮し、
あまり強い力をかけないようにして破損しないように注意する。
次に、モータマウントサポート、モータマウントをモータに取り付け、モータマウントのみモータに取り付ける。その後、モータのシャフトにタイヤを取り付け、
モータマウントサポート、モータマウントを下段シャーシにM5のキャップボルトで取り付ける。
長支柱、短支柱をM5キャップボルト、駆動用バッテリーホルダーをM3ねじとナット、ボールキャスター(2個)を
M2.6ねじとナットで下段シャーシに取り付ける。
fig.16 下段シャーシとモータマウントの取り付け
7.4. 中段シャーシ組み立て
制御用バッテリーホルダー、超音波センサマウントをM3ねじとナットで取り付ける。
次に、中段シャーシと短支柱をM5キャップボルトで取り付ける。
fig.17 中段シャーシと下段シャーシの取り付け状態
7.5.制御ボードの取り付け
下段シャーシにモータドライバ、電源ボードをねじ、ナットで固定し、中段シャーシにArduino,RaspberyPiをネジ、ナットで固定する。
fig.18 RaspberryPiの取り付け状態
fig.19 電源ボード、モータドライバと下段シャーシの取り付け
7.6. 上段シャーシ(拡張部)組み立て
上段シャーシ(アクリル製)と長支柱をM5キャップボルトで取り付ける。
7.6. バッテリーの取り付け
下段シャーシに駆動用バッテリー、中段シャーシに制御用バッテリーをそれぞれのバッテリーホルダーに取り付ける。
fig.20 完成した標準機
以上の作業を行い、標準機の組み立てを行った。
8.全体評価
以下の手順で、RaspberryPiとArduinoを接続しての動作テスト、標準機にボードを組み込んでの動作テスト、直進ゲインの調整を行った。
動作テストに使用したプログラムはRaspberryPi ソフトウェア ソースコード(
MIRSMG4D-SOFT-0006)、Arduino ソフトウェア ソースコード(
MIRSMG4D-SOFT-0003)を参照。
8.1. RaspberryPiからArduinoへのモータ動作テスト
Arduinoの動作モードをSlaveモードにしてArduinoとRaspberryPiをUSBケーブルで接続する。
RaspberryPi側からプログラムを実行して動作テストを行った
(この際、誤って実験用のRaspberryPiのプログラムをダウンロードし、test_vel_ditにより動作を確認したことが後の不具合の原因になった)。
Raspbianのコマンドライン上からプログラムを実行してArduinoと通信してモータが動作することを確認できた。
8.2. 標準機に組み込んでの走行テスト
RaspberryPiとArduinoを標準機に搭載し、test_requestにより実際に走行を確認する
(組み込みの手順は9節にて示したため割愛する)。
それに伴いRaspberryPiはモバイルバッテリーから給電した。
コマンドの実行もRaspbianから直接行うのではなく、演習室のPCからsshによってRaspberryPiにアクセスして行った。
test_request実行時、実験用プログラムを使用していたため、モータが動作しない不具合が発生した(詳細は不具合報告に記載)。
最終的には無事プログラム通りの動作を確認できた。
8.3. 直進ゲインの調節
モータ直進時の動作を滑らかにするための直進ゲインKsを調節する。 KsはArduinoのプログラム(run_ctrl.ino)内で設定されているので、この値を何分の一倍、何倍…と設定して動作を確認していった。
最終的に直進時の動作が安定するのは デフォルトのKs = 5 に対して、4.7 < Ks < 5.3 程度だった。 Ksが小さくなりすぎると、左右のモータの差が補正しきれずにカーブしてしまい、
逆にKsが大きくなりすぎると補正量が大きくなりすぎ、補正が激しくがたがたと揺れ動いて安定しなかった。
9.不具合報告
MIRS1703 管理台帳へ戻る