基于stm32的四轴飞行器
基于STM32四轴飞行器电路设计的详细图解资料概述

基于STM32四轴飞行器电路设计的详细图解资料概
述
四轴飞行器是一种利用四个旋翼作为飞行引擎来进行空中飞行的飞行器。
进入20世纪以来,电子技术飞速发展四轴飞行器开始走向小型化,并融入了人工智能,使其发展趋于无人机,智能机器人。
四轴飞行器不但实现了直升机的垂直升降的飞行性能,同时也在一定程度上降低了飞行器机械结构的设计难度。
四轴飞行器的平衡控制系统由各类惯性传感器组成。
在制作过程中,对整体机身的中心、对称性以及电机性能要求较低,这也正是制作四轴飞行器的优势所在,而且相较于固定翼飞机,四轴也有着可垂直起降,机动性好,易维护等优点。
系统方案
本设计采用STM32F4作为核心处理器,该处理器内核架构ARM Cortex-M4,具有高性能、低成本、低功耗等特点。
设计总体框图。
基于STM32的四轴飞行器设计

基于STM32的四轴飞行器设计引言:四轴飞行器(Quadcopter)是一种重量轻、机动性强的飞行器,在无人机技术中应用广泛。
本文将介绍基于STM32的四轴飞行器设计。
一、STM32介绍:STM32是意法半导体公司推出的一款高性能32位微控制器系列,它具有强大的计算处理能力和丰富的外设资源,非常适合用于四轴飞行器的设计和控制。
二、硬件设计:1.处理器选择:选用性能较高的STM32系列微控制器作为飞行器的主控制单元,可根据实际需求选择合适的型号。
考虑到计算处理能力和外设资源的要求,建议采用高性能的STM32F4系列或STM32H7系列微控制器。
2.传感器:四轴飞行器需要借助多种传感器来获取飞行状态的信息,包括陀螺仪、加速度计、磁力计等。
这些传感器可以通过I2C或SPI接口与主控制单元连接,以获取实时的飞行姿态和姿态控制信息。
3.无线通信模块:可选择适合的无线通信模块,如Wi-Fi模块或蓝牙模块,用于与地面站或其他设备进行数据传输和控制指令的交互。
通过无线通信模块,可以实现四轴飞行器的遥控操作和数据传输。
4.电机和电调:四轴飞行器需要四个无刷电机和相应的电调来实现动力推力的控制。
电机和电调的选择应根据载荷和预期飞行能力来确定,同时需要考虑与主控制单元的通信接口兼容性。
5.电源系统:四轴飞行器需要一种可靠的电源系统来驱动其各个部件。
主要包括锂电池、电流传感器和稳压模块。
电流传感器用于监测整个系统的功耗,稳压模块用于为主控制单元和其他模块提供稳定的电源。
6.启动与显示模块:飞行器需要一种方便的启动与显示模块来显示系统状态和预警信息。
可以选择配备一块小型的液晶显示屏或LED指示灯,以及相关的按键和蜂鸣器。
三、软件设计:1.实时操作系统(RTOS):可以选择合适的RTOS系统,如FreeRTOS或CMSIS-RTOS,用于实现四轴飞行器的任务管理和调度。
RTOS可以提供任务优先级调度、实时中断处理等相关功能,保证飞行器的实时性和稳定性。
采用STM32设计的四轴飞行器飞控系统

