基于STM32的四旋翼飞行器设计

合集下载

基于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的四旋翼飞行器设计四旋翼无人机是一种多轴飞行器,由四个电机驱动四个旋翼产生升力来进行飞行。

它具有简单结构、灵活机动、携带能力强等特点,被广泛应用于航空航天、电力、农业、测绘和娱乐等领域。

本文将基于STM32微控制器,设计一个基本的四旋翼飞行器。

首先,我们需要选用一款合适的STM32微控制器作为核心控制单元。

根据不同需求,可以选择不同型号的STM32芯片。

需要考虑的因素包括处理器性能、输入输出接口、通信接口等。

接下来,我们需要选用合适的电机和电调。

电机和电调是四旋翼飞行器的动力系统,直接影响飞行器的性能。

选择电机时需要考虑电机功率、转速、扭矩等参数。

而选择合适的电调则需要考虑电流容量、控制方式等因素。

四旋翼飞行器还需要传感器来获取飞行状态和环境信息。

常见的传感器包括陀螺仪、加速度计、磁力计和气压计等。

这些传感器将实时提供飞行器的姿态、加速度、地理位置和气压等数据,用于飞行控制。

在飞行控制方面,我们需要实现飞行器稳定的控制算法。

PID控制器是常用的控制算法之一,通过调节电机转速来控制飞行器的姿态。

PID控制器的参数需要根据实际情况进行调整,以实现稳定的飞行。

此外,四旋翼飞行器还需要通信功能,以便与地面站进行数据传输。

常见的通信方式有蓝牙、Wi-Fi和无线电调制解调器等。

通信功能可以实现飞行器的遥控和数据传输,使飞行器具备更广阔的应用空间。

最后,为了实现全自动飞行,还可以加入GPS导航系统和图像处理系统。

GPS导航系统可以提供精准的飞行位置和速度信息,通过编程实现预设航点飞行。

图像处理系统可以通过摄像头获取实时图像,并进行目标识别和跟踪,实现智能飞行等功能。

综上所述,基于STM32的四旋翼飞行器设计需要考虑微控制器选型、电机电调选择、传感器使用、飞行控制算法、通信功能等方面。

通过合理的设计和编程,可以实现一个功能齐全、性能稳定的四旋翼飞行器。

基于STM32单片机四旋翼飞行器建模分析与设计

基于STM32单片机四旋翼飞行器建模分析与设计
基于 S T M3 2单片机 四旋 翼飞行器 建模分析 与设计
曾宪阳 一 , 杨 红 莉 , 郁 汉 琪
( 1 . 南 京 工程 学 院 工业 中心 , 江 苏 南京 2 1 1 1 6 7 ; 2 . 南 京 大学 数 学 系 , 江苏 南京 2 1 0 0 9 3; 3 . 南京工程学院 数理部 , 江苏 南京 2 1 1 1 6 7 )
算 出 的 角度 数 据 与 陀通过 卡 尔曼滤 波滤去 干扰 信 号 , 保证 了角度数 据 的准确 性 。
设 计 了三 路 串 级 P I D控 制 器 , 通 过 对横 滚 角 、 俯 仰 角、 偏 航 角 3种 姿 态 角 进 行 控 制 , 实 现 了 对 飞 行 器 的 悬停 、 前进、

要 :针 对 四 旋 翼 飞 行 器稳 定 性 差 、 控 制 难 的问题 , 使 用 牛 顿 一欧 拉 方 程 建 立 了数 学 模 型 , 提 出 了姿 态 解 算 的 实 现
方 法 。设 计 了 以 S T M3 2单 片 机 为 控 制 核 心 , 加 速度 计 、 陀 螺 仪 及 磁 力 计 等 组 成 的 硬 件 控 制 电路 。提 出将 加 速 度 计 解
mo d e l f o r t h e f o u r -r o t o r a i r c r a f t ,t h e i mp l e me n t a t i o n o f a t t i t u d e a l g o i r t h m i s p r o p o s e d t o o .T h e h a r d w a r e c o n t r o l c i r c u i t i s d e s i g n e d, w h i c h c h o o s e s t h e S TM3 2 MC U a s t h e c o r e a n d i s c o mp o s e d o f a c c e l e r o me t e r ,g yr o s c o p e ,ma g n e t o me t e r s a n d S O o n.I n o r d e r t o g e t

基于STM32的微型四旋翼飞行器的设计

基于STM32的微型四旋翼飞行器的设计

基于STM32的微型四旋翼飞行器的设计郭强;汤璐【期刊名称】《工业控制计算机》【年(卷),期】2015(000)007【摘要】微型四旋翼飞行器是一种结构简单、外形新颖、性能优良的垂直起降无人机,具有重要的军事和民用价值,是当前的研究热点。

介绍了以STM32为微控制器、以CC3000 Wi-Fi模块为通信控制媒介、以MEMS九轴姿态传感器(三轴加速度计、三轴陀螺仪、三轴磁阻传感器)以及气压传感器作为姿态感知的四旋翼飞行器的设计。

给出了系统控制核心设计、电源模块设计、惯性测量模块设计,电机驱动模块设计,Wi-Fi无线通信模块设计。

%This paper introduces the design of the quadrotor,whose controI center is based on STM32 microcontroI er,the communication and controI medium is based onCC3000 Wi-Fi moduIe,and the attitude perceived is based on Nine-Axis (3-axis Gyro,3-axis AcceIerometer,3-axis Compass) MEMS motion tracking devices and aItimeter sensors.This paper describes the design of system controI part,power moduIe,IMU moduIe,motor drive moduIe and Wi-Fi wireIess communication moduIe.【总页数】3页(P12-13,16)【作者】郭强;汤璐【作者单位】上海大学机电工程与自动化学院,上海200072;上海大学机电工程与自动化学院,上海200072【正文语种】中文【相关文献】1.基于STM32微型四旋翼飞行器设计与实现 [J], 王磊2.一种基于STM32的微型四旋翼飞行器硬件设计方案 [J], 尹项博;张亚明;王珂;马浩洋;苏一凡3.基于STM32微型四旋翼飞行器设计与实现 [J], 张鹏;王彬;4.基于STM32的微型四旋翼飞行器设计 [J], 古训; 郑亚利5.基于STM32的微型四旋翼飞行器的设计与研究 [J], 李亚杰;葛宇;张晔因版权原因,仅展示原文概要,查看原文内容请购买。

基于STM32的四旋翼飞行器控制系统

基于STM32的四旋翼飞行器控制系统

基于STM32的四旋翼飞行器控制系统文章介绍了基于STM32单片机的X形四旋翼飞行器飞行控制系统。

通过对角速度进行方位余弦计算及与加速度进行互补滤波,得到飞行器的飞行姿态,最终通过PID控制算法控制飞行器的四个电机的推力,使飞行器保证稳定并按照遥控器指令进行飞行。

标签:四旋翼飞行器;STM32;方位余弦;互补滤波1 飞行器研究背景四旋翼飞行器较普通的直升机有机械结构简单,易于制作、易于小型化、同等规模下载重量大等优点,在最近2-3年中逐渐得到关注。

