基于STM32的语音控制的四轴飞行器设计
智能应用前言随着科技的进步,人类在航空科技上有了历史性的突破。
四轴飞行器凭借着其结构简单,体积小巧,飞行环境要求低,适用性强,使用起来简单安全可靠的特点,从而受到了人们的青睐。
四轴飞行器被广泛的应用到航空拍摄、地形勘察和灾难搜救等领域。
但是不可否认的是由于四轴飞行器自身的特点决定了其入门难度大,学习培训成本高,尤其对于新手,需要经过专门的培训才能上手。
针对这一问题,本文以STM32单片机为控制核心,利用专用语音识别芯片LD3320,通过语音控制的方法实现对飞行器的控制,降低学习培训的成本,加速四轴飞行器的普及。
1�系统整体设计本设计提出一种基于STM32单片机的语音控制的四轴飞行器,系统由语音控制模块、惯性测量单元、主控模块及电源和电机等组成。
设计使用到LD3320语音模块、STM32模块及六轴传感器MPU6050模块。
系统整体框图如图1所示。
其中STM32模块是整个四轴飞行器的主控模块。
STM32单片机通过读取惯性测量单元IMU的状态,确定四轴飞行器的当前状态。
语音处理芯片LD3320在接收到语音信号以后,将语音信号经过AD转换为数字信号输入到单片机中进行处理,主控制器根据输入信号与自身的关键词列表进行比较后输出相应的PWM信号分别驱动4个MOSFET,从而改变4个电机的转速,最终改变4个升力实现姿态控制。
图1 系统整体框图2�硬件设计■2�1 主控模块四轴飞行器的主控模块采用的是意法半导体公司的STM32F103C8T6。
STM32是兼容所有的ARM工具和软件的32位闪存处理器,节能性能业界领先,是同类中性能最高的;工作在72MHz的频率下,处理速度块,功耗是32位市场上功耗最低的;内部资源丰富,具有2个DMA控制器,3个16位定时器,112个快速I/O,可以很好的实现对四轴飞行器的控制。
■2�2 电机驱动模块四轴飞行器通过电机带动螺旋桨来产生升力,从而实现飞行,通过对电机转速的调节来实现升降运动,俯仰运动,滚转运动等。
主控芯片可以通过对PWM的调节从而实现对电机转速的控制,但是由于主控芯片的驱动能力太差,无法直接驱动电机,因此需要通过专门的驱动电路来驱动电机。
本设计通过MOS管来驱动电机,通过控制MOS管的关闭和导通,从而控制电机的输入电压,进而控制电机的转动速度。
■2�3 LDC3320语音模块语音识别技术按照识别对象的类型分为特定人和非特定人语音识别。
其中特定人语音识别是指识别对象是为了专门的人而进行录音和训练,而非特定语音识别是指识别是针对大多数用户来进行录音和训练,通常需要采集多个人的语音进行录音和训练,经过不断学习从而提高识别率。
本设计采用的方案是非特定语音识别,使用LD3320芯片完成。
LD3320是基于ASR技术的非特定语音识别芯片。
语音识别ASR技术,是一种基于关键词语列表识别的技术,通过软件编辑好识别的关键词语列表,并把关键词语以字符的形式传送到芯片内部,这样就可以对人说出的关键字进行识别。
并且同一时间内,可以在最多在有50条关键词语中进行识别,并且可以根据现实场景的需要,可以在终端处随时更新和编辑50条关键词,为修改相关控制命令提供了方便。
LD3320芯片语音识别外围电路如图2所示。
基于STM32的语音控制的四轴飞行器设计作者/王平、何英昊,大连理工大学城市学院基金项目:辽宁省大学生创新创业训练计划项目(201513198000017)摘要:随着科技不断发展,四轴飞行器逐渐从高校实验室走向了大众。
但是不可否认的是,由于四轴飞行器的学习控制成本太高,限制了其进一步的普及和发展。
本文针对这一现象,提出了一项通过语音识别技术控制微型及小型的四轴飞行器的设计方案。
本设计以STM32F103C8T6为控制核心,采用惯性测量单元MPU6050等传感器用于飞行姿态的检测,和语音控制遥控器之间用无线收发器芯片NRF24L01进行通信。
关键词:四轴飞行器;STM32;语音识别;MPU6050DOI:10.16589/11-3571/tn.2017.11.010www�ele169�com | 31■2�4 惯性测量单元 MPU6050MPU6050是一款六轴运动组件,包括三轴加速度和三轴角加速度(陀螺仪),以及一个可扩展运动处理器,可以实现对三轴的重力加速度和角加速度的测量。
可以通过I2C通信协议连接第三方数字传感器进行通信。
主控芯片对MPU6050的操作方式有2种,一种是通过软件操作,即通过I2C直接读取三轴加速度和三轴角加速度的数据。
由于读取的数据是原始数据,需要在程序里进行处理,加大了计算量;另一种方法是直接对硬件进行操作,MPU6050的数字运动处理器将数据处理成欧拉角放到FIFO中。
方便后期对于数据进行处理,降低算法量。
本设计采用的是第二种的方法。
图3 系统软件设计流程图3�软件设计图3是系统软件设计流程图。
系统上电后首先进行初始化,然后读取传感器的值,接着进行惯性测量单元初始化,初始化正常以后进行电池电压的校准,电池电压校准正常后,主控制器将IMU的数据处理后通过IIC传递到电机上,控制四轴飞行器的飞行。
■3�1 语音识别子程序语音识别程序的设计流程如图4所示。
程序首先对语音芯片和寄存器初始化,在初始化流程中完成软复位,模式设定,时钟频率的设定以及FIFO的设定。
在写入识别列表部分,由于识别列表对应的规则是每个识别条目对应一个特定的编号,编号数值可以相同,可以不连续,但是编号数值要小于256(00H-FFH)。
而且LD3320最多可以支持50个识别条目,每个识别条目是小写的普通话汉语拼音,其中每两个汉语拼音的字之间用一个空格间隔,在本设计中采用了不同编号连续的识别编号的方法,如表1所示。
开始识别时,通过设置相关的寄存器,将识别的关键词以字符串的形式传送到芯片中,就可以在下次识别中生效。
表1识别列表编号字符串1qi fei2bao chi3xia jiang最后,在麦克风采集到声音信号后,会产生一个中断信号同时准备好中断响应函数同时打开中断允许位,LD3320对语音信号进行处理,提取其中的关键特征,然后和已经写入识别列表的字符串进行匹配,选取其中最为接近的关键图2 LD3320芯片语音识别外围电路4 语音识别程序流程(下转第11页)32 | 电子制作 2017年6月电子电路设计与方案进入显示子程序display2(),然后进入矩阵键盘扫描。
在按键按下的同时,进入系统内置的第一首乐曲,同时获取第一首乐曲的第一个简谱码和及其节拍码,通过启动和关闭定时器发音。
矩阵键盘任何一个按键被按一下,系统会逐次取乐曲的下一个简谱码及其节拍码,然后进行发音。
所以不论弹奏的按键是否正确,只要保证按键速度和正常弹奏乐曲的速度差不多,就可以发出正确的旋律。
系统会判断简谱码是否为-1,如果为-1则关闭定时器,跳出当期程序并对音符指针清零。
系统会通过标志flag的值判断切换模式按下是否再次被按下,如果切换模式按键按一下,此时标志flag=1,再次进入弹奏模式程序。
图5 “音乐家”模式程序流程图3�总结本文以单片机AT89S52作为核心控制芯片,设计了一个多功能电子琴。
文中对电子琴系统硬件电路设计和软件设计进行了阐述。
该过多功能电子琴除了具有基本弹奏功能外,还具有音乐播放功能和“我是音乐家”功能。
增加的“我是音乐家”模式,可以提高人们对电子琴弹奏的兴趣。
参考文献* [1] 李雪梅�基于CPLD的多功能电子琴设计[J]�科技创新导报,2009,(4):37-38�* [2] 章丹� 基于单片机的简易电子琴的设计与实现[J]� 电脑知识与技术, 2014,13:3179-3181* [3] 高玉敏, 宋建华� 基于PIC单片机PWM模式的音乐播放系统设计[J]� 测控技术, 2014, 33(9):72-75�* [4] 王洋� 基于单片机的微型电子琴研究与实现[D]� 成都: 电子科技大学, 2013年�* [5] 徐阳,徐爱钧�AT89C51SND1C单片机的MP3播放器设计[J]�单片机与嵌入式系统应用,2015,(10):65-67�* [6] 和丽花, 张海龙� 基于Proteus的单片机电子琴的设计[J]� 中国新科技新产品,2014,(6):91�* [7] 彭建英, 彭光含, 曾志刚� 基于单片机的简易电子琴设计[J]� 湖南文理学院学报, 2015,4:30-32�* [8] 姬晔� 基于FPGA的音乐合成器设计[D]� 吉林:吉林大学�* [9] 钱学斌� AT89S52单片机的电子琴设计[J]� 科技论坛, 2013, 12: 124�* [10] 孙万麟, 基于AT89C51单片机的电子琴设计[J]� 电脑知识与技术, 2010, 6(20):5626-5627�* [11] 李林涛, 陈明, 梁宜勇,等� 基于单片机的简易电子琴录/放音系统[J]� 数字技术与应用, 2010, 2:14-15�* [12] 韩学军, 孙尚超� 基于MCU技术数据采集系统的软件设计与实现[J]� 实验技术与管理, 2014, 31(9): 124-126�词,然后将识别结果发送给主控芯片STM32单片机。
4�结束语论文设计了一个基于语音控制的四轴飞行器系统,实现了通过语音来控制四轴飞行器的起飞,巡航,降落。
通过设计可以帮助新手快速完成四轴飞行器的学习和使用,加速其普及与发展,但是也有许多不足之处,例如抗干扰能力差,没有在算法中加入对噪声的识别与处理,在接下来的时间中,设计将着重对于系统的滤波算法进行优化,对噪声进行过滤,以提高系统识别的准确度。
参考文献* [1]江海波,王卓然,耿得根,深入浅出AVR单片机[M]�北京中国电力出版社,2008�* [2]刘乾,孙志锋�基于ARM的四旋翼飞行器控制系统[J]�机电工程,2011,28(10):1237-1240�* [3]李俊,四旋翼飞行器的动力学建模及PID控制[J]�辽宁工程技术大学学报,2012,31(1):114-117�(上接第32页)www�ele169�com | 11。
基于STM32F4的四轴航拍飞行器
基于STM32F4的四轴航拍飞行器摘要本设计是基于STM32F4的四轴航拍平台。
以STM32F407为控制核心,四轴飞行器为载体,辅以云台的航拍系统。
硬件上由飞控电路,电源管理,通信模块,动力系统,机架,云台伺服系统组成。
算法上采用简洁稳定的四元数加互补滤波作为姿态解算算法,PID作为控制器,实现飞行,云台增稳等功能。
具有灵活轻盈,延展性,适应性强好等特点。
1.引言四轴飞行器是一种利用四个旋翼作为飞行引擎来进行空中飞行的飞行器。
进入20世纪以来,电子技术飞速发展四轴飞行器开始走向小型化,并融入了人工智能,使其发展趋于无人机,智能机器人。
四轴飞行器不但实现了直升机的垂直升降的飞行性能,同时也在一定程度上降低了飞行器机械结构的设计难度。
四轴飞行器的平衡控制系统由各类惯性传感器组成。
在制作过程中,对整体机身的中心、对称性以及电机性能要求较低,这也正是制作四轴飞行器的优势所在,而且相较于固定翼飞机,四轴也有着可垂直起降,机动性好,易维护等优点。
在实际应用方面,四轴飞行器可以在复杂、危险的环境下可以完成特定的飞行任务,也可以用于监控交通,环境等。
比如,在四轴飞行器上安装甲烷等有害气体的检测装置,则可以在高空定点地检测有害气体;进入辐射区检查核设施;做军事侦察;甚至搬运材料,搭建房屋等等。
本设计利用四轴搭载云台实现航拍任务,当然经过改装也可以执行其他任务。
本设计主要研究了四轴飞行器的姿态结算和飞行控制,并设计制作了一架四轴飞行器,对关键传感器做了标定,并利用用matlab分析数据,设计算法,还进行了单通道平衡试验调试,进行试飞实验取得了一定的效果。
2.系统方案本设计采用STM32F4作为核心处理器,该处理器内核架构ARM Cortex-M4,具有高性能、低成本、低功耗等特点。
主控板包括传感器MPU6050电路模块、无线蓝牙模块、电机启动模块,电源管理模块等;遥控使用商品遥控及接收机。
控制芯片捕获接收机的PPM命令信号,传感器与控制芯片之间采用IIC总线连接,MCU与电调之间用PWM传递控制信号。
基于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的四旋翼飞行器姿态测量系统设计
基于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.%随着无人飞行器的发展,四旋翼飞行器逐渐受到更多研究者的关注。
基于STM32单片机四旋翼飞行器建模分析与设计
曾宪阳 一 , 杨 红 莉 , 郁 汉 琪
( 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单片机的X形四旋翼飞行器飞行控制系统。
通过对角速度进行方位余弦计算及与加速度进行互补滤波,得到飞行器的飞行姿态,最终通过PID控制算法控制飞行器的四个电机的推力,使飞行器保证稳定并按照遥控器指令进行飞行。
标签:四旋翼飞行器;STM32;方位余弦;互补滤波1 飞行器研究背景四旋翼飞行器较普通的直升机有机械结构简单,易于制作、易于小型化、同等规模下载重量大等优点,在最近2-3年中逐渐得到关注。
但是,由于四旋翼飞行器自身特性为一个多变量耦合非线性不稳定系统,基本上无法由人直接操控,必须加入自动控制系统来辅助稳定飞行姿态。
所以,四旋翼飞行器自动飞行控制系统性能的好坏直接关系着飞行器飞行性能及操控性。
所以本设计就飞行控制系统的算法以及如何提高控制性能进行研究。
2 飞行器研究方法飞行器的结构形式和工作原理:(1)结构形式多旋翼飞行器的最主要特点就是机械结构简单,不像普通直升机包含大量拉杆、铰链和传动结构,多旋翼飞行器一般采用电机直接驱动旋翼的结构形式,根据旋翼多少的不同,一般可分为四旋翼、六旋翼、八旋翼以及双层四旋翼等,常见多旋翼结构如图1所示。
旋翼的多少主要的区别在于载重能力和抗风能力上的差别,本设计主要研究的是飞行器的智能控制,所以拟采用结构最简单的四旋翼飞行器作为研究对象。
(2)工作原理典型的传统直升机配备有一个主转子和一个尾桨。
他们是通过控制舵机来改变螺旋桨的桨距角,从而控制直升机的姿态和位置。
多旋翼飞行器与此不同,以四旋翼飞行器来说,是通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。
下面以本设计选取X字四旋翼飞行器为例,介绍本设计的飞行器的飞行原理。
由图2所知,四旋翼飞行器的4个电机转动的方向是不同的,对角的两个电机转动方向必须一致,而相邻的两个电机转动方向必须相反。
基于这个原则,本次研究以图2所示方案安排了电机的转动方向。
基于STM32的四旋翼无人机设计
基于STM32的四旋翼无人机设计在本文中,我们将会介绍基于STM32的四旋翼无人机设计,包括硬件设计、软件开发和飞行控制等方面。
一、硬件设计1. 传感器模块在四旋翼无人机中,传感器模块的设计非常重要,主要包括陀螺仪、加速度计、磁力计和气压计等传感器。
这些传感器可以用于测量无人机的姿态角、加速度、磁场强度和气压,从而实现飞行控制和稳定性。
在STM32的硬件设计中,可以选择常见的MPU6050、HMC5883L、MS5611等传感器作为传感器模块,并通过I2C或SPI接口与STM32连接,实现传感器数据的采集和处理。
2. 无刷电机驱动模块四旋翼无人机的推进力主要来自四个无刷电机,因此无刷电机驱动模块的设计非常关键。
在STM32的硬件设计中,可以选择常见的电调模块(如BLHeli系列)作为无刷电机驱动模块,通过PWM信号控制电机的转速和转向。
还需要考虑电机与电调模块的连接方式和供电方式,以保证无人机的稳定飞行。
3. 通信模块通信模块是无人机与地面站或其他设备进行数据传输的重要组成部分。
在STM32的硬件设计中,可以选择常见的2.4G/5.8G数传模块(如NRF24L01、XBee、HC-12等)作为通信模块,通过串口与STM32连接,实现无人机与地面站的数据交换和控制。
二、软件开发1. 飞行控制算法飞行控制算法是无人机的灵魂,直接影响无人机的飞行性能和稳定性。
在基于STM32的四旋翼无人机设计中,可以采用常见的PID控制算法,通过对传感器采集的数据进行处理,控制无刷电机的转速和姿态角,实现无人机的稳定飞行。
还可以结合卡尔曼滤波算法对传感器数据进行融合和处理,提高飞行控制系统的精度和稳定性。
2. 地面站软件地面站软件是无人机与操作员进行交互的重要工具,主要用于监控无人机的状态、下达飞行任务和参数设置等功能。
在基于STM32的四旋翼无人机设计中,可以开发PC端或移动端的地面站软件,通过串口或数传模块与无人机进行数据交换和控制。
基于STM32的四旋翼飞行姿态串级控制的设计与实现
基于STM32的四旋翼飞行姿态串级控制的设计与实
现
四旋翼飞行器与传统的单桨直升机相比,其飞行原理简单,结构紧凑,单位体积所提供的升力大,且可以扭矩自平衡而不需要反扭桨。
四旋翼飞行器只通过改变螺旋桨的速度来实现各种动作,是一种六自由度的垂直起降机,非常适合在静态和准静态条件下飞行,近几年在军事和民用领域广泛应用。
然而四旋翼飞行器是个具有4个输入量,6个输出量的欠驱动系统,控制器
的设计要求高。
姿态解算是姿态参考系统的关键技术,算法的优劣直接决定了解算效率和系统的精度。
目前姿态描述的主要方式有:欧拉角、方向余弦、四元素法。
欧拉角物理意义明确,但存在奇点。
方向余弦计算没有奇点,但三角函数运算量大,不适合实时运算。
四元素法没有奇点,而且运算为一般代数运算,运算量小,方法简单,易于操作。
采用四元素法进行姿态解算是理想的选择。
1、四旋翼飞行器工作原理
四旋翼飞行器在结构布局上有十字形、X形和H形。
本文主要讨论X形布局,如图1所示。
4个电机分别安装在对称结构的X形支架的4个顶点,。
基于STM32的四旋翼无人飞行器
专业方向课程设计论文题目基于STM32的四旋翼无人飞行器基于STM32的四旋翼无人飞行器摘要:针对四旋翼飞行器,设计并实现了一种基于STM32的微型飞行控制器。
以新型ARM Cortex - M3内核微处理器STM32作为计算控制单元,对飞行控制器进行了模块化设计,包括主控、惯性测量、执行驱动等单元模块。
给出了系统软件设计流程,研究了一种基于互补滤波器的飞行姿态解算方法,实验表明控制器方案合理有效。
关键词: 四旋翼飞行器;STM32;飞行器控制器;信息融合;飞行控制A flight controller for quadcopter based on STM32Abstract:A micro flight controller for quad-rotor based on STM32 was designed and implemented. The controller worked with the new-fashioned ARM Cortex-M3 micro processor STM32 as its calculation and control unit. And the controller was modularized as main unit, inertial measurement unit and actuator unit. In the paper, the system software flowchart, method for calculating the flight attitude based on distributed fusion filter were proposed as well as the control law in allusion to the property of quad-rotor. The experiments show that the design of the flight controller is effective and rational.Keywords:Quadcopter;STM32; flight controller; information fusion;flight control;目录1 四旋翼飞行器简介 (6)2 飞行控制器硬件设计 (7)2.1 主控模块 (7)2.2 数据采集模块 (7)2.3 遥控信号接收处理模块 (8)2.4 执行机构驱动模块 (9)3 飞行控制器软件设计 (10)3.1 软件设计流程 (10)3.2 控制方法 (10)4 参考文献 (13)微型四旋翼飞行器是一种具有4个对称分布的旋翼、由电驱动、能垂直起降的飞行器。
基于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的四轴飞行器的设计
1 系统概述
系统方面主要采用现在性价比较高的stm32作为主控制 器,高性能的 MPU6050 陀螺仪和无刷直流电机作为主要部 分。stm32 通过读取陀螺仪 MPU6050 的姿态,来确定飞行器 所处的状态,进行数据处理,进一步控制飞行器的运行轨迹。 四轴飞行器硬件部分主要包括电源部分,驱动部分,显示部分 和控制器部分,和陀螺仪等构成。系统构成如图1所示。
Fu Xiuwei Fu Li
(Department of Automation, Jilin University of Chemical Technology, Jilin 132022)
Abstract:Four rotor helicopter is a micro air vehicle, provides power for the vehicle to flight in the air by driving the propeller with brushless electric machine. Stm32 is used for micro-processing, and mpu6050 collects the vehicle lo⁃ cation. The core module parameters use a single set of power to supply power, reduce interference and ensure the sta⁃ ble operation of the system. Keywords: stm32;vehicle; gyroscope
图 3 第一个稳压模块原理图
2.1.2 XC6206 稳压模块 系 统 升 压 到 5V 后 只 能 对 电 机 进 行 供 电 ,而 控 制 stm32 所用的供电电压为 3.3V,因此需要将 5V 转化成 3.3V。本设计参与 XC6206 系列,它采用 CMOS 工艺,内 部由基准电压源、误差发达器、驱动晶体管、限流电路等 构成。通过采用 CMOS 工艺和激光微调技术,实现了低 消耗电流和高精度。 该设计一共有两个稳压块。第一部分稳压块将经过 升压块输出的 5V 电压稳定在 3.3V,然后接到 STM32 单片 机的 VCC 端口,另一个稳压模块直接为 MPU6050 陀螺仪 进行供电,两个稳压器都采用同一个芯片。原理图如图 3 所示。 2.2 STM32F103 型单片机 STM32 系列单片机是专门对要求高、成本低的嵌入 式应运而生的。高达 72MHz 的频率提高了很多应用场 合,处理速度得到了大大的提高,特别是对四轴飞行器来 说可以完美实现其功能。
