当前位置: 首页 > news >正文

基于stm32的四旋翼无人机的设计——飞行控制系统软件设计

2 四旋翼无人机设计总体思路

确定无人机基本需求,主要包括无人机的功能、性能、成本、功耗、尺寸和重量等。确定这些之后,就可以针对这些需求进行硬件模块的选择以及软件的初步构思。
对无人机进行系统设计,把实际问题转变为工程问题,确定总体的系统结构,再分别确定硬件结构和软件结构并画出流程框架,其中的重点是软件硬件之间的划分,划分的结果将对开发进度有着较大的影响。
对无人机进行详细设计,设计和选择符合无人机系统的具体构件。既包括硬件模块比如cup6050,也包括软件模块比如一些可以直接调用的函数。在这一阶段,更多的是需要特定的设计,并尽可能使具体结构优化。
最后,进行系统的集成与测试,通过对无人机系统反复的测试,修正构件中的错误,最后把软件程序进行固化。
2.1 软件设计的思路
四旋翼无人机硬件的开发,解决了怎么飞行的问题,用什么器件控制的问题,以及如何检测当前无人机姿态的问题。飞行看起似乎近在咫尺,但实际上,每一个电机都有自己的特性,给它们相同的参数,也会不完全一致的转动。周围环境,比如微风等扰动,也会使其失去平衡,从而达到不可控。
为了解决这些问题,笔者在姿态控制上选择以PID算法进行控制,无人机相当于有了一个自动调节的大脑。但想要使用PID,就需要实际飞行姿态的参数,因此,程序还需要把MPU6050采集的数据进行处理,这就用到了四元数姿态解算,得到欧拉角。采集的数据由于传感器的客观原因也常常不够准确,这就需要了卡拉曼算法进行滤波。通过这3个算法的配合,基本可以对飞行姿态进行控制。同时,在程序编写上以模块的形式,方便检测更改程序的错误以及进行调试。

3 四旋翼无人机的结构与运动姿态

3.1 无人机的结构
一般而言,无人机的机体架构为X型或十字型,这取决于机头方向的定义,而它们的主要区别在于坐标系的位置是不一致的。对于X型无人机,它的机头方向为两个机翼的中间,十字型无人机则是以其中一个机翼为正方向。两种机体架构各有优劣,但总体而言,以X型为机架的无人机性能更好,主要是通过调查发现,选用X型作为机架的无人机常常表现的更为稳定且易于操作。因此,本次设计选用以X型为机身构造。
X型四旋翼无人机是一种由4个独立的电机驱动,以X型架构为机身的飞行器。它的具体结构如图3.1所示,4个电机共同为无人机提供向上的动力,并且每一个都是独立的,从结构上看,四个电机处于同一水平面并且每个电机到中心的距离是相等的。以顺时针转动的电机2、电机4称为正桨,以逆时针旋转的电机1、电机3称为反桨。由图可以看出4个旋翼可以分为2组,并以在同一对角线的为一组,而且同组电机的旋转方向是一致的,相邻的两个电机是反向的。在两个旋翼转速完全相同的情况下,两个旋翼产生的反扭力矩方向相反,大小相同,便可抵消力矩,从而达到达到平衡。

图3.1X型四旋翼无人机具体结构

4 飞行控制系统硬件设计

如图4.1所示四旋翼无人机的硬件电路由STM32最小系统、电源、传感器、LED、和接口六大部分组成。主控制器STM32F103C8T6负责解算传感器模块采集的信息,并利用采集的信息提供飞行任务指令,同时结合PID控制算法,PWM波信号输出使电机转速发生有规律的变化,从而实现飞行器的可控飞行。

图4.1四旋翼无人机的硬件电路

5 软件设计总体思路

软件使用 keil MDK 5.14 集成开发环境。飞行控制软件主要包括以下几个方面。 mpu6050传感器把初始数据传送给STM32 单片机,采用I2C通信方式;得到飞行器的实时姿态数据,并进行滤波;四元数姿态解算得到实际姿态; PID控制姿态,使无人机在无法达到理论值时依旧处于稳定状态; 通过占空比的改变,使PWM波信号控制电机。具体程序框图如图5.1所示

图5.1四旋翼无人机的软件程序设计框图

6 系统调试与飞行测试