但是,由于四旋翼飞行器自身特性为一个多变量耦合非线性不稳定系统,基本上无法由人直接操控,必须加入自动控制系统来辅助稳定飞行姿态。

所以,四旋翼飞行器自动飞行控制系统性能的好坏直接关系着飞行器飞行性能及操控性。

所以本设计就飞行控制系统的算法以及如何提高控制性能进行研究。

2 飞行器研究方法飞行器的结构形式和工作原理:(1)结构形式多旋翼飞行器的最主要特点就是机械结构简单,不像普通直升机包含大量拉杆、铰链和传动结构,多旋翼飞行器一般采用电机直接驱动旋翼的结构形式,根据旋翼多少的不同,一般可分为四旋翼、六旋翼、八旋翼以及双层四旋翼等,常见多旋翼结构如图1所示。

旋翼的多少主要的区别在于载重能力和抗风能力上的差别,本设计主要研究的是飞行器的智能控制,所以拟采用结构最简单的四旋翼飞行器作为研究对象。

(2)工作原理典型的传统直升机配备有一个主转子和一个尾桨。

他们是通过控制舵机来改变螺旋桨的桨距角,从而控制直升机的姿态和位置。

多旋翼飞行器与此不同,以四旋翼飞行器来说,是通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。

下面以本设计选取X字四旋翼飞行器为例,介绍本设计的飞行器的飞行原理。

由图2所知,四旋翼飞行器的4个电机转动的方向是不同的,对角的两个电机转动方向必须一致,而相邻的两个电机转动方向必须相反。

基于这个原则,本次研究以图2所示方案安排了电机的转动方向。

基于STM32的四旋翼飞行器的设计与实现共3篇

基于STM32的四旋翼飞行器的设计与实现共3篇

基于STM32的四旋翼飞行器的设计与实现共3篇基于STM32的四旋翼飞行器的设计与实现1基于STM32的四旋翼飞行器的设计与实现四旋翼飞行器可以说是近年来无人机发展的代表,其在农业、环保、救援等领域的应用越来越广泛。

本文将介绍基于STM32的四旋翼飞行器的设计与实现,着重讲解硬件设计和程序开发两个方面的内容。

一、硬件设计1、传感器模块四旋翼飞行器需要各种传感器模块来获取飞行状态参数,包括加速度计、陀螺仪、罗盘、气压计等。

其中,加速度计和陀螺仪通常被集成在同一个模块中,可以采用MPU6050或MPU9250这种集成传感器的模块。

气压计则可以选择标准的BMP180或BMP280。

罗盘的选型需要考虑到干扰抗性和精度,常用HMC5883L或QMC5883L。

2、电机驱动四旋翼飞行器需要四个电机来驱动,常用的电机是直流无刷电机。

由于电机电压较高,需要使用电机驱动模块进行驱动。

常用的电机驱动模块有L298N和TB6612FNG等。

3、遥控器模块飞行器的遥控器模块通常由一个发射器和一个接收器组成。

发射器采用2.4G无线传输技术,可以通过遥控器上的摇杆控制飞行器,遥控器还可以设置飞行器的航向、高度等参数。

接收器接收发射器传来的信号,必须与飞行器的控制系统进行通信。

4、飞行控制器飞行控制器是飞行器的核心部分,它通过传感器模块获取飞行状态参数,再结合遥控器模块传来的控制信号,计算出飞行控制指令,驱动电机模块控制飞行器的不同动作。

常用的飞行控制器有Naze32、CC3D、Apm等,本文将采用开源的Betaflight飞行控制器。

二、程序开发1、Betaflight固件烧录Betaflight是一款基于Cleanflight的开源固件,它具有良好的稳定性和强大的功能。

将Betaflight固件烧录到飞行控制器中需要使用ST-Link V2工具,同时需要在Betaflight Configurator中进行配置,包括传感器矫正、PID参数调整、遥控器校准等。

基于STM32的四旋翼飞行控制系统毕业设计

基于STM32的四旋翼飞行控制系统毕业设计
(2)支持配备高端电子产品,多种外设相连接,如照相机、机械臂等,可以实现一些娱乐功能。
例如在高空电力线巡检中,无人机能在工作人员的操控下进行工作,可以代替人工对巡检对象实施接近检测,减少工人的劳动强度。也可以携带传感仪器、摄像机等,对巡检对象进行数据收集、分析与存储,这进一步提高巡检的工作效率和巡检精度。在军事上,在局部小规模对战的时候,一些普通的侦察机,可能受到敌方打击而造成不必要的机体人员伤亡,无人机则可以很好地起到替代作用。利用四旋翼飞行器作为侦察机,具有振动小、噪声小、可靠性高、成本低、反侦察能力强、自我销毁等优势。因此无人机的军事价值不可估量。四旋翼飞行器还有着更为广阔的前景等待着开发。比如可以通过为飞行器的添加更加智能的算法实现人机互动,让飞行器帮人取物件等。
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的四轴飞行器设计

工装设计— 128 —基于STM32的四轴飞行器设计余 亮 项平平(淮南师范学院机械与电气工程学院 安徽 淮南 232000)摘 要:设计一种四轴飞行器。

该飞行器由四片桨叶提供飞行升力,调节电机转速控制飞行姿态与路径。

采用PIXHAWK2.4.8核心开发板,STM32处理数据,陀螺仪解算姿态,电调驱动无刷电机,实现电机转速调节,控制飞行姿态,实现常规姿态飞行。

关键词:飞行器;PIXHAWK;STM32;无刷电机 中图分类号:TP29-AD 文献标志码:A1 引言四轴飞行器具有体积小、灵活度较高、操控简单等众多特点,应用前景广阔[1]。

其未来可能发展成为新概念交通工具,或者用于安保以及高危环境作业等,普遍走进人们的日常生活之中。

2 系统总体分析本设计以单片机STM32F427开发板为核心器件,STM32F103C8T6为系统I/O 口,配合电阻电容等器件,完成最小系统搭建。

其余模块围绕PIXHAWK 开发板核心部分工作。

开发板中具有诸多传感器可供系统控制使用,主要包含128K 非易失闪存FM25V01元器件,TXS0108通用电平驱动芯片,LTC4417电源管理芯片,MIC5332超低压降传感器,BQ24315电池管理芯片,TCA62724三色LED 芯片,LT3469运放, M8N 传感器,5V 供电电源为等。

硬件结构示意图如图1[2][3]。

图1 飞行器硬件结构示意图3 硬件设计系统开发板上部分传感器已焊接完整,留有部分引脚以方便连接外设传感器。

处理单元由STM32F427VIT6(168 Mhz 工作频率、256KB RAM 工作内存与2MB 的flash 闪存100Pin)与STM32F103C8T6故障保护协处理器构成,其具有四十八个引脚,用来控制输入信号采集与输出信号发射,其晶振频率为24MHz 。

开发板中带有多个传感器,包括16位陀螺仪STL3GD20为整个系统提供实时角速度数据;14位加速度计电子罗盘STLSM303D 测量飞行器加速度以及方向;MEASMS5611气压高度计起到测量飞行器飞行高度的作用;InvenSence MPU6000三轴加速度计/陀螺仪采集姿态变化。

