APP下载

基于STM32的四轴飞行器设计

2016-08-15周亮亮汪列隆

赤峰学院学报·自然科学版 2016年13期
关键词:飞行器姿态芯片

周亮亮,汪列隆,张 倩

(1.池州学院 机电工程学院,安徽 池州 247000;2.铜陵学院 图书馆,安徽 铜陵 244000)

基于STM32的四轴飞行器设计

周亮亮1,汪列隆1,张倩2

(1.池州学院机电工程学院,安徽池州247000;2.铜陵学院图书馆,安徽铜陵244000)

四轴飞行器是一种物理结构较简单,体积较小,飞行容易控制的集现代微机电控制技术、微动力技术、高效电源技术于一体的飞行控制技术.本课题是以STM32单片机为控制核心,用集成加速度、陀螺仪的MPU6050姿态传感器采集四轴飞信器的飞行姿态信息、并融合以NRF24L01蓝牙无线传输方式接受来至遥控器的信号,通过串级PID控制方式控制四轴上的无刷直流电机以驱动螺旋桨获得相应飞行姿态.完成了飞信器所需的硬件选型及电路设计,编写了系统控制程序,并进行了大量调试,选择合适的PID控制参数,使飞信器飞行稳定.

四轴飞行器;STM32;PID;飞行姿态

四轴飞行器相对传统载人飞机,其结构简单,体积小巧,成本低廉,飞行环境要求低,使用起来简单安全可靠,这些优势使四轴飞行器备受青睐.如今,四轴飞行器已经应用到了各个领域,如生态环境监测、低空侦查、军事打击、民用航拍、灾害搜救等,并有向快递行业发展的趋势.

四轴飞行器也存在着一些难点:首先,四轴飞行器体积较小,飞行速度较低,因此其空气动力学原理比较复杂,影响飞行器的稳定飞行的因素有很多,具有多变量、非线性、强耦合的系统特性,很多技术问题无法用空气动力学原理来解决.其次四轴飞行器重量轻,在无风情况下能够正常飞行,但在天气恶劣情况下,抗干扰能力差,目前的PID控制算法还不能完全解决该问题.再次四轴飞行器整体功耗较大,若增加电池容量,无形中增加了飞行器重量,给飞行器的续航问题带来了很多困扰.这些问题能否成功解决,对四轴飞行器的应用推广尤为关键.

1 四轴飞行器的总体设计

1.1硬件构成

四轴飞行器的硬件由机架、电路、电机和螺旋桨等构成.四轴飞行器的机架为十字状,是其他硬件固定的一个平台,机架采用的是轻质塑料,是整个飞行器的支持部件,并起着硬件电路和电机的保护作用,电机采用无刷直流空心杯电机,将其固定在机架的四个端点处.螺旋桨分为一对正浆和一对反浆,正反浆可以抵消扭矩,使飞行稳定.

1.2电气构成

电气构成相比机械构成要复杂点.其电气构成可分为:电源部分、传感器部分、控制部分和通信部分等四大部分.电源部分又可分为供电部分和稳压部分.传感器部分包括陀螺仪、加速度计、电子罗盘和气压计等芯片.控制部分主要是主控芯片STM32F103T8U6构成.通信部分包括蓝牙模块和2.4G无线通信模块.

1.3飞行原理

四轴飞行器的机架是采用十字状的,在四轴飞行器设计时需要选定飞行器的方向,其方向的选定一般有两种.一种是以一个电机作为前方,和其相对的电机作为后方,这种方式在方向选择和后续的算法比较简单,但控制难度大.另外一种两个电机作为前方,其他两个电机作为后方,这种方式方向控制相对第一种来说有些复杂,但控制飞行比较稳定.本课题采用第二种方法.四轴飞行器有六种运动方式,分别为垂直运动、俯仰运动、滚转运动、偏航运动、前后运动、倾向运动,这里只介绍垂直运动原理.如图1(a)所示,当1和3螺旋桨作逆时针方向运动,2和4作顺时针方向运动,4个螺旋桨同时提供升力,正方桨抵消产生的扭矩,当升力超过自身的重量时,飞行器作上升运动.当升力等于自身重量时,飞行器便保持悬停状态.其它飞行运动这里不做介绍.

图1 飞行器的运动原理图

1.4飞行器的控制原理

为了获取飞行器的姿态,在四轴飞行器上装有3个方向的加速度传感器和陀螺仪.控制原理如图2所示,主控板上的MCU采集地磁传感器、加速度传感器和陀螺仪的信息,经数据滤波、融合和惯性导航计算获取飞行器的姿态和位置信息,这些信息与遥控器发射过来的控制信号进行PID控制运算,控制输出PWM信号传送到飞信器四个角上电子调速器,从而控制电机的转速,获取特定的姿态飞行.

图2 控制原理示意图

1.5PID控制

PID控制是目前在控制领域应用最为广泛的闭环自动反馈系统,其结构简单、控制参数容易设置,比其他控制器更为成熟.本文采用的是角度、角速度串级PID控制,如图3所示.这里对参数进行说明,期望角度为遥控器控制飞行器的角度值,当前角度是传感器测量的飞行角度,飞行角度是指俯仰角,翻滚角,偏航角.在PID控制过程中,这三个角是独立的.

图3 角度/角速度串级PID原理框图

2 四轴飞行器的硬件电路设计