虽然程序经过较为严格的论证,并对每段程序进行了检查,但实际环境常常是多变的,比如信号传输可能被干扰,空气流动造成的扰动等,操作手法也可能造成飞行的不稳定,所以制作出的实物,需要根据实际情况进行微调。
在进行飞行测试时,笔者通过与团队的讨论,选择在宽阔的室内试飞,主要考量在于室内墙壁可以反射信号,无人机不容易失控,其次是测试阶段,选择扰动量小的地方,发现问题便于分析,从而便于整体的修改。
测试的内容主要包括无人机的飞行移动和悬停。图为四旋翼无人机飞行时的图片。动态性能良好,在飞行的测试中,四旋翼无人机能够按照遥控控制的方向进行前进、倒退、向上、向下、左移、右移倾角误差在±4°以内,飞行的姿态较为平稳。控制命令发送后,四旋翼无人机的响应时间在2s左右,系统响应实时性较好。不足之处在于,降落时需要缓慢下降,否则电源瞬间切断,直接掉落下来可能造成一些危险。总的来说,测试的结果达到了预期的设计要求。

7 总结

这次的毕业设计,我回顾了许多在大学期间所学知识,有高数、线代、控制理论、嵌入式、单片机等课程。回顾期间,一方面感受到自己深深不足,一方面又因为自己学过而不至于寸步难行。在面对一些未曾学习过的知识的时候,按照老师所教授的自学技巧,比如书看皮,文献看目录来找自己真正需要的东西,又如对于原理解释,理解数学解释对后续学习起到了事半功倍的效果。整体而言,这次的毕业设计使我受益良多。现对本次毕业设计总结如下
现对本次毕业设计进行总结,本文从四旋翼无人机的发展入手,对无人机飞行原理,以及飞行姿态控制进行了简单的描述,之后又对整个硬件的模块进行简单的介绍。有了这两个铺垫,软件内容的出现不会显的突兀,读者也能快速简单的了解整个四旋翼无人机,进而对软件部分的大致思路有个对实际的把握。
本文对软件部分进行了详细的论述,主要是对卡尔曼滤波、四元数姿态解算、PID这三个算法进行了浅薄的理解和详细的论述,在参考大量程序后,进而写出对应的程序。整体而言,本文对算法的论述占较大的篇幅,并且以较为通俗易懂的话写了出来,相对应的可以给初次接触该领域的读者一点参考。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

http://www.jsqmd.com/news/253640/

相关文章:

  • 惊魂一刻!重装系统误删分区,数据救援大揭秘
  • AIDL Hal 开发笔记3---- stable-c HAL 实例分析
  • 基于PLC的卷扬机控制系统
  • AIDL Hal 开发笔记4----驱动开发
  • 收藏级指南:Agentic RAG 彻底升级传统RAG,打造能干活的AI数字同事
  • 基于51单片机的出租车计价器
  • QML基本元素
  • 交直流可编程电源(技术资料) 直流电源是直流输出0-30V 5A TL494 线路; 交流电压...
  • DevSecOps时代测试工具的进化论:从功能验证到全链路质量保障
  • 收藏级!大厂后端面试全流程复盘+大模型从入门到实战学习礼包
  • 【Java毕设全套源码+文档】基于springboot的公务员考试管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 基于Arduino的物流分拣控制系统设计
  • 【Java毕设全套源码+文档】基于springboot的新闻发布会管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 本土DevOps领军者Gitee:如何重塑中国企业研发效能新范式
  • 收藏!AI焦虑别慌,程序员为啥要学大模型?零基础系统入门指南
  • listmap数据变驼峰
  • 【Java毕设源码分享】基于springboot+vue的水果在线销售系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 量产HLW8032串口通讯芯片的三相电参数采集系统项目资料 1主芯片采用STM32F407
  • Java后端开发学习路线,零基础入门到精通,收藏这篇就够了
  • Maven 4 终于快来了,新特性很香!
  • AntDesign Table sorter 为什么点击第三次取消了,还是有参数发出?可设置sortDirections解决
  • 如何应对AI生成重复内容:精选十大工具评测及有效解决策略
  • 【Java毕设源码分享】基于springboot+vue的二手书交易商城系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • AI驱动的11款论文写作工具,提供LaTeX格式智能排版与内容优化功能。
  • AI驱动的11项论文写作工具,支持LaTeX格式排版与智能内容优化
  • 2026电子行业投资策略:具身智能赋能全产业链,本土硬科技从星火到燎原
  • 拒稿退散!宏智树 AI 解锁期刊论文录用密码
  • 芯片级机密计算,天翼云CSV3筑牢数据“可用不可见”防线
  • 绿的谐波纳米减速器量产,苏州中新具身智能产业园开工,亚马逊升级物流机器人,波士顿动力Atlas迭代​
  • 查重 + AIGC 双险通关!宏智树 AI:给论文注入人工原创灵魂