リセット・FW更新・トラブル対処

対象:IMU600-V2/FW 0.11.2/GUI v1.6.1。

MCLR外部リセット

J1 pin 17をLowにして開放するとハードウェアリセットします。基板上10 kΩで3.3 Vへプルアップされているため、外部はLowにするだけです。5 VやプッシュプルでHighを駆動せず、未使用時は開放します。

方式 接続
A. 常開ボタン MCLR → 470 Ω → switch → GND
B. N-MOSFETオープンドレイン MCLR → 100–470 Ω → drain、source → GND。GPIO → 100 Ω → gate、gateを100 kΩでプルダウン。2N7002等、ホストGPIOは3.3/5 V対応
C. 3.3 VオープンドレインGPIO MCLR → 470 Ω → open-drain GPIO

MCLRボタン/MOSFET回路例

MCLRボタン/MOSFET回路例

  • Lowを10 µs以上、推奨1–10 ms保持します。Lowを維持するとリセット状態が続きます。MOSFET回路ではGPIO Highがリセット、Lowが通常動作です。
  • 直列抵抗を残します。ノイズが多い場合は抵抗の外部側へ1–10 nFをGNDに追加し、MCLRへ大容量を直結しません。約30 cm超または外部露出配線では3.3 V TVSを検討します。
  • 開放後bootloaderが約120 ms待ち、IMU初期化に約250 msかかります。保存設定を読み、ts_usは0、AHRSは再アラインメントするため約1秒静止します。INFOのSPNVRESETでEXTR(MCLR)を確認できます。

ソフトウェア再起動は$SPNVCMD,BOOT,1で、同様に保存設定を読み込みます。

通常のFW更新

SparkNavi提供の暗号化・署名済み.spfwをGUI/UART1で更新します。設定と6面校正は別flashにあり、資料では更新後も保持されます。機器のハードウェア・製造ロットに適合するファイルを使用します。

  1. 現在の速度・ASCIIまたはbinaryモードでGUI接続します。
  2. File → Firmware Updateで.spfwを選び、版、対象ハードウェア、作成時刻と装置の現在版を確認します。
  3. 更新を開始します。bootloaderへ入り、460800で転送・検証後に再接続します。更新中は電源と接続を維持します。
  4. 新FW版を表示で確認し、CFG/CALを読み出して設定と出力を確認します。

救援更新

更新が途中で止まった場合、bootloaderから抜けられない場合、またはデータが出力されない場合に使います。不明設定を回復する20秒のBoot Rescueとは別機能です。

  1. GUIを未接続状態にしてCOMを選択します。
  2. File → Firmware Update → .spfw選択 → Rescue Updateを実行します。
  3. 30秒以内に再通電またはMCLRリセットし、GUIが起動ウィンドウで更新を開始できるようにします。
更新エラー 対処
キー/ハードウェア不一致 SparkNaviから適合.spfwを取得
検証失敗 元ファイルを再取得し救援更新で再試行
PICkitのみ対応 開発用FWのためSparkNaviへ連絡

トラブル対処

症状 確認と対処
接続不可/データなし +5 V、TX/RX交差、共通GND、COMを確認しGUI速度検出を使用
文字化け 速度確認。binaryはGUIで解析、文字端末ならMODE,ascii
再起動で設定が戻る ApplyはRAMのみ。SAVE,1を実行
保存設定が不明 GUI Parameters → Boot Rescue後20秒以内に再通電
uart_drop / u2_drop ↑ RATE/項目削減、binary化、該当速度増加。帯域表参照
status 16 / SATURATED 測定範囲飽和。運動、衝撃、振動を確認
status 32 / 44 起動直後は初期化。動作中に繰り返す場合は電圧低下確認
status 8 / 12 REINIT,1。継続時はSparkNaviへ連絡
status 128 PPSマーカー。品質判断はstatus & 0x7F
Yawドリフト 絶対方位源なし。手動HDGまたはホストで外部方位を融合
AHRS flags bit4 アラインメント中移動。静止後AHRS,reset
PPS NO_SIGNAL pin 13、3.3 V、立ち上がり、GND、1 Hzを確認
PPS ACQUIRING 999–1001 ms間隔、GPS PPSとノイズを確認。STAT,1で状態取得
無反応が続く MCLRがLow固定でないか確認。更新中断時は救援更新
SPNVHALT INFO応答を添えSparkNaviへ連絡
トリガー出力なし 初回エッジは基点のみ。pin 15/trig_cnt確認、不要時TRIG,0
trig_rej ↑ 0.5 ms未満のノイズ。短い配線、共通GND、プッシュプル3.3 V
PreArm: Gyro n rate … このBlue2構成はRATE,1000とSAVE,1が必要
IMU600未検出 専用FW、SPI,ardupilot、SPICK,3、pin 6/8/10/12とtxn増加を確認
IMU600: SPI is in stream mode SPI,ardupilotへ変更してSAVE
高レート時GUI表示不正確 UART帯域を確認しSPIは別評価。飛行制御接続時はOUT/AHRS/U2OUTを停止可能

SparkNaviへの連絡

INFO,1・CFG,1の全応答、FW/GUI版、配線・動作条件、GUI記録の生.binファイルを添えてethan@robotlab.com.twへ連絡してください。

更新通信とbootloader待機

仕様ではBOOT,1のACK後bootloaderへ再起動し、460800 bps・8N1でHELLOを約1.5秒待ち、通常文字は出しません。更新要求がなければアプリへ戻ります。MCLR通常起動や初期値と異なる通信設定から復旧するための500 msのFACTORY受付時間とは別です。

更新中断やアプリ異常ではbootloaderが救援待機を継続できます。更新用通信形式は本仕様では非公開のため、自作更新ツール統合はSparkNaviへ問い合わせてください。

通信詳細はプロトコルv1.1、19–26ページにも基づきます。プロトコル概要を参照。


原資料:IMU600-V2 User Manual v1.1 · PDFページ 35–40

原ページを読む · 3資料の章対応と相違点

このカテゴリの概要 · 設定ガイド一覧