ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

惯性传感器的寄存器配置

2021-09-15 12:33:17  阅读:270  来源: 互联网

标签:陀螺仪 惯性 WriteRegister +- 传感器 寄存器 CONFIG define


一. 陀螺仪

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)。

标签:陀螺仪,惯性,WriteRegister,+-,传感器,寄存器,CONFIG,define
来源: https://blog.csdn.net/weixin_40525909/article/details/108559037

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有