JY61指令校准方法.docxVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
磁场校准方法: 将模块安装到设备中固定,并放置于原理 分别将三轴磁场偏移值设置为0.发送指令如下: 0xff 0xaa 0x0b 0x00 0x00 0xff 0xaa 0x0c 0x00 0x00 0xff 0xaa 0x0d 0x00 0x00 注意每条指令需间隔100ms 开始统计三轴磁场强度的最大值和最小值,分别计为 HxMax,HxMin,HyMax,HyMin,HzMax,Hzmin。 校准的方式有两种,一种是平面校准,一种是三维校准。平面校准适用于模块在平面内工作,俯仰和滚转为小角度变化的情况,这种可以用平面校准法。如果俯仰角和滚转角变化较大,则需要用三维校准法。 平面校准法: 将模块放平,绕Z轴缓慢旋转360°,同时统计三轴磁场的最大值与最小值,直至最大值与最小值不在发生变化。 三维校准法: 先绕X缓慢旋转360°,再绕Y轴缓慢旋转360°,再绕Z轴缓慢旋转360°,最后再随意旋转几圈,同时统计三轴磁场的最大值与最小值,直至最大值与最小值不在发生变化。 计算磁场偏移值,偏移值为最大值与最小值相加的一半。 HxOffset = (HxMax+HxMin)/2; HyOffset = (HyMax+HyMin)/2; HzOffset = (HzMax+HzMin)/2; 将偏移值写入模块的寄存器,分别发送指令如下: 0xff 0xaa 0x0b HxOffsetL HxOffsetH 0xff 0xaa 0x0c HyOffsetL HyOffsetH 0xff 0xaa 0x0d HzOffsetL HzOffsetH 注意每条指令需间隔100ms。其中HxOffsetL为第4步中算出的x轴误差的低字节,HxOffsetH为第4步中算出的x轴误差的高字节,HyOffsetL, HyOffsetH, HzOffsetL, HzOffsetH同理。 保存当前配置。发送指令0xff 0xaa 0x00 0x00 0x00; 加速度校准方法: 分别将加速度三轴的偏移值设置为0。发送指令如下: 0xff 0xaa 0x05 0x00 0x00 0xff 0xaa 0x06 0x00 0x00 0xff 0xaa 0x07 0x00 0x00 注意每条指令需间隔100ms 将模块放置水平。 读取当前加速度的数值,为了计算准确,可多次读取后取平均。记下当前的三轴加速度值,分别为ax0,ay0,az0. 计算加速度的常值偏差。模块水平放置的时候,模块的三轴加速度输出应该为【0g,0g,1g】,转换为传感器的输出值就是【0,0,2048】。那么三轴加速度的误差值为:e =【ax0,ay0,az0-2048】。 将三轴的加速度偏移值写入寄存器,分别发送指令如下: 0xff 0xaa 0x05 exL exH 0xff 0xaa 0x06 eyL eyH 0xff 0xaa 0x07 ezL ezH 注意每条指令需间隔100ms。其中exL为第4步中算出的x轴误差的低字节,exH为第4步中算出的x轴误差的高字节,eyL,eyH,ezL,ezH同理。 保存当前配置。发送指令0xff 0xaa 0x00 0x00 0x00; 读取寄存器方法: 往READADDR(0x27)寄存器里写入需要读取的地址,比如要读取0x05寄存器,那么给模块发送指令:0xff 0xaa 0x27 0x05 0x00 模块收到指令以后,将返回数据包0x55 0x5f D1L D1H D2L D2H D3L D3H D4L D4H SUM 其中D1是刚才写入的寄存器的内容,D2、D3、D4分别是D1后面的寄存器的内容。比如刚才写入READADDR的内容是0x05,那么D1就是AXOFFSET(0x05),D2就是AYOFFSET(0x06),D3就是AZOFFSET(0x07),D4就是GXOFFSET(0x08)。 附表: 寄存器序号: #define SAVE 0x00 #define CALSW 0x01 #define RSW 0x02 #define RRATE 0x03 #define BAUD 0x04 #define AXOFFSET 0x05 #define AYOFFSET 0x06 #define AZOFFSET 0x07 #define GXOFFSET 0x08 #define GYOFFSET 0x09 #define GZOFFSET 0x0a #define HXOFFSET 0x0b #define HYOFFSET 0x0c #define HZOFFSET 0x0d #define D0MODE 0x0e #define D1MODE 0x0f #define D2MODE 0x10 #def

文档评论(0)

156****0565 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档