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:

正常情況下會看到模組節點(例如 pogo.canbaro 為氣壓計),Mode 為 OPERATIONAL,Health 為 OK。
檢視詳細協定數據¶
按下 Inspector 按鈕,可看到模組傳送的所有 DroneCAN 訊息:

範例輸出:
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_DRIVER 與 CAN_D1_PROTOCOL
4. 是否重啟了飛控
Q: Inspector 出現訊息但 Status 看不到 press_abs2?
A: 確認 ArduPilot 韌體版本支援該模組(部分舊韌體未啟用 secondary baro)。可嘗試設定 BARO2_DEVID 對應 DroneCAN ID。