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

news/2024/9/22 13:32:53/

文章目录

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


前言

💗博主介绍:✌全网粉丝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/news/1528835.html

相关文章

Gitlab及Git使用说明

目 录 1 Gitlab及Git介绍说明 5 1.1 什么是 Gitlab 5 1.2 什么是Git 5 1.3 Git 家族成员 5 1.4 Gitlab版本 5 1.5 Gitlab 优势 5 1.6 Gitlab 主要服务构成 6 1.7 Gitlab 简单工作流程 6 1.8 Gitlab用户角色 6 2 Gitlab安装与使用 7 2.1 Gitlab安装说明&#xff08;管理员&#…

网络安全中GET和POST区别在哪?

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

【数据结构】线性数据结构-顺序栈

栈&#xff08;Stack&#xff09;是一种基本的数据结构&#xff0c;具有以下特点&#xff1a; 后进先出&#xff08;LIFO, Last In First Out&#xff09;&#xff1a;栈内的数据项遵循后进先出的原则&#xff0c;即最后存入的项最先被取出。 操作限制&#xff1a;栈通常只允许…

串口助手的qt实现思路

要求实现如下功能&#xff1a; 获取串口号&#xff1a; foreach (const QSerialPortInfo &serialPortInfo, QSerialPortInfo::availablePorts()) {qDebug() << "Port: " << serialPortInfo.portName(); // e.g. "COM1"qDebug() <<…

本地生活商城开发搭建 同城O2O线上线下推广

同城本地化商城目前如火如荼&#xff0c;不少朋友咨询本地生活同城平台怎么开发&#xff0c;今天商淘云与大家分享同城O2O线上商城的设计和开发。 本地生活商城一般会涉及到区域以及频道类&#xff0c;一般下单需要支持用户定位、商家定位&#xff0c;这样利于用户可以快速找到…

(PySpark)RDD实验实战——取最大数出现的次数

实验环境&#xff1a; 提前准备好findspark&#xff0c;pyspark&#xff0c;py4j等库import findspark from pyspark import SparkContext, SparkConffindspark.init() #初始化spark&#xff0c;默认为你所设定的环境变量 conf SparkConf().setAppName("jsytest")…

Spring Boot 入门:解锁 Spring 全家桶

前言 Spring 全家桶是现代 Java 开发者不可或缺的工具集&#xff0c;它提供了从轻量级的框架到微服务架构的完整支持。本文将带你快速了解 Spring 框架、核心概念如 IoC&#xff08;控制反转&#xff09;和 AOP&#xff08;面向切面编程&#xff09;&#xff0c;并深入介绍 Sp…

啦啦啦啦啦

cat >> /etc/hosts << EOF 192.168.58.140 ceph-admin 192.168.58.141 ceph-1 192.168.58.142 ceph-2 192.168.58.143 ceph-3 192.168.58.144 ceph-client EOF