基于STM_32的自动四旋翼飞行器设计

基于STM_32的自动四旋翼飞行器设计

第29卷第1期2015年3月上海工程技术大学学报JOURNAL OF SHANGHAI UNIVERSITY OF ENGINEERING SCIENCEVol.29No.1Mar.2015文章编号:1009-444X (2015)01-0049-04收稿日期:2014-10-10基金项目:上海市大学生创新训练计划资助项目(CS1302003)作者简介:叶利栋(1992-),男,在读本科生,研究方向为汽车电子.E-mail :1029321980@qq.com 基于STM 32的自动四旋翼飞行器设计叶利栋,都庆庆,胡征,梁鉴如,沈佳俊,师晨竹(上海工程技术大学电子电气工程学院,上海201620)摘要:通过研究四旋翼飞行器的结构特点、姿态解算算法及其飞行控制原理,设计了以STM-32系列微控制器为核心的自动飞行系统,包括硬件电路设计和程序算法设计.试验测试表明,该系统能够在搭建的狭小空间主动避开障碍,实现稳定飞行.关键词:四旋翼飞行器;姿态解算;STM-32微控制器中图分类号:TP 368文献标志码:ADesign of Quadrotor Aircraft Based on STM 32YE Lidong ,DU Qingqing ,HU Zheng ,LIANG Jianru ,SHEN Jiajun ,SHI Chenzhu(College of Electronic and Electrical Engineering ,Shanghai University of Engineering Science ,Shanghai 201620,China )Abstract :Based on the studies of structural features ,attitude estimation ,control principle of quadrotor aircraft ,an auto-flight system with STM-32microprocessor as the core was designed ,which including the hardware circuit design and the programming algorithm design.The experiment shows that it can take the initiative to avoid obstacles in narrow and small space and achieve stable flight.Key words :quadrotor aircraft ;attitude estimation ;STM-32microcontroller在无人机的发展中以四旋翼飞行器最为突出,它是一种结构简单可靠,能够垂直起降、定点悬停、稳定低速飞行和在小空间内飞行的飞行器,这些优点决定了四旋翼飞行器可用于执行某些特殊任务.近年来,结合无线通信、智能传感器等,四旋翼飞行器在灾害搜救、大地测量、气象监测、灾害预报、城市安防和军事应用等领域显示出巨大的应用前景.目前,我国对四旋翼飞行器控制算法和准确定位的研究还处于起步阶段,已经展开研究并取得一定成果的高校有国防科技大学、中南大学、哈尔滨工业大学等[1].本文针对小型四旋翼飞行器开展研究,包含硬件设计、算法研究以及试验结果分析.1飞行控制原理和飞行器硬件结构为了实现飞行器的稳定飞行,四旋翼飞行器上装有3轴数字陀螺仪和3轴数字加速度传感器组成的惯性导航模块,可以计算出飞行器目前相对地球坐标系的三维姿态以及加速度、角速度.在外部红外测距传感器的配合下,飞行器可以读出周边环境是否适宜飞行,通过自稳算法计算并保持运动状态所需的旋转力和升力,借助电子调控器来确保电机输出合适的转速.同时,配合2.4GHz 无线模块,飞行器能够将机体参数、所处环境参数实时回传给后台控制器,操作人员可以据此进行远程操控.上海工程技术大学学报第29卷1.1系统设计本设计选用STM-32F103微程序控制器(Microprogrammed Control Unit,MCU)作为飞行器的主控制器.STM-32F103为基于Cortex-M3内核的32位嵌入式微处理器[2](AdvancedRISC Machines,ARM),不需操作系统,多达51个快速输入输出引脚,所有引脚均可以映像到16个外部中断.其含有丰富的通信接口:3个异步串行通信接口、2个I2C接口(Inter-Integrated Circuit Interface)、2个串行外设接口(Serial Peripheral Interface,SPI)等,为实现数据通信提供了保证.系统框图如图1所示.图1系统框图Fig.1System block diagram小型四旋翼飞行器对自重要求较苛刻,为此,试验电路板通过自行设计完成,印制电路板板厚为0.8mm,以减轻飞行器自身质量.此外,系统选用小型飞行器电机为高转速、高扭力的空心杯电机,该电机的工作电流很大,对驱动电路的要求较高,采用小型贴片场效应晶体管SI2303作为驱动芯片,该芯片既可以满足驱动电机的电流要求,同时还具有体积小、质量轻的特点.1.2机载传感器模块选用3轴数字罗盘HMC5883L和MPU6050组合而成的9轴惯性测量单元作为姿态检测模块,MPU6050原理如2所示.MPU6050是整合性6轴运动处理组件,与MCU采用双线I2C通信线路简单传输可靠;HMC5883L则与MPU6050的拓展IIC接口连接,MCU通过一路IIC总线即可读取MPU6050和HMC5883L数据.通过对传感器数据进行互补滤波[3]以及姿态解算算法[4]处理得到飞行姿态.根据期望姿态对4个电机进行比例-积分-微分(Proportion Integration Differentiation,PID)调节,从而使得飞行器可以按照设定的飞行姿态飞行.图2MPU6050电路原理图Fig.2Principle diagram of MPU6050circuit 考虑到飞行器的室内飞行高度不是很高,系统采用夏普(Sharp)的红外测距传感器对飞机的飞行高度和障碍物进行精确测量.红外传感器根据功能不同,分别安装在机体的不同位置,高度传感器安装在机体底部,避障传感器分为障碍识别传感器和辅助避障传感器,分别安装于机头和两翼.2飞行器的程序设计2.1系统程序设计在程序开始待系统稳定之后,首先读取MPU 6050和HMC5883L传感器的数据,通过对数据作·05·第1期叶利栋,等:基于STM-32的自动四旋翼飞行器设计互补及均值滤波等数据预处理[5],采取将加速度计数据通过PI控制器补偿到陀螺仪[6],达到数据矫正的目的.在进行运算时,转化为四元数进行姿态解算,经过欧拉变化,得到机体坐标系下机体当前的欧拉角.同时,通过红外距离传感器数据判断前进方向是否存在障碍,确定机体期望运行方向和姿态角.将机体三维姿态角和预期姿态角输入设计好的位置式PID矫正器得到控制输出量.最后,由STM-32F103根据当前计算的控制量输出4路脉宽调制(Pulse-Width Modulation,PWM)波控制电机驱动电路,依靠4个电机的差速实现姿态控制.具体程序流程图如图3所示.图3系统软件流程Fig.3Flow diagram of system software2.2功能程序设计2.2.1姿态解算算法由于制造安装工艺的原因,加速度传感器的测量值必然存在一定的误差,本文采用均值滤波对加速度计数据进行处理.陀螺仪数据对实时性要求较强,滤波会造成迟滞,在此不作滤波处理,但初始化时要减去零偏进行校正.同时,考虑到加速度计具有长期可信,短期噪声较大和陀螺仪具有短期可信,长期不稳定的特点,使用互补滤波对其进行融合[7].互补滤波相当于将低通滤波器与高通滤波器结合在一起,对加速度计低通滤波,而对陀螺仪高通滤波,通过实验法整定合适的参数就可得到一个较好的滤波效果,并且互补滤波器计算量较卡尔曼滤波器[8]也减少了很多.在进行姿态解算时,考虑到描述机体三维空间状态所需的变量较多,采用四元数表示[9].但是四元数描述不具有物理意义,比较抽象,所以在机体三维姿态角的控制过程中,需要将四元数转换为欧拉角,进而输入到PID控制器进行姿态控制.需要注意的是在进行欧拉角转换时,俯仰角、横滚角、偏航角的转换顺序不同,得到的结果也大相径庭.2.2.2避障算法考虑到系统的飞行空间比较狭小,且设置有障碍,需要设计程序对障碍进行检测和避让,以达到稳定飞行的要求.障碍检测采用红外传感器,安装在机头和两翼,机头传感器用于检测前进方向上的障碍,两翼传感器用于横向避障.飞行中系统检测障碍的频率为100Hz,在自动避障模式下,检测到前方障碍时会减慢前进速度,并且通过计算左右翼距离两侧障碍、墙壁的距离来选择恰当的避障路线.在人工避障模式下,操作者可根据飞行器返回的环境参数,选择自动避障路径或者人为修改避障路径.在两种模式下,飞行器通过障碍后,会自动恢复前进速度,并保持航向继续前行.3调试与分析3.1PID参数调试PID参数调试有理论计算法和工程整定法两种,由于理论计算法要求给出被控对象的准确数学模型,在实际应用中常采用工程整定,即现场整定.通常位置式PID工程整定步骤是:先调试比例项P 值,P值由小增大,直到回复力足够并产生等幅震荡;然后,增加微分项D值,D值由小到大,人为干扰致使飞行器倾斜一定角度,系统能够快速恢复水平,并且没有明显超调,此时可以确定D值;最后,视飞行器水平稳态误差情况,确定是否增加积分项I值,在能够消除稳态误差的前提下,I值应尽量取小些.由于飞行器采取的是X型飞行模式,在PID 单轴(俯仰或者横滚方向)调试时,仅仅靠P值很难调试出等幅震荡的情况.为此,在实际调试参数时要将比例项与微分项结合起来调试,也就是大致确定一个P值,然后在此基础上调试D值,最后在优化时,再微调比例和积分值,这样的参数调试方法更加具有效率.3.2悬停稳定性分析稳定悬停是飞行器实现自主飞行和执行避障任务的前提,也是衡量系统性能的重要指标.在悬停测试条件下,上位机通过2.4GHz无线不断接收飞行器传回的姿态数据,并进行实时显示,截取一段时间内俯仰角数据如图4所示.·15·上海工程技术大学学报第29卷图4俯仰角数据Fig.4Pitch angle data由测得的数据可见,悬停时系统的横滚角、俯仰角误差为-1.8ʎ 1.8ʎ,偏航角误差为-2.1ʎ 2.1ʎ.据此,系统设计能满足飞行要求.4结语本文针对旋翼飞行器的结构特点,对四旋翼飞行器的硬件电路和程序算法进行了设计研究.在对飞行器进行欧拉公式建模后,利用四元数和互补融合滤波实现对飞行姿态的解算,采用经典位置式PID矫正器进行姿态角控制.在悬停时,人为施加干扰致使飞行器倾斜,系统能够快速恢复平衡,在室内搭建的测试环境中,系统能够较为灵活和精确地躲避障碍.经测试,系统的稳定性能、动态性能达到飞行避障的要求.参考文献:[1]谭广超.四旋翼飞行器姿态控制系统的设计与实现[D].大连:大连理工大学,2013.[2]刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社,2013.[3]梁延德,程敏,何福本,等.基于互补滤波器的四旋翼飞行器姿态解算[J].传感器与微系统,2011,30(11):56-58,61.[4]胡恩伟.基于MEMS多传感器数据融合的惯性组合导航系统算法设计与实现[D].重庆:重庆大学,2013.[5]张天光,王秀萍,王丽霞,等.捷联惯性导航技术[M].2版.北京:国防工业出版社,2007.[6]Madgwick S O H,Harrison A J L,VaidyanathanR.Estimation of IMU and MARG orientation using agradient descent algorithm[C]∥Proceedings of2011IEEE International Conference onRehabilitationRobotics.Zurich:IEEE,2011.[7]程敏.四旋翼飞行器控制系统构建及控制方法的研究[D].大连:大连理工大学,2012.[8]鲍齐克.数字滤波和卡尔曼滤波[M].凌云旦,译.北京:科学出版社,1984.[9]杨丕文.四元数分析与偏微分方程[M].北京:科学出版社,2009.(编辑:张敏)·25·。

