CAN Compass – CAN接口RM3100电子罗盘模块

产品概述

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总线设备挂载方式;

采购链接

淘宝链接YJUAV CAN Compass

规格参数

规格项参数值
处理器STM32F3 主频72Mhz
传感器工业级RM3100
实时系统ThreadX
数据速率80Hz
通信协议DroneCAN/UAVCAN
飞控类型Ardupilot/PX4
接口类型GHR-04V-S
工作电压5V
工作温度-20 to 85℃
尺寸23.2*28.2*12.5mm
重量11.7g

接口说明

根据接口线序接入到飞控硬件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 Compass,查看步骤:初始设置 -> 必要硬件 -> 指南针。

磁罗盘列表中会多出一个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_node_id:CAN节点ID,值默为0,表示由飞控自动分配ID。其他值则是设置为一个固定的ID值。

can_res:CAN终端电阻开关,值默为0,表示关闭设备的终端电阻,值为1,表示打开设备的终端电阻。

CAN模块内部参数设置方法,请参考文章“CAN模块接口配置”;

注意:目前PX4固件对于所有CAN外设,只有CAN1口才能修改设备本身参数,接入到CAN2口的无法设置。

电子罗盘高级设置

更多关于电子罗盘的高级设置,请参考文章“电子罗盘高级设置“,如电子罗盘校准、电子罗盘优先级设置等等;