产品概述
YJUAV CAN Compass,支持DroneCAN or UAVCAN协议的电子罗盘系统。CAN总线通信方式,传输速率高达1Mbit/s。工业级电子罗盘传感器RM3100,优秀的抗干扰特性,确保精准的磁航向数据。
行业首例运行硬实时操作系统ThreadX,高效安全。完全适配开源飞控Ardupilot/PX4,接口定义符合Pixhawk硬件标准。金属CNC外壳材质。

产品特性
- CAN通信,DroneCAN/UAVCAN通信协议,实时性强,80Hz输出频率;
- 工业级地磁传感器RM3100,优秀的抗干扰特性;
- 硬实时操作系统ThreadX,高效安全;
- Pixhawk标准硬件接口定义;
- 完全适配开源飞控Ardupilot/PX4;
- 参数配置开关设备终端电阻,适应CAN总线设备挂载方式;
采购链接
规格参数
规格项 | 参数值 |
---|---|
处理器 | STM32F3 主频72Mhz |
传感器 | 工业级RM3100 |
实时系统 | ThreadX |
数据速率 | 80Hz |
通信协议 | DroneCAN/UAVCAN |
飞控类型 | Ardupilot/PX4 |
接口类型 | GHR-04V-S |
工作电压 | 5V |
工作温度 | -40 to 85℃ |
尺寸 | 23.2*19.2*12.5mm |
重量 | 8.2g |
接口说明
根据接口线序接入到飞控硬件CAN通信接口即可。产品CAN通信接口符合Pixhawk硬件定义标准。

指示灯状态
- 常亮状态 – 一直处于这个状态,表示系统存在异常,无法正常使用;
- 慢速闪烁 – 没有与飞控CAN通信,需要配置;
- 快速闪烁 – 设备正常稳定地输出数据;
使用说明
本模块可以在支持CAN接口和DroneCAN协议的飞控上使用,开源飞控支持Ardupilot固件和PX4固件;
将模块连接到飞控的CAN接口上,经过以下设置步骤即可正常使用;
模块安装
模块可使用双面胶粘贴的方式固定在无人机上,注意固定位置要远离电机、电调、电池等大功率用电设备,减少对模块的磁干扰;
注意:CAN Compass方向在外壳有标识。外置罗盘安装时,与飞控的机头方向选择可以是:0°,45°,90°,135°,180°,225°,270°,315°。
Ardupilot飞控
设置飞控参数
使用前,需要设置飞控打开了CAN总线功能,然后重启飞控;
//CAN1接口
CAN_P1_DRIVER = 1
CAN_D1_PROTOCOL = 1
//CAN2接口
CAN_P2_DRIVER = 1
CAN_D2_PROTOCOL = 1
查看飞控是否正常识别出CAN磁罗盘,查看步骤:初始设置 -> 必要硬件 -> 指南针。
磁罗盘列表中会多出一个UAVCAN类型的设备类型,即表示成功识别。如下图:

查看磁罗盘数据
在上位机的首页,打开“状态”选项卡,可以看到磁罗盘的数据,如果没有数据则代表设备工作不正常;
根据上面的磁罗盘列表里设备序号,找到对应磁罗盘的数据,如compass1对应的数据是mx、my、mz,即磁罗盘1的x、y、z三轴数据;

磁罗盘校准
校准前请注意磁罗盘模块要固定安装好,再点击“start”进行磁罗盘校准;

PX4飞控
设置飞控参数
使用前,需要设置飞控打开CAN总线功能,然后重启飞控;
UAVCAN_ENABLE = Sensors Automatic Config
UAVCAN_SUB_MAG = Enabled
注意:PX4固件运行需要确保SD卡已插入飞控里。
航向查看,按照校准方向,固定好外置罗盘、飞控位置。旋转飞机方向,航向按照正确方向运动即可。

注意:如果只单独旋转外置罗盘,而飞控不是一致的旋转,航向旋转正确,说明外置罗盘正常。航向数据看得会变得缓慢,这是因为PX4检测到当前外置罗盘与内置方向存在偏差大的情况导致的现象,不是异常情况。
查看罗盘数据
步骤1:进到Analyze Tools -> MAVLink Console。输入uavcan status命令,找到sensor mag部分文字内容。
文本表明在CAN1(channel 0)上检测到节点ID为125的罗盘,然后数据发布在SCALED_IMU2(instance 1)里。

步骤2:进到Analyze Tools -> MAVLink Inspector。默认只有一个外置罗盘的情况下,查看SCALED_IM2选项中的,xmag、ymag、zmag数值。

磁罗盘校准
校准前请注意磁罗盘模块要固定安装好,再点击“OK”进行磁罗盘校准;

模块内部参数
CAN罗盘模块内部的参数有以下三个:
参数名 | 默认值 | 参数值范围 | 参数说明 |
---|---|---|---|
CAN_HW_BAUD | 1000000 | 100000、125000、250000、500000、800000、 1000000 | 模块CAN接口通信波特率,默认为1Mbps(1000000); |
CAN_HW_RES | -1 | -1(自适应)、0(关闭)、1(打开) | 模块内部终端电阻开关与否,-1代表根据总线情况自适应终端电阻开关; |
CAN_ID | 0 | 0~127 | 设定模块ID,0代表由Dronecan协议自动分配ID; |
CAN模块内部参数设置方法,请参考文章“DroneCAN模块查看及设置内部参数”;
注意:目前PX4固件对于所有CAN外设,只有CAN1口才能修改设备本身参数,接入到CAN2口的无法设置。
电子罗盘高级设置
电子罗盘校准、电子罗盘优先级设置等等,请参考文章“电子罗盘校准及优先级设置“;