本文主要是介绍AVR128驱动MPU6050,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
寄存器上面有寄存器操作的地址和寄存器号,找到地址才可以操作寄存器
WHO_AM_I中的内容是MPU-60X0的6位I2C地址
上电复位的第6位到第1位值为:110100
为了让两个MPU-6050能够连接在一个I2C总线上,当AD0引脚逻辑低电平时,设备的地址是
PS:很多人在MPU6050的I2C地址上面弄不清楚,有人说地址是0x68,也有人说是0xD0,其实这两个都是可以的,取决于你的I2C驱动怎么写,这两个地址我都试过,没问题……
下面的两个是设置MPU6050的地址+读写方式
#define RD_DEVICE_ADDR 0xD1 // 这个是当AD0接低电平的时候,从件的硬件+读操作 1101000+1=0XD1
#define WD_DEVICE_ADDR 0xD0 // 这个是当AD0接低电平的时候,从件的硬件+写操作 1101000+0=0XD0
#define RD_DEVICE_ADDR 0xD3 // 这个是当AD0接高电平的时候,从件的硬件+读操作 1101001+1=0XD3
#define WD_DEVICE_ADDR 0xD2 // 这个是当AD0接高电平的时候,从件的硬件+写操作 1101001+1=0XD2
MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化
为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16g。
VDD 供电电压为2.5V±5%、3.0V±5%、3.3V±5%;VDDIO 为1.8V± 5%
内建振荡器在工作温度范围内仅有±1%频率变化。可选外部时钟输入32.768kHz 或19.2MHz
找出几个重要的寄存器:
1)Register 25 – Sample Rate Divider
1)SMPLRT_DIV
2)Register 26 – Configuration
数字低通滤波器是由DLPF_CFG来配置,根据下表中DLPF_CFG的值对加速度传感器和陀螺仪滤波
3)Register 27 – Gyroscope Configuration
1)XG_ST 设置此位,X轴陀螺仪进行自我测试。
2)YG_ST 设置此位,Y轴陀螺仪进行自我测试。
3)ZG_ST 设置此位,Z轴陀螺仪进行自我测试。
4)FS_SEL 2位无符号值。选择陀螺仪的量程。
4)Register 28 – Accelerometer Configuration
1)XA_ST
2)YA_ST
3)ZA_ST
4)AFS_SEL
5)Registers 59 to 64 – Accelerometer Measurements (ACCEL_XOUT_H, ACCEL_XOUT_L, ACCEL_YOUT_H, ACCEL_YOUT_L, ACCEL_ZOUT_H, and ACCEL_ZOUT_L)
1)ACCEL_XOUT
2)ACCEL_YOUT
3)ACCEL_ZOUT
6)Registers 65 and 66 – Temperature Measurement
1)TEMP_OUT 16位有符号值。
7)Registers 67 to 72 – Gyroscope Measurements
这个和加速度感应器的寄存器相似
对应的灵敏度:
8)Register 107 – Power Management 1
该寄存器允许用户配置电源模式和时钟源。它还提供了一个复位整个器件的位,和一个关闭温度传感器的位
1)DEVICE_RESET
2)SLEEP
3)CYCLE
4)TEMP_DIS
5)CLKSEL
时钟源的选择:
9)Register 117 – Who Am I
上电复位的第6位到第1位值为:110100
为了让两个MPU-6050能够连接在一个I2C总线上,当AD0引脚逻辑低电平时,设备的地址是
MPU-6000可以使用SPI和I2C接口,而MPU-6050只能使用I2C,其中I2C的地址由AD0引脚决定;寄存器共117个,挺多的,下面的是精简常用的,根据具体的要求,适当的添加。
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
编程时用到的关于I2C协议规范:
这篇关于AVR128驱动MPU6050的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!