- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MPU6050开发.
1.MPU6050是什么?MPU6050是一个6轴运动处理组件,包含了3轴加速度和3轴陀螺仪。MPU-6000为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了大量的包装空间。MPU-6000整合了3轴陀螺仪、3轴加速器,并含可藉由第二个I2C端口连接其他厂牌之加速器、磁力传感器、或其他传感器的数位运动处理(DMP: Digital Motion Processor)硬件加速引擎,由主要I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算技术InvenSense的运动处理资料库,可处理运动感测的复杂数据,降低了运动处理运算对操作系统的负荷,并为应用开发提供架构化的API。MPU-6000的角速度全格感测范围为±250、±500、±1000与±2000°/sec (dps),可准确追緃快速与慢速动作,并且,用户可程式控制的加速器全格感测范围为±2g、±4g±8g与±16g。产品传输可透过最高至400kHz的I2C或最高达20MHz的SPI。MPU-6000可在不同电压下工作,VDD供电电压介为2.5V±5%、3.0V±5%或3.3V±5%,逻辑接口VVDIO供电为1.8V± 5%。MPU-6000的包装尺寸4x4x0.9mm(QFN),在业界是革命性的尺寸。其他的特征包含内建的温度感测器、包含在运作环境中仅有±1%变动的振荡器。2.加速度传感器是干嘛用的?总而言这,加速度传感器,其实是力传感器。用来检查上下左右前后哪几个面都受了多少力(包括重力),然后计算角度。3.陀螺仪是干嘛用的?简而言之,陀螺仪就是角速度检测仪。比如,一块板,以X轴为轴心,在一秒钟的时间转到了90度,那么它在X轴上的角速度就是 90度/秒??(DPS, 角速度单位,Degree Per Second的缩写°/S ,体现了转动的快慢)4.MPU6050分辨率是多少?3轴加速度和3轴陀螺仪分别用了3个16位的ADC, 也就是说,加速度有3个16位ADC,其中每个轴使用了一个。也是说,每个轴输出的数据,是2^16 也就是 -32768 ---- +32768。陀螺仪也是一样。5. 单位换算上面说的-32768 --- +32768 ,那么这个数字到底代表了什么呢?比如陀螺仪 32768 到底是指角速度达到多少度/秒?这个其实是根据MPU6050设置的量程来决定的,量程不一样,32768代表的值就不一样。MPU6050的量程设置,在 MPU6050::initialize() (MPU6050.cpp库)初始化函数中进行了设置:setFullScaleGyroRange(MPU6050_GYRO_FS_250);setFullScaleAccelRange(MPU6050_ACCEL_FS_2);分别设置为,250度/秒 , 2g按陀螺仪来说,MPU6050 有四个量程可选:±250,±500,±1000,±2000 度/s比方说,设置了是 ±250 , 那么-32768??---- +32768 就代表了 -250 ---- +250 。此时它的LSB(拉傻B,最低有效位) 是 131 LSB/(度/s)STM32自带I2C,但一般有两个I2C1(PB6,PB7)和I2C2(PB10,PB11),而且,I2C分为硬件、和模拟。软件i2c是程序员使用程序控制SCL,SDA线输出高低电平,模拟i2c协议的时序.硬件i2c程序员只要调用i2c的控制函数即可,不用直接的去控制SCL,SDA高低电平的输出本模块采用的是IIC通信方式,所以我们只需要连接四跟线就可以完成电路的连接,简单方便!原始数据有:AX、AY、AZ ???GX、GY、GZ简单的算法之后可以得到 Roll,pitch,yaw参考MPU-6050数据手册引脚说明: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??(SMPRT_DIV)1)SMPLRT_DIV?8位无符号值,通过该值将陀螺仪输出分频,得到采样频率????该寄存器指定陀螺仪输出率的分频,用来产生MPU-60X0的采样率。??传感器寄存器的输出、FIFO输出、DMP采样和运动检测的都是基于该采样率。??采样率的计算公式????????????????????采样率 =?陀螺仪的输出率 / (1 + SMPLRT_DIV)??当数字低通滤波器没有使能的时候,陀螺仪的输出平路等于8KHZ,反之等于1KHZ。2)Register 26 – Configurati
文档评论(0)