基于stm32的微型四旋翼飞行器设计

基于stm32的微型四旋翼飞行器设计

定为0,然后调内环PID,首先将I和D置0,对单P进行调试,当用 手干扰系统能感觉到有一定恢复力并有点晃动时,P就为理想值。 在P值确定好的情况下调节I值,I主要是消除稳态误差,对P有辅助 作用,当用手去干扰系统,系统能较快的恢复水平,此时的I值就 为理想值。由于调试P和I能达到预期效果,所以内环D值置0,内 环参数确定好后再对外环参数进行调试,外环主要作用是控制四 旋翼姿态响应快慢,本次调试期望值是0,调试外环单P,用手给 PITCH方向一个力,四旋翼能快速达到设定角并保持水平飞行, 此时的P就为理想值。在调试过程过程中虽然四旋翼能快速达到设 定角,但是系统会有一点震荡,通过调试外环D,当系统不再震荡 时,记下D值。对ROLL方向的调试步骤同上。最终调试飞行效果 如图10所示,对PITCH方向调试参数如表1所示,对ROLL方向调 试参数如表2所示。
ELECTRONICS WORLD・技术交流
基于STM32的微型四旋翼飞行器设计
贵阳学院电子与通信工程学院 古 训 贵州民族大学机械电子工程学院 郑亚利
本文以STM32F103C8T6为主控制器,采用MPU6050完成姿态 信息采集,通过蓝牙模块完成四旋翼飞行器与电脑之间的通信, Nrf2401完成微型四旋翼飞行器和遥控器之间的通信。将MPU6050 采集的数据由四元素法转换成欧拉角对四旋翼进行姿态解算控制, 通过串级PID控制四个空心杯电机的转速,实现了微型四旋翼飞行 器PITCH和ROLL方向的稳定水平飞行。
1.引言 四旋翼在无人机研究领域中是发展最快、研究最多的一种飞行
器(赵鹏,郑文豪,李刚,基于STM32的四旋翼飞行器的设计: 电子制作,2019),目前主要应用于研发平台、军事和执法、商业 应用方面。四旋翼飞行器体积小、质量轻、飞行稳定,可应用于执 行航拍、监控、勘察、救援等飞行任务。其工作原理是主控芯片输 出四路PWM波调节四个电机的转速来改变四个旋翼的转速,从而 改变螺旋桨产生的升力,使四旋翼飞行器的位置和姿态得以控制。 四旋翼飞行器是一个欠驱动系统,它有4个输入,分别是上升力和 三个方向的转矩,6个输出分别是垂直、前 后、侧向、俯仰、滚转、偏航运动。四旋翼 飞行器有垂直、横滚、俯仰、偏航四种基本 飞行控制方式。本文主要介绍四旋翼硬件设 计以及串级PID对PITCH和ROLL方向的平衡 控制影响。

