惯性传感器的寄存器配置

一. 陀螺仪

1  输入数据的处理(寄存器配置)

        陀螺仪是测量角速度的传感器,量程范围可选+-250、500、1000和2000.dps就是degree per second——度每秒,传感器直接读出的数据并不是这个单位,需要进行单位转化。在下面data sheet截图中可以看到不同量程范围所对应的灵敏度,我们选择+-2000的范围时,对陀螺仪输出的值除以16.4,才是正确的(量程范围越大,精确度就越低)(+-1000的,除以32.8)

附陀螺仪寄存器的配置

#define	SMPLRT_DIV	  	0x19
#define	CONFIG			0x1A
#define	GYRO_CONFIG	        0x1B
#define	ACCEL_CONFIG	        0x1C
#define	PWR_MGMT_1	        0x6B
#define PWR_MGMT_2              0x6C

//陀螺仪ICM20602配置初始化
WriteRegister(SMPLRT_DIV,0x00);//SMPLRT_DIV,采样频率 
WriteRegister(CONFIG,0x03);//CONFIG,低通滤波
//加速度计ICM20602配置初始化
WriteRegister(GYRO_CONFIG,0x10);//GYRO_CONFIG(设置量程范围+-1000)(0x18是+-2000)
WriteRegister(ACCEL_CONFIG,0x08);//ACCEL_CONFIG(设置量程范围+-4g)

WriteRegister(PWR_MGMT_1,0x00);//PWR_MGMT_1
WriteRegister(PWR_MGMT_2,0x00);//(使能加速度计、陀螺仪)

2 去陀螺仪的零漂

       上电后静止放置产品,采集200个数据,此时的陀螺仪数据求均值就是陀螺仪的零漂,将这三个轴的值存储,并在以后的陀螺仪的三个轴的数据中,每个点都减去计算出的零漂值。

二. 加速度计

        量程范围选择的+-4g,因此输出原始数据需要除以8192,若选择了+-8g,则除以4096.(这个单位转化问题,加速度计和磁力计的数据如果会进行归一化的话,可以不做)

三. 磁力计

         选择的是+-2gauss,因此输出的值要除以12000

 单位转换:

参考文章: 

IMU之磁力计校准&地磁场&计算磁航向_wuwuku123的博客-CSDN博客icon-default.png?t=L892https://blog.csdn.net/wuwuku123/article/details/105699482

附其他内容:

9.2.4 控制寄存器

两个8位寄存器用于控制设备配置

控制寄存器1位于地址09H中,它设置有操作模式(MODE)、 输出数据更新率(ODR),磁场测量范围或传感器的灵敏度(RNG)和过采样率(OSR)。 控制寄存器2位于地址0AH中。 它控制中断引脚使能(INT_ENB),点翻转功能使能(POL_PNT)和软复位(SOFT_RST)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值