MPU6050使用说明书V4
1、电压:3V~6V 2、电流:<10mA 3、体积:15.24mm X 15.24mm X 2mm
-1-
【君悦智控】
4、焊盘间距:上下 100mil(2.54mm),左右 600mil(15.24mm) 5、测量维度:加速度:3 维,角速度:3 维,姿态角:3 维 6、量程:加速度:± 16g,角速度:± 2000°/s。 7、分辨率:加速度:6.1e-5g,角速度:7.6e-3°/s。 8、稳定性:加速度:0.01g,角速度 0.05°/s。 9、姿态测量稳定度:0.01°。 10、数据输出频率 100Hz(波特率 115200)/20Hz(波特率 9600)。 11、数据接口:串口(TTL 电平),I2C(直接连 MPU6050,无姿态输出) 10、波特率 115200kps/9600kps。
Re_buf[counter]=UDR;//不同单片机略有差异 if(counter==0&&Re_buf[0]!=0x55) return; //第 0 号数据不是帧头,跳过
-7-
【君悦智控】
5.3 数据解析示例代码:
double a[3],w[3],Angle[3],T; void DecodeIMUData(unsigned char chrTemp[]) {
switch(chrTemp[1]) { case 0x51:
掉电保存,建议使用上位机修改
说明:
1.模块上电以后需先保持静止,模块内部的 MCU 会在模块静止的时候进行自动校准(消
除陀螺零漂),校准以后 Z 轴的角度会重新初始化为 0,Z 轴角度输出为 0 时,可视为自动
校准完成的信号。
2.出厂默认设置使用串口,波特率 115200,帧率 100Hz。配置可通过上位机软件配置,
a[0] = (short(chrTemp[3]<<8|chrTemp[2]))/32768.0*16; a[1] = (short(chrTemp[5]<<8|chrTemp[4]))/32768.0*16; a[2] = (short(chrTemp[7]<<8|chrTemp[6]))/32768.0*16; T = (short(chrTemp[9]<<8|chrTemp[8]))/340.0+36.25; printf("a = %4.3f\t%4.3f\t%4.3f\t\r\n",a[0],a[1],a[2]); break; case 0x52: w[0] = (short(chrTemp[3]<<8|chrTemp[2]))/32768.0*2000; w[1] = (short(chrTemp[5]<<8|chrTemp[4]))/32768.0*2000; w[2] = (short(chrTemp[7]<<8|chrTemp[6]))/32768.0*2000; T = (short(chrTemp[9]<<8|chrTemp[8]))/340.0+36.25; printf("w = %4.3f\t%4.3f\t%4.3f\t\r\n",w[0],w[1],w[2]); break; case 0x53: Angle[0] = (short(chrTemp[3]<<8|chrTemp[2]))/32768.0*180; Angle[1] = (short(chrTemp[5]<<8|chrTemp[4]))/32768.0*180; Angle[2] = (short(chrTemp[7]<<8|chrTemp[6]))/32768.0*180; T = (short(chrTemp[925; printf("Angle = %4.2f\t%4.2f\t%4.2f\tT=%4.2f\r\n",Angle[0],Angle[1],Angle[2],T); break; } }
Sum=0x55+0x53+RollH+RollL+PitchH+PitchL+YawH+YawL+TH+TL
注: 1. 姿态角结算时所使用的坐标系为东北天坐标系,正方向放置模块,如下图所示向左
为 X 轴,向前为 Y 轴,向上为 Z 轴。欧拉角表示姿态时的坐标系旋转顺序定义为为 z-y-x,即先绕 z 轴转,再绕 y 轴转,再绕 x 轴转。 2. 滚转角的范围虽然是±180 度,但实际上由于坐标旋转顺序是 Z-Y-X,在表示姿态 的时候,俯仰角(Y 轴)的范围只有±90 度,超过 90 度后会变换到小于 90 度,同时 让 X 轴的三轴是耦合的,只有在小角度的时候会表现出独立变化,在大角度的时候姿态 角度会耦合变化,比如当 X 轴接近 90 度时,即使姿态只绕 X 轴转动,Y 轴的角度也 会跟着发生较大变化,这是欧拉角表示姿态的固有问题。
T=((TH<<8)|TL) /340+36.53 ℃ 校验和:
Sum=0x55+0x51+AxH+AxL+AyH+AyL+AzH+AzL+TH+TL
5.2.2 角速度输出:
数据编号
数据内容
0
0x55
1
0x52
2
wxL
3
wxH
4
wyL
5
wyH
6
wzL
7
wzH
8
TL
9
TH
10
Sum
角速度计算公式:
wx=((wxH<<8)|wxL)/32768*2000(°/s) wy=((wyH<<8)|wyL)/32768*2000(°/s) wz=((wzH<<8)|wzL)/32768*2000(°/s) 温度计算公式: T=((TH<<8)|TL) /340+36.53 ℃
4.4 用上位机监视模块与单片机的通信。
如果需要在 MCU 接受 6050 模块的输出数据的同时,用上位机监视当前的数据,可以
-4-
【君悦智控】
将 USB 转串口模块的 RX 接到模块的 TX 引脚上,并共地即可。
5 通信协议
电平:TTL 电平(非 RS232 电平,若将模块错接到 RS232 电平可能造成模块损坏) 波特率:115200/9600,停止位 1,校验位 0。
含义 包头 标识这个包是角速度包 X 轴角速度低字节 X 轴加速度高字节 y 轴加速度低字节 y 轴加速度高字节 z 轴加速度低字节 z 轴加速度高字节 温度低字节 温度高字节 校验和
-6-
【君悦智控】
校验和: Sum=0x55+0x52+wxH+wxL+wyH+wyL+wzH+wzL+TH+TL
因为所有配置都是掉电保存的,所以只需配置一次就行。
5.2 模块至上位机:
模块发送至上位机每帧数据分为 3 个数据包,分别为加速度包,角速度包和角度包,3 个数据包顺序输出。波特率 115200 时每隔 10ms 输出 1 帧数据,波特率 9600 时每隔 50ms 输出一帧数据。
-5-
【君悦智控】
5.1 上位机至模块
指令内容
功能
备注
0x52
角度初始化
使 Z 轴角度归零
0x61
使用串口,禁用 I2C
掉电保存,建议使用上位机修改
0x62
禁用串口,使用 I2C 接口
掉电保存,建议使用上位机修改
0x63
波特率 115200,帧率 100Hz
掉电保存,建议使用上位机修改
0x64
波特率 9600,帧率 20Hz
与计算机连接,需要 USB 转 TTL 电平的串口模块。推荐以下两款 USB 转串口模块。
USB 串口模块连接 6050 模块的方法是:USB 串口模块的+5V,TXD,RXD,GND 接 6050 模块的 VCC,RX,TX,GND。注意 TXD 和 RXD 的交叉。
(注意:六合一串口模块连接 6050 模块时需要将 2 号拨码开关拨到 OFF 端,如下图:)
5.2.3 角度输出:
数据编号
数据内容
含义
0
0x55
1
0x53
2
RollL
3
RollH
4
PitchL
5
PitchH
6
YawL
7
YawH
8
TL
9
TH
10
Sum
角速度计算公式:
滚转角(x 轴)Roll=((RollH<<8)|RollL)/32768*180(°)
俯仰角(y 轴)Pitch=((PitchH<<8)|PitchL)/32768*180(°)
3 引脚说明:
名称 VCC RX TX GND SCL SDA
功能 模块电源,3.3V 或 5V 输入 串行数据输入,TTL 电平 串行数据输出,TTL 电平
地线 I2C 时钟线 I2C 数据线
-2-
【君悦智控】
4 硬件连接方法
4.1 与计算机
偏航角(z 轴)Yaw=((YawH<<8)|YawL)/32768*180(°)
温度计算公式:
T=((TH<<8)|TL) /340+36.53 ℃
校验和:
包头 标识这个包是角度包 X 轴角度低字节 X 轴角度高字节 y 轴角度低字节 y 轴角度高字节 z 轴角度低字节 z 轴角度高字节 温度低字节 温度高字节 校验和
ax=((AxH<<8)|AxL)/32768*16g(g 为重力加速度,可取 9.8m/s2) ay=((AyH<<8)|AyL)/32768*16g(g 为重力加速度,可取 9.8m/s2) az=((AzH<<8)|AzL)/32768*16g(g 为重力加速度,可取 9.8m/s2) 温度计算公式:
自己整理的MPU6050中文资料
《自己整理的MPU6050中文资料》一、MPU6050简介MPU6050是一款集成了加速度计和陀螺仪的六轴运动处理传感器。
它采用小巧的封装,具有高精度、低功耗的特点,广泛应用于无人机、智能穿戴设备、智能手机等领域。
通过测量物体在三维空间中的加速度和角速度,MPU6050可以帮助我们实现对运动状态的实时监测和分析。
二、MPU6050核心特点1. 六轴运动处理:MPU6050将加速度计和陀螺仪集成在一个芯片上,实现六轴运动处理。
2. 数字输出:采用数字输出接口,方便与微控制器(如Arduino、STM32等)进行通信。
3. 高精度:加速度计精度为±16g,陀螺仪精度为±2000°/s,满足大多数应用场景的需求。
4. 低功耗:在低功耗模式下,功耗仅为5μA,适用于长时间运行的设备。
5. 小巧封装:采用QFN封装,尺寸仅为4mm×4mm×0.9mm,便于集成到各种产品中。
6. 宽工作电压范围:2.5V至3.5V,适应不同电压需求的场景。
三、MPU6050应用场景1. 无人机:通过MPU6050实时监测飞行器的姿态,实现自主悬停、定高、平稳飞行等功能。
2. 智能穿戴设备:监测用户运动状态,如步数、步频、跌倒检测等,为健康管理提供数据支持。
3. 智能手机:辅机实现重力感应、游戏控制等功能。
4. VR/AR设备:实时监测头部姿态,为虚拟现实体验提供精准的交互。
5. 车载导航:辅助车辆进行姿态检测,提高导航精度。
6. 工业自动化:用于监测设备运行状态,实现故障预警和自动调节。
四、MPU6050接口说明1. SDA:I2C数据线,用于与微控制器通信。
2. SCL:I2C时钟线,与SDA配合实现数据传输。
3. AD0:I2C地址选择线,通过改变AD0的电平,可以设置MPU6050的I2C地址。
4. INT:中断输出,当MPU6050检测到特定事件时,通过INT脚输出中断信号。
MPU6050寄存器操作
MPU6050寄存器操作MPU6050的寄存器地址由一个7位的二进制数字表示,最高位为0表示读操作,为1表示写操作。
在进行寄存器操作之前,需要先向MPU6050的I2C地址发送START信号,然后发送要读写的寄存器地址,再发送ACK信号。
下面是一些常用的MPU6050寄存器及其功能说明:1.SMPLRT_DIV寄存器(采样频率分频器):用于配置采样频率,通过设置寄存器的值,可以调整采样频率的分频比。
2. Gyro Config寄存器(陀螺仪配置):用于配置陀螺仪的量程和滤波器。
通过设置寄存器的值,可以选择陀螺仪的量程范围和滤波器带宽。
3. Accelerometer Config寄存器(加速度计配置):用于配置加速度计的量程和滤波器。
通过设置寄存器的值,可以选择加速度计的量程范围和滤波器带宽。
4.PWR_MGMT_1寄存器(电源管理):用于控制MPU6050的电源管理,包括选择时钟源、休眠模式等。
通过设置寄存器的值,可以控制MPU6050的电源状态。
5.FIFO寄存器(数据缓冲区):MPU6050内部有一个FIFO缓冲区,用于存储传感器的原始数据。
通过读写FIFO寄存器,可以实现对传感器数据的存取。
在进行MPU6050寄存器操作时1.寄存器操作需要使用I2C总线进行通信,需要先初始化I2C接口,并设置MPU6050的I2C地址。
2.在进行寄存器写操作时,需要先向MPU6050发送START信号,然后发送写操作的寄存器地址及要写入的数据,最后发送STOP信号。
3.在进行寄存器读操作时,需要先向MPU6050发送START信号,然后发送读操作的寄存器地址和MPU6050的I2C地址,再发送ACK信号。
接着读取MPU6050返回的数据,最后发送STOP信号。
4.在进行寄存器操作时,需要根据MPU6050的数据手册来确定寄存器地址和相关配置值的含义和取值范围。
使用MPU6050时,可以通过对寄存器的配置来满足不同的应用需求。
mpu6050中文资料
《MPU-6000 / MPU-6050 产品说明书》1.版本更新2.应用范围3.产品简介MPU-60X0 是全球首例9 轴运动处理传感器。
它集成了 3 轴MEMS 陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。
扩展之后就可以通过其I2C 或SPI 接口输出一个9 轴的信号(SPI 接口仅在MPU-6000 可用)。
MPU-60X0 也可以通过其I2C 接口连接非惯性的数字传感器,比如压力传感器。
MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化为可输出的数字量。
为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16g。
一个片上1024 字节的FIFO,有助于降低系统功耗。
和所有设备寄存器之间的通信采用400kHz 的I2C 接口或1MHz 的SPI 接口(SPI 仅MPU-6000 可用)。
对于需要高速传输的应用,对寄存器的读取和中断可用20MHz 的SPI。
另外,片上还内嵌了一个温度传感器和在工作环境下仅有±1%变动的振荡器。
芯片尺寸4×4×0.9mm,采用QFN 封装(无引线方形封装),可承受最大10000g 的冲击,并有可编程的低通滤波器。
关于电源,MPU-60X0 可支持VDD 范围2.5V±5%,3.0V±5%,或3.3V±5%。
另外MPU-6050 还有一个VLOGIC 引脚,用来为I2C 输出提供逻辑电平。
VLOGIC 电压可取1.8±5%或者VDD。
MPU6050教程
MPU6050教程MPU6050是一款常用的惯性测量单元(IMU)模块,内集成3轴加速度计和3轴陀螺仪。
它能够测量物体在三个维度上的加速度和角速度,被广泛应用于无人机、机器人和虚拟现实等领域。
在本篇教程中,我们将介绍如何使用MPU6050模块进行数据采集和传输。
一、MPU6050模块的硬件连接要使用MPU6050模块,首先需要将其与其他硬件设备连接起来。
MPU6050通过I2C总线与单片机或其他主控设备通信。
连接时,将MPU6050的SDA引脚连接到单片机的SDA引脚,以及将MPU6050的SCL引脚连接到单片机的SCL引脚。
同时,还需要为MPU6050提供电源,将模块的VCC引脚连接到3.3V电源,将GND引脚连接到地。
二、MPU6050模块的软件配置```#include <Wire.h>#include <MPU6050.h>void setuWire.begin(;mpu.initialize(;```三、读取MPU6050的数据一旦完成了初始化,就可以读取MPU6050的数据了。
MPU6050中包含6个16位的寄存器,分别存储3轴加速度和3轴角速度的原始数据。
可以通过以下代码读取这些数据:```int16_t ax, ay, az; //加速度原始数据int16_t gx, gy, gz; //角速度原始数据void loompu.getAcceleration(&ax, &ay, &az);mpu.getRotation(&gx, &gy, &gz);```四、处理MPU6050的数据在读取了MPU6050的原始数据后,可以根据需要进行进一步处理。
比如,可以将原始数据转换为物体在各个维度上的实际加速度和角速度。
具体的转换方法可以参考MPU6050的数据手册或相关资料。
五、MPU6050数据的传输一旦完成了数据的处理,就可以将其传输给其他设备或进行存储了。
平衡车入门---MPU6050陀螺仪学习
平衡车⼊门---MPU6050陀螺仪学习MPU6050陀螺仪模块⼀、MPU6050简介:MPU6050是⼀款陀螺仪模块,不过这个模块可不简单,它可以测量X、Y、Z三轴的⾓速度和加速度,还带有温度传感器和数字运动处理器(DMP)。
假如我们要制作平衡车、四轴、空中⿏标,那么MPU6050就真的是派上⼤⽤场了。
⼆、学习MPU6050的步骤:1、学习I2C协议,因为MPU6050是通过I2C协议进⾏驱动的,配置寄存器和获取数据都需要通过I2C协议去实现单⽚机与MPU6050之间的通信,所以I2C协议必须学习。
2、了解MPU6050的相关寄存器,可以看中⽂⽂档MPU6050的datasheet,再配合MPU6050的驱动库函数,了解库函数为什么要这样配置MPU6050的寄存器。
3、把获取到的原始数据进⾏各种处理,如通过互补滤波融合得到⾓度。
要知道只有对原始数据进⾏处理才能够使⽤,才能发挥MPU6050的价值。
三、I2C协议简介:I2C协议是⼀种在单⽚机开发中⾮常常⽤的⼀个通信协议,它是通过数据总线SDA和时钟总线SCL去完成单⽚机与⼀些传感器模块的通信。
SCL和SDA线根据I2C的协议的标准进⾏⼀系列⾼低电平的变化(时序)就可以完成信息的传输。
I2C协议还分为硬件I2C和软件I2C,硬件I2C就是通过硬件电路去实现的I2C协议,软件I2C就是通过在单⽚机上找两个IO⼝去充当SCL和SDA线,再通过⼈为编写软件去控制SCL和SDA线的⾼低电平变化去模拟I2C协议。
两者的区别是硬件I2C使⽤起来⽐较简单,执⾏速度⽐较快,耗时短,但是毕竟是硬件电路,稳定性不⼀定好,容易出现⼀些奇怪的问题。
⽽软件I2C虽然是通过软件模拟的,执⾏速度不如硬件I2C快,有⼀定的耗时,不过稳定性就⽐硬件I2C好多了。
智能车我们⾮常注重稳定性,所以推荐⼤家还是⽤软件I2C。
四、MPU6050硬件介绍:我们先来认识下MPU6050的硬件,这是MPU6050模块的图⽚,注意是模块,中间那个才是MPU6050,不过只有MPU6050是不够的,它还需要⼀些外围电路才能正常⼯作,我们可以类⽐⼀下51单⽚机和51单⽚机的最⼩系统的区别。
MPU6050教程
第错误!未定义书签。
页共10页MPU6050教程1.1MPU6050简介如果你想玩四轴,想搞什么空中鼠标,平衡车等待,那么MPU6050真的是太强大了,能做很多东西。
玩MPU6050的步骤:1.学习I2C ,I2C 就是MPU6050传送数据到单片机的一种协议,类似于USB ,当然USB 还是比较有难度的。
2.了解MPU6050相关寄存器,有中文版本的,一边学一边看例程就可以获取数据了。
3.把获取的数据进行各种处理。
1.2IIC 简介IIC 可以去看下我们野火相关的教程,在这里只是简单地介绍下,先看下我们的书或者教程,从EEPROM 里面写入和读取数据,因为EEPROM 写入和读取数据也是根据I2C 协议来的。
I2C 有分软件和硬件,软件就你通过对I2C 的时钟线和数据线,可能你不知道时钟线和数据线,那还是先去学I2C 的基础教程。
软件模拟I2C 就是根据下面的图然后再适当的时候给时钟线和数据线高低,具体可以看I2C 的协议见图1-1。
图1-1IIC 起始字节时序图这部分学习的诀窍就是:先写下I2C通讯的一个环节就好了,比如起始字节,其他的也是大同小异,直接上网找例程就好了,想要用软件模拟出全部的时序当然也可以。
还有一个方式可以用I2C读写数据,就是硬件I2C,硬件I2C就是单片机内部的电路,可以将I2C的时序用硬件电路搞出来,这样子你读写数据就方便很多了。
STM32硬件I2C可以去看我们野火的教程。
1.3读取MPU6050原始数据我们先来认识下MPU6050的硬件,这是MPU6050模块的图片,注意是模块,中间那个才是MPU6050,只有MPU6050是不够的,还要有一些外围电路才行,这就跟51芯片跟最小系统的区别一样。
图1-2MPU6050模块正面图1-3MPU6050模块背面管脚名称说明VCC 3.3-5V(内部有稳压芯片)GND地线SCL MPU6050作为从机时IIC时钟线SDA MPU6050作为从机时IIC数据线XCL MPU6050作为主机时IIC时钟线XDA MPU6050作为主机时IIC数据线AD0地址管脚,该管脚决定了IIC地址的最低一位INT中断引脚这里重点讲解AD0的作用,I2C通讯中从机是要有地址的,以区别多个从机。
MPU6050教程
MPU6050教程MPU6050是一款六轴传感器,可测量加速度和角速度。
它集成了三轴加速度计和三轴陀螺仪,同时还具备温度传感器。
这使得MPU6050非常适合于飞行器、机器人和游戏控制器等项目。
在本教程中,我们将介绍如何使用MPU6050传感器,并使用Arduino进行数据读取和处理。
1.硬件准备:-MPU6050模块- Arduino主控板-杜邦线-电阻(10kΩ)先将杜邦线连接到MPU6050模块上。
将VCC接到Arduino的5V引脚,将GND接到地线引脚,将SCL接到Arduino的A5引脚(或者SCL引脚),将SDA接到Arduino的A4引脚(或者SDA引脚)。
注意:MPU6050是通过I2C协议与Arduino通信的,因此您需要确认Arduino上的I2C引脚与连接的引脚匹配。
2.软件准备:- MPU6050库(可在Arduino库管理器中)打开Arduino IDE并创建一个新的项目。
在库管理器中“MPU6050”,并安装最新版本的库。
然后在工具菜单中选择适当的Arduino板和端口。
3.代码编写:在新建的Arduino项目中,首先包含MPU6050库,然后声明四个变量,分别用于存储加速度计和陀螺仪的值。
在setup函数中,初始化MPU6050并打开串口通信。
```cpp#include <Wire.h>#include <MPU6050.h>int16_t accel_x, accel_y, accel_z;int16_t gyro_x, gyro_y, gyro_z;void setuWire.begin(;mpu.initialize(;Serial.begin(9600);}```4.数据读取:在loop函数中,使用mpu.getMotion6函数读取加速度计和陀螺仪的数据。
您可以使用Serial.print函数将这些值打印到串口监视器中。
```cppvoid loompu.getMotion6(&accel_x, &accel_y, &accel_z, &gyro_x, &gyro_y, &gyro_z);Serial.print("Accel: ");Serial.print(accel_x);Serial.print(" ");Serial.print(accel_y);Serial.print(" ");Serial.println(accel_z);Serial.print("Gyro: ");Serial.print(gyro_x);Serial.print(" ");Serial.print(gyro_y);Serial.print(" ");Serial.println(gyro_z);delay(100); // 数据读取延迟}```5.数据解释:加速度计和陀螺仪的值是原始数据,单位为每个轴的原始计数。
米思奇对mpu6050用法
米思奇对mpu6050用法MPU6050是一款常用的加速度计和陀螺仪传感器模块。
它由MEMS(微机电系统)技术制造而成,可以测量物体的加速度和角速度。
米思奇(Mithun Chakravarthy)是一位专业的工程师,有着丰富的MPU6050用法经验。
MPU6050在许多领域都有广泛的应用,包括运动控制、平衡器、姿态控制等。
米思奇掌握了MPU6050的使用方法,并能准确地解读传感器输出的数据。
要正确使用MPU6050,首先需要连接传感器模块到微控制器或单片机。
接下来,编写相应的代码,配置传感器的设置,并读取传感器输出的数据。
米思奇能够编写支持各种微控制器平台的代码,例如Arduino、Raspberry Pi等。
在使用MPU6050时,必须了解传感器的工作原理和数据格式。
米思奇能够正确解析传感器输出的加速度和角速度数据,并将其转换为可用的物理量,如角度、速度等。
他还能根据应用需求进行数据滤波和校准,以提高数据的准确性和稳定性。
米思奇还知道如何进行传感器数据的实时处理和分析。
他能够使用算法和数学模型,从传感器输出的数据中提取有用的信息,并作出相应的控制决策。
他可以设计和实现姿态控制算法,使物体能够保持平衡或完成特定的动作。
米思奇对MPU6050的用法非常熟悉。
他具备将传感器模块与微控制器连接的技能,能够编写代码配置和读取传感器数据。
他了解传感器的工作原理和数据格式,并具备数据处理和分析的能力。
通过他的专业知识和经验,MPU6050可以得到正确的应用和使用。
最详细的MPU6050寄存器说明手册-中文
1.//技术文档未公布的寄存器主要用于官方DMP操作2.#define MPU6050_RA_XG_OFFS_TC 0x00 //[bit7] PWR_MODE, [6:1] XG_OFFS_TC, [bit 0]OTP_BNK_VLD3.#define MPU6050_RA_YG_OFFS_TC 0x01 //[7] PWR_MODE, [6:1] YG_OFFS_TC, [0] OTP_BNK_VLD4.//bit7的定义,当设置为1,辅助I2C总线高电平是VDD。
当设置为0,辅助I2C总线高电平是VLOGIC5.6.#define MPU6050_RA_ZG_OFFS_TC 0x02 //[7] PWR_MODE, [6:1] ZG_OFFS_TC, [0] OTP_BNK_VLD7.#define MPU6050_RA_X_FINE_GAIN 0x03 //[7:0] X_FINE_GAIN8.#define MPU6050_RA_Y_FINE_GAIN 0x04 //[7:0] Y_FINE_GAIN9.#define MPU6050_RA_Z_FINE_GAIN 0x05 //[7:0] Z_FINE_GAIN10.11.#define MPU6050_RA_XA_OFFS_H 0x06 //[15:0] XA_OFFS 两个寄存器合在一起12.#define MPU6050_RA_XA_OFFS_L_TC 0x0713.14.#define MPU6050_RA_YA_OFFS_H 0x08 //[15:0] YA_OFFS 两个寄存器合在一起15.#define MPU6050_RA_YA_OFFS_L_TC 0x0916.17.#define MPU6050_RA_ZA_OFFS_H 0x0A //[15:0] ZA_OFFS 两个寄存器合在一起18.#define MPU6050_RA_ZA_OFFS_L_TC 0x0B19.20.#define MPU6050_RA_XG_OFFS_USRH 0x13 //[15:0] XG_OFFS_USR 两个寄存器合在一起21.#define MPU6050_RA_XG_OFFS_USRL 0x1422.23.#define MPU6050_RA_YG_OFFS_USRH 0x15 //[15:0] YG_OFFS_USR 两个寄存器合在一起24.#define MPU6050_RA_YG_OFFS_USRL 0x1625.26.#define MPU6050_RA_ZG_OFFS_USRH 0x17 //[15:0] ZG_OFFS_USR 两个寄存器合在一起27.#define MPU6050_RA_ZG_OFFS_USRL 0x1828.29./*陀螺仪的采样频率*/30./*传感器的寄存器输出,FIFO输出,DMP采样、运动检测、31.*零运动检测和自由落体检测都是基于采样率。
MPU6050使用说明书V4
高精度 6 轴惯性导航模块说明书1产品概述此六轴模块采用高精度的陀螺加速度计MPU6050,通过处理器读取MPU6050 的测量数据然后通过串口输出,免去了用户自己去开发MPU6050 复杂的I2C 协议,同时精心的PCB 布局和工艺保证了MPU6050 收到外接的干扰最小,测量的精度最高。
2性能参数1、电压:3V~6V2、电流:<10mA3、体积:17.8mm X 17.8mm 重量:1.1g4、焊盘间距:上下100mil(2.54mm),左右600mil(15.24mm)5、测量维度:加速度:3 维,角速度:3 维,姿态角:3 维6、量程:加速度:± 16g,角速度:± 2000°/s。
7、分辨率:加速度:6.1e-5g,角速度:7.6e-3°/s。
8、稳定性:加速度:0.01g,角速度0.05°/s。
9、姿态测量稳定度:0.01°。
10、数据输出频率100Hz(波特率115200)/20Hz(波特率9600)。
11、数据接口:串口(TTL 电平),I2C(直接连MPU6050,无姿态输出)10、波特率115200kps/9600kps。
3引脚说明:44.1与计算机与计算机连接,需要USB 转TTL 电平的串口模块。
推荐以下USB 转串口模块。
USB 串口模块连接6050 模块的方法是:USB 串口模块的+5V,TXD,RXD,GND 接6050 模块的VCC,RX,TX,GND。
注意TXD 和RXD 的交叉。
4.2 连单片机4.3MCU 连单片机并输出调试信息。
通常情况下,MCU 的串口资源比较紧张,有的单片机只有一个串口,而且调试的时候需要通过串口输出调试信息,这时可以将MCU 的TX 引脚连接到USB 转串口模块的RX 上,6050 模块的TX 接到MCU 的RX 引脚上,这样MCU 既可以收到6050 模块的数据,又可以输出调试信息了。