基于STM32四旋翼飞行器设计与算法

基于STM32四旋翼飞行器设计与算法

基于STM32四旋翼飞行器设计与算法近些年微机电系统(MEMS)的快速发展,现代控制的理论算法在四旋翼飞行器控制得到广范运用。

文章从四个部分对四旋翼飞行器的硬件设计与控制算法进行研究,首先分析飞行器原理与结构,建立动力学方程模型,然后对主控电路STM32F411CE和发射、接收电路NRF51822+RFX2401C的设计进行介绍,之后利用卡尔曼滤波算法将获取MPU9250(加速度计和陀螺仪)的姿态数据进行融合,设计出一款超高性能PID控制器,最后利用数学工具MATLAB/Simulink对滤波前后的信号波形进行比较,突显卡尔曼滤波算法先进性。

标签:动力学方程;NRF51822+RFX2401C;卡尔曼滤波算法;MATLAB/SimulinkAbstract:In recent years,with the rapid development of Micro Electromechanical System (MEMS),modern control theory and algorithm have been widely used in the control of four-rotor aircraft. In this paper,the hardware design and control algorithm of the four-rotor aircraft is studied in four parts. Firstly,the principle and structure of the vehicle are analyzed,and the dynamic equation model is established. Then the design of main control circuit STM32F411CE and transmitting and receiving circuit NRF51822 + RFX2401C is introduced. Then the attitude data obtained from MPU9250 (accelerometer and gyroscope)are fused by Kalman filter algorithm,and a super-high performance PID controller is designed. Finally,MATLAB/Simulink is used to compare the signal waveforms before and after filtering,which highlights the advancement of Kalman filtering algorithm.Keywords:kinetic equation;NRF51822+RFX2401C;Kalman filter algorithm;MATLAB/Simulink四旋翼飞行器因具备体积小,质量轻,结构简单,可悬停和垂直起降等优点,可用于国防军事,海洋执法监测和民用生活航拍领域。

基于STM32单片机的四旋翼飞行器设计

基于STM32单片机的四旋翼飞行器设计
S T M3 2 单 片 机 为 核 心 的四 旋翼 飞行 器 的 设 计 ,主 要 包括 飞 行 器 的 结 构 以 及 基 本 原 理 的 介 绍 、 硬 件 部 分 的 设 计 与 选择 、软 件 部 分 的 设 计 与 实现 。在 硬 件 部 分 , 主要 是 以 S T M3 2 系列微 处 理 器为 主 控 核 心 ,M P U一 6 0 5 ( ) 为 飞 行 姿 态测 量传 感 器 ,2 . 4 GHz 全球 开 放 频 段 为 无 线数据传 榆控制 。其 中具体各元件 的作用与选择将 分别从 主控 单元 、I MU 模 块 、电机驱动模块 、无线通讯模 块及 电源模块进行 阐 述 。在软件部 分 ,主要是通过 四元数算 法实现姿 态解算和P I D算法来 实现姿 态控 制 .最后 对设 计 出的 四旋翼 飞行 器提 出一些 附加功
能 .使 其 更 加 人 机 友好 化 。
【 关键词 】 四旋翼飞行器;S T M3 2 ;姿态解算;姿态控制
De s i  ̄ n o f q u a d r o t o r b a s e d o n S TM 3 2 M CU
Ab s t r a c t :Qu a d r o t o r i s a n e w t y p e o f u n ma n n e d a e r i a l v e h i c l e wi t h s i mp l e s t r u c t u r e ,s t r o n g li f g h t s t a b i l i t y a n d h i g h u s e v a l u e . Th e f r a me wo r k
d e s i g n e d i n t h i s p a p e r i s b a s e d o n S T M3 2 M CU. Th e r e ma i n l y i n c l u d e t h e s t uc r t u r e o f t h e a i r c r a t, t f h e i n t r o d u c t i o n o ft h e b a s i c p r i n c i p l e ,t h e d e s i g n a n d s e l e c t i o n o f t h e h a r d wa r e s u b p a r t ,t h e d e s i g n a n d i mp l e me n t a t i o n o f t h e s o R wa r e s u b p a r t . I n t h e h a r d wa r e p a r t ,i t i s ma i n l y b a s e d o n S T M3 2 s e r i e s mi c r o D r o c e s s o r a s t h e c o r e o f c o n t r o l ,MP U. 6 0 5 0 a s t h e l f i g h t a t t i ud t e s e n s o r a n d 2 . 4 GHz i n t h e wo r l d a s wi r e l e s s d a t a t r a n s — mi s s i o n c o n t r o 1 . I n wh i c h t h e c h o i c e a n d f u n c t i o n o f t h e s e s p e c i ic f c o mp o n e n t s wi l l b e s e p a r a t e l y c l a r i ie f d a s t h e ma i n c o n t r o l u n i t ,I M U mo d - u l e,mo t o r d r i v e r mo d u l e , wi r e l e s s c o mmu n i c a t i o n mo d u l e a n d p o we r mo d u l e . I n t h e s o f t wa r e p a r t ,i t i s ma i n l y r e a l i z e d t h r o u g h q u a t e mi o n a l g o i f t h m i n a t t i ud t e d e t e r mi n a t i o n a n d P I D a l g o i r t h m i n a t t i ud t e c o n t r o 1 . Fi n a l l y, t h e d e s i g n i s i mp r o v e d b y s o me a d d i t i o n a l f u n c t i o n s t o ma k e i t mo r e u s e r - f r i e n d l y . Ke y wo r d s :q u a d r o t o r :S TM 3 2 M CU: a t t i ud t e d e t e n ni n a t i o n: a t t i ud t e c o n t r o l

基于STM32的四旋翼飞行器设计

基于STM32的四旋翼飞行器设计

【关键词】stm32 四旋翼飞行器变参数pid控制卡尔曼滤波随着航天技术的不断发展和成熟,四旋翼飞行器以其低成本、体积小、对环境要求低、高性能、独特构造和飞行方式等特点,被广泛应用于军事和民用领域。

本文以飞行器控制算法为研究主题,重点研究四旋翼飞行器的算法结构,设计飞行控制算法,提出一套基于卡尔曼滤波算法的姿态检测系统,并以改进的变参数pid控制算法来进行控制,实现了四旋翼飞行器的稳定飞行、悬停、航拍等功能,验证了设计的合理性。

1 飞行器工作原理四旋翼飞行器也称为四旋翼直升机,是一种有四个螺旋桨且螺旋桨呈十字形交叉的飞行器,是固联在刚性十字交叉结构上,由4个独立电机驱动的螺旋桨组成的6自由度系统。

四旋翼一般具有两种飞行模式,x飞行模式和十字飞行模式,实验证明x模式较十字模稳定且便于控制,所以本文设计中采用的是x飞行模式,结构图如图1所示。

