2015年6月1日月曜日

SwiftCam-M3をアップグレードしてみた IMU設定、Firmware更新編

前回の「SwiftCam-M3をアップグレードしてみた 基板搭載編」に続き、IMU設定編です。

SimpleBGC 32-bit Tinyの初期設定を行います。

SimpleBGC GUIにつないで確認したところ、FirmwareはV2.43b9でした。最新版はV2.50b2なのですが、特に新しい物が良いわけではないのでそのまま使います。

 組立て後、再度パソコンに繋いで確認するとなにか変です。答えはすぐに分かりました。IMUが本体ではなく、外付けIMUで動作しています。

 初期設定では、カメラIMUのみでフレームIMUが無効になっているので、それかなと思い有効にしたところ。両方のIMUを認識したのですが、本体IMUがフレームIMUとして認識されているではないですか!!

動作状況をまとめると

 ・本体のみ
    ・本体IMU カメラIMU

 ・2ndIMU接続後
    ・本体IMU フレームIMU
    ・2ndIMU  カメラIMU

メーカーに確認したところ、

 メインとフレームIMUの入れ替えはファームウェア2.50以降でサポートされました。
アップデートすると、"Swap frame and main sensors"項目がでてきますのでこちらにチェックを入れることで反対に使えます。2ndIMUのADDRジャンパはTiny用オンボード、メイン、フレームとそれぞれ違うIDが振られていますので切断する必要ありません。


ということで、急遽Firmwareの更新をすることになりました。

通常の32bitでもさんざん行っていますので朝飯前の予定でした。

ところが世の中そんなに甘くありません。更新ボタンを押すと、
「FLASHジャンパーを閉じてから作業を続けろ」

と出ます。今までにない作業です。かなり狼狽えています。既にフラッシュジャンパは撤去しているので今更そんなこと言われても困ります。

しかたないので、臨時ジャンパを取付けて再チャレンジ。

先ほどの「FLASHジャンパー」の作業の続きに入ります。そうです、ROM更新です。ドキドキしながらOKを押すと。またエラー
DFUモードのデバイスが見つからないよ

メーカー曰く、

TinyのアップデートにはDFUドライバーが必要です。Windowsに標準でインストールされているドライバは対応されていませんのでいかのようにDFUドライバーをインストールして下さい。

Windows:
• Zadigをダウンロード http://zadig.akeo.ie/
• Zadigを実行. “Device"メニュー から"Load preset device..”を選ぶ。


• SimpleBGC_GUIアプリ内の/conf/SimpleBGC 32bit board.cfg”を選択。
• WinUSBをインストール 

動作確認
  ・“FLASH”ジャンパーを閉じてUSBに接続(必ず接続前にジャンパーを閉じること)
  ・ Windowsが "SimpleBGC 32bit board"として新しいデバイスを認識することを確認
 自分の場合はメーカーからSTM32ボード用のドライバをダウンロードし、WindowsXP更新してしまいました。将来的にはWindows7で行わなければならないので、次回はこの方法を試そうと思います。

 やっとの思いで、ソフト更新に成功したのですが、Ver2.50b2にしても上手くSwapできない・・・・なぜだ。2ndIMUのジャンパカットしているせいか?

センサーを外すのが面倒なので、禁断のVer2.50b4を試してみる。

 おぉぉ、ちゃんと認識している!

IMUの認識が正常に終わったので、取付け向きの設定をします。

 ・Basicタブ-Sensorにて、CameraIMU かFrameIMUを選択しAUTOボタンを押すだけ。後はGUIの指示に従うだけで簡単に設定できます。

 自分の場合は、
   CameraIMU TOP:Y、RIGHT:X
   FrameIMU  TOP:Y、RIGHT:-Z
となりました。

 IMUキャリブレーションは、同じ場所のIMU Calibration Helperで出来ます。
サイコロを転がすように、前後左右に6面、CameraとFrameで同様に行います。

メイン画面に戻って、ジンバルの動作とセンサーの動きが合っていれば完了です。