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

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

文章目录

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


前言

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

相关文章:

  • RabbitMQ 在 Linux CentOS 和 Docker 环境下的部署及分布式部署指南
  • MySQL LOAD DATA INFILE导入数据报错
  • 力扣 二叉树的直径-543
  • 华为云计算HCIE-Cloud Computing V3.0试验考试北京考场经验分享
  • Vue Cli的配置中configureWebpack和chainWebpack的主要作用及区别是什么?
  • 关于 3D Engine Design for Virtual Globes(三维数字地球引擎设计)
  • 【python】30、矩阵加法 tensor.sum
  • 【Python报错已解决】 Requests.exceptions.ProxyError: HTTPSConnectionPool
  • 9.18 微信小程序开发笔记
  • C++——判断year是不是闰年。
  • 亲测有效,长期有效的RTSP流地址公网RTSP地址,各种类型的视频源
  • 使用源代码编译R包的过程
  • 【鸿蒙 HarmonyOS NEXT】popup弹窗
  • 上线跨境电商商城的步骤
  • Sapiens——人类视觉大模型的基础
  • flutter集成百度地图定位 ‘BMKLocationManager.h‘ file not found报错
  • 计算机毕业设计 健身房管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • MySQL系列—12.Undo log
  • Apache SeaTunnel Zeta引擎源码解析(三) Server端接收任务的执行流程
  • 前后端分离的情况下,后端接口有必要加CSP策略吗?
  • Three.js
  • ChatGPT:强大的人工智能聊天机器人
  • 《深度学习》PyTorch框架 优化器、激活函数讲解
  • C/C++内存分布
  • [数据集][目标检测]智慧养殖场肉鸡目标检测数据集VOC+YOLO格式3548张1类别
  • 41. 如何在MyBatis-Plus中实现批量操作?批量插入和更新的最佳实践是什么?