DSP28系列—MPU6050漂移补偿方案的探索

2023-05-16

说在前面的话:
大家都知道,陀螺仪是一种能测量角速度的器件,是姿态解算、角度测量等任务中无法缺少的工具。单轴的陀螺仪配合单轴的加速度计,就能结算出一个姿态角。在平衡车的应用中,一维的姿态角(倾斜角)就足够了。而在飞行器中,一般需要三个轴的陀螺仪和三个轴的加速度计,解算出三个姿态角。为了更加精确的输出这三个姿态角,就需要使用到(mahony互补滤波、卡尔曼滤波)来消除误差。这时,磁力计就油然而生了。你可以选择MPU6050+QMC5883L,或者MPU9250。除此之外,我们经常可以见到模拟陀螺仪和数字陀螺仪,实际上这仅关乎器件输出是模拟量还是数字量。输出模拟量的陀螺仪,如ENC03。输出数字量的陀螺仪,如MPU6050、MPU9250等等。模拟陀螺仪使用简单,仅需要在单片机中进行AD采集即可。至于数字陀螺仪,因为输出为数字量,因此都需要相应的通信协议进行通信,如I2C、SPI等(可以参考《DSP28系列—驱动六轴MPU6050输出欧拉角》)。

先把相关资料存个档,后面再慢慢整理:
1.MPU6050的缺陷问题:

添加链接描述
参考文章:添加链接描述(无人机机载导航系统和传感器基本原理)
无人机的常用导航方式是惯性导航+GPS,所以无人机上的常用传感器也是围绕这两者展开的,惯性导航一般包括三轴加速度计、三轴陀螺仪、三轴磁力计,再加上GPS构成了机载传感器的主体。
(1)加速度计:
加速度计是一种惯性传感器,能够测量无人机在XYZ三轴方向所承受的加速度,通常也可以配合陀螺仪一同测量无人机的三轴姿态。加速度计的缺点是信号受振动影响大,所以在无人机上使用时需要进行减震处理,在数据获取后也会进行滤波。当无人机静止时,加速度计测得的就是重力加速度,所以在实际使用时,我们都需要去掉重力加速度计的值。
(2)陀螺仪:
陀螺仪传感器能监测三轴的角速度,因此在导航系统中存在非常重要的作用,一般用于姿态角的解算。但是由于角速度积分得到的角度随时间漂移严重,所以单一的陀螺仪无法计算出准确的角度值,通常需要配合加速度一起使用,这也就是我们上述所说的性能互补。
(3)磁力计:
磁力计一般不会单独使用,通常是配合加速度计和陀螺仪一同解算姿态角的大小。另外,磁力计对于硬铁、软铁等永磁性物质都非常敏感。周围磁场的变化对磁力计的使用都会产生影响,可以说磁力计是无人机传感器中最容易受干扰的一位了,我们在调试无人机时也经常会遇到航向产生漂移的情况,大多数都是跟磁力计工作不正常有关。
(4)四旋翼飞行器姿态解算算法入门学习:
添加链接描述
(5)【完整版】多旋翼飞行器设计与控制【北航-全权-中国MOCC】:
添加链接描述
在这里插入图片描述

2.GY-271的详细资料:
(1)含有产品信息、电路图、UNO例程等:
添加链接描述
(2)QMC5883L芯片的参数要求:
添加链接描述
添加链接描述(好像没有对相关寄存器进行设置)
(3)使用树莓派调试磁力计QMC5883L:
添加链接描述(含有QMC5883L设备地址、寄存器,一个简单的读取寄存器的小程序)
(4)使用STM32调试磁力计QMC5883L:
添加链接描述
(5)GY-271和GY-251怎么结合在一起使用?
MPU6050使用I2C进行通信。I2C使用两条线SCL、SDA进行通信,再加上供电的两条线,使用MPU6050仅需要电源、GND、SCL、SDA即可。为了和电子罗盘完美结合,就可以将XCL和XDA管脚接到GY-271上。然后通过编程,可以让MPU6050帮你读取磁力计的数据,再一起读回单片机。当然,还有一个INT中断引脚,可以通过编程设定数据准备好时,该引脚发生电平变化,触发DSP的外部中断(可以通过设计按键和中断标志位来实现)。
(6)电子罗盘(磁力计)的问题:
有些厂家在DIY无人机上选择不焊接电子罗盘器件HMC5883。因为电子罗盘是磁场敏感元器件,很容易受到电机的影响,很难调试稳定。另外,小四轴在视眼范围内飞行,基本上不需要电子罗盘的锁尾功能。

