-
Notifications
You must be signed in to change notification settings - Fork 31
Make MOTIONER IMU and Controller_jp
概要 | システム | 基板作成 | ストラップ作成 | 装着 | 使用 | 購入リスト | ダウンロード |
---|
トラブルシューティング | RAM project |
---|
#基板(IMUとController)作成
- 基板、パーツを注文する
- はんだステンシルマスクを作成する
- 実装
- Arduinoのスケッチをアップロードする
- キャリブレーションする
- MOTIONER IMUファームウェアをアップロードする
- mbedのプログラムをアップロードする
- XBee Wi-Fiをセットアップする
- ケーブルを作成する
-
パーツを注文します。詳しくはパーツリストを参照してください。
- 基盤の実装注文を行う場合も、自作する場合も、各パーツとも多めに購入する事をお勧めします。
-
MOTIONERのEagleファイルをダウンロードし、お使いのPCBサービスで基板を注文してください。
-
FusionPCBを利用する場合
-
seeedstudio.comのサイトからEagleデザーンルールをダウンロードします。
-
MOTIONERIMU.brd
をEagleで開きます。 -
File > CAM Processor
を選択し、さらにFile > Open > Job…
を選択してFusion Eagle/Seeed_Gerber_Generater_v0r95_DrillAlign.cam
開きます。 -
Process Job
ボタンをクリックします。 -
出力されたファイルの中から下記拡張しのファイルのみを集めて、一つのフォルダにまとめてzip形式で圧縮します。:
*.GTL
*.GBL
*.GTS
*.GBS
*.GTO
*.GBO
*.TXT
-
FusionPCB siteのページに行き、
Choose File
ボタンをクリックします。 先ほどzip形式で圧縮したファイルを選択してアップロードしてください。 -
PCB Thicknessは0.8 mmに、PCB Dimensionは5x5cmに、Quantityは少なくとも20以上で、必要に応じて増やしてください。
-
Add to Cart
ボタンをクリックしてください。 -
同様に
MOTIONERController.brd
のガーバーデータも作成します。手順は先ほどと同じです。 -
こちらはPCB Thickness1.0~1.2mm程度に、PCB Dimensionは10x10cm、Quantityは10にしてください(実際に使用するのは1枚ですが、FusionPCBでは10枚からのオーダになります)。
-
Add to Cart
をクリックし、全ての注文を確定してください。 -
多くの場合は2週間程度で基板が到着します。
-
-
P板.comを利用する場合
-
基盤製造注文
-
P板.comのページに行き、1-Click 見積もりボタンを押します。
-
以下の画像のように、記入欄に記入します。(製造枚数、リピート製造枚数、レジスト色は任意に設定してください)
-
コースを選んで注文手続きに進んでください。
-
注文手続きの際、製造ファイル登録の箇所でファイルを選択をクリックして、
MOTIONERIMU_pban.zip
をアップロードしてください。
-
-
実装注文
-
P板.comのページに行き、1-Click 見積もりボタンを押します。
-
基盤製造注文の記入に加えて、以下の画像のように記入してください。(実装枚数は任意に設定してください)
-
コースを選んで注文手続きに進んでください。
-
実装ファイル登録の箇所で、「部品リスト」では
MOTIONERIMU_pban_Implementation/partslist.xls
を、「実装図」ではMOTIONERIMU_pban_Implementation/MOTIONER+IMU_face layout.pdf
を、メタルマスク用ガーバーデータではMOTIONERIMU_pban_Implementation/fabricationData.zip
をアップロードしてください。
-
-
- 基板に塗布するクリームはんだのマスク用のステンシルを作成します。
-
circuit/eagle/v051/imu/MOTIONERIMU.brd
を開きます。 -
Eagleで
ULP
ボタンを押します。 -
circuit/stencil/cream-dxf.ulp
を開きます。 -
"Run"ボタンを押します。
.dxf
ファイルがcircuit/eagle/v051/imu/
フォルダに出力されます。 -
MOTIONERNode-tcream.dxf
のみを利用します。 Adobe Illustratorなどの、カッティングマシーンが対応しているアプリケーションでファイルを開いてプリント(カット)してください。cutting machine。
-
クリームはんだを基板に塗布します。
-
クリームはんだを塗布する基板と同じ厚みの基板を四方に置き、しっかり中央の基板を挟み込んでから周囲の基板をテープで止めます。
-
はんだマスクを基板の上に置いてテープで止めます。マスクの全ての穴から銀色のパターンが見える様に注意深く調節してください。
-
スキージ等でクリームはんだを塗布します。多すぎず、少なすぎずなるべく一度に全てのパターンを塗りつぶします。
-
余分なはんだをスキージを縦にした状態で掻き取ります。力強くやり過ぎると必要なはんだまで無くなってしまい上手くいきません。
-
全てのパーツを基板上に慎重に置いていきます。
-
Eagleの配線図とパーツリストを確認しながら全てのパーツを精密ピンセットで置いていきます。
-
0.1uFのコンデンサなど、背が低く数の多いパーツから始めていく事をお勧めします。
-
LEDと各種ICには向きがあるため正しい向きに置く様に注意してください。
-
パーツを置いたらピンセットでパーツの上から軽く押さえて固定します。
-
もしチップ部品やICがパターンからずれてしまった場合はピンセットで優しくずらして位置を合わせます。特にMPU6050とHMC5883Lに関しては確実にパターンの中心にパーツを置く様にしてください。
-
-
ホットプレートで基板をリフローします。
-
ホットプレートの上にパーツを乗せ終わった基板を置きます。
-
180Cで3分間余熱(プレヒート)します。
-
温度を230Cに設定します。
-
クリームはんだを観察します。
-
何秒かするとクリームはんだが溶け始めます。
-
すべてのはんだが溶け切ったら、30秒間待ってからホットプレートの電源を切り、冷えるまで待ちます。
- 冷ます前に取り出す場合は、パーツがずれない様に注意してください。また、火傷に注意してください。
-
-
全てのピンにはんだのブリッジがない事を確認します。隣りあったピンとはんだで繋がっていないかチェックします。
-
テスターで全てのICの隣り合ったピン同士を調べるのが簡単です。中にはパターン上で繋がっているピン同士もあるため配線図も参照してください。
-
もしはんだブリッジを見つけた場合ははんだ吸い取り線で取り除きます。
-
-
ピンソケットを半田付けします。
- 1x6ピン
- 2x3ピン
- 1x2ピン
- Arduinoソフトウェアをインストールします。 詳しくはGetting Started with Arduinoを参照してください。
- ◎お使いのPCの環境によってはFTDIドライバというソフトをインストールする必要があります。ArduinoをPCとUSBケーブルで接続した場合にPCがポートを認識できない場合はFTDI社ウェブサイトからドライバを入手してインストールしてください。
- MOTIONER Arduinoスケッチをダウンロードします。
-
MOTIONER/Arduino/Libraries
フォルダをArduinoの/Libraries
フォルダにコピーします。
-
"Arduino ISP"を作成します。
- Arduino Duemilanoveを使って作成する場合
-
下記イメージのとおりにジャンプワイヤーをArduino Duemilanoveに繋ぎます。
-
120Ωの抵抗を下記イメージの通りに差し込みます。
-
完成したArduino ISPをコンピュータに接続します。
-
メニューの
Tools > Board >
からArduino Duemilanove w/ ATMega328
を選択します。 -
作成したArduino ISPのシリアルポートを
Tools > Board
から選択します。 -
メニューから
File > Examples > Arduino ISP
を選択します。 -
Arduino ISPスケッチが開かれるので、
File > Upload
を選択してスケッチをアップロードします。
-
- Arduino Unoを使って作成する場合
-
下記イメージのとおりにジャンプワイヤーをArduino Unoに繋ぎます。
-
10μFのコンデンサを下記のイメージ通りに差し込みます。
※ シールド基盤を作成しても良いでしょう
-
完成したArduino ISPをコンピュータに接続します。
-
メニューの
Tools > Board >
からArduino Uno
を選択します。 -
作成したArduino ISPのシリアルポートを
Tools > Board
から選択します。 -
メニューから
File > Examples > Arduino ISP
を選択します。 -
Arduino ISPスケッチが開かれるので、
File > Upload
を選択してスケッチをアップロードします。
-
- Arduino Duemilanoveを使って作成する場合
-
ブートローダーを書き込みます。
- MOTIONER IMUの2x3列のピンソケットにArduino ISPのジャンプワイヤーを接続します。
- 上記図では茶色のケーブルがIMUの左側に来る様になっています。向きに注意してください。Arduino ISPのVCCから出ているワイヤーと、IMUのVCCを対応させる様に接続します。Eagleの配線図も参照してください。正しく接続されると、基板左下のMCP2551の隣のLEDが点灯します。
-
Tools > Board >
からArduino Pro or Pro Mini (5V, 16MHz) w/ ATMega328
を選択します。 - Arduino ISPのシリアルポートを選択します。
-
Tools > Programmer >
からArduino as ISP
を選択します。 -
Tools > Burn Bootloader
をクリックします。- ブートローダーが書き込まれるまでにしばらく時間が掛かります。
- MOTIONER IMUの2x3列のピンソケットにArduino ISPのジャンプワイヤーを接続します。
-
Arduino/LEDandSerialDebug/LEDandSerialDebug.ino
スケッチをArduinoソフトウェアで開きます。 2.Arduino Pro or Pro Mini (5V, 16MHz) w/ ATMega328
をTools > Board >
から選択します。 - USB Mini BケーブルとFTDI Basic Breakout 5Vを繋げてMOTIONER IMUをコンピュータに接続します。FTDI Basic Breakoutの向きに注意してください。正しく接続されるとLEDがひとつ点灯します。
- 正しいシリアルポートを
Tools > Serial Port >
から選択します。 -
File > Upload
を選択してIMUにスケッチをアップロードします。 - 問題なくアップロードが完了すれば、IMUの右端、ATMega328Pの隣のLEDが点滅し始めます。
- Arduinoソフトウェアのシリアルモニターを開き、ボーレートは57600を選択します。 "-- MOTIONERIMU LED and serial debug --"というログが表示されます。
- これでMOTIONER IMUが問題なくArduino互換機として動作する事が確認出来ました。スケッチが書き込めない場合などは正しく動作していませんので、はんだブリッジやIC、LEDの向き等を確認してください。
-
Arduino/CANDebug/CANDebug.ino
スケッチをIMUにアップロードします。 - Arduinoソフトウェアのシリアルモニターを開きます。
- "0x55 0xAA 0x00 0xFF…"といったがログが表示されていればCAN(Controller Area Network)が正しく動作しています。"0x00 0x00…"といったログ等の場合は正しく動作していません。Arduino ISPの作成から再度行ってください。また、自作の場合ははんだブリッジやICの向き等を確認してください。
-
Arduino/IMUDebug/IMUDebug.ino
スケッチをIMUにアップロードします。 - Arduinoソフトウェアのシリアルモニターを開きます。
- シリアルモニターに表示されるログの末行に"calibration loaded from default values"と表示されていれば各センサーが正しく動作しています。
- キャリブレーションセクションに移ってください。
![](https://github.com/YCAMInterlab/MOTIONER/wiki/res/Make-MOTIONER-IMU-and-Controller/Calibrate0.png)
3. MDFとクリップを張り合わせます
![](https://github.com/YCAMInterlab/MOTIONER/wiki/res/Make-MOTIONER-IMU-and-Controller/Calibrate1.png)
4. MOTIONER IMUを[プラネジ、プラナット](http://akizukidenshi.com/catalog/g/gP-02743/)などで台座に固定します。
2. 制御部分を作成します
1. 下記のイメージのとおりに、ジャンプワイヤーで、サーボモーターとArduino Unoを繋ぎます。
![](https://github.com/YCAMInterlab/MOTIONER/wiki/res/Make-MOTIONER-IMU-and-Controller/Calibrate2.png)
2. [MOTIONER_calibration_sketch_drawings](https://github.com/YCAMInterlab/MOTIONER/wiki/downloads/MOTIONER_calibration_sketches.zip) をダウンロードします。
3. `MOTIONER_calibration_sketch_drawings/Arduino/Libraries`フォルダをArduinoの`/Libraries`フォルダにコピーします。
4. `MOTIONER_calibration_sketch_drawings/Arduino/calibrationServo`フォルダを開けて、`calibrationServo.ino`を開きます。
5. Arduino Unoをコンピュータに接続します。
6. メニューの`Tools > Board >`から`Arduino Uno`を選択します。
7. 正しいシリアルポートを`Tools > Board`から選択します。
8. `File > Upload`を選択してスケッチをアップロードします。
- キャリブレーションを行う
- MOTIONER IMUをMacまたはWindowsに接続します。
-
Arduino/IMUDebug/IMUDebug.ino
がMOTIONER IMUにアップロードされている事を確認します。 -
Processing/MagnCalibration/MagnCalibration.pde
を開きます。 0. スケッチのSERIAL_PORT_NUM
を正しいポート番号に設定します。-
地磁気センサのキャリブレーションを行います。
-
キャリブレーション用台座を使用する場合は、下記のイメージのようにMOTIONER IMUを取り付けたパーツをクリップではさみ、タクトスイッチを押して台座を1回転半以上回転させます。
-
回転させ終わったら、クリップで挟む場所を変えて、3カ所同じ事を行ってください。
- このキャリブレーションの目標は最も大きな球体を描く事です。回転させるときにIMUを向けている方角によって大きさが変わるので注意してください。詳しくは RazorAHRS Extended magnetometer calibrationを参照してください。
- 十分な数の点が描画された事を確認したら、Enter/Returnキーを押します。キャリブレーションデータはMOTIONER IMUのEEPROMに保存されます。
- 上手く行かなかった場合は'r'キーでリセットできます。
-
-
Processing/AcceCalibration/AcceCalibration.pde
を開きます。 0. スケッチのSERIAL_PORT_NUM
を正しいポート番号に設定します。- 加速度センサのキャリブレーションをします。
- キャリブレーション用台座を使用する場合は、
MagnCalibration
と同様に、MOTIONER IMUを回転させてください。 ※ 純粋な重力をサンプリングするために、IMUを非常にゆっくりと全ての方向に回転させます。このキャリブレーションの目標はXYZ全ての軸で純粋な重力の最小値と最大値を取得する事です。 - Enter/Returnキーを押します。キャリブレーションデータはMOTIONER IMUのEEPROMに保存されます。
- 上手く行かなかった場合は'r'キーでリセットできます。
-
Processing/GyroCalibration/GyroCalibration.pde
を開きます。 0. スケッチのSERIAL_PORT_NUM
を正しいポート番号に設定します。- ジャイロセンサのキャリブレーションを行います。
- IMUを絶対に動かない様にします。
- もし動かしてしまった時は
r
キーでいつでもリセットできます。 - 10秒ほど待ちます。
- Enter/Returnキーを押します。キャリブレーションデータはMOTIONER IMUのEEPROMに保存されます。
-
Processing/GyroCalibration/IMUVisualization.pde
を開きます。 0. スケッチのSERIAL_PORT_NUM
を正しいポート番号に設定します。- 画面上に現れる赤い四角形が、MOTIONER IMUの動きに合わせて動いていたら成功です。
- 赤い四角形が全く動かない場合は、キャリブレーションを始めからやり直してください。
- Arduinoを立ち上げて、
Arduino Pro or Pro Mini (5V, 16MHz) w/ ATMega328
をTools > Board >
から選択します。 - 正しいシリアルポートを
Tools > Serial Port >
から選択します。 -
Open Arduino/MOTIONERIMU/MOTIONERIMU.ino
をアップロードします。 - Arduinoのシリアルモニターを開き、
@n
コマンドをIMUに送信します。 - ノード(関節、ジョイント)IDの入力待機状態になるので
a
~r
までのいずれかの文字を送信してノードIDを設定します。IDはa
から数えて順番に0-17に割り振られています。
各関節名と関節ID、コマンドの対応は下記の通りです。
Joint Name | ID | command |
---|---|---|
HIPS | 0 | @na |
ABDOMEN | 1 | @nb |
CHEST | 2 | @nc |
NECK | 3 | @nd |
LEFT_HIP | 4 | @ne |
LEFT_KNEE | 5 | @nf |
LEFT_ANKLE | 6 | @ng |
RIGHT_HIP | 7 | @nh |
RIGHT_KNEE | 8 | @ni |
RIGHT_ANKLE | 9 | @nj |
LEFT_COLLAR | 10 | @nk |
LEFT_SHOULDER | 11 | @nl |
LEFT_ELBOW | 12 | @nm |
LEFT_WRIST | 13 | @nn |
RIGHT_COLLAR | 14 | @no |
RIGHT_SHOULDER | 15 | @np |
RIGHT_ELBOW | 16 | @nq |
RIGHT_WRIST | 17 | @nr |
これでMOTIONER IMUを使う準備ができました。
- mbedをコンピュータに接続します。
mbed/MOTIONERController_LPC1768.bin
とmbed/settings.txt
をフラッシュメモリとして認識されたmbedにドラッグアンドドロップします。 - mbedのリセットボタンを押します。
###Controllerの設定のカスタマイズ###
mbed/settings.txt
を編集することでControllerが接続するネットワーク、ControllerのIPアドレスなどを変更出来ます。変更が完了したら再度mbedにドラッグアンドドロップしてください。
- Line 1: MotionerNet > Controllerを接続するコンピュータで作成するSSIDです。
- Line 2: 192
- Line 3: 168
- Line 4: 2
- Line 5: 1 > Line 2 ~4はControllerを接続するコンピュータのIPアドレスです。(例では192.168.2.1)
- Line 6: 192
- Line 7: 168
- Line 8: 2
- Line 9: 103 > Line 6 ~9はControllerのIPアドレスです。2代目以降のControllerではLine 9の数字を104や105など、Line 4、0、255以外の異なる値に変更する必要があります。(例:192.168.2.104)
* Windowsのみ * Macユーザーの方はシリアルターミナルソフトを使う事でXBeeWiFiの設定を行う事が出来ます。(e.g. CoolTerm.app)
-
XBee Wi-Fi Explorer USBを作成します。
- XBee Wi-Fiは起動時に大量の電力を消費します。その為モデムのリセットを防ぐ為に470uFのコンデンサをsparkfun XBee Explorer USBのVCCとGNDピンの間に接続する必要があります。
-
最新版のX-CTUをDigi Internationalのwebサイトの
Support > Diagnostics``Utilities and MIBs > X-CTU(from list) > Select this product > XCTU ver x.x.x.x installer
からダウンロードします。 -
先ほど作成したXBee Wi-FiエクスプローラをWindowsに接続します。ドライバが自動的にインストールされます。
-
X-CTUを起動します。
-
正しいcom portがPC Settingsタブで選択されているか確認します。Windowsのデバイスマネージャーから正しいCOMポートを確認する事が出来ます。
-
baudrateから9600を選択して
Test/Query
ボタンをクリックします。 -
モデムへの接続が確認出来たら、
ModemConfiguration
タブを選択します。 -
Read
ボタンをクリックして、/MOTIONER/XBee/MOTIONER_XBeeWiFi_settings.pro
を読み込みます。 -
必要であればIPアドレスを変更します。(Default is 192.168.20.5).
-
Write
ボタンをクリックします。- もし失敗したらcom portとbaudrateをPC settingsタブから確認します。
- MOTIONER IMUのデフォルトのbaudrateは115200のため、一度書き込み終をした後はbaudrateから115200を選択する必要があります。
下記行程を計18本分繰り返します。
- 適切な長さにケーブルを切断します。
- ケーブルの先端の被服をワイヤーストリッパーなどで剥きます。
- JST PHコネクタ用コンタクトをケーブルに圧着工具で圧着します。
- コンタクトを下記の図の順番の通りにPHコネクタに差し込みます。
ピン配列
--
This Document by YCAM InterLab, Yoshito Onishi is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.