基于stm32的四旋翼无人机控制系统设计系统设计与实现

embedded/2024/9/25 7:10:21/

文章目录

  • 前言
  • 资料获取
  • 设计介绍
  • 功能介绍
  • 设计程序


前言

💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗
👇🏻 精彩专栏 推荐订阅👇🏻
单片机设计精品实战案例
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

资料获取

文章底部名片,详细资料联系我。

设计介绍

基于stm32的四旋翼无人机飞行控制器设计的目的是通过对四旋翼无人机系统软件的优化设计,不断提高无人机的研发技术,使无人机更加智能化、人性化,从而降低无人机的操作难度,使无人机的适用范围不断扩大,为各行各业提供便利。本文从实际应用角度出发,研究和设计了四旋翼无人机的飞行控制器,通过采用高性能 stm32 单片机作为无人机主控芯片完成了无人机的机体控制总体结构、电源和控制电路以及各种通信电路等相关技术的设计,重点探讨了无人机的外形及飞行装置。在四旋翼型无人机自动控制系统中,电机可以作为其主要的动力源,通过给出不同的信号传感器来自动控制各个旋翼的运转速度,并根据各个旋翼的反馈信号来自动调整各个旋翼的运转角度。本文主要通过对四旋翼无人机余度飞控系统、无人机系统软件程序编辑以及飞控系统硬件设计等方面进行了研究与实现。

功能介绍

飞行控制系统本身是一个多状态、多参数、非线性、多任务的动态耦合系统。系统设计需要满足高精度、高可靠性和高实时性的要求。在原有硬件电路实现的条件下,软件设计和编码则需要考虑采样周期和计算周期的协调、数值溢出、边界条件等问题。飞控联动系统的设计方案采用的是实时联动性较强、可靠性较高的新型多任务联动软件飞控系统,涉及多个子程序系统的数据流。主要任务有:传感器数据采集、航路引导计算、控制律计算、航路点与指令信息数据通信。首先要保证无人机运动姿态的平衡稳定和位置的正确,并按照之前设定的路线图进行准确飞行。同时,一定要接受远程指令,及时进行更改[13]。本文软件系统采用模块化设计,主要任务模块如图4-1所示。
在这里插入图片描述

图4-1 飞控系统任务

飞机控制系统是飞机控制的核心部分。其最重要的功能之一是实时接收传感器的数据,并能利用软件算法对飞行器的姿态进行分析,对飞机姿态异常的校正,关键的校正算法是PID控制算法。在这个冗余飞行控制系统中,姿态角是由主控
STM32F103RB读取的每个传感器的返回值来计算的。计算机获取的姿态角与遥控信号进行融合,输出到电机控制部分。飞机的姿态控制是通过调节电机状态来完成的[5]。整体系统框图如下图2-2所示。

在这里插入图片描述

图2-2 整体系统框图

设计程序