未完待续…
(哪位大佬可以让我参考下GY-271和GY-251结合的程序呀,感激不尽)
上手小白,如有错误,欢迎批评指正
如有同道中人,可以加Q867740092,一起学习,一起进步

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DSP28系列—MPU6050漂移补偿方案的探索 的相关文章

  • ROS-kinetic下使用MPU6050串口模块发布imu主题

    转载自 xff1a https www jianshu com p 0c9ac4180dfd ROS kinetic下使用MPU6050串口模块发布imu主题 斜月映三星 2018 12 10 16 50 36字数 125阅读 1 450
  • MPU6050温度的计算公式

    在惯导融合的代码中常见计算MPU6050温度的公式 xff0c 如 xff1a temperature 61 36 53f 43 double GetData TEMP OUT H 340 0f 或者 Temp 61 36 53 43 Te
  • STM32F4无人机6轴运动处理组件MPU6050

    目的 学习MPU6050的原理 MPU6050初始化方法 原理 MPU6050是9轴运动处理传感器 它集成了3轴MEMS陀螺仪 xff0c 3轴MEMS加速度计 xff0c 以及一个可扩展的数字运动处理器DMP xff08 Digital
  • MPU6050

    简介 xff1a MPU6050是InvenSense 公司的 MPU6050 作为主芯片 xff0c 能同时检测三轴加速度 三轴陀螺仪 三轴角速度 的运动数据以及温度数据 利用 MPU6050 芯片内部的 DMP 模块 xff08 Dig
  • MPU6050-扫盲

    文章部分内容转载于 https blog csdn net zmjames2000 article details 88379640 管脚名称说明VCC3 3 5V xff08 内部有稳压芯片 xff09 GND地线SCLMPU6050作为
  • MPU6050温度计算公式

    Tem为16位数据 Tem 43 12412 340 61 Tem 340 43 36 5 Tem每340对应1摄氏度 12412代表0摄氏度
  • MPU6050的一些问题及解决办法

    最近做的项目要用到MPU6050 xff0c 出现了以下这些问题 xff1a 当然 xff0c 也有一些奇怪的事 xff0c 我是在淘宝上买的现成的模块 xff0c 那个ADO无论接地还是高电平 xff0c MPU的地址都是用0xD0 xf
  • 自平衡小车控制(stc12+mpu6050程序)

    自平衡小车控制 xff08 stc12 43 mpu6050程序 xff09 两轮自平衡车最终版控制程序 xff08 6轴MPU6050 43 互补滤波 43 PWM电机 xff09 单片机STC12C5A60S2 晶振 xff1a 20M
  • Jetson nano i2c教程(MPU6050 + PCA9685)

    首先介绍nano板子上的i2c相关的硬件信息 xff1a 安装所需要的i2c库 sudo apt get install l y i2c tools 完成nano中io与i2c设备的硬件接线 本次案例使用的是PCA9685和MPU6050
  • arduino 自平衡小车3\对mpu6050获得的X轴角度和角速度进行卡尔曼滤波

    对mpu6050获得的X轴角度和角速度进行卡尔曼滤波 mpu6050得到的角度值有些值的偏差较大 xff0c 为了使平衡小车更加稳定 xff0c 需要对获得的角度进行优化 xff0c 使用 卡尔曼滤波 xff0c 代码如下 xff1a in
  • ROS读取MPU6050数据

    上一篇讲到使用I2C连接Jetson Nano和MPU6050并使用python读取 xff0c 本次基于roscpp连接读取IMU数据 RTIMULib RTIMULib是本次使用的IMU库 xff0c 支持多种常见的IMU模块 xff0
  • HAL库 MPU6050的使用

    HAL库 amp amp MPU6050 HAL库 MPU6050的使用 xff1a 今天在本教程中 xff0c 我们将使用STM32接口MPU6050 xff08 GY 521 xff09 加速度计陀螺仪 同时 xff0c 我将在PC上利
  • mpu6000、mpu6050陀螺仪加速度计互补滤波数据融合算法原理推导

    时间比较紧 xff0c 就只传照片了
  • Arduino操作MPU6050模块

    MPU6050是集成三轴陀螺仪 xff0c 三轴加速度计 xff0c 温度传感器于一体的模块 本文档基于Adafruit MPU6050实现MPU6050模块基本操作 Adafruit MPU6050库 xff1a https github
  • MPU6050 - 陀螺仪 - 技术总结

    博主福利 xff1a 100G 43 电子设计学习资源包 xff01 http mp weixin qq com mp homepage biz 61 MzU3OTczMzk5Mg 61 61 amp hid 61 7 amp sn 61
  • MPU6050介绍及姿态解算

    1 介绍 xff1a MPU6050 是 InvenSense 公司推出的全球首款整合性 6 轴运动处理组件 xff0c 相较于多组件方案 xff0c 免除了组合陀螺仪与加速器时之轴间差的问题 xff0c 减少了安装空间 xff08 1 x
  • MPU6050温度计算公式

    Tem为16位数据 Tem 43 12412 340 61 Tem 340 43 36 5 Tem每340对应1摄氏度 12412代表0摄氏度
  • Micropython——九轴传感器(MPU6050)的使用及算法(三)

    简介 xff1a 上篇文章中 xff0c 关于九轴传感器 xff08 MPU6050 xff09 xff0c 学习其如何对其生成的数据偏移进行校准 xff0c 这节课我们来将其中的一个问题来进行解决 关于MPU6050地址问题 xff0c
  • 【STM32】I2C练习,HAL库读取MPU6050角度陀螺仪

    I2C练习 MPU6050简介 寄存器查询表格 STM32CubeMx配置 代码文件 mpu6050 h文件 mpu6050 c文件 main c文件 总结 MPU6050简介 MPU 6000 6050 为全球首例整合性6轴运动处理组件
  • MPU6050使用心得(简单分享一下)

    前言 选用MPU6050做 倾斜检测 功能 前期准备 开发板 正点原子STM32F103 精英版 STM32F103ZET6 模块 GY 521 MPU6050 其他 杜邦线若干 烧录线 FlyMcu Keil5 正点原子开发板配套的套件

随机推荐