采用STM32设计的四轴飞行器飞控系统四轴飞行器飞控系统是一种应用于四轴飞行器上的关键控制设备。
它包括硬件和软件两个部分,用于控制飞行器的姿态、稳定性和导航等功能。
其中,采用STM32设计的四轴飞行器飞控系统因其高性能、低功耗和丰富的外设资源而受到广泛关注。
一、硬件设计:1.处理器模块:采用STM32系列微控制器作为处理核心。
STM32系列微控制器具有较高的计算能力和丰富的外设资源,能够满足飞行控制的计算需求。
2.传感器模块:包括加速度计、陀螺仪、磁力计和气压计等传感器。
加速度计用于测量飞行器的线性加速度,陀螺仪用于测量飞行器的角速度,磁力计用于测量飞行器的方向,气压计用于测量飞行器的高度。
3.无线通信模块:采用无线通信模块,如蓝牙、Wi-Fi或者无线射频模块,用于与地面站进行通信,实现飞行参数的传输和遥控指令的接收。
4.电源管理模块:对飞行器的电源进行管理,确保各个模块的正常运行。
包括电池管理、电量检测和电源开关等功能。
5.输出控制模块:用于控制飞行器的电机、舵机等执行机构,实现对飞行器的姿态和动作的控制。
二、软件设计:1.飞行控制程序:运行在STM32微控制器上的程序,用于实时读取传感器数据、运算控制算法、输出控制信号。
该程序包括姿态解算、飞行控制和导航等模块。
-姿态解算模块:根据加速度计、陀螺仪和磁力计等传感器数据,估计飞行器的姿态信息,如俯仰角、横滚角和偏航角。
-飞行控制模块:根据姿态信息和目标控制指令,计算出电机和舵机的控制信号,保证飞行器的稳定性和灵敏度。
-导航模块:利用GPS等导航设备获取飞行器的位置和速度信息,实现自动驾驶功能。
2.地面站程序:在地面计算机上运行的程序,与飞行器的无线通信模块进行数据交互。
地面站程序可以实时监测飞行器的状态和参数,并发送控制指令给飞行器。
总结:采用STM32设计的四轴飞行器飞控系统是一种高性能、低功耗的控制设备,包括硬件和软件两个部分。
硬件包括处理器模块、传感器模块、无线通信模块、电源管理模块和输出控制模块。
基于STM32的四旋翼飞行器设计

摘要四轴飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器,与普通飞行器相比,具有结构简单、故障率低和单位体积能够产生更大升力等优点,所以在军事和民用多个领域都有广阔的应用前景,非常适合在狭小空间内执行任务。
本设计采用stm32f103zet6作为主控芯片,3轴加速度传感器mpu6050作为惯性测量单元,通过2.4G无线模块和遥控板进行通信,最终使用PID控制算法以PWM方式控制电子调速器驱动电机实现了四轴飞行器的设计。
关键词:四轴飞行器,stm32;mpu6050,2.4G无线模块.PID.PWMAbstractQuadrocopter has broad application prospect in the area of military and civilian because of its advantages of simple structure. Small size, low failure rate, taking off and landing ertically . etc. it is suitable for having task in narrow space.This design uses STM32f103zet6 as the master chip, and triaxial accelerometer mpu6050 inertial measurement unit, via 2.4G wireless module and remote control panel for communication. Finally using pid control algorithm with pwm drives the electronic speed controller to change moto to realize the design of quadrocopter.Key word : quadrocopter,stm32,mpu6050,2.4G wireless module ;pid; pwm目录第一章作品难点与创新 (1)1.1作品难点 (1)1.2创新点 (1)第二章方案论证与设计 (2)2.1飞控部分硬件框图 (2)2.2遥控器部分硬件框图 (2)2.3各部分元器件介绍 (3)2.3.1 stm32介绍 (3)2.3 .2电子调速器 (4)2.3.3 mpu6050六轴传感器 (5)2.3.4 无线通信NRF24L01 (6)第三章原理分析与硬件电路图 (8)3.1 飞行器空气动力学分析 (8)3.2飞控部分硬件电路图设计 (10)3.3 遥控部分硬件电路图设计 (10)第四章软件设计与流程 (11)4.1 pid算法分析 (11)4.2串级pid系数的整定 (12)4.3串级pid系统框图 (13)4.3.1 飞控部分程序设计 (14)4.3.2遥控部分程序设计 (14)第五章系统测试与误差分析 (15)第六章总结 (19)参考文献 (21)第一章作品难点与创新1.1作品难点对于一种芯片,最麻烦的就是底层的驱动了,很多驱动得自己编写,为了最大发挥处理器的性能,做了很多驱动优化,将不必要的延时降到最低,比如I2C 总线驱动,官方的代码不符合自己的要求,通信效率低,我们花了几天的时间去优化这个驱动,使用了模拟的IIC接口,最后在保证稳定性的前提下,速度提高了一倍。
基于STM32单片机的四轴飞行器飞行系统设计

