【ESP32Arduino+MPU6050姿态解算】自制无人机学习笔记2 PLatformIO 下载即可使用

这篇具有很好参考价值的文章主要介绍了【ESP32Arduino+MPU6050姿态解算】自制无人机学习笔记2 PLatformIO 下载即可使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0.引入

本人之前发表过一篇关于esp32读取mpu6050数据的文章,链接:http://t.csdn.cn/AwzSZ,但其存在一些漏洞,具体表现在输出数据存在不连贯和错误,在mpu6050高速运动时存在较大误差等。仅作为参考。故在此重发作为修正。当前该篇文章中所述的模块,已经过无人机稳定性控制的测试,可控制四轴无人机进行稳定性控制,故可保证其可靠性,请大家放心食用!

esp32,国产之光,双核算力强大,并且自带互联网模块,在控制飞行姿态的同时可以兼顾其它运算任务,集通讯和控制为一身,可作为无人机良好的开发平台。MPU6050,价格低廉,体积小,功能强大,可靠性高,可与esp32通讯辅助无人机调整姿态。本篇将教大家如何用esp32+mpu6050初步实现无人机的自稳定。当前作者已实现,大家可以放心阅读。

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档
esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

下图为本人搭载于无人机上的控制主板,其中最上方蓝色模块为MPU6050,左手边蓝色模块为无人机电池的电压转换模块,与本篇内容无关,在今后的文章中会介绍到,中间黑色模块为esp32。其中的陀螺仪姿态解算程序就是本篇介绍的内容。

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

1.废话不多说,先上干货。

链接:https://pan.baidu.com/s/1_Wlu54wnzNP1WX9bcKo1pA?pwd=cf9h

提取码:cf9h

食用方法:

step1:下载后用VScode打开文件夹,能看到src里面有这几个文件:

