版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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硬件介绍:LQADOWLQADOW我们先来认识下MPU6050的硬件,这是MPU6050模块的图片,注意是模块,中间那个才是MPU6050,不过只有MPU6050是不够的,它还需要一些外围电路才能正常工作,我们可以类比一下51单片机和51单片机的最小系统的区别。从MPU6050模块正面上我们还可以看到上面标注了X、Y轴的坐标系,那个就是MPU6050自身的坐标系,如最右图所示。
以下是MPU6050的相关管脚,不过平时我们使用MPU6050时其实只需要用到VCC、GND、SCL和SDA这四个管脚。不过我们要注意一点,就是AD0管脚的作用,我们知道I2C通信中从机是要有的地址的,以区别多个从机。当AD0管脚接低电平时,从机地址是0xD0。从MPU6050的寄存器中我们可以得到答案,MPU6050作为一个I2C从机设备的时候,有8位地址,高7位的地址是固定的,就是WHOAMI寄存器中的默认值---0x68,最低一位是由AD0的连线决定的。管脚名称说明VCC3.3-5V(内部有稳压芯片)GND地线SCLMPU6050作为从机时II匚时钟线SDAMPU6050作为从机时11匚数据统XCLMPU6050作为主机时口C时钟战XDAMPU6050作为主机时II匚数据践ADO地址管M读管脚决定了lie地址的最低一也INT中断引脚<qyOiHMZlj01ISO.星i里:l国1-4■OdHM口x66乖口口=口口的-Gd4日Ze"GXi二进制.*J4J4REGISTER117WHOAMI找的推WHO.AMJType;RradQmly|H«|ItKFUM-iAMwti痴时rMtflfllIMBUMJMl”,MUkW-甫卡l4|i.设而WHO._AM,iMFL-MXDI.7I-12C.丹的头,片.AC忖h\h|由AM引脚皓式.AN5相的出职出奇甥无关.奇办事的默认1H为由犯位,和7卷4・t性的码力图L5WHOAMI寄存器读取MPU6050原始数据这个过程中一个很重要的思路就是一步一步,确保每步都正确后就很容易读出正确的数据。我们队MPU6050进行读写传感器数据就是对MPU6050的寄存器用I2C协议进行读写。对此我们还要了解MPU6050的寄存器,这个过程跟学习51单片机没有什么区别,就是配置寄存器,读取相关数据。五、MPU6050的几个重要的寄存器:1、SMPLRT_DIV寄存器,寄存器地址为0x19。1)Register25-Sampk麟Divider(SMPRTDIVType:Re&dAftfrite'瞿町T型僚J,酶■*I帆I附gI.]I瞅网/r£4肛_。卬,_5MPI叫DW8位旗号哈施过该前陀驰鼬分编得到来期率蟠存麟定映仪输出鞠分狐用来产生MPU®刈的采样率.传翻轴器的黜,FIFO输出、DMP采样艇动鼬的㈱虾法采样轧器翱计算公S;采样率=礴隹的输出率“I+MOT-DIV)当数字睫滤波器没有解的的馅斶攵的输卅T嚼舒赋亿反之等于1KHZ.2、CONFIG寄存器,寄存器地址为0x1A。Re^ter2&-ConiL^uraliuLi(CUNFIG)Type:Read/WriteIReglMfrr中唯l.tdrf1Mgl]BfirBUSEM5BUBMH1A26.OT_SYNC_SETPO|DLFTjCF印D□EXI’S¥HC_SETm位无符号值.配置帧向生引脚的僻2)DLPF-CFU3位无符号俯,配置数字便通消波国圾寄存器为盘螺似4如速度计配苴外部独同步(HSYNO引脚采样和数字低犯滤波器(DLPF).细过配置ETTGYNT'GET,可以对连榜到FSYNC用圜的一个外部信号进行采样。FSVNC引建上的信号全化会被饨存,这样就:能捕获到阻加的釉闾信号&来祥结束后.铀存睬将复位到*1苒的后YMC信号龈态.根据F面的也格定义的值,来集到的数据会衿摭掉数据寄存错中.卜.次接收到的有效效据EXT_SYNC_SETfsyncbfLocationCinpuldisabled1TEMPJDUT_LP]2GYRO_XOLR_L[OJ3GYRO_YOUT_L[0]4GYRO_ZOUT_Lpj5ACCEL_XOUT_L[0]EACCEL_YOin_L[D]|7_ACCEL_ZOLFT_L[D[数字低迪灌波器是山口LPE/FG束配在,1艮甥下表中DLPF_CTG的偿对加速度传话器利尼
DLPF_CFGAculerometer(F5«1km)GyroscopeBardwidtti㈣Delay(闸Bandwidth|HZ)Dtky(ms]F5鹏D2就025609081⑻20f8319129430Sfl2&134449424B14218.5208315ID13.fi1013416519。518617RESERVEDRESERVEDe3、GYRO_CONFIG寄存器,寄存器地址为0x1B。3)Rcgi^rcr?7-Gyrwcnp#Coniigur;ilinn(CYR工CONFICi)Type;Read/Write;RvJi・七收0加时(DM.*raoi||囹7Bit5Bit4B1JBdlBfllBitOieXGSTYGSTZGFS_SEL[iq.-.XG-RT设置时位,K轴花蟀投进打向祖M试。YG_ST设置比位1Y轴定螺妆进行冉在初试。£灯一31设置此名轴配期仪进行自我侧武。F\4hL?位无符号雀选择配端似的品程口这个寄存腮星用来时然叵螺仪门心料配置后螂植的洁晶程范・札配煤仪自检允许用户测试陀螺仪的机械和电々部分.诩过设置该寄存器的XG_ST,¥G_ST和ap_STMts可以漱活尼愿较对应轴的自检.将个轴匕检就可以独在边行或同时毡行.自检的碉应=打开自检功能时时持泰戕输出-未均用后检功目凯1传感概的翰出FEMPUflWO/MPU-破5Q教第f•册的用气特性表中巴袋给出『每个轴的限制范机力向横的峋应值在规定的范围内,就能佛通过向检:反之,就不能眄过月椅°根据I,.表,FiS-SEL选舞陀蟀位摘出的量程,FSSELFullSeal«R^ngp0士250%1±500飞2±1000飞312000”s4、ACCEL_CONFIG寄存器,寄存器地址为0x1C。4)Rcgjslct2K-AccclcrortictcTCon(ACCELCOMFIG)1)XA_ST设置为1时,X轴加速度感庖器进行白检2)VAST设置为I时,Y轴加速度感应器进行白检3)ZA_ST设置为I时,Z轴加速度感应器进行自检.AFS_SEL2位无符号总°选择加速度计的量程.具体细节和.二而陀螺仪的相似口根据下表,AFS_£EL选择加速度传:感器输出的量程口5、三轴加速度计的相关寄存器ACCEL_XOUT_H(0x3B)、ACCEL_XOUT_L(0x3C)、ACCEL_YOUT_H(0x3D)、ACCEL_YOUT_L(0x3E)、ACCEL_ZOUT_H(0x3F)、ACCEL_ZOUT_H(0x40)。Rcgjstcrt39to64-AocelrfomclcrMcasuttffleflts(:ACCEL_X<XJT_H,ACCEI-XOUT^IACCELLOUTHACCELYOUAL,LCCELLOUT『,hMACCELLOUTI)lyprt:ReadonlyRegnBlecRtgbifM(口配第叫B耐质1$BUJ网工丽ZBirtL_X£XJ13C钝3061MXELjoury5a3E«2fcCCEL.YOUTI7.013F63ACCEL.KWT[叮VM*CGEL_ZWT[r^I)ACX.ILXOUl3位2k朴码值口存帏最近的工轴加速度感应践的测量值.?)ACCELYOUT16位丁星朴码殖:*存储最虚的Y轴加速度感罔引内测量值.3)ACCELZOUTIE位2、补叫值.存储最近的Z酶和施度感应器的捌量但*这些寄存楼存情加速感应器最近的测显值口加速度传感曙寄存眼.在同泮度传感跆寄存器、庄螂依传感器寄存黏和外部感应数据寄存器.都由两部分寄存器组成(类似于STM32JJ0X系列中的卷了寄存器)1一个内部寄存翳.用户不可见.另-个用户可证的寄存器-内部寄存器中数据在采样的时候及时的到更新.仅在中行通仁接口不忙厚时.才将内部寄存器中的值灯制到用户可读的寄存器中去..避免了宜接对感应测员信的突发访问.
庄寄存揩浦中定义r每个16位的加速度测同值的最人范围,刊于出莆的年个最大范巾都赳应一个制速度的足微度ACCEl_jiCVJTr如F[fri附表中所n,6、三轴陀螺仪的相关寄存器GYRO_XOUT_H(0x43)、GYRO_XOUT_L(0x44)、GYRO_YOUT_H(0x45)、GYRO_YOUT_L(0x46)、GYRO_ZOUT_H(0x47)、GYRO_ZOUT_H(0x48)。7)尺为以的$。门lc72-Gyiu出叩”MdiibiininieiiL!;tGYKO_XUL1_H,GYRO_AOLl_L.GYKOYOULH.GYRUYUU1L,GYROZOUTH,aridGYRDZOLTIL)Type:ReadOnlyRegiwt?r(H«JR”刷脚D^cim^k%T鼬56iM制。Bk14367<iTRC_XOUTi正中4J而西电蚊卯7叼4s69GTOO¥OwT|158|4r?flGYRC_TO<JT(70]4771GfflJOZ0UT(15.^曲72gvro_zoit[f0]这个和屈速度感Q器的裔价裾相似对应的灵敏度工FSSELFullscalftRang«ls日sensitivity0±25D脑131LSBr/S1±5007S&5,5LS日广得2±iooavs32.3LS0HS3±200。7S懂dLSB/VS7、温度传感器相关的寄存器TEMP_OUT_H(0x41^TEMP_OUT_L(0x42)6)叫kiers65and缸T叫史眦reM那uremeni(.TEMPOFTHandTEYP_OUT_L)T/pe!R的dOnly脚枷|邸|RegisletIMn)K鄙解阪*即Bid4165T^OVT]1&B|.«TEMPJWHDTEMPjOUT16蛹穿号小㈱施近猛雌勰的雅鱼8、PWR_MGMT_1寄存器,寄存器地址为0x6B。Type:Read'WtkeRegister隔tcbm/)BilFBhS600h1SM阳1U7—DE-_Rt$eTSLEEPCYCLE*TEMP」》CUCSELpq法寄存•黑允许用户配用电的模式卬立部渔,它还提供『一个.旦位整个器仪的位,和一个美团目度传国器的位\)DEVICE-RESET置.】后所有的寄存雌硬位,随后DEVICE^RESETFl动置0.ELEEP置1后进入睡眠模式CYCLE当CYCLE披设置为1.且占L1ZEP没力,设置,MPU6OX。进入循环模式,为丁从速度传感器。」如冯糜样假,在瞳眠模式和正常数据采集模式之间切颜.每次小汨一年乘样数描./i:I.P_WAKr._CTRI.OOS)苛存器中,订以设置快醒后讷采样率和趾噢醒的新率.TEMP^DIS置I后美阴层度传解器CLK5LL指定设备的府钟源时钟簿的选择:9、WHO_AM_I寄存器,寄存器的地址为0x75。Roister117-WhoAmJIWHOJ\MJ)Type:ReadOnly修”Regis4fli■fDecimri)eh?加6璃5aieBM1晒7S117,闱_m_聘力-中的内容是MPL-f孙刈的6箭口C地斤I:电基位的第&位到第I位值为:11。1明为「iI常小MPU椀。能播簿接在一个12C忌矮匕寸ADQ引脚逻辑了电平忖,白用的地址是biimooo.当ADO引脚遛辑高电平-忖:设备的地址是bllOIOOl10、初始化MPU6050的常用寄存器配置:/初劣台彳匕MPU6clsc।J*杳*1**1****^**喧****#噬1+杳,*>★噬1/曦1*吉★*,****宣**喧1oidInitMPU6:'50Osinglewntei2cipwr_mgmt_i,:khO);除休口民技..Single^Wr11e12C(SMPLRT_DrU,0x07);Single^Wuite12C(OONFIG?CxJ6>;s1nglejwrite12c(accel_config,Ok。。);/7配电加速度计量形为2g.不盲松Single2Wi:iteI2C(GYRO^ONFIG,口kIE);J/S己武陀蚪以显程为在;六、原始数据的单位换算:由于MPU6050数据寄存器是一个16位的,由于最高位是符号位,故而数据寄存器的输出范围是-7FFF~7FFF,也既是-32767~32767。如果选择陀螺仪范围是±2000,那么意味着-32767对应的是-2000(°/s),32767对应是2000(°/s),当读取陀螺仪的值是1000时,对应的角速度计算如下:32767/2000=1000/x;既x=1000/16.4(°/s),可以看出32767/2000=16.4,对应手册中的精度16.4LSB/(°/s),其他范围也是如此。如果是加速度计,采用和陀螺仪同样的计算方法,当AFS_SEL=3时,数字-32767对应-16g,32767对应16g。把32767除以16,就可以得到2048,即我们说的灵敏度。把从加速度计读出的数字除以2048,就可以换算成加速度的数值。举个例子,如果我们从加速度计读到的数字是1000,那么对应的加速度数据是1000/2048=0.49g。g为加速度的单位,重力加速度定义为1g,等于9.8米每平方秒。总结起来就是,只要对原始数据除以它在该量程下的灵敏度就可以获得实际的物理单位,原始数据时加速度的话,物理单位就为g,原始数据为角速度的话,物理单位就为。/s。七、利用原始数据得到角度:当我们得到MPU6050的原始数据时,接下来如果我们要真正用上这些数据,通常我们都会利用数学方法把它们转换成角度。常用的方法有:一阶互补滤波、清华角度滤波、卡尔曼滤波、四元数解算得到角度和直接利用MPU6050自带的数字运动处理器(DMP)直接得到角度。1、一阶互补滤波mdGEt_BalanceuintS即电offset=L#都置时用速度的雕量-fbatgyrcjit=机晒陀蝴解度积分信教】增旨慢踊加fkaTFilter_HEiglrt~乱电匕节日4宣Get_eyrnOata()”感取三三二三尼王艮Get原始三轴江勺-^f&alancejGyrD=mpn_gyroj-的电H干5览;〃悦始角速度St去攀?值得到实标角速度57.236〃/商勒加功度市反二角音孑例述度自度j桑以57.2%得拈1度转拈为度〃一随讣凝菽心公式」帘I融含醺E_fEalarKe_Angk=Fittsrjfei^rt*g_ftccElJ^Elle+(1-FilterJfeidit)*(e_FBalaKeJingle-gJBa]laiKe_G]fro,gynojtt);iHAIM*tItMHliiX上M丁J:寸XWtM*企2、清华角度滤波3、卡尔曼滤波♦•鼻牛呻**李峰**■$■«<唔4为4■■事掌建中**峰小安也4.中由事事小呻单也餐年年**■«■金坤“做非呻才*■融■■吗*4*■****事函寺事事工年中*4>■事中NKalmanS®:M//・事+•事4呻小本事峰*4也上唔4*♦•事权■单也船年*字也4.中**参事呻中拳营呻呻**•♦鼻坤女*系事呻噂系也■14**麟鼻“*事呻4拳餐•年中*4>■事中-fl™tangle-a^gljdat;“外部需要引用的麦坦voidKalwn_FiLter(flootanglejijfloatgyr包jijf/inglu』为鬲逮15角度和gy『Q_ji为则到的帚速由("一一""const-FJofft史_卸唱14^,的1.Qjgyrg^p的丸R_e1mlgleT,5.扰-0■,魏5号〃注京:dt的期ifi为侬1小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广西壮族自治区南宁中小学教师招聘考试试题解析及答案
- 2026年广西专升本(数学)考试真题及参考答案
- 2026年广西(小升初)英语真题及参考答案
- 篮球教学考核试题及规范答案
- 2025年成都天府香山初一入学语文分班考试真题含答案
- 2026年甘肃省金昌中小学教师招聘考试题库及答案
- 2026年广东专升本数学考试(真题)带答案
- 护士转岗体检试题及答案
- 保险规划综合试题与对应答案
- 2026年高中语文《归园田居其三》田园劳作诗教案
- 水泥土路床施工技术方案
- 2025年电力计量专业题库及答案
- 人教版(2024)七年级(全一册)体育与健康全册教案
- 原发性高血压课件
- 《0~18岁儿童精准营养补充指南》解读
- 《电气工程》课件
- DB11-T 1166-2024 城市轨道交通运营安全管理规范
- 《可见-近红外地物光谱仪》
- TB 10012-2019 铁路工程地质勘察规范
- 《我家漂亮的尺子》课件-定稿
- 10000以内加减法混合竖式题
评论
0/150
提交评论