集宁师范学院学报/Nov.2017/No.6基于STM32单片机的四轴飞行器飞行系统设计张仲俊汪材印(宿州学院机械与电子工程学院,安徽宿州234000)摘要:针对现阶段四轴飞行器飞行中存在的稳定性问题,通过对互补滤波、四元数、串级PID等技术的研究,设计了一种基于STM32的四轴飞行器飞行系统。
该系统采用STM32作为主控芯片,利用9轴传感器(3轴加速度计、3轴陀螺仪、3轴磁力计)GY-86测得原始数据,经过四元数姿态解算得到飞行器的姿态信息,再通过遥控器和主控板进行通信,利用串级PID控制算法驱动无刷电机实现四轴飞行器的稳定飞行。
实验测试结果表明:该系统能够保证四轴飞行器的稳定飞行,有很好的实用价值。
关键词:四轴飞行器;STM32;GY-86;互补滤波;四元数;串级PID中图分类号:V249文献识别码:A文章编号:2095-3771(2017)06-0027-06四轴飞行器属于一种小型飞行器,具有体积小、飞行高度低、灵活度高等众多特点,因而在空间小的区域飞行独具优势。
在航拍、线路巡检、数据采集等军用与民用领域中,四轴飞行器均有着广泛的应用前景。
由于四轴飞行器体积小、重量轻,在无风情况下能够正常飞行,但在天气恶劣的情况下,因其抗干扰能力差,非线性又十分复杂,以往的飞行控制方式并不能发挥理想的效果,因此,需要设计一种能够使四轴飞行器稳定飞行的系统。
1四轴飞行器飞行系统工作原理四轴飞行器简单来讲是一个在空间中含有六个活动自由度[1],然而仅仅存在四个控制自由度的系统,所以此类飞行装置又被命名为欠驱动系统(唯有控制自由度和活动自由度完全相等之时才可以将其命名为完整驱动系统)。
但仅针对姿态控制而言,它是通过完整驱动的方式进行运作的。
为了保持飞行器的稳定飞行,在四轴飞行器上装有由3轴陀螺仪和3轴加速度计组建而成的惯性导航模块,从而能够准确的获取飞行器在任意时刻相对地面的各类飞行状态数据。
飞行控制器利用特定的运算方式来确保飞行器在飞行过程中具有足够的旋转力和上升力,并利用专门配置的电子调控器来确保电机能够保持充足的能量输出,从而实现稳定飞行[2]。
基于STM32的四轴飞行器设计

基于STM32的四轴飞行器设计四轴飞行器是一种常见的航空模型,它由四个电动马达驱动,通过调整转速控制飞行器的姿态和位置。
在本文中,我将介绍如何使用STM32微控制器设计一个四轴飞行器。
这项设计需要以下四个组成部分:飞行控制器、传感器、电动机和通信模块。
首先,我们需要一个飞行控制器来处理飞行器的姿态控制和位置控制。
我们可以使用STM32微控制器作为飞行控制器,因为它具有强大的计算能力和高性能的外设。
STM32微控制器通常具有多个通用输入/输出引脚,用于连接传感器和电动机。
此外,STM32微控制器还可以运行飞行控制算法并控制电动机的转速。
其次,我们需要一些传感器来感知飞行器的姿态和位置。
常见的传感器包括陀螺仪、加速度计和磁力计。
陀螺仪可以测量飞行器的旋转速度和方向,加速度计可以测量飞行器的加速度和倾斜角度,磁力计可以测量飞行器相对于地球磁场的方向。
这些传感器的测量数据将用于计算和控制飞行器的姿态和位置。
第三,我们需要四个电动机来驱动飞行器的运动。
每个电动机都连接到飞行控制器的输出引脚,并通过调整电动机转速来调整飞行器的姿态和位置。
通过控制四个电动机的转速,我们可以实现飞行器在空中的稳定飞行和准确控制。
最后,我们需要一个通信模块来与飞行器进行通信。
通常,我们使用无线通信模块,如蓝牙或无线局域网,来控制飞行器的飞行和监控其状态。
通过与通信模块连接,我们可以使用智能手机或其他设备来发送指令和接收飞行器的数据。
在设计四轴飞行器时,我们需要首先将传感器和电动机连接到STM32微控制器。
然后,我们需要编写飞行控制算法并将其加载到STM32微控制器上。
接下来,我们可以使用通信模块与飞行器连接并发送控制指令。
最后,我们可以启动电动机并观察飞行器的飞行和姿态控制效果。
总之,基于STM32微控制器的四轴飞行器设计是一个复杂而有趣的工程项目。
通过合理选择传感器、编写飞行控制算法和使用通信模块,我们可以实现一个高度稳定和可控的四轴飞行器。
基于STM32的四旋翼飞行器设计

