基于stem32的四旋翼无人机控制系统-毕业设计

本文详细描述了一种基于STM32的四旋翼无人机飞行控制器设计,包括控制系统总体架构、软件系统设计流程、PID算法应用和硬件模块。着重于飞控软件的模块化设计,确保高精度、可靠性和实时性,以提升无人机操作性能和智能化水平。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

收藏和点赞,您的关注是我创作的动力

概要

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

一、系统设计

1 控制系统总体设计

基于stm32单片机的四旋翼无人机控制系统设计,使用了 STM32F103RB 型单片机作为图像处理模块、24 路舵机控制板作为飞行控制器。具体的运行流程是使用单片机完成各种图像处理与运行动作的决策,并将动作指令传送到运动控制器中,运动控制器再传回动作执行状态以及传感器信号。通过传送回来的画面对无人机进行控制,实现无人机动作的调试和无人机视觉系统的调试。整个运行流程是一个闭环控制系统,所以其工作总体设计架构图如图 2-1 所示。
在这里插入图片描述

图2-1 系统总体设计框图

二、 软件系统设计方案

控制无人机四个电机的转速相同使无人机能够平稳起飞,调节各个电机的转速,可以改变无人机的俯仰角,横滚角和偏航角。俯仰角控制无人机向前后是向后飞行,横滚角是控制无人机向左或是向右飞行,而偏航角控制无人机的旋转。当四个电机转速相同的,并且不考虑误差的情况下,通过控制油门,无人机可以做到垂直起降,空中悬停。当前面两个电机转速小于后面时,此刻俯仰角小于0,无人机向前飞行。向左右飞行与这原理相同。
在分析了四旋翼无人机的控制原理的基础上,建立了四旋翼无人机控制系统的整体架构;其次,对四旋翼无人机控制系统的硬件进行设计;然后,分析了主控制器、传感器、无线通信模块等的软件流程,对四旋翼无人机进行PID算法设计。最后,通过对设计的四旋翼无人机控制系统的飞行测试,证明了系统的可靠性。

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

图4-1 飞控系统任务

飞控软件设计流程

飞控系统在各个子模块之间常常出现大量的数据流,这对数据处理的时效性要求就非常高了。所以为了确定各个子系统之间选用的顺序,绘制飞控系统流程图,使用流程图也可以加深对业务流程的理解,有助于优化软件系统的结构[14]。根据课题需求绘制的流程图如图4-2所示。
在这里插入图片描述

图4-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();	                   //检查自身状态
}
}

四、 内容截图

在这里插入图片描述

五、 文章目录

目 录

1 绪论 1
1.1 课题研究的目的及意义 1
1.2 国内外研究现状 1
1.3 课题研究内容和方法以及预期目标 1
2四旋翼无人机飞行控制系统设计 4
2.1 控制系统总体设计 4
2.2 无人机余度技术概念 4
2.3 无人机余度设计内容 7
2.4 无人机飞控软件平台 8
2.5 飞行器相关计算和算法 8
3 四旋翼无人机飞控系统硬件设计 9
3.1 飞控系统硬件结构 9
3.2 三余度硬件设计方案 14
3.3 GPS传感器 15
3.4 系统模块设计和电源模块 16
3.5 stm32单片机和通信系统设计 18
4 无人机系统软件设计 19
4.1 软件系统设计方案 19
4.2 飞控软件设计流程 21
4.3 软件开发环境介绍 22
4.4 系统初始化和其他函数 22
5 结论 29
致 谢 45
参 考 文 献 46

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值