`int main(void)
{
Stm32_Clock_Init(2); //系统时钟设置
IO_shangla_init();
delay_init(72); //延时初始化
Adc_Init(); //AD 模块初始化
PWM_Init(4000,4,4000,4); //PWM 模块初始化
LCD_Init(); //液晶初始化
Ov7725_Init(); //ov7725 初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//设置 NVIC 中断分组 2:2 位抢占优先级,2 位响应优先级
uartInit(9600); //串口初始化位 9600
while(1){
model(); //模式选择
if(target()) //检测是否有目标
attack(); //收集目标信息
check(); //检查自身状态
}
}``


# 具体实现截图
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/15070c493fdc4815b5a6c976b2f2c5d8.png)# 参考文献[1]林超文,李奇. 基于STM32系统的四旋翼无人机姿态解算方法的设计与研究[A]. 中国高科技产业化研究会智能信息处理产业化分会.第十三届全国信号和智能信息处理与应用学术会议论文集[C].中国高科技产业化研究会智能信息处理产业化分会:中国高科技产业化研究会,2019:4.
[2]田昌,邓文涛,赵娟.基于STM32的四旋翼无人机设计[J].科技创新导报,2019,16(30):61+63.
[3]童江.基于双STM32多旋翼无人机控制系统设计[J].科学技术创新,2019(22):39-40.
[4]申祖辉. 基于STM32的四旋翼无人机控制系统设计[D].河南科技大学,2019.
[5]宗意凯,曾宪阳,施子凡,杨红莉,陈春春,徐长城,孙钢,张宇昕.基于STM32单片机四旋翼无人机自主飞行设计[J].电子技术,2018,47(06):84-87.
[6]蒋红阳. 基于STM32的多旋翼无人机飞行控制器的多余度系统研究[D].吉林大学,2018.
[7]周健,王远航,黄创绵,杨剑锋,严拴航,闫攀峰.基于STM32的四旋翼无人机在线监测系统研究[J].电子产品可靠性与环境试验,2018,36(01):43-48.
[8]李志广. 基于STM32单片机的四旋翼无人机姿态的数据采集研究[D].安徽理工大学,2022.
[9]潘春荣,许化.基于STM32的X型四旋翼无人机设计[J].工程设计学报,2017,24(02):196-202+210.
[10]袁安富,徐金琦,王伟,马浩.基于双STM32多旋翼无人机控制系统设计[J].电子技术应用,2020,39(11):136-138.
[11]王博. 基于STM32的微型无人机飞行控制器研究[D].长春工业大学,2018.
[12]杨磊. 基于STM32的小型无人机飞行控制系统设计[D].东北农业大学,2016.
[13]胡庆. 基于STM32单片机的无人机飞行控制系统设计[D].南京航空航天大学,2022.
[14]邓其龙,朱耀钟.基于STM32的四旋翼无人飞行器控制系统[J].电子世界,2015(19):171-172.
[15]杨才广,姚志兴,谭永镇,凌子嵌,凌永国,黄设新.基于STM32的无人机飞行控制系统[J].电子世界,2019(01):130-131.
[16]肖远鹏.基于STM32的无人机飞行控制系统设计[J].电子技术与软件工程,2020(14):90-91.
[17]徐信,陈聪.基于STM32的无人机飞行器设计[J].信息通信,2018(12):128-130. 
[18]Tanabe Yasutada,Sugawara Hideaki,Sunada Shigeru,Yonezawa Koichi,Tokutake Hiroshi. Quadrotor Drone Hovering in Ground Effect[J]. jrobomech,2021,33(2).
[19]PliegoJiménez Javier. Quaternion‐based adaptive control for trajectory tracking of quadrotor unmanned aerial vehicles[J]. International Journal of Adaptive Control and Signal Processing,2021,35(5)
# 设计获取><font face="微软雅黑" color=#FF0000 size=4><strong>文章下方名片联系我即可~</strong><br>
><font face="微软雅黑" color=#0099CC size=4>精彩专栏推荐订阅:在下方专栏👇🏻</font><br>
<font face="微软雅黑"  size=4><a href="https://blog.csdn.net/qq1928499906/category_12766262.html" target="_self">**毕业设计精品实战案例**</a></font><br>
><font face="微软雅黑" color=#FF0000 size=4>**收藏关注不迷路!!**</font><br>
><font face="微软雅黑" color=#FF0000 size=4>**🌟文末获取设计🌟**</font><br>

http://www.ppmy.cn/embedded/113646.html

相关文章

1. 如何在Java中连接MySQL数据库?请解释使用JDBC连接的步骤。

要在Java中连接MySQL数据库&#xff0c;通常使用JDBC&#xff08;Java Database Connectivity&#xff09;API。这是一个用于执行SQL语句的Java API&#xff0c;可以用来访问关系型数据库。下面是使用JDBC连接MySQL数据库的详细步骤&#xff1a; 1. 添加MySQL JDBC驱动 首先&a…

每日新闻掌握【2024年9月12日 星期四】

2024年9月12日 星期四 农历八月初十 大公司/大事件 iPhone 16 Pro Max机型或占总销量35% 市场研究机构TechInsights发布报告&#xff0c;预计iPhone 16系列的出货量将超过其前代产品&#xff0c;2024年全球出货量预计将达到7300万台。此外iPhone 16 Pro Max预计将成为iPhone …

如何用python做一个计算器

很久不更新了&#xff0c;今天来更新一下&#xff0c;初学python&#xff0c;若有可以完善部分可以私信&#xff0c;谢谢大家的支持&#xff0c;代码如下&#xff1a; print("欢迎使用计算器")aint(input("请输入第一个数字\n")) bint(input("请输入第…

小程序面试题四

一、如何提高微信小程序的应用速度&#xff1f; 提高微信小程序的应用速度&#xff0c;可以从多个方面进行优化。以下是一些关键的方法和建议&#xff1a; 1. 优化网络请求 减少请求次数&#xff1a;尽可能合并多个请求&#xff0c;减少HTTP请求的次数。这可以通过批量处理数…

【OJ刷题】双指针问题3

这里是阿川的博客&#xff0c;祝您变得更强 ✨ 个人主页&#xff1a;在线OJ的阿川 &#x1f496;文章专栏&#xff1a;OJ刷题入门到进阶 &#x1f30f;代码仓库&#xff1a; 写在开头 现在您看到的是我的结论或想法&#xff0c;但在这背后凝结了大量的思考、经验和讨论 目录 1…

秒懂C++之特殊类设计

目录 设计一个类&#xff0c;不能被拷贝 设计一个类&#xff0c;只能在堆上创建对象 设计一个类&#xff0c;只能在栈上创建对象 设计一个类&#xff0c;无法被继承 设计一个类&#xff0c;只能创建一个对象(单例模式) 饿汉模式 懒汉模式 设计一个类&#xff0c;不能被拷…

十.在vue中,发送axios请求应该放在created里还是mounted里?详解

在vue中&#xff0c;发送axios请求应该放在created里还是mounted里&#xff1f;详解 在回答这个问题之前&#xff0c;我们需要知道vue的生命周期钩子顺序&#xff1a;beforecreated&#xff08;组件创建前&#xff0c;dom元素、data都为undefined&#xff09; created&#xf…

通信工程学习:什么是HSS归属用户服务器

HSS&#xff1a;归属用户服务器 HSS&#xff08;归属用户服务器&#xff0c;Home Subscriber Server&#xff09;是IP多媒体子系统&#xff08;IMS&#xff09;中控制层的一个重要组成部分&#xff0c;它扮演着存储和管理用户相关信息的核心角色。以下是关于HSS归属用户服务器的…