基于STM32的四旋翼飞行器设计四旋翼无人机是一种多轴飞行器,由四个电机驱动四个旋翼产生升力来进行飞行。
它具有简单结构、灵活机动、携带能力强等特点,被广泛应用于航空航天、电力、农业、测绘和娱乐等领域。
本文将基于STM32微控制器,设计一个基本的四旋翼飞行器。
首先,我们需要选用一款合适的STM32微控制器作为核心控制单元。
根据不同需求,可以选择不同型号的STM32芯片。
需要考虑的因素包括处理器性能、输入输出接口、通信接口等。
接下来,我们需要选用合适的电机和电调。
电机和电调是四旋翼飞行器的动力系统,直接影响飞行器的性能。
选择电机时需要考虑电机功率、转速、扭矩等参数。
而选择合适的电调则需要考虑电流容量、控制方式等因素。
四旋翼飞行器还需要传感器来获取飞行状态和环境信息。
常见的传感器包括陀螺仪、加速度计、磁力计和气压计等。
这些传感器将实时提供飞行器的姿态、加速度、地理位置和气压等数据,用于飞行控制。
在飞行控制方面,我们需要实现飞行器稳定的控制算法。
PID控制器是常用的控制算法之一,通过调节电机转速来控制飞行器的姿态。
PID控制器的参数需要根据实际情况进行调整,以实现稳定的飞行。
此外,四旋翼飞行器还需要通信功能,以便与地面站进行数据传输。
常见的通信方式有蓝牙、Wi-Fi和无线电调制解调器等。
通信功能可以实现飞行器的遥控和数据传输,使飞行器具备更广阔的应用空间。
最后,为了实现全自动飞行,还可以加入GPS导航系统和图像处理系统。
GPS导航系统可以提供精准的飞行位置和速度信息,通过编程实现预设航点飞行。
图像处理系统可以通过摄像头获取实时图像,并进行目标识别和跟踪,实现智能飞行等功能。
综上所述,基于STM32的四旋翼飞行器设计需要考虑微控制器选型、电机电调选择、传感器使用、飞行控制算法、通信功能等方面。
通过合理的设计和编程,可以实现一个功能齐全、性能稳定的四旋翼飞行器。
基于stm32小型四轴飞行器PID参数整定

