行业GPS-CAN设置说明
步骤一:物理连接 确保你的 CAN GPS 和 CAN 罗盘模块正确连接到飞控的 CAN 总线。
飞控的 CAN 接口:通常在引脚上标有 CAN_H 和 CAN_L。 连接方式:
将所有 CAN 设备(GPS、罗盘)的 CAN_H 并联到飞控的 CAN_H。
将所有 CAN 设备的 CAN_L 并联到飞控的 CAN_L。
为所有设备接好 电源(5V或9V) 和 地线(GND)。

关键点:CAN 总线是并联总线,所有设备都挂载在同一对信号线上。
步骤二:启用并配置 CAN 总线 这是基础,必须先让飞控识别到 CAN 总线。
用 USB 线连接飞控和电脑,打开 Mission Planner 并连接飞控。
进入 配置/调试 -> 全部参数表。
找到并修改以下参数:
CAN_P1_DRIVER = 1
作用:启用飞控的 CAN1 端口驱动。
CAN_D1_PROTOCOL = 1
作用:设置该 CAN 总线的通信协议。 值 1 表示使用 DroneCAN 协议,这是 ArduPilot 最常用的 CAN 协议。
修改后,点击“写入参数”,然后必须完全给飞控断电再重新上电! 这一步至关重要,CAN 总线配置需要重启才能生效。
步骤三:设置 CAN GPS 参数
重启并重新连接飞控后,设置 GPS 参数。

继续在 全部参数表 中设置:
GPS1_TYPE = 9
作用:设置主 GPS(GPS1)的类型为 DroneCAN GPS。飞控会自动扫描 CAN 总线上的 GPS 设备。
GPS_CAN_OVRIDE = 0
作用:0 表示自动检测。如果总线上有多个 CAN GPS,你可以在此指定其唯一的节点 ID(Node ID),通常先保持为 0(自动)。
步骤四:设置 CAN 罗盘(电子罗盘)参数
接下来,告诉飞控使用 CAN 总线上的罗盘。
在 全部参数表 中,找到罗盘 1 的相关参数(通常飞控自带罗盘已被设置为 COMPASS_DEV_ID1)。
我们需要添加或启用 CAN 罗盘。通常,我们会使用第二个罗盘实例(COMPASS_DEV_ID2):
COMPASS_USE2 = 1
作用:启用第二个罗盘。
COMPASS_DEV_ID2 = 1
作用:设置第二个罗板的设备类型。 值 1 表示 DroneCAN 罗盘。
COMPASS_CAN_OVRIDE2 = 0
作用:同上,0 表示自动检测 CAN 罗盘的节点 ID。如果需要指定,填入对应的 ID。
注意:如果你希望禁用飞控自带的罗盘(通常受板载电磁干扰较大),可以设置 COMPASS_USE1 = 0。
步骤五:检查、校准与验证 所有参数设置完成后,点击 “写入参数” 并再次重启飞控。
检查设备状态:
GPS:在 飞行数据 界面,查看顶部的 GPS 状态图标是否从红变黄再变绿。进入 GPS 页面查看卫星数量、定位类型和 HDOP 值。 罗盘:进入 初始设置 -> 指南针 页面。你应该能看到多个罗盘(如 Compass1, Compass2)。确保你想要的 CAN 罗盘被勾选启用(Use)。健康状态应为“健康”。
校准罗盘:
在 指南针 页面,点击 校准。按照提示,将飞机缓慢旋转至所有面(六个面),直到进度条完成。
设置罗盘优先级:
在 指南针 页面,你可以通过拖拽来调整罗盘的优先级。将外部 CAN 罗盘(通常安装在远离电机和电线的翼尖或垂直尾翼上)的优先级设为最高(拖到最上面),以确保飞控使用受干扰最小的磁力计数据。
常见问题与排查
GPS 或罗盘不显示/不健康
复查接线:确认 CAN_H/L 没有接反或短路,电源正常。 确认参数生效:确保已完成 “写入参数 -> 彻底断电重启” 的步骤。 检查节点 ID:有些 CAN 设备有固定的节点 ID。如果自动检测不到,需要查看设备说明书,并在 GPS_CAN_OVRIDE 或 COMPASS_CAN_OVRIDE2 中手动指定。
罗盘校准失败或干扰大
安装位置:确保 CAN 罗盘模块安装在远离电机、电调、电源线和舵机线的位置。 校准环境:在校准罗盘时,远离金属物体、手机、电脑等强磁场源。
飞控无法连接或参数无法写入
确保飞控处于正常模式,而非 DFU 刷机模式。
核心要点总结:启用 CAN 总线 -> 设置设备类型为 DroneCAN -> 彻底重启 -> 校准和验证。 遵循这个流程,你的 CAN GPS 和罗盘就能正常工作。
