赞
踩
MPU6050是一款集成了传感器和处理器的微型加速度计和陀螺仪模块。它由一体化的MEMS(微机电系统)加速度计和陀螺仪芯片以及数字运动处理器(DMP)组成。MPU6050可以通过I2C(Inter-Integrated Circuit)总线与微控制器进行通信,从而实现对物体的加速度和旋转角速度的检测和测量。它广泛应用于飞行器、机器人、运动追踪设备等各种需要进行准确姿态测量的领域。
mpu6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度和角速度参数。可以通过数据融合进一步得到姿态角(欧拉角)。
欧拉角:
欧拉角(Euler angles)是一种用于描述物体在三维空间中旋转的方法。它由三个角度组成,分别表示绕三个坐标轴(通常是X、Y、Z轴)的旋转。
滚转角(roll):绕X轴旋转。可以想象成飞机做翻滚运动。
俯仰角(pitch):绕Y轴旋转。可以想象成飞机抬头向上与俯冲向下。
偏航角(yaw):绕Z轴旋转。可以想象成飞机的飞行方向,向左或向右。
XCL与XDA用来扩展芯片功能,比如可外接磁力计,气压计等
AD0为从机地址的最低位,接低电平时iic从机地址为1101000,接高电平时为1101001(但mpu6050的AD0引脚内接了一个电阻,所以引脚悬空的时候默认弱下拉到低电平)
mpu6050供电范围为2.375~3.46v,属于3.3v供电设备,但其外置了一个3.3v稳压器,只要在3.3v~5v的电压都可以通过3.3v稳压器输出稳定的3.3v电压。
16位ADC采样传感器的模拟信号,量化范围:-32768~32768
加速度计满量程选择:±2、±4、±8、±16(g)
陀螺仪满量程选择:±250、±500、±1000、±2000(°/sec)
选择的量程越小,测量分辨率就越高;选择的量程越大,测量范围就越大。比如选择加速度计的满量程为±4,那么ADC采样值为32768的时候对应的是4g。
可配置的数字低通滤波器:如果输出数据抖动太大,可以配置滤波器使数据输出平缓
可配置的时钟源和采样分频:控制ADC转换快慢
芯片进行iic通信时,从机地址:AD0引脚等于0的时候,从机iic地址为1101000(0x68);AD0引脚等于1的时候,从机iic地址为1101001(0x69)。
因为在进行iic通信的时候,是7位地址位+1位读写位(在上一章iic通信详细说明过,不懂的小伙伴可以去看看),所以在发送字节的时候往往将0x68左移1位然后加上读写位,即(0x68<<1)|(1/0)(读/写),此时发送的是0xD0(写)0xD1(读),所以有的地方就默认0xD0为从机地址,在写操作时直接发送0xD0,读操作时使用0xD0|0x01。
可以配置采样频率分频系数,分频越小内部AD转换越快,数据寄存器刷新越快。
采样频率(数据刷新率)=陀螺仪输出时钟频率 /(1+分频值)
不使用低通滤波时,陀螺仪时钟为8khz,使用低通滤波时,陀螺仪时钟为1khz
我们只关心低3位:配置低通滤波器
配置滤波器参数越大,输出数据抖动越小(7为保留位,没有使用)
Bit7~Bit5为自测使能位,Bit4~Bit3为满量程选择位。
Bit4~Bit3为满量程选择位。
加速度计数据寄存器
陀螺仪数据寄存器
温度传感器数据
Bit7:设备复位,写1所有寄存器恢复默认值;
Bit6:睡眠模式,写1芯片睡眠不工作,进入低功耗,该位上电默认为1,即上电默认睡眠,所以在操作之前要先解除睡眠,否则操作其他寄存器是无效的;
Bit5:循环模式,写1设备进入低功耗,过一段时间启动一次,唤醒频率由电源管理寄存器2的Bit7和Bit6决定;
Bit3:温度传感器失能,写1禁用内部温度传感器;
Bit2~Bit0:用来选择系统时钟来源,一般选择陀螺仪晶振(比较准确);
前两位用来用来控制循环模式的唤醒频率,后六位分别控制六个轴进入待机模式
ID号即iic地址固定值为0x68,不受AD0引脚状态而改变
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。