• 37•基于stm32小型四轴飞行器PID参数整定广东理工学院 罗昌恩 张国林 戴 毅导语:本文针对STM32的小型四旋翼建模,对其进行PID控制器进行设计以及数据仿真,着重讨论参数整定,以及分段比例控制,死区,积分分离,过饱和PID控制算法对其稳定性的作用关键词:四轴飞行器;PID控制器;参数整定;算法1.现状四轴飞行器有着小巧灵活,稳定可靠,成本可观姿态丰富,模块化程度高的特点,此飞行器是一款备受关注的垂直起降无人机,有不错的市场前景,日趋完善的控制技术让无人机能完成更加出色的飞行姿态,满足更多领域的需求。
2.四轴飞行器的设计2.1 飞控硬件模块表1 硬件硬件模块模块组成电机有刷电机其具有维修更换成本低、质量轻、体积小、控制简单等特点电调MOS管驱动单个MOS管就能驱动有刷电机,所以针对基于STM32的微型无人机采用MOS管驱动电池 3.7V/250mAh锂电池。
飞控MCU:STM32F407通信模块:NRF24L01+无线发射接收传感器模块:MPU92502.2 控制原理在姿态控制运算上,国外科研机构通过他们的研究成果表明:PID控制算法相比诸多高级控制算法,如非线性控制、预测控制、滑模变控制等,对模型精度要求大大降低,所以将PID控制算法应用于姿态控制上效果更加理想。
飞行姿态控制主要有智能控制算法与PID控制算法两大种类,前者相比后者对微处理器要求较高,所以基于STM32为核心的四轴飞行器使用的PID控制算法是四轴飞行器目前的最优算法。
其中PID控制针对无人机作用如下:比例P能够迅速对误差信号进行响应,将误差比例放大作为控制量的输出。
积分I主要用于消除无人机系统静态误差,提高追踪精度。
微分D主要是提高无人机系统响应速度,增强无人机系统稳定性,通过误差变化趋势提前产生控制量。
PID控制器结构简单,能对控制量偏右起到有效的抑制作用。
四轴飞行器的飞行原理:前后桨间隔安装,各桨旋转方向与相邻螺旋桨相反,提供相同的动力方向(图1)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于stm32设计的四轴飞行器
引言
四轴飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器,与普通的飞行器相比具有结构简单,故障率低和单位体积能够产生更大升力等优点,在军事和民用多个领域都有广阔的应用前景,非常适合在狭小空间内执行任务。
因此四旋翼飞行器具有广阔的应用前景,吸引了众多科研人员,成为国内外新的研究热点。
本设计主要通过利用惯性测量单元(IMU)姿态获取技术、PID电机控制算法、2.4G无线遥控通信技术和高速空心杯直流电机驱动技术来实现简易的四轴方案。
整个系统的设计包括飞控部分和遥控部分,飞控部分采用机架和控制核心部分一体设计增加系统稳定性,遥控部分采用模拟摇杆操作输入使操作体验极佳,两部分之间的通信采用2.4G无线模块保证数据稳定传输。
飞行控制板采用高速单片机STM32作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器MPU6050作为惯性测量单元,通过2.4G无线模块和遥控板进行通信,最终根据PID控制算法通过PWM方式驱动空心杯电机来达到遥控目标。
1、系统总体设计
系统硬件的设计主要分要遥控板和飞控板两个部分,遥控板采用常见羊角把游戏手柄的外形设计,控制输入采用四向摇杆,无线数据传输采用2.4G无线模块。
飞控板采用控制处理核心和机架一体的设计即处理器和电机都集成在同一个电路板上,采用常规尺寸能够采用普通玩具的配件。
系统软件的设计同样包括遥控板和飞控板两部分的工作,遥控板软件的设计主要包括ADC的采集和数据的无线发送。
飞控板的软件的设计主要包括无线数据的接收,自身姿态的实时结算,电机PID增量的计算和电机的驱动。
整个四轴飞行器系统包括人员操作遥控端和飞行器控制端,遥控端主控制器STM32通过ADC外设对摇杆数据进行采集,把采集到的数据通过2.4G无线通信模块发送至飞控端。
飞控板的主要工作就是通过无线模块进行控制信号的接收,并且利用惯性测量单元获得实时系统加速度和角速度原始数据,并且最终解算出当前的系统姿态,然后根据遥控板发送的目标姿态和当姿态差计算出PID电机增量,然后通过PWM驱动电机进行系统调整来实现飞行器的稳定飞行。
系统的总体设计框图如图1所示。
2、四轴飞行器的硬件设计
2.1主控单元选择
从成本和性能综合考虑,飞控板和遥控板的主控单元都采用意法半导体公司的增强型高速单片机STM32F103作为主控的,STM32F103是基于的ARM 32位的Cortex-M3内核架构,稳定工作频率可达72MHz,是一个具有丰富资源、高速时钟的精简指令的微处理器。
STM32F103拥有从64K或128K字节的闪存程序可选存储器,高达20K字节的SRAM,2个12位模数转换器多达16个输入通道,7通道DMA控制器,多达80个快速I/O端口,串行单线调试(SWD)和JTAG接口调试模式,多达7个定时器,多达2个I2C接口(支持SMBus/PMBus),多达3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制),多达2个SPI接口(18M位/秒),CAN接口(2.0B主动),USB2.0全速接口。
主控单元原理图如图2所示。
2.2 飞控板电路设计
飞控板的核心设计是MPU6050测量传感器、NRF2401无线模块以及飞控板电机驱动等模块的设计。
飞控系统的惯性测量单元采用MPU6050作为测量传感器,MPU 6050的驱动方式采用IIC接口,时钟引脚SCL连接到STM32的PB10,数据引脚连接到STM32的PB11引脚,数据中断引脚连接到PB5,为了增强驱动能力在每个引脚上都加入了10K的上拉电阻,原理图的设计如图3所示。
相对于其他模块电系统也是比较重要的部分,飞控系统采用3.7V高放电倍率锂电池进行供电。
主控芯片供电部分和IMU传感器部分采用各自独立的LDO进行供电,这样确保了系统的稳定性和IMU传感器数据采集的准确性,稳压直流电源模块的原理图设计如图4所示。
飞控板与遥控板数据的通信同样采用的是基于2.4G频段的NRF2401模块,确保了数据的稳定传输。
STM32的SPI1外设对2.4G模块进行操作驱动,引脚的连接如下表1所示。
NRF2.4G为采用3.3V供电无线模块,系统采用与单片机相同的电源网络对其供电,同时加入0.1UF电容进行滤波确保模块正常工作,无线模块的具体原理图连接如图5所示。
飞控板的驱动系统采用的是四个分布对称十字交叉的高速空心杯电机,电机的驱动开关部分采用N沟道增强型场效应晶体管进行控制,通过修改STM32对应引脚上的PWM信号来进行开关MOS管实现电机运行开与关,从而实现电机运转速度的调节。
电机1、2、3、4分别采用STM32的定时器2的通道0、通道1、通道2和通道3的PWM进行控制。
电机1的控制端连接PA0,电机2的控制端采用PA1,电机2的控制端采用PA2,电机3的控制端采用PA3控制,电机的驱动原理图如图6所示。
飞控系统每0.5毫秒中断一次,每次中断就会检查一次无线模块数据的接收,确保飞控系统的控制信息的实时性。
每两次中断即1毫秒读取一次IMU单元的数据,通过滤波算法获得较为准确的系统加速度、角速度的原始数据。
每四次中断即2毫秒通过IMU的原始数据计算下当前飞控板系统的姿态,然后结合遥控端的目标姿态,根据两者的差值通过PID控制算法进行对各个电机的调速控制。
每200次中断即100毫秒,飞控系统会采集一次电池电压,然后把电池电压发送给遥控板,用来高速操作人员当前电压的大小。
MPU6050作为系统的惯性测量单元,是整个系统正常运行基础。
MPU6050的驱动总线为I IC方式,为了程序的方便性本系统选用PB10和PB11模拟IIC来驱动。
IMU读取出来的数据只是最简单的加速度、陀螺仪角速度的原始数据,需要通过进一步的处理才能得到本系统想要的姿态角度。
飞控板姿态结算流程图如图10所示。
根据处理过后的MPU数据来获得当前的姿态,具体的姿态获取理论上是根据各个角度的积分得到当前的系统姿态欧拉角。
本系统的设计实现是采用四元数算法对MPU6050最滤波后的数据进行计算得到最终的欧拉角。
整个飞控系统的运行动作是通过调整飞控姿态来实现的,本系统设计在当前姿态的基础上,根据接收到的遥控器的目标姿态对空心杯电机进行基于PID算法的PWM控制调速,从而实现飞控系统的各种基本运动。
飞控板会对系统惯性测量单元传感器的原始数据进行滤波,然后对滤波后的数据进行实时结算,最后根据遥控板发送来的目标信息进行计算出电机的控制增量,最后根据PID控制算法对电机进行控制输出,飞控姿态控制流程图如图11所示。