2.1MCU的最小系统原理图

本课题设计主控芯片采用STM32F103C8T6芯片,让STM32F103C8T6芯片正常工作还需要一些外围电路,主要是供电部分和外部震荡电路. STM32F103C8T6芯片的电压范围为2-3.6V,本课题设计采用3.3V供电;外部震荡电路采用8MHz晶振,然后通过软件设置倍频到72MHz.MCU的电路原理如图4所示.

图4 最小系统电路图

2.2电源模块

四轴飞行器正常工作需要提供电能,无论是主控芯片还是传感器都有自己的电压宽度,因此应该使用满足硬件要求的电压,本课题设计电路采用3.3V,电机驱动采用3.7V,使用5V电压充电,而实际使用的锂电池是3.7V的,所以需要进行电压的转换.本课题选取的是MIC5205稳压芯片.另外四轴飞行器的电池采用3.7V锂电池,在使用过程中需要给电池充电,使用USB进行充电.为了进行充电管理来保证充电可以正常进行和安全因此需要一款充电IC,本课题设计采用LTC4054充电芯片. LTC4054芯片有5个引脚,第一引脚是充电转态指示引脚,充电进行时此引脚被拉低,LED灯被点亮,当充电完成是,此引脚呈现高阻状态,LED灯熄灭;第二引脚为电源地;第三引脚为充电电流输出引脚,接锂电池;第四引脚为电源输入引脚;第五引脚为充电电流编程引脚,可通过电阻的大小来控制充电电流的大小.

2.3驱动电路

四轴飞行器通过电机带动螺旋桨来产生升力,从而飞行.通过电机转速的调节来实现各种飞行功能,主控芯片通过PWM来控制电机的转速,但主控芯片的驱动能力差,不足以驱动电机,需要通过专门的驱动电路来驱动电机.本课题设计采用MOS管来驱动电机.

2.4MPU6050姿态传感器

MPU6050是一款9轴运动组件,3轴加速度和3轴角速度(陀螺仪),以及一个可扩展数字运动处理器,通过I2C连接第三方数字传感器.MPU6050通过I2C通信协议与主控进行通信.主控芯片对MPU6050的操作有两种方式,一种是软件操作,通过I2C直接读取6轴的数据.读取的数据是原始数据,需要在程序里进行处理,这种方法加大了运算量;另一种是硬件操作,MPU6050的DMP(数字运动处理器)将数据处理成欧拉角好放到FIFO中,主控芯片在从FIFO中读取数据,后期处理比较方便,而且节省时间.

2.5通信设计

四轴飞行器的飞行受遥控端的控制,根据遥控端的控制作出相应的反应.四轴飞行器和遥控端是进行无线通信的,所以要设计无线通信电路.本课题设计采用的是NRF24L01的2.4G无线通信.

3 四轴飞行器的程序设计

软件是四轴的核心部分.程序的好坏将直接决定四轴飞行器的可操作性.所以在进行程序编写之前要进行架构,从整体入手,渐渐深入细节,这样才能使程序稳定,可靠.

四轴飞行器在工作过程中主要进行以下几个核心任务:数据采集、数据处理、电机控制以及通信.为了保证程序中各个任务可以有序的进行,通过定时器来处理任务,在主循环中完成相应的判断和处理.程序控制流程如图5所示.

由图可知,系统有三个时间片段,第一个时间片段为loop200Hz>5,即10ms,系统每10ms执行一次;第二个时间片段为loop50HzFlag=1,即20ms,系统每 20ms执行一次;第三个时间片段为loopHzFlag=1,即100ms,系统每100ms执行一次.

4 总结

图5 控制程序图

本文对四轴飞行器设计进行了简易的描述,首先对飞行器进行了结构设计,采用了十字状的物理结构,对飞行器飞行原理作了阐释,控制方式选择经典的串级PID控制,通过无线模块与飞行器进行通讯,以STM32单片机为控制核心,通过一系列的传感器采集飞行器的姿态信息、经PID控制输出PWM信号控制四轴上的无刷直流电机以驱动螺旋桨获得相应飞行姿态.最终经过四轴飞行器的硬件和软件调试后,实现了飞行器上升、俯仰、偏航等运动,实践证明,该飞行器飞行稳定可靠.

〔1〕周建阳,陈家乐,薛斌,等.基于STM32四轴飞行器的设计[J].钦州学院学报,2015,30(2):30-33.

〔2〕刘乾,孙志锋.基于ARM的四旋翼无人飞行器控制系统[J].机电工程,2011,28(10):1237-1240.

〔3〕陈李文,马国军,张家栋.四轴飞行器无刷直流电机驱动技术研究 [J].现代电子技术,2013(16):152-154.

〔4〕宫琛.四轴飞行器的研究与设计[D].安徽理工大学,2015.

〔5〕李俊.四旋翼飞行器的动力学建模及PID控制[J].辽宁工程技术大学学报,2012,31(1):114-117.

V249

A

1673-260X(2016)07-0032-03

2016-03-12

猜你喜欢

飞行器姿态芯片
芯片会议
高超声速飞行器
关于射频前端芯片研发与管理模式的思考
攀爬的姿态
全新一代宋的新姿态
跑与走的姿态
复杂飞行器的容错控制
多通道采样芯片ADS8556在光伏并网中的应用
神秘的飞行器
阅读是最美的姿态