MPU6050 ARM板应用笔记
- 格式:pdf
- 大小:847.25 KB
- 文档页数:11
《自己整理的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传感器和步进电机原理进行了介绍,然后详细描述了基于这两者的转动控制设计。
针对控制方法进行了优化,并进行了实验验证与结果分析。
结果表明,该方法具有较高的精度和稳定性。
结论部分探讨了高精度转动控制方法的可行性,并展望了未来研究方向。
本研究为提高转动控制的精度和效率提供了重要参考。
【关键词】MPU6050, 步进电机, 高精度转动控制, 控制方法, 实验验证, 结论, 未来研究展望, 研究背景, 研究意义, 传感器介绍, 转动控制设计, 控制方法优化, 结果分析, 可行性1. 引言1.1 研究背景目前对于基于MPU6050和步进电机的高精度转动控制方法的研究还比较有限,尚未形成完备的理论框架和实践经验。
开展这方面的研究具有重要的理论意义和实践意义。
通过深入研究MPU6050传感器和步进电机原理,结合实际应用需求,探讨和优化控制方法,可以提高转动控制的精度和稳定性,推动高精度转动控制技术的发展,并为相关领域的应用提供技术支持和保障。
1.2 研究意义高精度转动控制方法在工业生产、航空航天、机器人技术等领域具有广泛的应用价值。
传统的转动控制方法存在精度不高、稳定性差等问题,而基于MPU6050和步进电机的新型控制方法可以有效提高转动控制的精度和稳定性。
通过引入MPU6050传感器进行姿态感知和步进电机的精确控制,可以实现对转动角度的精准监测和控制,从而更好地满足高精度转动控制的需求。
2. 正文2.1 MPU6050传感器介绍MPU6050传感器是一款集成了三轴加速度计和三轴陀螺仪的微电子传感器,能够提供高精度的运动跟踪和倾斜测量。
该传感器采用数字输出,并且可以通过I2C或SPI接口与微控制器进行通信。
MPU6050具有高灵敏度、低功耗、小尺寸等优点,广泛应用于姿态控制、导航、运动捕捉等领域。
MPU6050应用(IIC通讯)MPU-6050是全球首例9轴运动处理传感器。
它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP,可用I2C接口连接一个第三方的数字传感器,比如磁力计。
扩展之后就可以通过其I2C或SPI接口输出一个9轴的信号。
MPU-6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。
为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±5001000,±2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16 g。
下图标明了传感器的参考坐标系(XYZ组成右手系)以及3个测量轴和旋转方向,旋转的正向可用右手螺旋定则判断。
硬件设计接线方式:SCL P4.0SDA P4.1MPU6050模块:仅使用SCL、SDA、GND和5V引脚。
PSOC4 kit使用3.3V供电。
软件设计在void InitMPU6050()函数中,一个I2C写操作周期为:I2C_M_Start();status=I2C_M_I2CMasterClearStatus(); //清除之前状态status=I2C_M_I2CMasterSendStart(SlaveAddress,I2C_M_I2C_WRITE_XFER_MOD E); //校验地址+写入模式while(status!=I2C_M_I2C_MSTR_NO_ERROR);I2C_M_I2CMasterWriteByte(PWR_MGMT_1); //电源管理,解除休眠状态 I2C_M_I2CMasterWriteByte(0x00);I2C_M_I2CMasterSendStop();(1)I2C_M_Start()函数会调用I2C_M_Init()函数,然后调用I2C_M_Enable()函数。
平衡车⼊门---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单⽚机的最⼩系统的区别。
DS-学习笔记02--MPU6050数据分析与滤波论坛关于6050的帖子看了个遍也没整明白哪些东西可以用,哪些数据是干什么的。
沉寂了2天,尽可能的在网上收集资料,但是关于6050的太少了在本论坛问题区提的问题有人看,没人回答,估计是看的人不会,会的人不会去问题区,要么就是大家对6050不熟悉或者是没用过吧。
也没人来问津下我们初学者。
让我想起卜学亮一首歌:搞不懂就问人,搞得懂就答人,没有人懂还可以问神!其实整到现在有的地方我还是不太明白,将就先贡献出来,给大家参考。
我参考的是飞思卡尔官方给出的设计参考。
1.关于6050 陀螺仪和加速度计的角速度和角度计算。
A.陀螺仪角度计算,很多帖子中都提到了用的是积分,但是我这里还是重新讲下。
angle_n = angle_n-1 + (Gyro-C_Gyro)*R_Gyro;angle_n 当前角度值,它的单位是度(°)angle_n-1 上一次计算出的角度值Gyro 陀螺仪敏感轴偏转值,也就是当前敏感轴读数C_Gyro 陀螺仪零点偏移值,这个值的测量方法是:将陀螺仪敏感轴水平放置静止时的读数,我的零点偏移值是水平、垂直、倒置,分别取1024次,作平均值得出的,读数是-177.8865041,但是最后在程序实践中,调整到-99.90。
或许还有别的办法,自己看着办吧。
R_Gyro 是陀螺仪比例。
飞思卡尔的参考中提到这个值是可以计算出来的,下面我会提供下载,大家自己去看看怎么算的,但是在其论坛和调试手册中都提到,这个比例值还是实验法测量出来的比较准确。
B.加速度仪角度计算。
加速度仪的角度计算有很多方法,论坛里就有2中。
但是都用到了三角函数,数学没学好,照抄了也不行。
参考了飞思卡尔的计算方法后大概是这样的。
Angle_Z = (az-C_Z)*R_Z;angle_z 加速度计敏感轴Z轴产生倾角计算出的角度,单位度(°)az 是加速度仪 Z轴读数C_Z Z轴零点偏移量测量方法和陀螺仪的一样。
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是一款常用的加速度计和陀螺仪传感器模块。
它由MEMS(微机电系统)技术制造而成,可以测量物体的加速度和角速度。
米思奇(Mithun Chakravarthy)是一位专业的工程师,有着丰富的MPU6050用法经验。
MPU6050在许多领域都有广泛的应用,包括运动控制、平衡器、姿态控制等。
米思奇掌握了MPU6050的使用方法,并能准确地解读传感器输出的数据。
要正确使用MPU6050,首先需要连接传感器模块到微控制器或单片机。
接下来,编写相应的代码,配置传感器的设置,并读取传感器输出的数据。
米思奇能够编写支持各种微控制器平台的代码,例如Arduino、Raspberry Pi等。
在使用MPU6050时,必须了解传感器的工作原理和数据格式。
米思奇能够正确解析传感器输出的加速度和角速度数据,并将其转换为可用的物理量,如角度、速度等。
他还能根据应用需求进行数据滤波和校准,以提高数据的准确性和稳定性。
米思奇还知道如何进行传感器数据的实时处理和分析。
他能够使用算法和数学模型,从传感器输出的数据中提取有用的信息,并作出相应的控制决策。
他可以设计和实现姿态控制算法,使物体能够保持平衡或完成特定的动作。
米思奇对MPU6050的用法非常熟悉。
他具备将传感器模块与微控制器连接的技能,能够编写代码配置和读取传感器数据。
他了解传感器的工作原理和数据格式,并具备数据处理和分析的能力。
通过他的专业知识和经验,MPU6050可以得到正确的应用和使用。
基于MPU6050和步进电机的高精度转动控制方法高精度转动控制在许多领域中都有着重要的应用,例如航天器、机器人、工业自动化等等。
本文将详细介绍一种基于MPU6050和步进电机的高精度转动控制方法,通过组合使用传感器和执行器,实现对物体的准确定位和控制。
希望通过本文的介绍,读者能够对此方法有一个清晰的认识,并在需要的场景中进行应用。
一、MPU6050简介MPU6050是一款集成了3轴陀螺仪和3轴加速度计的小型传感器。
它能够同时测量物体的加速度和角速度,并输出数字信号。
MPU6050采用数字接口,可以直接连接到微控制器或其他数字系统中,便于数据处理和控制。
其精度和稳定性较高,因此在需要进行高精度姿态测量和控制的场景中得到了广泛的应用。
二、步进电机简介步进电机是一种特殊的电机,它是将旋转运动转换为离散的步进运动的电机。
步进电机可以精确地控制角度和步距,因此适合用于需要高精度转动控制的场景。
它的控制方式相对简单,只需要控制电机的绕组相序即可实现精确的旋转控制。
因此步进电机在机器人控制、自动化设备、数控机床等领域中得到了广泛的应用。
1. 系统硬件设计需要将MPU6050与微控制器进行连接,获取传感器输出的角速度和加速度数据。
然后,将微控制器与步进电机驱动器连接,通过驱动器对步进电机进行控制。
在设计硬件连接时,需要考虑到信号传输的稳定性和可靠性,以及系统整体的功耗和体积。
2. 数据处理与控制算法将MPU6050输出的角速度和加速度数据进行处理,得到物体的姿态角度信息。
这可以通过微处理器进行实时的数据采集和处理,也可以通过外部的姿态解算算法得到。
根据得到的姿态信息,确定步进电机需要旋转的角度和步数,并通过步进电机驱动器进行控制。
3. 高精度转动控制实现在实际的转动控制中,可以根据需要选择合适的步进电机控制模式,常见的模式包括定角度模式、定速度模式、定位置模式等。
根据姿态信息,将步进电机控制在需要的位置和角度上。
这两天看了论坛里的关于MPU6050的帖子,自己回家照葫芦画瓢的也做了一些实验,关于如何和实际的姿态矫正联系起来还不太清楚,今天在看手册时,发现了"LSB/g"这个单位,不知道什么意思,后来经过多处查询,知道了这个单位的含义,在这里就作为学习笔记记录下来吧。
以MPU6050加速度测量值为例:当测量范围是±2g时,测量精度是16384LSB/g,这个参数的含义简单说就是当测量的加速值是1g(重力加速度)时,那么加速度的输出就是16384,这也就是为什么在程序中需要对加速度的原始数据除以16384。
那么为什么是16384呢,我们计算一下:16384*2=32768,32768*2=65536=2^16,MPU6050的ADC是16位的,所以不管测量范围多大,最终的输出范围都不会超过65535,所以测量范围越大,精度就越低。
下面计算一下测量范围是±16g时的精度:16*2/65536=0.00048828125,然后取倒数1/0.00048828125=2048,和手册上完全一样。
LSB/g是针对数字输出的传感器而言的。
陀螺仪加速度计MPU6050作者:nieyong陀螺仪陀螺仪,测量角速度,具有高动态特性,它是一个间接测量角度的器件。
它测量的是角度的导数,即角速度,要将角速度对时间积分才能得到角度。
陀螺仪就是内部有一个陀螺,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出旋转方向和角度。
传感器MPU6050实际上是一个结构非常精密的芯片,内部包含超微小的陀螺。
如果这个世界是理想的,美好的,那我们的问题到此就解决了,从理论上讲只用陀螺仪是可以完成姿态导航的任务的。
只需要对3个轴的陀螺仪角速度进行积分,得到3个方向上的旋转角度,也就是姿态数据。
这也就是说的快速融合。
不过很遗憾,现实是残酷的,由于误差噪声等的存在,对陀螺仪积分并不能够得到完全准确的姿态,尤其是运转一段时间以后,积分误差的累加会让得到的姿态和实际的相差甚远。
InvenSense ARM Reference BoardApplication NoteA printed copy of this document is NOT UNDERREVISION CONTROL unless it is dated and stampedin red ink as, “REVISION CONTROLLED COPY.”1. Revision HistoryDate RevisionDescription 05/26/2010 1.0 Initialrelease06/23/2010 1.1 Updated BOM, added mechanical drawings for select components, added firmware revision note.08/11/2010 1.2 Updated firmware revision in Section 10.CONTENTS1. R EVISION H ISTORY (2)2. P URPOSE (4)3. U SAGE (4)4. O THER D OCUMENTS (4)5. S CHEMATIC (5)6. B OARD P HOTO (6)7. C OMPONENT L AYER S ILK S CREEN (7)8. T ABLE 1.B ILL OF M ATERIALS (P ARTS S TUFFING L IST) (8)9. M ECHANICAL D RAWINGS FOR S ELECTED BOM I TEMS (9)10. P ROGRAMMING THE ARM AT91MCU (11)2. PurposeThis document describes the hardware and circuitry of the RB_ARMAT91_XXAXX_A reference board (also known as InvenSense ARM board).3. UsageThis reference board provides a bridge function between InvenSense evaluation boards and a PC. Itconnects to a PC via USB and to InvenSense evaluation boards via SPI or I2C. The figure below shows the ARM board connecting an IMU-3000 evaluation board to a Windows PC. (Note that the ARM board is used as a general-purpose bridge and can also be used with other InvenSense EVBs, including the ITG-3xxx and MPU-3xxx family of devices.) The ARM processor on the reference board is not meant to be reprogrammed by the user. It contains all code necessary to be used in conjunction InvenSense evaluation boards. Note that separate demonstration software may accompany the individual evaluation boards with which this device connects.Figure 1. Example of ARM Board Used as Bridge between PC and IMU-3000 Evaluation Board. Note that the ARM board is used as a general-purpose bridge and can also be used with other InvenSense EVBs, including the ITG-3xxx and MPU-3xxx family of devices.4. Other DocumentsSince the ARM board is meant to bridge between InvenSense evaluation boards and a PC, this documentshould be used in conjunction with the documents related to the particular board that is being used with theARM Board.6. Board PhotoFigure 3. Component-layer board photo7. Component Layer Silk ScreenFigure 4. Component-layer silk screen8. Table 1. Bill of Materials (Parts Stuffing List)Item Quantity Reference Part PCB Footprint1 16 BP1,BP2,BP3,BP4,BP5,BP6,BP7,BP8,BP9,BP10,BP11,BP12,BP13,BP14,BP15,BP160.1uF C04022 1 CON1 miniUSB‐A USB\MINI3 1 CON2 (DO NOT STUFF) DC Jack4 6 C1,C3,C4,C5,C9,C14 10uF/0603 C06035 1 C2 100pF/0402 C04026 1 C6 33pF/0402 C04027 2 C7,C8 15PF/0402 C04028 1 C10 1000pF/0402 C04029 1 C11 0.01uF/25V/0402 C040210 1 C12 (DO NOT STUFF) 10pF/040211 1 C13 (DO NOT STUFF) 10pF/040212 1 JP1 WAFER 4, 80mil, ANGLE J79\4SA9013 1 JP2 HEADER 10, 80mil, Angle, Female J79\10S14 1 JP3 (DO NOT STUFF) HEADER 4, 80mil15 1 JP4 HEADER 3X2, 80mil J79\6D16 1 JP5 (DO NOT STUFF) HEADER 3x2, 2mmx2mm, Male17 1 JP6 (DO NOT STUFF) HEADER 2, 100mil18 1 JP7 HEADER 10X2, 100mil, Female J100\20DF19 1 JP8 (DO NOT STUFF) HEADER 6X2, 2mmx2mm, Male20 1 JP9 HEADER 3 J79\3S21 1 LED1 LED_GRN_0805 LED0805AC22 1 LED2 LED_RED_0805 LED0805AC23 3 L1,L2,L4 BEAD/0603 L060324 1 L3 CHOKE CM3216W900H CH4P1_25X2_05S25 1 Q1 (DO NOT STUFF) P‐FET SI2301ADS/SOT2326 1 RP1 10Kx4/RP4A0603 RN8P06SN27 1 R1 22K/0402 R040228 1 R2 33K/0402 R040229 2 R3,R12 1.5K/0402 R040230 2 R4,R5 33/0402 R040231 2 R6,R7 330K/0402 R040232 1 R8 510/0402 R040233 4 R9, R49, R50, R51 0/0402 R040234 1 R16 (DO NOT STUFF) 0/040235 2 R10,R15 100K/1%/0402 R040236 1 R11 1K/0603 R060337 1 R13 100/0603 R060338 1 R14 1M/0603 R060339 2 R45,R46 2K/0402 R040240 1 SW1 (DO NOT STUFF) PUSH SW TSW2P7_1X6_641 1 SW2 (DO NOT STUFF) PUSH SW TSW2P7_1X6_642 1 U1 ARMAT91SAM7S6464S.5\47043 1 U2 3V3 LDOYB1231ST25X330SOT23544 1 Y1 Crystal 18.432MHz@50ppm, SMD5032 SX‐503245 1 Blank Printed Circuit Board Gerber_ARM_EVB.rar46 1 Firmware for ARM V1.1.1 Firmware for ARM MCU9. Mechanical Drawings for Selected BOM ItemsFigure 5. BOM Item #12, JP1 DrawingFigure 6. BOM Item #20, JP9 Drawing (3-Pin Header)Figure 7. BOM Item #24, L3 DrawingARM Reference BoardApplication Note Document Number: EB_ARMAT91_XXAXX_B Revision: 1.2Release Date: 08/11/2010InvenSense, Inc., 1197 Borregas Ave., Sunnyvale, Ca 94089, USA 11 EB_ARMAT91_XXAXX_BTel: +1 (408) 988-7339 Fax: +1 (408) 988-8104 ©2010 InvenSense, Inc. All rights reserved. Website: http// 10. Programming the ARM AT91 MCUThe firmware for the InvenSense ARM Board must be factory programmed using the JTAG port JP2 with Atmel’s programming tool and software. The current firmware revision is V1.1.2EVB. For upgrading boards that have an older firmware revision, the ARM MCU may only be programmed by InvenSense or itsdesignated representatives.This information furnished by InvenSense is believed to be accurate and reliable. However, no responsibility is assumed by InvenSense for its use, or for any infringements of patents or other rights of third parties that may result from its use. Specifications are subject to change without notice. InvenSense reserves the right to make changes to this product, including its circuits and software, in order to improve its design and/or performance, without prior notice. InvenSense makes no warranties, neither expressed nor implied, regarding the information and specifications contained in this document. InvenSense assumes no responsibility for any claims or damages arising from information contained in this document, or from the use of products and services detailed therein. This includes, but is not limited to, claims or damages based on the infringement of patents, copyrights, mask work and/or other intellectual property rights.Certain intellectual property owned by InvenSense and described in this document is patent protected. No license is granted by implication or otherwise under any patent or patent rights of InvenSense. This publication supersedes and replaces all information previously supplied. Trademarks that are registered trademarks are the property of their respective companies. InvenSense sensors should not be used or sold in the development, storage, production or utilization of any conventional or mass-destructive weapons or any other weapons or life threatening applications, as well as in any other life critical applications such as medical equipment, transportation, aerospace and nuclear instruments, undersea equipment, power plant equipment, disaster prevention and crime prevention equipment.©2010 InvenSense, Inc. All rights reserved.。