在四旋翼的中轴处mcu 将无线模块传达的控制数据发送给电调,再通过电调控制三相无刷电机的转速变化实现俯仰运动、偏航运动、垂直起落运动和空中悬停。

飞行器在做俯仰运动过程中电机0、1或2、3转速同时增减,并且其余两个电机转速也发生变化,变化方向与其相反;偏航动作过程中电机0、2或者1、3转速增加,同时其余两个电机保持原有转速;垂直起落过程中四路电机转速同步加减,当四路电机所产生的升力与四旋翼自身重力相等时,飞行器保持悬停状态。

2 硬件设计四旋翼飞行器的硬件设计包括两部分:飞行器主体硬件结构设计、遥控器硬件结构设计。

2.1 飞行器主体硬件结构设计2.2 遥控器硬件结构设计本文的遥控器是自行设计制作的,利用cad软件设计出了遥控器外壳的双层平面模型,并利用雕刻机对亚克力进行镂空加工,设计pcb外形并导入电路板绘制工具软件,将pcb板嵌在两层亚克力模型版中。

遥控器主要mcu、无线通信模块、显示部分、飞行控制量输入部分、参数微调部分、指示部分组成。

由遥控器的mcu同样采用stm32f103vet6,无线通信模块采用大功率nrf24l01模块通过spi串行通信总线与mcu相连;显示部分由2.4寸tft彩屏和驱动电路组成,通过系统总线与mcu连接实现显示功能;飞行控制量输入部分由碳膜型遥感电位器和拨盘电位器组成,通过mcu的12位ad接口采集模拟信息,作为四旋翼的动作和云台动作控制量;参数微调部分由贴片按键实现,可以微调遥控器的飞行参数,指示部分由贴片led组成。

基于Arduino兼容的Stm32单片机的四旋翼飞行器设计

基于Arduino兼容的Stm32单片机的四旋翼飞行器设计

基于Arduino兼容的Stm32单片机的四旋翼飞行器设计基于Arduino兼容的STM32单片机的四旋翼飞行器设计一、引言随着无人机技术的发展和应用,四旋翼飞行器成为了热门的研究领域。

它具有飞行稳定性高、机动性好、适应性强等优势,被广泛应用于农业植保、航拍摄影、物流配送等领域。

本文基于Arduino兼容的STM32单片机设计四旋翼飞行器,主要包括硬件设计和软件编程的内容。

二、硬件设计1. 硬件选型本设计采用STM32F103C8T6单片机作为处理器,其具有性能稳定可靠、易于操作等特点,同时兼容Arduino,可以借助开发环境进行编程;四个无刷直流电机作为动力源,通过控制电调来实现转速的控制;姿态传感器采用MPU6050六轴传感器,用来检测飞行器的倾斜角度;无线通信模块采用nRF24L01,用于与遥控器进行通信。

2. 电路设计整个飞行器系统的电路由电源管理电路、控制电路、传感器电路和通信电路四部分组成。

(1)电源管理电路:使用锂电池作为电源,通过电源管理芯片实现电池的充电和保护管理,确保系统电源的稳定性。

(2)控制电路:STM32单片机作为核心控制器,连接电机驱动电路、姿态传感器以及通信模块。

通过Arduino提供的开发环境,编写控制算法,实现电机的转速控制,以及飞行器的姿态控制。

(3)传感器电路:连接MPU6050六轴传感器,用于检测飞行器的姿态,包括加速度和角速度等数据。

通过与STM32单片机的通信,采集传感器数据并进行处理,实现飞行器的稳定控制。

(4)通信电路:通过nRF24L01无线通信模块与遥控器进行通信,实现遥控器对飞行器的控制。

三、软件编程1. 飞行控制算法飞行器的稳定控制是整个系统的核心。

在设计中,通过PID控制算法来实现飞行器的稳定飞行。

PID控制算法基于偏差(error)进行计算,包括比例环节、积分环节和微分环节。

其中,比例环节用来衡量偏差的大小,积分环节用来补偿系统漏差,微分环节用来预测偏差的变化趋势。

基于Arduino兼容的Stm32单片机的四旋翼飞行器设计

基于Arduino兼容的Stm32单片机的四旋翼飞行器设计

基于Arduino兼容的Stm32单片机的四旋翼飞行器设计一、引言四旋翼飞行器是近年来快速发展的一种无人机,它具有灵活、稳定、可控性强等特点,被广泛应用于各个领域,如农业、摄影、救援等。

本文将基于Arduino兼容的Stm32单片机设计一个四旋翼飞行器,包括硬件设计和主控程序编写,并对其进行测试和分析。

二、硬件设计1. 硬件平台选型我们选择Arduino兼容的Stm32单片机作为主控芯片。

Stm32系列单片机具有强大的性能和丰富的外设资源,能够满足四旋翼飞行器的实时控制要求。

2. 四旋翼结构设计我们采用X形结构的四旋翼设计,具有较好的稳定性和操控性。

每个旋翼由一个电动助力机构和一个螺旋桨组成,通过电机控制器控制电机的转速,从而控制飞行器的升降和姿态。

3. 传感器选择为了使飞行器能够感知环境和自身状态,我们选择了加速度计、陀螺仪和磁力计等传感器。

加速度计用于测量飞行器的加速度和姿态角度,陀螺仪用于测量飞行器的角速度,磁力计用于测量地磁场信息,以辅助姿态控制。

4. 通信模块选型我们选择了无线通信模块,可以实现飞行器与地面控制站的数据传输和指令控制。

5. 电源设计为了保证飞行器的稳定供电,我们设计了电源管理模块,包括电池、稳压器和电源选择开关等,以提供所需的电压和电流。

三、主控程序编写1. 启动流程飞行器在上电后,首先要进行初始化操作,包括外设初始化、传感器校准和数据校验等。

接着进入主循环,不断读取传感器数据、执行控制算法、更新电机转速和发送数据等。

2. 姿态控制算法通过读取加速度计和陀螺仪的数据,可以得到飞行器的姿态信息。

我们采用PID控制算法来控制飞行器的姿态,即通过调节电机转速来调整飞行器的姿态角度,使其保持在设定值附近,提高飞行器的稳定性。

3. 飞行控制算法飞行器的飞行控制算法主要包括高度控制、位置控制和姿态控制。

通过读取高度传感器的数据,可以得到飞行器的高度信息。

我们采用模糊控制算法来调节电机转速,控制飞行器的高度和位置。

基于STM32的四旋翼飞行姿态串级控制_贾峰

基于STM32的四旋翼飞行姿态串级控制_贾峰