(不会搞VScode platformio的同学强烈推荐这个教程: https://www.bilibili.com/video/BV1xY4y1b7un/?share_source=copy_web&vd_source=203f2aa16a22e4820da35c4fe0a39593)

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

其中start.cpp是主程序,点击上传到esp32

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档
esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

step2:硬件连接

esp32与MPU6050引脚接法:

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

3.3v->VCC

GND->GND

GPIO22->SCL

GPIO21->SDA

step3:将esp32连接电脑,打开串口监视器即可看到esp32正在输出陀螺仪的姿态数据:

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

此处注意波特率是115200。可以看到,输出的速率非常快,这归功于esp32超高的运算速度,此时限制输出速度的不再是MCU,而是MPU6050。仔细整理数据将发现,无论6050以多高的速度转动,输出的相邻数据都会出现重复现象。这是因为esp32在6050的下一组数据传来前已经将上一组数据处理了两次。

2.详细介绍

代码源自arduinoIDE中MPU6050实例,本人将该实例整理并调整为适用于esp32的模式供大家使用。arduinoIDE中的原始代码可直接在arduino开发板上稳定运行,只是速度远不如esp32

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

输出的数三个数据(PRY)分别是Pitch(俯仰角)、Roll(横滚角)、Yaw(偏航角)的缩写。

如果想在串口监视器中看到其它数据可在<可视化>部分中找到要显示的数据的相关函数进行调用。

esp32连接mpu6050,fpga开发,单片机,mcu,Powered by 金山文档

文件夹中其它文件主要为esp32与MPU6050的I2C通讯程序和陀螺仪数据的dmp解算程序,其中数据不建议改动。

最后,同为小白,希望本篇能帮到大家!谢谢大家的光顾!文章来源地址https://www.toymoban.com/news/detail-595553.html

到了这里,关于【ESP32Arduino+MPU6050姿态解算】自制无人机学习笔记2 PLatformIO 下载即可使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从MPU6050了解姿态解算

    最近正在学习和 陀螺仪 有关的知识,要将陀螺仪用到期末大作业中,代码还处在调试阶段,目前先总结一下学到的理论知识,学习资料来源 三维转动的四元数表述 - 中国知网 (cnki.net) MPU6050姿态解算2-欧拉角旋转矩阵 - 知乎 (zhihu.com) 姿态解算说明(Mini AHRS) MPU6050.pdf (szlcsc

    2024年02月06日
    浏览(47)
  • FPGA实现MPU6050姿态解算---附完整代码

    在之前的文章中(很久之前了( CSND中 )),已经通过FPGA获取到了MPU6050的六轴数据: 三轴加速 和 三轴角速度 ,但是没有对它进行然后处理。那么在本篇文章中,将利用Cordic算法来进行姿态解算。 在进行姿态解算分享之前,先分享一个踩坑经历。一般来说MPU6050的ID读出为0x68,淘宝

    2024年01月19日
    浏览(40)
  • STM32无人机-四轴四元数姿态解算与卡尔曼滤波

    MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度。 什么是四元数 这部分很难,新手知道四元数的功能是将 6 轴传感器数据转化为三轴姿态角度数据即可。 四元数解算程序店家已经封装成一个函数,输入 MPU6050 数值,解算周

    2024年02月03日
    浏览(40)
  • [Arduino ESP32] mpu6050使用笔记(含dmp)

    Arduino ESP32 I2C管脚定义:Arduino.h(第209行左右) - pins_arduino.h如图: VCC---3.3v GND--GND 简单使用() 代码位置 代码如下(直接粘的): 上传,然后卡在初始化 原因: 可能是I2Cdev库和MPU6050库不同步(I2Cdev太新了) 解决: 依次检查 (F12) main.cpp的accelgyro.initialize();== MPU6050.cpp的setClockSource

    2024年02月11日
    浏览(46)
  • 一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法

    摘要:本文介绍姿态传感器MPU6050的使用方法 姿态传感器是一种用于测量物体姿态的传感器,它可以检测物体的加速度和角速度,并计算出物体的方向和角度。前边介绍的RPI-1031只能定性的得到物体的倾斜情况,而姿态传感器则可以定量的得到物体倾斜的方向和角度。 MPU6050是

    2024年04月28日
    浏览(40)
  • 【STM32学习】——I2C通信协议&MPU6050姿态传感器&软件I2C读写MPU6050

    ​   目录 前言 一、I2C通信协议 1.简介 2.硬件电路设计 3.I2C时序(软件)

    2024年02月16日
    浏览(51)
  • STM32F103C8驱动MPU6050姿态与tofsense报警 (六)

    主函数 int main(void)  {         //RCC_Configuration(); //时钟设置          //BUZZER_BEEP1();//蜂鸣器音1         //BUZZER_BEEP1();//蜂鸣器音1     //delay_ms(50);     SYS_Init();//系统初始化总函数     while(1)   //主循环     {      // BUZZER_BEEP1();//蜂鸣器音1         MPU_Read();    //MP

    2024年01月17日
    浏览(76)
  • STM32F103C8驱动MPU6050姿态与tofsense报警 (一)

    本工程是实现STM32F103C8获取 mpu6050欧拉角(pitch ,roll,yow) mpu6050自带的dmp  第一步:设置串口 #if EN_USART1_RX   //如果使能了接收 //串口1中断服务程序 //注意,读取USARTx-SR能避免莫名其妙的错误        u8 USART_RX_BUF[USART_REC_LEN];     //接收缓冲,最大USART_REC_LEN个字节. //接收状态 //bit15,

    2024年01月17日
    浏览(42)
  • Arduino无人机四轴飞行器(esp8266)

    想要更多项目私wo!!!  硬件组成:    Arduini Nan ESP8266 MPU6050 模块 有刷电机 螺旋桨 电池包 Si2302场效应管 无人机架 ESP8266模块         为了与无人机通信,我们需要蓝牙或WIFI连接,所以我们使用ESP8266 Wi-Fi模块,因为它有内置的Wi-Fi,我们可以使用它进行通信。 ESP8266开源、

    2024年02月12日
    浏览(45)
  • 姿态传感器——MPU6050

    MPU6050是由三个陀螺仪和三个加速度传感器组成的 6轴运动处理组件 ,是一款六轴(三轴加速度+三轴角速度(陀螺仪))传感器。 · 内部主要结构 陀螺仪 、 加速度计 、 数字运动处理器DMP (Digital Motion Processor) MPU6050含有两个IIC接口,第一IIC接口可作为主接口给单片机传输

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包