当前位置:首页 > 单片机 > 单片机
[导读]MPU-60X0是全球首例9轴运动处理传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就

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

对MPU6050的配置主要需要1.上电检测芯片序列号,自检2.设定加速度陀螺仪的阈值和检测频率3.设定外部链接设备的驱动模式以及地址4.设定中断模式,比如要打开自由落体中断需要的设置,数据准备好中断需要的设置等5.设定电源管理模式,防止进入休眠6.循环读取数据

MPU输出一共三种数据,包括陀螺仪输出加速度传感器输出和温度输出,温度输出需要计算,计算方法是读出16位温度数据temp,然后temp/340.0 + 36.53

另外,中断引脚的模式也是可以配置的,详细的说明在MPU6050驱动的头文件中有,包含每一个寄存器的说明,请查看源码,如下

1.MPU6050.h

#ifndef__MPU6050_H_

#define__MPU6050_H_

#include"common.h"

#include"ioremap.h"

#include"stm32f10x.h"

#include"delay.h"

#include"uart.h"

#defineMPU_ACK_WAIT_TIME200//us

#defineMPU6050_ADDRESS_AD0_LOW0xD0//AD0为低的时候设备的写地址

#defineMPU6050_ADDRESS_AD0_HIGH0XD1//AD0为高的时候设备的写地址

#defineMPU_ADDR0xD0//IIC写入时的地址字节数据

#defineMPU_DEBUG1

//技术文档未公布的寄存器主要用于官方DMP操作

#defineMPU6050_RA_XG_OFFS_TC0x00//[bit7]PWR_MODE,[6:1]XG_OFFS_TC,[bit0]OTP_BNK_VLD

#defineMPU6050_RA_YG_OFFS_TC0x01//[7]PWR_MODE,[6:1]YG_OFFS_TC,[0]OTP_BNK_VLD

//bit7的定义,当设置为1,辅助I2C总线高电平是VDD。当设置为0,辅助I2C总线高电平是VLOGIC

#defineMPU6050_RA_ZG_OFFS_TC0x02//[7]PWR_MODE,[6:1]ZG_OFFS_TC,[0]OTP_BNK_VLD

#defineMPU6050_RA_X_FINE_GAIN0x03//[7:0]X_FINE_GAIN

#defineMPU6050_RA_Y_FINE_GAIN0x04//[7:0]Y_FINE_GAIN

#defineMPU6050_RA_Z_FINE_GAIN0x05//[7:0]Z_FINE_GAIN

#defineMPU6050_RA_XA_OFFS_H0x06//[15:0]XA_OFFS两个寄存器合在一起

#defineMPU6050_RA_XA_OFFS_L_TC0x07

#defineMPU6050_RA_YA_OFFS_H0x08//[15:0]YA_OFFS两个寄存器合在一起

#defineMPU6050_RA_YA_OFFS_L_TC0x09

#defineMPU6050_RA_ZA_OFFS_H0x0A//[15:0]ZA_OFFS两个寄存器合在一起

#defineMPU6050_RA_ZA_OFFS_L_TC0x0B

#defineMPU6050_RA_XG_OFFS_USRH0x13//[15:0]XG_OFFS_USR两个寄存器合在一起

#defineMPU6050_RA_XG_OFFS_USRL0x14

#defineMPU6050_RA_YG_OFFS_USRH0x15//[15:0]YG_OFFS_USR两个寄存器合在一起

#defineMPU6050_RA_YG_OFFS_USRL0x16

#defineMPU6050_RA_ZG_OFFS_USRH0x17//[15:0]ZG_OFFS_USR两个寄存器合在一起

#defineMPU6050_RA_ZG_OFFS_USRL0x18

/*陀螺仪的采样频率*/

/*传感器的寄存器输出,FIFO输出,DMP采样、运动检测、

*零运动检测和自由落体检测都是基于采样率。

*通过SMPLRT_DIV把陀螺仪输出率分频即可得到采样率

*采样率=陀螺仪输出率/(1+SMPLRT_DIV)

*禁用DLPF的情况下(DLPF_CFG=0或7),陀螺仪输出率=8khz

*在启用DLPF(见寄存器26)时,陀螺仪输出率=1khz

*加速度传感器输出率是1khz。这意味着,采样率大于1khz时,

*同一个加速度传感器的样品可能会多次输入到FIFO、DMP和传感器寄存器*/

#defineMPU6050_RA_SMPLRT_DIV0x19//[0-7]陀螺仪输出分频采样率

/*配置外部引脚采样和DLPF数字低通滤波器*/

#defineMPU6050_RA_CONFIG0x1A

//bit5-bit3一个连接到FSYNC端口的外部信号可以通过配置EXT_SYNC_SET来采样

//也就是说,这里设置之后,FSYNC的电平0或1进入最终数据寄存器,具体如下

//0不使用1FSYNC电平进入所有数据寄存器2FSYNC电平进入GYRO_XOUT_L3FSYNC电平进入GYRO_YOUT_L

//4FSYNC电平进入GYRO_ZOUT_L5FSYNC电平进入ACCEL_XOUT_L6FSYNC电平进入ACCEL_YOUT_L

//7FSYNC电平进入SYNC_ACCEL_ZOUT_L

//bit2-bit0数字低通滤波器用于滤除高频干扰高于这个频率的干扰被滤除掉

/*对应关系如下

**|加速度传感器|陀螺仪

**DLPF_CFG|带宽|延迟|带宽|延迟|采样率

*-------------+--------+-------+--------+------+-------------

*0|260Hz|0ms|256Hz|0.98ms|8kHz

*1|184Hz|2.0ms|188Hz|1.9ms|1kHz

*2|94Hz|3.0ms|98Hz|2.8ms|1kHz

*3|44Hz|4.9ms|42Hz|4.8ms|1kHz

*4|21Hz|8.5ms|20Hz|8.3ms|1kHz

*5|10Hz|13.8ms|10Hz|13.4ms|1kHz

*6|5Hz|19.0ms|5Hz|18.6ms|1kHz

*7|Reserved|Reserved|Reserved

**/

/*陀螺仪的配置,主要是配置陀螺仪的量程与自检(通过相应的位765开启自检)*/

#defineMPU6050_RA_GYRO_CONFIG0x1B

//bit4-bit3量程设置如下

//0=+/-250度/秒

// 1 = +/- 500 度/秒

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