主控模块 本文采用基于 ARM Cortex M3 内核的 STM32 F103VCTE 微控制器为主控芯片。 STM32 微控制器 具有多路信号采集通道和多路 PWM 输出通道, 方 72 MHz 的主 便接收传感器数据和对电机进行控制 , 频满足系统对于运算速度的要求 , 且功耗低。 2. 2 数据采集模块图 采用拥有 3 轴加速度计和 3 轴陀螺仪的组合传 6050 来测量加速度和角速度, 3 轴地磁传 感器 MPU感器 HMC5883L 测量地磁场, 气压计 MS5611 测量 。 气压 MPU6050 集 成 了 3 轴 MEMS 陀 螺 仪, 3 轴 MEMS 加速度计。陀螺仪可测范围和加速度计可测 范围可根据实际应用调整。与设备寄存器之间的通 2. 1
2 2
2 2 2 2 ( q0 + q1 - q2 - q3 ) 2 ( q1 q2 + q0 q3 ) 2 ( q1 q3 - q0 q2 )
2 ( q1 q2 - q0 q3 ) ( q0 - q1 + q2 - q3 ) 2 ( q2 q3 + q0 q1 )
c11 = c 2 ( q2 q3 - q0 q1 ) 21 2 2 2 2 c31 ( q0 - q1 - q2 + q3 ) q0 ( n q ( n 1 q2 ( n q3 ( n + 1) = q0 ( n) +
第 15 卷 第 6 期 2015 年 2 月 1671 — 1815 ( 2015 ) 06-0220-06







Science Technology and Engineering

基于STM32的四旋翼飞行器控制系统设计

基于STM32的四旋翼飞行器控制系统设计

基于STM32的四旋翼飞行器控制系统设计四旋翼飞行器是一种由四个旋翼驱动的无人机。

它具有垂直起降和悬停的能力,能够在空中保持稳定飞行。

基于STM32的四旋翼飞行器控制系统设计需要考虑飞行器的姿态控制、飞行模式控制、传感器数据获取与处理等方面,同时还需要实现与地面站的通信和数据传输。

首先,飞行器的姿态控制是控制系统设计的核心。

通过采用传感器获取飞行器的姿态信息,如加速度计、陀螺仪和磁力计等,利用PID控制算法对飞行器进行姿态调整,使其保持平衡和稳定飞行。

STM32可以通过配置外设,如ADC和定时器,来获取传感器数据,同时使用GPIO口来控制电机的转速,实现四旋翼飞行器的姿态控制。

其次,飞行模式控制是四旋翼飞行器控制系统中的另一个重要方面。

飞行模式通常包括手动模式、自稳模式和定点悬停模式等。

在手动模式下,飞行器由遥控器控制飞行方向和速度。

在自稳模式下,飞行器利用姿态控制算法来保持平衡和稳定飞行。

在定点悬停模式下,飞行器根据传感器数据和定位信息,实现在空中固定位置悬停。

通过STM32的串口通信模块与遥控器通信,可以实现飞行模式的切换和控制。

另外,传感器数据获取与处理也是四旋翼飞行器控制系统设计的重要部分。

飞行器需要获取传感器数据,如高度、速度和位置等信息,并进行处理,以进行姿态控制和飞行模式控制。

STM32可以通过配置串口通信、I2C或SPI总线来获取和处理传感器数据,同时利用内部的计算和存储单元进行数据处理和算法运算。

最后,与地面站的通信和数据传输是四旋翼飞行器控制系统设计中的另一个重要方面。

地面站可以通过无线通信方式与飞行器进行通信,获取飞行器的状态信息和传感器数据,并发送飞行指令和控制信号。

通过配置STM32的无线通信模块,如WiFi或蓝牙模块,可以实现与地面站的通信和数据传输。

除了以上提到的关键设计方面,四旋翼飞行器控制系统设计还需要考虑电源管理、动力系统控制(电机控制)、GPS定位和导航等问题。

基于stm32f103四旋翼飞行器设计

基于stm32f103四旋翼飞行器设计

• 116•四旋翼在人们的日常生活中应用的越来越为广泛,它可以广泛的应用于民用、科技和军事领域,但一般的四旋翼具有设计复杂,造价高的特点。

本文设计的四旋翼采用STM32F103为主控芯片,系统主要由主控板、机架、MP6050陀螺仪、电机模块、超声波、无线通信等模块组成。

四旋翼可以做垂直升降,翻滚,前进后退,左移右移等动作。

系统具有成本低,设计合理,具有较好的实用价值。

1 研究背景及意义随着近些年科技的飞速发展,传感器、无刷电机、单片机、锂电池、通讯技术等为后来四旋翼飞行器的发展奠定了基础。

四旋翼飞行器相比与传统的固定翼无人机有很多优点,首先四旋翼的体积小,隐蔽性高适合用于军事侦察、农林业调查等活动中。

其次它的生产成本低,人人用的起,可用于玩具航模、航拍等娱乐活动中。

四旋翼飞行器的看似简单,但是里边涉及到的东西非常多,要考虑到的方面也有很多,从四旋翼的整体机架、主控板的选择、软件的机构和各个机构的搭配安装都需要考虑。

本次设计针对四旋翼飞行器更加平稳飞行进行更深入的研究,它将为四旋翼飞行器在飞行过程中飞的更加平稳,使得四旋翼在各个领域作出突出贡献。

图1 硬件系统设计图2 系统整体设计如图1所示硬件系统包括:电机、电池、主控板(STM32F1)、无线通讯模块、显示模块和姿态传感器模块(MPU-6050)。

飞行过程中姿态传感器模块获得飞行器的状态信息,将实际姿态数据传送给控制器模块,并和遥控器通过无线通讯模块传来的目标姿态数据比较,通过一系列复杂的算法,得到飞行器的姿态和位置信息,计算出控制量,转化为对应的PWM 信号,经驱动电路后驱动四个电机工作,保持四旋翼稳定飞行。

3 硬件设计基于成本、功耗和性能等因素综合考虑,主控板和遥控板的芯片选用STM32F103作为主控芯片,STM32F103是一个具有丰富资源丰富、高速时钟的精简指令、低功耗的微处理器。

它拥有从64K 或128K 字节的闪存程序可选存储器,高达20K 字节的RAM ,2个12位模数转换器多达16个输入通道,多达11个定时器其中高级定时器可产生不同的PWM ,并有着多功能的PWM 输出模式,可以通过设置其寄存器来对PWM 输出进行改变,方便的控制电机。

基于STM32的四旋翼飞行器姿态测量系统设计

基于STM32的四旋翼飞行器姿态测量系统设计

基于STM32的四旋翼飞行器姿态测量系统设计曹延超【期刊名称】《软件》【年(卷),期】2015(000)001【摘要】With the development of unmanned aerial vehicles, four-rotor aircraft attracts more and more researchers' attention. This paper presents a rotor aircraft attitude measurement system design based on the STM32. The attitude mea-surement platform based on STM32 is a data acquisition and attitude calculation platform. In this paper, the system on the STM32 transplants themC / OS-Ⅲ operating system, which gathers acceleration, angular velocity, and data from other sensors, and uses quaternion algorithm, Kalman filtering to achieve attitude measurement data. At last, this platform trans-ports attitude measurement data to PC soft through the wireless module. With wireless receiver module, PC soft can display attitude acquisition. Finally, through a comprehensive experiment on this platform, it has verified the platform's feasibility and effectiveness, which can get the effective attitude measurement data in time.%随着无人飞行器的发展,四旋翼飞行器逐渐受到更多研究者的关注。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要四轴飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器,与普通飞行器相比,具有结构简单、故障率低和单位体积能够产生更大升力等优点,所以在军事和民用多个领域都有广阔的应用前景,非常适合在狭小空间内执行任务。

本设计采用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接口,最后在保证稳定性的前提下,速度提高了一倍。

这个设计遇到的最大问题就是怎样保持飞行器的平衡。

开始的时候,我们以为很简单,不就是简单的闭环控制么,随着深入研究和实验,发现有些东西已经不能用我现有的知识来解答了,比如姿态的解算。

我想姿态解算也是这个项目的难点,怎样时时刻刻都准确的跟踪到飞行器的姿态。

很多人都知道使用加速度和陀螺仪检测物体的姿态,很多手机就有这些传感器,但是这两传感器在飞行器上貌似水土不服,陀螺仪随时间推移漂移了,加速度计由于电机的高速运转震动基本上处于半瞎状态。

所以我们使用了串级pid算法,并且优化了串级pid算法,使得在只用一个mpu6050的情况下,可以实现稳定的飞行,并且在飞行20层楼层的高度时可以飞出定高的效果。

调试过程中,采用无线通信芯片nrf24l01和stm32单片机作为控制端,同时用匿名四轴上位机显示状态。

1.2创新点设计的创新点有两个,一是在于遥控器的控制方面,传统的飞行器控制飞行在于通过遥杆控制,通过对遥杆的物理操作实现飞机的左右前后飞行,我们则采用感应式姿态控制,通过遥控器上板载的mpu6050,去跟踪手的姿势,然后将手的物理动作对应到相应的角度,发送给飞控部分,飞控部分将接受到的信号作为期望的角度,实现飞行器的左右前后飞行。

本次设计的第二个创新点在于优化pid算法,单纯的pid算法是不足以控制动力如此大的大四轴,再加上只有一个六轴传感器mpu6050是不足以控制好大四轴的,通常市面上的飞行器姿态测量这方面会用到多个传感器,以实现飞行器姿态的跟踪。

但是我们只用了一个六轴传感器mpu6050就可以做到非常稳定的飞行,主要原因在于对算法的优化。

第二章方案论证与设计本次设计选择的材料如下:主控芯片:STM32F103ZET6无线通信:NRF24L01传感器:MPU6050六轴传感器遥控主芯片:STM32F407ZGT6机架的型号: F450,重量282克。

电机轴距450mm,螺旋桨采用1045型。

电机则采用银燕MT-2216,810KV无刷电机,最高转速2极马达210000 转/分钟,重量:37g 。

电调为好盈20A电子调速器,持续电流30A,短时电流40A。

电池则采用了2200mah锂电池。

2.1飞控部分硬件框图图2-1从图中可以看出,STM32是电路的核心,它受5v电源控制,它负责和mpu6050,nrf24l01进行通信,处理数据,输出pwm信号给电子调速器,以得到控制电机的转速,实现飞行姿态的调整。

2.2遥控器部分硬件框图图2-2遥控部分STM32F407ZGT6作为主要芯片,nrf24l01f负责和飞控部分无线通信,遥杆主要控制油门大小,mpu6050负责跟踪手的姿势。

2.3各部分元器件介绍本次设计主要的工作在于程序的编写,所以就需要对所需要的主芯片和各个模块有一个详细的了解,接下来给大家介绍下我们所用的芯片口和模块介绍。

2.3.1 stm32介绍内核:ARM 32位的Cortex-M3,最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHZ(DhrystONe2.1)单周期乘法和硬件除法。

存储器:从32K到512K字节的闪存程序存储器(STM32F103XXXX中的第二个X表示FLASH容量,其中:“4”=16K,“6”=32K,“8”=64K,B=128K,C=256K,D=384K,E=512K),最大64K字节的SRAM。

电源管理:2.0-3.6V供电和I/O引脚,上电/断电复位(POR/PDR)、可编程电压监测器(PVD),4-16MHZ晶振振荡器,内嵌经出厂调教的8MHz的RC振荡器,内嵌带校准的40KHz的RC振荡器,产生CPU时钟的PLL,带校准的32KHz的RC 振荡器低功耗:睡眠、停机和待机模式,Vbat为RTC和后备寄存器供电。

模数转换器:2个12位模数转换器,1us转换时间(多达16个输入通道),转换范围:0至3.6V,双采样和保持功能,温度传感器。

DMA:2个DMA控制器,共12个DMA通道:DMA1有7个通道,DMA2有5个通道。

支持的外设:定时器、ADC、SPI、USB、IIC和UART,多达112个快速I/O 端口(仅Z系列有超过100个引脚),26/37/51/80/112个I/O口,所有I/O口一块映像到16个外部中断;几乎所有的端口均可容忍5V信号。

调试模式:串行单线调试(SWD)和JTAG接口,多达8个定时器,3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入,1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器,2个看门狗定时器(独立的和窗口型的),系统时间定时器:24位自减型计数器。

多达9个通信接口:2个I2C接口(支持SMBus/PMBus),3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制),2个SPI接口(18M位/秒),CAN接口(2.0B主动),USB 2.0全速接口。

计算单元:CRC计算单元,96位的新批唯一代码。

封装:ECOPACK封装。

图2-32.3 .2电子调速器电调全称电子调速器,英文Electronic Speed Control,简称ESC。

针对电机不同,可分为有刷电调和无刷电调。

它根据控制信号调节电动机的转速。

本文采用好盈电调20A。

对于它们的连接,一般情况下是这样的:1、电调的输入线与电池连接;2、电调的输出线(有刷两根、无刷三根)与电机连接;3、电调的信号线与接收机连接;另外,电调一般有电源输出功能,即在信号线的正负极之间,有5V左右的电压输出,通过信号线为接收机供电,接收机再为舵机等控制设备供电。

电调的输出为三~四个舵机供电是没问题的。

因此,电动的飞机,一般都不需要单独为接收机供电,除非舵机很多或对接收机电源有很高的要求。

2.3.3 mpu6050六轴传感器MPU6050是InvenSense公司推出的全球首款整合性6轴运动处理组件,内带3轴陀螺仪和3轴加速度传感器,并且含有一个第二IIC接口,可用于连接外部磁力传感器,利用自带数字运动处理器(DMP: Digital Motion Processor)硬件加速引擎,通过主IIC接口,可以向应用端输出完整的9轴姿态融合演算数据。

有了DMP,我们可以使用InvenSense公司提供的运动处理资料库,非常方便的实现姿态解算,降低了运动处理运算对操作系统的负荷,同时大大降低了开发难度。

DMP 是 InvenSense 公司的 MPU 器件独特的硬件功能,它能够直接从传感器读出计算好的四元数的数据,获取设备的姿态。

DMP功能保存在主处理机的易失性内存中,若需要使用DMP功能,则每次芯片上电后都需要初始化。

DMP程序库项目中提供的示例应用程序中给出了更新映像和初始化 DMP 功能的一系列步骤。

加载并启用DMP功能的步骤包括:(1)通过函数dmp_load_motion_driver_firmware ()把 DMP 载入MPU内存。

(2)通过dmp_set_orientation ()函数更新定位矩(3)当DMP检测到运动或撞击时会触发DMP回调功能。

(4)通过函数dmp_enable_feature()启用DMP功能。

相关文档
最新文档