采用STM32设计的四轴飞行器飞控系统
基于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单片机的四轴飞行器飞行系统设计
集宁师范学院学报/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的四旋翼飞行器控制系统设计
基于STM32的四旋翼飞行器控制系统设计引言:四旋翼无人机近年来逐渐走向商业化和日常生活化,广泛应用于航拍、货运、农业等领域。
为了保证飞行器的平稳、安全飞行,需要设计一个可靠的控制系统。
本文基于STM32单片机,设计了一种适用于四旋翼飞行器的控制系统。
一、硬件设计1.主控板主控板采用STM32单片机,该单片机具有高性能、低功耗、强大的控制能力等优势。
它能够完成飞行器的数据处理、控制输出等任务。
2.传感器为了获取飞行器的姿态信息,需要使用加速度传感器和陀螺仪。
加速度传感器用于测量飞行器的加速度,陀螺仪用于测量飞行器的角速度。
这些传感器通常被集成在一块模块上,直接连接到主控板。
3.遥控器为了实现飞行器的遥控操作,需要使用遥控器。
遥控器通过无线通信与主控板进行数据传输,控制飞行器的起降、悬停、转向等操作。
4.电源管理飞行器控制系统需要提供可靠的电源供电。
因此,需要设计一个电源管理模块,包括锂电池、电池充电管理电路和电源开关等。
二、软件设计1.姿态估计通过加速度计和陀螺仪的数据,使用滤波算法(如卡尔曼滤波)对飞行器的姿态进行估计。
根据姿态的估计结果,可以计算出飞行器的控制输出。
2.控制算法针对四旋翼飞行器,常用的控制算法有PID控制算法和模糊控制算法。
PID控制算法通过比较飞行器的期望姿态和实际姿态,计算出相应的控制输出。
模糊控制算法可以根据模糊规则和模糊集合来计算出控制输出。
3.通信模块为了实现与遥控器之间的无线通信,需要使用无线通信模块,例如蓝牙模块或者无线射频模块。
通过与遥控器进行数据传输,可以实现遥控操作,并接收遥控器发送的命令。
三、控制流程1.初始化飞行器启动时,首先进行传感器的初始化,包括加速度传感器和陀螺仪的初始化。
然后进行电源管理的初始化,确保电源供电正常。
2.传感器数据采集通过传感器采集飞行器的姿态数据,包括加速度和角速度。
3.姿态估计根据传感器采集的数据,使用滤波算法对飞行器的姿态进行估计。
基于STM32F4处理器的四轴飞行器控制系统设计
基于STM32F4处理器的四轴飞行器控制系统设计作者:闫晓兵陈春梅白雪艳刘鹏来源:《现代信息科技》2021年第05期摘要:四轴航拍飞行器能够在空中长时间稳定飞行,且携带载荷类型多样,在日常生活中具有广泛的用途。
利用STM32F4处理器并且综合四元数法和PID控制算法进行四轴飞行器的设计是当前普遍的做法,如何做好软硬件之间的接口关系协调是进行设计时需要重点关注的问题;基于STM32F4处理器并综合使用MPU6050传感器能够实现设计出可以稳定飞行的四轴飞行器样机,并且具有灵活机动的转弯和升降能力,能够满足长航时、多广角航拍的需要。
关键词:四轴飞行器;STM32F4处理器;四元数法中图分类号:TP273;V221 文献标识码:A 文章编号:2096-4706(2021)05-0052-04Design of Quadcopter Control System Based on STM32F4 ProcessorYAN Xiaobing1,CHEN Chunmei1,BAI Xueyan2,LIU Peng2(1.School of Communication Engineering,Taishan College of Science and Technology,Taian 271000,China;2.School of Intelligent Engineering,Taishan College of Science and Technology,Taian 271000,China)Abstract:Aerial quadcopter can fly stably in the air for a long time,and carry a variety of loads,which has a wide range of purpose in daily life. Using STM32F4 processor and combining quaternion method and PID control algorithm to design quadcopter is a common practice at present. How to coordinate the interface relationship between software and hardware is a key issue when designing. Based on STM32F4 processor and comprehensive use of MPU6050 sensor,a quadcopter prototype that can flight stably can be designed,and it has flexible turning and lifting ability,which can meet the needs of long sailing time and multi wide angle aerial photography.Keywords:quadcopter;STM32F4 processor;quaternion method0 引言四轴航拍飞行器采用旋翼飞行方式在空中进行飞行,可以同步完成空中航拍任务,这种飞行器具有飞行稳定性强、操作简单、适用范围广的特点[1],因此是当前航拍技术的主要实现载体,同时也吸引了很多研究者。
基于STM32的四轴飞行器设计
1.主控单元。主控单元采用意法半导体公司生产的STM32F103T8U6。芯片基于ARM crotex-M3内核,工作频率能达到72MHz,具有64KB的片内程序存储器,20KB的SRAM,1个SPI接口,1个IIC接口,2个USART接口以及2个10通道的ADC,足够满足系统要求。并且芯片具有VFQFPN36封装,大小仅为6mm*6mm,极大地节省了电路板上的空间。
4.电机驱动电路。系统采用4个十字对称分布的直流电机提供升力,电机驱动电路由N沟道增强型场效应管搭建,通过STM32引脚输出的PWM信号控制电机的转速。
三、程序设计
系统上电后首先进行硬件的初始化,包括初始化时钟、定时器、IIC总线、SPI总线以及各种外部芯片等等。初始化完成后系统进入主循环。定时器每隔1ms中断一次,在中断程序中将全局变量count加1,当count等于100的时候清零。所以程序每隔10ms进行一次姿态解算,并经过PID算法控制4个电机的转速,调节飞行器姿态。每隔20ms接收无线遥控数据,并对指令进行解析,根据指令控制飞行器的各种动作。每隔100ms检查一次电池电量,当检测到电量不足时向遥控端发出提醒信号。
参考文献
[1]程学功四轴飞行器的研究与设计[D].杭州:杭州电子科技大学,2012。
[2]陈振兴基于STM32的微型四轴飞行器研究与设计[D].天津:河北工业大学,2013。
[3]STMicroelectronics STM32 Reference manual[R],2010。
关键词:四轴飞行器 惯性传感器PID算法
一、引言
四轴飞行器是无人飞行器的一种,飞行器的动力由四个旋翼式的飞行引擎提供。由于四轴飞行器具有结构简单、体积小、单位体积能产生更大升力等优点,使得四轴飞行器的应用范围越来越广泛,从军用到民用、商用领域都有涉及。近十几年来,随着微系统、传感器以及控制理论等技术的发展,四轴飞行器的研究取得了极大的进步。四轴飞行器的发展也更趋于小型化、多样化。本设计采用STM32微控制器作为运算处理单元,通过IIC总线读取惯性传感器数据,通过四元数算法和卡尔曼滤波算法进行融合后进行姿态解算,从而得到当前飞行器姿态角度。微控制器利用当前得到的姿态角度与期望的姿态角度作对比,得到偏差角度输入到PID控制算法,算法的输出控制四个电机的转动,从而实现飞行器自主稳定飞行。
基于STM32的四旋翼无人机智能控制方法设计
基于STM32的四旋翼无人机智能控制方法设计四旋翼无人机是一种应用广泛的无人机类型,它由四个同心排列的旋翼组成,能够提供稳定的飞行能力。
在基于STM32的四旋翼无人机智能控制方法设计中,我们需要考虑飞行稳定性、遥控操控能力以及自动控制能力等方面。
首先,为了保证飞行的稳定性,我们可以采用PID控制方法。
PID控制器由比例(P)、积分(I)和微分(D)三个部分组成,可以根据飞行状态的误差来调整旋翼的转速。
通过调整PID参数,可以使得飞行器能够更好地保持平衡。
在STM32上,我们可以通过编程来实现PID控制器,并将其与四个旋翼的电机连接起来。
其次,为了实现遥控操控能力,我们可以利用STM32的GPIO口和UART通信接口来实现无人机与遥控器之间的通信。
遥控器通过按键或摇杆等控制方式发送信号给STM32,STM32将接收到的信号解码后,将其转化为相应的控制指令,再发送给飞行器的电机。
利用STM32的中断功能,我们可以实现快速响应遥控指令的功能,使得飞行体验更加流畅。
最后,为了提高无人机的自动控制能力,我们可以加入一些传感器,例如陀螺仪、加速度计和姿态传感器等。
这些传感器可以实时感知无人机的飞行状态,例如俯仰角、滚转角和偏航角等。
通过将传感器的数据传输给STM32,我们可以根据具体的飞行算法来实现自动控制功能,例如自动起飞、自动降落和自动悬停等。
在基于STM32的四旋翼无人机智能控制方法设计中,我们需要结合硬件设计和软件设计。
硬件方面,我们需要设计电机驱动电路、通信电路和传感器接口电路等。
软件方面,我们需要进行编程,实现PID控制算法、遥控通信协议和传感器数据处理算法等。
综上所述,基于STM32的四旋翼无人机智能控制方法设计是一个复杂的系统工程,需要考虑飞行稳定性、遥控操控能力和自动控制能力等方面的要求。
通过合理的硬件设计和软件编程,我们可以实现一个功能强大、性能优越的四旋翼无人机。
基于STM32的四轴飞行器运动控制系统设计
基于STM32的四轴飞行器运动控制系统设计作者:廉文昊李波葛国庆张海涛来源:《科技风》2019年第22期摘要:本设计主要分析了四轴飞行器的飞行原理,通过STM32单片机作为控制核心对四轴飞行器进行姿态信息采集和姿态控制,根据四轴飞行器的飞行特点,设计了四轴飞行器运动控制系统。
通过对四旋翼工作模式与控制参数的研究,设计了串级PID控制器驱动电动机工作,从而实现四轴飞行器的起飞,悬停等姿态控制。
关键词:四轴飞行器;STM32;四元数;串级PID控制器四轴飞行器作为一种具有特殊结构的旋转翼无人飞行器,体积小,负载能力强,易于控制,能够垂直起降,单位体积能够产生更大升力,具有很强的机动性,且能执行各种特殊、危险任务。
四轴飞行器包含四个独立的控制输入以及六个自由度的输出,是一种非完全驱动性系统,所以四轴飞行器在软件控制上具有一定的复杂性,在飞行控制上,为了达到比较好的控制效果,需要通过合理的控制算法。
本文主要分析了其飞行原理和相关飞行控制算法。
以STM32f103芯片为控制核心,陀螺仪保持四轴飞行器的稳定,3轴加速度传感器MPU6050对四轴飞行器的姿态进行检测,两者构成惯性导航模块,将位置信息发送给主控芯片,STM32f103芯片通过算法进行姿态解算,MCU再通过串级PID控制器以PWM信号调节电子调速器,从而控制电机的转速,实现飞行器的飞行姿态控制,其控制原理示意图如图1所示。
二、姿态运动原理如图2所示。
四轴飞行器有四个动力源,但四轴飞行器有六个自由度。
四个动力源控制六个自由度,因此是欠驱动系统。
电机转动会产生对机身的反扭矩,为平衡其对机身的反扭矩,对角线上的电机旋转方向應该相同,相邻的电机旋转方向应该相反。
下面结合四轴飞行器的前后运动及俯仰运动姿态进行分析。
图2中,增加3号电机转速,同时减小1号电机转速,保持其它两个电机转速不变,但是反扭矩仍然要保持平衡。
飞行器会发生一定程度的倾斜,使旋翼拉力产生水平分量,四轴飞行器会向前运动。
基于STM32的四旋翼飞行器控制系统
基于STM32的四旋翼飞行器控制系统文章介绍了基于STM32单片机的X形四旋翼飞行器飞行控制系统。
通过对角速度进行方位余弦计算及与加速度进行互补滤波,得到飞行器的飞行姿态,最终通过PID控制算法控制飞行器的四个电机的推力,使飞行器保证稳定并按照遥控器指令进行飞行。
标签:四旋翼飞行器;STM32;方位余弦;互补滤波1 飞行器研究背景四旋翼飞行器较普通的直升机有机械结构简单,易于制作、易于小型化、同等规模下载重量大等优点,在最近2-3年中逐渐得到关注。
但是,由于四旋翼飞行器自身特性为一个多变量耦合非线性不稳定系统,基本上无法由人直接操控,必须加入自动控制系统来辅助稳定飞行姿态。
所以,四旋翼飞行器自动飞行控制系统性能的好坏直接关系着飞行器飞行性能及操控性。
所以本设计就飞行控制系统的算法以及如何提高控制性能进行研究。
2 飞行器研究方法飞行器的结构形式和工作原理:(1)结构形式多旋翼飞行器的最主要特点就是机械结构简单,不像普通直升机包含大量拉杆、铰链和传动结构,多旋翼飞行器一般采用电机直接驱动旋翼的结构形式,根据旋翼多少的不同,一般可分为四旋翼、六旋翼、八旋翼以及双层四旋翼等,常见多旋翼结构如图1所示。
旋翼的多少主要的区别在于载重能力和抗风能力上的差别,本设计主要研究的是飞行器的智能控制,所以拟采用结构最简单的四旋翼飞行器作为研究对象。
(2)工作原理典型的传统直升机配备有一个主转子和一个尾桨。
他们是通过控制舵机来改变螺旋桨的桨距角,从而控制直升机的姿态和位置。
多旋翼飞行器与此不同,以四旋翼飞行器来说,是通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。
下面以本设计选取X字四旋翼飞行器为例,介绍本设计的飞行器的飞行原理。
由图2所知,四旋翼飞行器的4个电机转动的方向是不同的,对角的两个电机转动方向必须一致,而相邻的两个电机转动方向必须相反。
基于这个原则,本次研究以图2所示方案安排了电机的转动方向。
基于STM32的四旋翼飞行控制系统毕业设计
例如在高空电力线巡检中,无人机能在工作人员的操控下进行工作,可以代替人工对巡检对象实施接近检测,减少工人的劳动强度。也可以携带传感仪器、摄像机等,对巡检对象进行数据收集、分析与存储,这进一步提高巡检的工作效率和巡检精度。在军事上,在局部小规模对战的时候,一些普通的侦察机,可能受到敌方打击而造成不必要的机体人员伤亡,无人机则可以很好地起到替代作用。利用四旋翼飞行器作为侦察机,具有振动小、噪声小、可靠性高、成本低、反侦察能力强、自我销毁等优势。因此无人机的军事价值不可估量。四旋翼飞行器还有着更为广阔的前景等待着开发。比如可以通过为飞行器的添加更加智能的算法实现人机互动,让飞行器帮人取物件等。
1
6
mV
电源模块的原理图如图4.1所示。图里的5V电源来源于电子调速器的BEC降压系统。
图4.1电源模块电路图
4.1.2STM32F407最小系统
STM32F407VET6是意法半导体基于CORTEX-M4内核的芯片,STM32F407拥有的资源包括:集成FPU和DSP指令,并具有192KBSRAM、1024KB FLASH、12个16位定时器、2个32位定时器、2个DMA控制器(共16个通道)、3个SPI、2个全双工I2S、3个IIC、6个串口、2个USB(支持HOST /SLAVE)、2个CAN、3个12位ADC、2个12位DAC、1个RTC(带日历功能)、1个SDIO接口、1个FSMC接口、1个10/100M以太网MAC控制器、1个摄像头接口、1个硬件随机数生成器、以及112个通用IO口等。该芯片的配置十分强悍,具有卓越的性能。相对STM32F1来说,许多功能进行了重大改进。STM32最小系统电路图如图4.2所示。
基于STM32的四旋翼飞行控制器的设计.
基于STM32的四旋翼飞行控制器设计姓名: XX学号:54130XXXXXXX班级:自动化摘要随着时代的发展,多旋翼飞行器越来越被广泛的应用在军事、民用、以及科学研究等多个领域,同时其本身也向着高效、多功能化方面发展。
四旋翼飞行器也称为四旋翼直升机又叫四轴飞行器,是一种有4个螺旋桨且螺旋桨呈十字形交叉的飞行器,可以搭配微型相机录制空中视频。
四旋翼直升机,国外又称Quadrotor,Four-rotor,4 rotors helicopter,X4-flyer等等,是一种具有四个螺旋桨的飞行器并且四个螺旋桨呈十字形交叉结构,相对的四旋翼具有相同的旋转方向,分两组,两组的旋转方向不同。
与传统的直升机不同,四旋翼直升机只能通过改变螺旋桨的速度来实现各种动作(目前,也出现可以改变螺距的四旋翼飞行器,这种控制方式比改变电机转速更灵活方便)。
一四旋翼飞行基础控制原理1.1 飞行动力原理(图2.1)(图2.2 )四轴飞行器是一个在空间具有6个活动自由度(分别沿3个坐标轴作平移和旋转动作),但是只有4个控制自由度(四个电机的转速)的系统,因此被称为欠驱动系统(只有当控制自由度等于活动自由度的时候才是完整驱动系统)。
不过对于姿态控制本身(分别沿3个坐标轴作旋转动作),它确实是完整驱动的。
1.2 姿态分析因有两对电机转向相反,可以平衡其对机身的反扭矩,当同时增加四个电机的输出功率,旋翼转速增加使得总的拉力增大,当总拉力足以克服整机的重量时,四旋翼飞行器便离地垂直上升;反之,同时减小四个电机的输出功率,四旋翼飞行器则垂直下降,直至平衡落地,(图2.2.1)实现了沿z轴的垂直运动。
当外界扰动量为零时,在旋翼产生的升力等于飞行器的自重时,飞行器便保持悬停状态。
保证四个旋翼转速同步增加或减小是垂直运动的关键。
电机1的转速上升,电机3的转速下降,电机2、电机4的转速保持不变。
为了不因为旋翼转速的改变引起四旋翼飞行器整体扭矩及总拉力改变,旋翼1与旋翼3转速该变量的大小应相等。
基于stm32的四轴飞行器设计与控制
structure and the parameter tests of attitude and height, the smooth control of
Filters with different cutoff frequencies are designed to achieve data filtering,
resulting in more accurate attitude and heading information. The controller adopts
this under-actuated system can be achieved.
Key words:stm32 MCU; Quadcopter; PCB Design; Height Hold
1绪论
人类自古以来就有飞天梦想,世界各地的神话传说、民间故事、敦煌壁画上的“飞天”、小时候玩的竹蜻蜓都可窥一二。但从理想走向现实,也就一百多年的时间。1920年,也就是莱特兄弟发明飞机后的17年,多轴无人飞行器就此诞生。但囿于当时科技水平的落后,控制技术的不成熟,以及相关控制理论的缺乏,多旋翼的发展一直处于休眠期。直到20世纪末,得益于微电子器件技术的发展、多旋翼相关学术讨论和研究方面取得的进展,多旋翼逐渐脱离军事用途而变成消费级玩具,多旋翼逐渐进入复苏期和发展期。越来越多的科研从业者开始研究多旋翼,自己搭建平台,验证算法,如姿态控制算法等。随后四旋翼的发展如雨后春笋般渐渐发展起来。
determined. The wheelbase and power matches and hardware selection and PCB
基于STM32的四旋翼飞行控制器的设计.doc
基于STM32的四旋翼飞行控制器设计姓名:XX学号:54130XXXXXXX班级:自动化摘要随着时代的发展,多旋翼飞行器越来越被广泛的应用在军事、民用、以及科学研究等多个领域,同时其本身也向着高效、多功能化方面发展。
四旋翼飞行器也称为四旋翼直升机又叫四轴飞行器,是一种有4个螺旋桨且螺旋桨呈十字形交叉的飞行器,可以搭配微型相机录制空中视频。
四旋翼直升机,国外又称Quadrotor, Four-rotor,4 rotors helicopter,X4-flyer等等,是一种具有四个螺旋桨的飞行器并且四个螺旋桨呈十字形交叉结构,相对的四旋翼具有相同的旋转方向,分两组,两组的旋转方向不同。
与传统的直升机不同,四旋翼直升机只能通过改变螺旋桨的速度来实现各种动作(目前,也出现可以改变螺距的四旋翼飞行器,这种控制方式比改变电机转速更灵活方便)。
一四旋翼飞行基础控制原理1.1 飞行动力原理(图2.1)(图2.2 )四轴飞行器是一个在空间具有6个活动自由度(分别沿3个坐标轴作平移和旋转动作),但是只有4个控制自由度(四个电机的转速)的系统,因此被称为欠驱动系统(只有当控制自由度等于活动自由度的时候才是完整驱动系统)。
不过对于姿态控制本身(分别沿3个坐标轴作旋转动作),它确实是完整驱动的。
1.2 姿态分析因有两对电机转向相反,可以平衡其对机身的反扭矩,当同时增加四个电机的输出功率,旋翼转速增加使得总的拉力增大,当总拉力足以克服整机的重量时,四旋翼飞行器便离地垂直上升;反之,同时减小四个电机的输出功率,四旋翼飞行器则垂直下降,直至平衡落地,(图2.2.1)实现了沿z轴的垂直运动。
当外界扰动量为零时,在旋翼产生的升力等于飞行器的自重时,飞行器便保持悬停状态。
保证四个旋翼转速同步增加或减小是垂直运动的关键。
电机1的转速上升,电机3的转速下降,电机2、电机4的转速保持不变。
为了不因为旋翼转速的改变引起四旋翼飞行器整体扭矩及总拉力改变,旋翼1与旋翼3转速该变量的大小应相等。
基于STM32的MINI四轴飞行器控制系统设计
1 引言四轴飞行器结构简单,操作灵活,单位体积内可提供巨大的升力,适合在狭窄环境中飞行,携带各种电子设备可执行各种任务,例如军事侦察、定位跟踪、农田监测等,在军事、民用等领域均有广泛的应用和广阔的前景。
近年来随着科技的发展,电子元件成本下降,四轴飞行器的小型化、便携化、商业化逐渐成为研究的新方向。
本文设计了一种基于STM32的MINI 四轴飞行器控制系统,飞行器的主体由PCB 板集成各种元器件组成,以STM32单片机为主控制器,MPU6050为惯性测量单元模块核心,3.7V 锂电池供电,通过蓝牙模块HC-05,实现了手机APP 控制四轴飞行器的飞行姿态。
2 飞行原理与传统的固定翼飞行器相比,四轴飞行器的飞行原理相对复杂。
四轴飞行器又名四旋翼飞行器,顾名思义,机身由四个旋翼驱动,即电机带动螺旋桨驱动。
机身大多设基于STM32的MINI 四轴飞行器控制系统设计盐城工学院电气工程学院 胡俊杰 蒋善超摘 要主要介绍了基于STM32四轴飞行器的小型化和便携化,介绍如何通过手机蓝牙控制MINI 四轴飞行器,实现MINI 四轴完成,诸如偏转、俯仰、升降等一系列动作。
机身由PCB 板集成各种元器件组成,主要分为微处理器模块、惯性测量单元、通信模块和动力模块等。
关键词四轴飞行器;STM32;MPU6050;蓝牙控制计为x 型,螺旋桨均匀分布在机身四角,通过改变四个螺旋桨的旋转速度,实现机身的俯仰、转向等。
电机运作时,螺旋桨会产生两个力,一个是升力,一个是与螺旋桨转向相反的反扭矩。
反扭矩会使飞行器沿着螺旋桨旋转的方向自旋,为了抵消反扭矩,通常相邻的螺旋桨旋转方向相反。
具体飞行原理如图1所示。
以x 型四轴飞行器飞行方式为例,四个电机依次编号为1号、2号、3号、4号。
当飞行器自稳定后,1号、2号、3号、4号电机同等加速即为飞行器垂直上升;1号、2号、3号、4号电机同等减速即为飞行器垂直降落。
当飞行器自稳定后,1号、2号电机同等减速,3号、4号电机同等加速,即为飞行器前倾;1号、2号电机同等加速,3号、4号电机同等减速,即为飞行器后倾。
基于STM32的四旋翼飞行器控制系统设计
基于STM32的四旋翼飞行器控制系统设计四旋翼飞行器是一种由四个旋翼驱动的无人机。
它具有垂直起降和悬停的能力,能够在空中保持稳定飞行。
基于STM32的四旋翼飞行器控制系统设计需要考虑飞行器的姿态控制、飞行模式控制、传感器数据获取与处理等方面,同时还需要实现与地面站的通信和数据传输。
首先,飞行器的姿态控制是控制系统设计的核心。
通过采用传感器获取飞行器的姿态信息,如加速度计、陀螺仪和磁力计等,利用PID控制算法对飞行器进行姿态调整,使其保持平衡和稳定飞行。
STM32可以通过配置外设,如ADC和定时器,来获取传感器数据,同时使用GPIO口来控制电机的转速,实现四旋翼飞行器的姿态控制。
其次,飞行模式控制是四旋翼飞行器控制系统中的另一个重要方面。
飞行模式通常包括手动模式、自稳模式和定点悬停模式等。
在手动模式下,飞行器由遥控器控制飞行方向和速度。
在自稳模式下,飞行器利用姿态控制算法来保持平衡和稳定飞行。
在定点悬停模式下,飞行器根据传感器数据和定位信息,实现在空中固定位置悬停。
通过STM32的串口通信模块与遥控器通信,可以实现飞行模式的切换和控制。
另外,传感器数据获取与处理也是四旋翼飞行器控制系统设计的重要部分。
飞行器需要获取传感器数据,如高度、速度和位置等信息,并进行处理,以进行姿态控制和飞行模式控制。
STM32可以通过配置串口通信、I2C或SPI总线来获取和处理传感器数据,同时利用内部的计算和存储单元进行数据处理和算法运算。
最后,与地面站的通信和数据传输是四旋翼飞行器控制系统设计中的另一个重要方面。
地面站可以通过无线通信方式与飞行器进行通信,获取飞行器的状态信息和传感器数据,并发送飞行指令和控制信号。
通过配置STM32的无线通信模块,如WiFi或蓝牙模块,可以实现与地面站的通信和数据传输。
除了以上提到的关键设计方面,四旋翼飞行器控制系统设计还需要考虑电源管理、动力系统控制(电机控制)、GPS定位和导航等问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、引言四轴飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器,与普通的飞行器相比具有结构简单,故障率低和单位体积能够产生更大升力等优点,在军事和民用多个领域都有广阔的应用前景,非常适合在狭小空间内执行任务。
因此四旋翼飞行器具有广阔的应用前景,吸引了众多科研人员,成为国内外新的研究热点。
本设计主要通过利用惯性测量单元(IMU)姿态获取技术、PID电机控制算法、2.4G 无线遥控通信技术和高速空心杯直流电机驱动技术来实现简易的四轴方案。
整个系统的设计包括飞控部分和遥控部分,飞控部分采用机架和控制核心部分一体设计增加系统稳定性,遥控部分采用模拟摇杆操作输入使操作体验极佳,两部分之间的通信采用2.4G无线模块保证数据稳定传输。
飞行控制板采用高速单片机STM32作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器MPU6050作为惯性测量单元,通过2.4G无线模块和遥控板进行通信,最终根据PID控制算法通过PWM方式驱动空心杯电机来达到遥控目标。
2、系统总体设计系统硬件的设计主要分要遥控板和飞控板两个部分,遥控板采用常见羊角把游戏手柄的外形设计,控制输入采用四向摇杆,无线数据传输采用2.4G无线模块。
飞控板采用控制处理核心和机架一体的设计即处理器和电机都集成在同一个电路板上,采用常规尺寸能够采用普通玩具的配件。
系统软件的设计同样包括遥控板和飞控板两部分的工作,遥控板软件的设计主要包括ADC的采集和数据的无线发送。
飞控板的软件的设计主要包括无线数据的接收,自身姿态的实时结算,电机PID增量的计算和电机的驱动。
整个四轴飞行器系统包括人员操作遥控端和飞行器控制端,遥控端主控制器STM32通过ADC外设对摇杆数据进行采集,把采集到的数据通过2.4G无线通信模块发送至飞控端。
飞控板的主要工作就是通过无线模块进行控制信号的接收,并且利用惯性测量单元获得实时系统加速度和角速度原始数据,并且最终解算出当前的系统姿态,然后根据遥控板发送的目标姿态和当姿态差计算出PID电机增量,然后通过PWM驱动电机进行系统调整来实现飞行器的稳定飞行。
系统的总体设计框图如图1所示。
图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.2 飞控板电路设计飞控板的核心设计是MPU6050测量传感器、NRF2401无线模块以及飞控板电机驱动等模块的设计。
飞控系统的惯性测量单元采用MPU6050作为测量传感器,MPU6050的驱动方式采用IIC接口,时钟引脚SCL连接到STM32的PB10,数据引脚连接到STM32的PB11引脚,数据中断引脚连接到PB5,为了增强驱动能力在每个引脚上都加入了10K的上拉电阻,原理图的设计如图3所示。
图3 飞控板惯性测量单元原理图相对于其他模块电系统也是比较重要的部分,飞控系统采用3.7V高放电倍率锂电池进行供电。
主控芯片供电部分和IMU传感器部分采用各自独立的LDO进行供电,这样确保了系统的稳定性和IMU传感器数据采集的准确性,稳压直流电源模块的原理图设计如图4所示。
图4 飞控板电源稳压原理图飞控板与遥控板数据的通信同样采用的是基于2.4G频段的NRF2401模块,确保了数据的稳定传输。
STM32的SPI1外设对2.4G模块进行操作驱动,引脚的连接如下表1所示。
NRF2.4G为采用3.3V供电无线模块,系统采用与单片机相同的电源网络对其供电,同时加入0.1UF电容进行滤波确保模块正常工作,无线模块的具体原理图连接如图5所示。
图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所示。
图6 飞控板电机驱动原理图2.3遥控板电路设计遥控板主控单元通过SPI总线驱动2.4G无线模块,通过8位并口驱动1602液晶显示,通过ADC输入引脚对摇杆和电池电量进行采集,通过引脚驱动三极管开关驱动蜂鸣器提示。
遥控板的核心设计是摇杆模拟数据进行采集模块、NRF2401无线模块等设计。
采用STM32单片机ADC1的通道4、通道5、通道6和通道7进行摇杆模拟数据进行采集并转换为数字量,分别连接到PA4、PA5、PA6和PA7引脚,并且加入滤波电容减少杂质信号的影响。
遥控板摇杆输入原理图设计如图7所示。
图7 遥控板摇杆输入原理图设计遥控板采用NRF2.4G模块的驱动采用STM32的自带外设SPI2进行驱动,各个功能引脚的连接如表2所示。
NRF2.4G模块采用3.3V供电,在供电端口外加0.1UF滤波存储电容确保无线系统的稳定性,的具体原理图连接8所示。
图8 遥控板无线模块原理图3、四轴飞行器的软件设计四轴飞行器的软件设计主要包括飞控板软件的设计和遥控板软件的设计。
整体软件在MDK环境下采用C语言编写,采用ST-LINK仿真器对程序进行调试与下载。
3.1飞控板系统软件设计飞控程序的主要设计思想是开机对无线模块的初始化、MPU6050的初始化、PWM电机初始化。
随后对整个系统IMU继续零偏处理,随后等待进入解锁信息的传入。
飞控采用定时器中断的方式,在中断中进行对时间的处理,每次中断计次标志就会自增,根据不同的中断积累即不同时间的间隔分别处理优先级不同的任务。
飞控系统程序设计流程图如图9所示。
图9 飞控系统程序设计流程图飞控系统每0.5毫秒中断一次,每次中断就会检查一次无线模块数据的接收,确保飞控系统的控制信息的实时性。
每两次中断即1毫秒读取一次IMU单元的数据,通过滤波算法获得较为准确的系统加速度、角速度的原始数据。
每四次中断即2毫秒通过IMU的原始数据计算下当前飞控板系统的姿态,然后结合遥控端的目标姿态,根据两者的差值通过PID 控制算法进行对各个电机的调速控制。
每200次中断即100毫秒,飞控系统会采集一次电池电压,然后把电池电压发送给遥控板,用来高速操作人员当前电压的大小。
MPU6050作为系统的惯性测量单元,是整个系统正常运行基础。
MPU6050的驱动总线为IIC方式,为了程序的方便性本系统选用PB10和PB11模拟IIC来驱动。
IMU读取出来的数据只是最简单的加速度、陀螺仪角速度的原始数据,需要通过进一步的处理才能得到本系统想要的姿态角度。
飞控板姿态结算流程图如图10所示。
根据处理过后的MPU数据来获得当前的姿态,具体的姿态获取理论上是根据各个角度的积分得到当前的系统姿态欧拉角。
本系统的设计实现是采用四元数算法对MPU6050最滤波后的数据进行计算得到最终的欧拉角。
整个飞控系统的运行动作是通过调整飞控姿态来实现的,本系统设计在当前姿态的基础上,根据接收到的遥控器的目标姿态对空心杯电机进行基于PID算法的PWM控制调速,从而实现飞控系统的各种基本运动。
飞控板会对系统惯性测量单元传感器的原始数据进行滤波,然后对滤波后的数据进行实时结算,最后根据遥控板发送来的目标信息进行计算出电机的控制增量,最后根据PID控制算法对电机进行控制输出,飞控姿态控制流程图如图11所示。
图10 飞控板姿态结算流程图图11 飞控板姿态控制流程图3.2遥控板系统软件设计遥控板的作用就是把操作人员的操作动作转化成信号传给飞行控制板,同时将一些控制信息和飞控板传回来的信息进行实时的显示和处理。
飞控板摇杆数据的采集用到了STM32的ADC功能STM32F103xx增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,可以实现单次或扫描转换。
而且STM32的ADC可以采用DMA通道,这样可以进一步的节省硬件资源,加快系统实时性。
采用SPI1驱动NRF无线模块,进行与飞控板的数据通信,遥控板系统软件流程如图12所示。
图12 遥控板软件流程图本系统采用STM32的ADC1的通道4、通道5、通道6和通道7进行摇杆模拟数据进行采集,ADC和DMA的配置代码如下:ADC_Configuration(); //ADC 功能配置DMA_Configuration(); //DMA 功能配置下面是ADC和DMA的启动和时能代码如下:ADC_SoftwareStartConvCmd(ADC1, ENABLE); //启动ADC1 转换DMA_Cmd(DMA1_Channel1, ENABLE); //启动DMA 通道采用STM32外设SPI1驱动NRF2.4G模块,SPI初始化代码如下:Spi1_Init();采用无线模块的通道40进行通信,2401初始化函数如下:Nrf24l01_Init(MODEL_RX2,40); //通道402.4G无线模块NRF2401的接收函数如下:Nrf_Check_Event(); //读取NRF2401数据通过2401将控制信号发送,发送函数如下:NRF_TxPacket_AP(NRF24L01_TXDATA_RC,32); //将控制信号发给四轴4、结论本文描述了一个简易四轴飞行器系统的设计实现,整个方案分为遥控控制板各飞行控制板两部分,通过2.4G无线模块进行控制通信,飞控系统采用IMU系统获取姿态信息根据反馈控制算法进行电机控制从而实现飞行控制。
本系统飞控板采用一体设计使得系统简单、紧凑,遥控板采用摇杆输入使系统控制体验良好,最终实现飞行器的基本运动。
实践证明该四轴飞行器飞行稳定、可靠,取得了较好效果。
仰望天空时,什么都比你高,你会自卑;俯视大地时,什么都比你低,你会自负;只有放宽视野,把天空和大地尽收眼底,才能在苍穹泛土之间找准你真正的位置。