MPU6050-扫盲

文章部分内容转载于:https://blog.csdn.net/zmjames2000/article/details/88379640

管脚名称说明
VCC3.3-5V(内部有稳压芯片)
GND地线
SCLMPU6050作为从机时 IIC 时钟线
SDAMPU6050作为从机时 IIC 数据线
XCLMPU6050作为主机时 IIC 时钟线
XDAMPU6050作为主机时 IIC 数据线
AD0地址管脚,该管脚决定了 IIC 地址的最低一位
INT中断引脚

当 AD0 管脚接低电平的时候,从机地址是 0xD0。

从 MPU6050 的寄存器中 ,我们可以得到答案,MPU6050 作为一个 IIC 从机设备的时候,有 8 位地址,高7 位的地址是固定的,就是 WHO AM I 寄存器的默认——0x68,最低的一位是由 AD0 的连线决定的。

我们还需要将那些数据根据数学方面的东西转化为姿态有关的四元数和欧拉角。

这个过程有两种办法,一种你可以去学下数学,然后编程把我们上面获取的原始数据转化为四元数和欧拉角;

另一种是直接用MPU6050 内部的 DMP。

这里我们介绍后者。
DMP 是什么意思? DMP 就是指 MPU6050 内部集成的处理单元,可以直接运算出四元数和姿态,而不再需要另外进行数学运算。DMP 的使用大大简化了四轴的代码设计。DMP 是数字运动处理器的缩写,顾名思义 mpu6050 并不单单是一款传感器,其内部还包含了可以独立完成姿态解算算法的处理单元。如在设计中使用 DMP 来实现传感器融合算法优势很明显。首先,invensense 官方提供的姿态解算算法应该比像楼主这样的小白要可靠的多。其次,由 DMP 实现姿态解算算法将单片机从算法处理的压力中解放出来,单片机所要做的是等待DMP 解算完成后产生的外部中断,在外部中断里去读取姿态解算的结果。这样
单片机有大量的时间来处理诸如电机调速等其他任务,提高了系统的实时性。

四元数就是 4 个数,经过 DMP 或 数学+软件 你就可以得到四元数,四元数就是 4 个数,可以表征姿态,经过几个数学公式之后就可以的出姿态,姿态包括 pitch,roll,yaw。


这里也需要参照另外一个博客 https://blog.csdn.net/wangwangmoon_light/article/details/52207405

MPU6050初始化的步骤:
1)初始化IIC接口
初始化与MPU6050连接的SDA和SCL数据线
2)复位MPU6050,让MPU6050内部的所有寄存器恢复默认值
通过对电源管理寄存器1(0x6B)的bit7写1实现,复位后,电源管理寄存器1恢复默认值(0x40),然后必须设置该寄存器位0x00,以唤醒MPU6050,进入正常工作状态。
3)设置角速度传感器和加速度传感器的满量程范围
设置两个传感器的满量程范围(FSR),分别通过陀螺仪配置寄存器(0x1B)和加速度传感器配置寄存器(0x1c)设置,我们一般设置陀螺仪的满量程范围为±2000dps。
4)设置其他参数,关闭中断,关闭AUX IIC接口,禁止FIFO,设置陀螺仪采样率和设置数字低通滤波器等
配置中断,由中断使能寄存器(0x38)控制;设置AUX IIC接口,用户控制寄存器(0x6A)控制;设置FIFO,由FIFO使能寄存器(0x23)控制;陀螺仪采样率,由采样率分频寄存器(0x19)控制;设置数字低通滤波器,由配置寄存器(0x1A)控制。
5)配置系统时钟源并使能角速度传感器和加速度传感器
由电源管理寄存器1(0x6B)控制,一般选择x轴陀螺PLL作为时钟源,以获得更高精度的时钟。
SCL和SDA是连接MCU的IIC接口,MCU通过这个IIC接口来控制MPU6050,另外还有一个IIC接口:AUX_CL和AUX_DA,这个接口可用来连接外部从设备,比如磁传感器,这样就可以组成一个九轴传感器。
6)使能角速度传感器(陀螺仪)和加速度传感器。由电源管理寄存器2(0x6C)控制

相关寄存器的操作

1)

在这里插入图片描述

2)

在这里插入图片描述

3)

在这里插入图片描述
4)在这里插入图片描述

5)在这里插入图片描述

6)在这里插入图片描述

7)在这里插入图片描述

8)在这里插入图片描述

9)在这里插入图片描述

加速度计和陀螺仪区别.

http://m.elecfans.com/article/578850.html

一、陀螺仪

陀螺仪(Gyroscope、GYRO-Sensor)也叫地感器,传统结构是内部有个陀螺,如下图所示(三轴陀螺),三轴陀螺仪的工作原理是通过测量三维坐标系内陀螺转子的垂直轴与设备之间的夹角,并计算角速度,通过夹角和角速度来判别物体在三维空间的运动状态。三轴陀螺仪可以同时测定上、下、左、右、前、后等6个方向(合成方向同样可分解为三轴坐标),最终可判断出设备的移动轨迹和加速度。

也就是说陀螺仪通过测量自身的旋转状态,判断出设备当前运动状态,是向前、向后、向上、向下、向左还是向右呢,是加速(角速度)还是减速(角速度)呢,都可以实现,但是要判断出设备的方位(东西南北),陀螺仪就没有办法。

传统的陀螺仪属于机械式的,随技术发展,还有出现了振动式陀螺仪、激光陀螺仪、微机电机械陀螺仪等,无论是在体积微型化、测量精度和易用性上都有大大提高。

在这里插入图片描述

二、加速计

加速计(Accelerometer、G-Sensor)也叫重力感应器,实际上是可以感知任意方向上的加速度(重力加速度则只是地表垂直方向加速度),加速计通过测量组件在某个轴向的受力情况来得到结果,表现形式为轴向的加速度大小和方向(XYZ),这一点又有点类似于陀螺仪,但陀螺仪的更多关注自身旋转情况(原位运动),加速计则主要是测量设备的受力情况,也就是三轴运动情况,尽管加速计也可能在某个小范围换算出角速度的可能,但设计原理决定似乎更适合于空间运动判断。

三、加速度计和陀螺仪区别

两者看起来很接近,不过加速度计只能侦测物体的移动行为,并不具备精确侦测物体角度改变的能力,陀螺仪可以侦测物体水平改变的状态,但无法计算物体移动的激烈程度。

  • 33
    点赞
  • 209
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值