DroneCAN 氣壓計設定

SparkNavi Blue 內建 2× CAN FD 介面(CAN1 / CAN2),完整支援 DroneCAN(原 UAVCAN)協定的氣壓計、GPS、ESC 等週邊。本指南以 DroneCAN 氣壓計模組為例。


硬體接線

將 DroneCAN 氣壓計模組接於 SparkNavi Blue 的 CAN1 或 CAN2 連接器。

CAN 連接器腳位:

Pin 信號 說明
1 +5V 5V 周邊電源
2 CAN_H CAN 高電位線
3 CAN_L CAN 低電位線
4 GND 接地

ArduPilot 端啟用 CAN

於 Mission Planner Config → Full Parameter List,設定:

參數 數值 說明
CAN_P1_DRIVER 1 啟用 CAN1 驅動
CAN_D1_PROTOCOL 1 (DroneCAN) 通訊協定設為 DroneCAN
CAN_P2_DRIVER 1 啟用 CAN2 驅動
CAN_D2_PROTOCOL 1 (DroneCAN) 通訊協定設為 DroneCAN

設定完成後 重啟飛控


確認模組上線

於 Mission Planner Setup → Optional Hardware → DroneCAN/UAVCAN,按下 MAVlink-CAN1:

DroneCAN/UAVCAN 介面

正常情況下會看到模組節點(例如 pogo.canbaro 為氣壓計),Mode 為 OPERATIONAL,Health 為 OK


檢視詳細協定數據

按下 Inspector 按鈕,可看到模組傳送的所有 DroneCAN 訊息:

UAVCAN Inspector

範例輸出:

ID 10 - pogo.canbaro ~1116Bps
  ardupilot_indication_NotifyState (20.0 Hz)
  ardupilot_indication_SafetyState (2.0 Hz)
  uavcan_equipment_air_data_StaticPressure (80.5 Hz)  ← 氣壓計即時資料
    static_pressure         101078.9 Pa
  uavcan_equipment_air_data_StaticTemperature (80.4 Hz)
    static_temperature      308.25 K
  uavcan_equipment_safety_ArmingStatus (2.0 Hz)
  uavcan_protocol_NodeStatus (2.0 Hz)

驗證資料寫入飛控

最後在 Mission Planner Status 頁面,應該能看到:

  • press_abs2:第二顆氣壓計絕對壓力(來自 DroneCAN 模組)
  • press_temp2:第二顆氣壓計溫度

數據持續更新即表示 CAN 通訊正常運作。


常見問題

Q: 按 MAVlink-CAN1 後沒有任何節點出現?

A: 檢查: 1. 接線是否正確(CAN_H / CAN_L 不可接反) 2. CAN 終端電阻是否正確(120 Ω,通常模組內建) 3. 是否同時啟用了 CAN_P1_DRIVERCAN_D1_PROTOCOL 4. 是否重啟了飛控

Q: Inspector 出現訊息但 Status 看不到 press_abs2?

A: 確認 ArduPilot 韌體版本支援該模組(部分舊韌體未啟用 secondary baro)。可嘗試設定 BARO2_DEVID 對應 DroneCAN ID。


進階參考