论文部分内容阅读
摘 要:伴随着多旋翼飞行器技术的日益成熟,四轴飞行器因具有结构简单、能耗低、体积小等优点,得到广泛应用。该文旨在设计一种采用STM32芯片作为主控芯片,以运动传感器MPU6050作为姿态传感器,通过2.4G无线通信模块与遥控板进行通信,使用PID控制算法通过PWM方式驱动空心杯电机实现遥控控制的微型四轴飞行器。该飞行器采用一体化设计,结构简单,制作方便,可以作为四轴飞行器的科普学习及STM32学习平台。
关键词:四轴飞行器 STM32 MPU6050 飞行控制
中图分类号:TH112 文献标识码:A 文章编号:1672-3791(2016)11(b)-0052-02
近年来,伴随着无人技术的发展,多旋翼飞行器技术日益成熟,多旋翼飞行器不受起飞着陆场地限制,能垂直起降、空中悬停,能向任何一个方向灵活飞行等特点,使其被广泛应用于各个领域。大疆等航拍飞行器的出现以及植保无人机的应用更是将四轴飞行器技术带入千家万户,越来越多的人接触并应用四轴飞行器。四轴飞行器技术的快速发展及应用普及,使得无人飞行器飞手及维修维护人员的匮乏问题日益显现。该文提出了一种微型四轴飞行器设计方案,该微型四轴飞行器采用STM32芯片作为主控芯片,以运动传感器MPU6050作为姿态传感器采集飞行器状态信息,并通过2.4G无线通信模块与遥控板进行通信,飞行器结合飞行状态信息及接收的遙控信号,使用PID控制算法通过PWM方式驱动空心杯电机实现遥控控制。通过该微型四轴飞行器的设计制作,可以深入了解四轴飞行器的飞行控制原理,为四轴飞行器的应用与开发奠定基础。
1 四轴飞行器的结构与原理
四轴飞行器属于多旋翼飞行器,与直升机不同,它由4个旋翼组成,而且4个旋翼都是电机直连的简单机构,通过控制这4个旋翼的转速,来实现飞行器的前进、后退、转向和旋转等动作。其结构图如图1所示。
如图1,四轴飞行器主要包括:旋翼部分、飞行控制部分及机身3部分,其中旋翼固定在机架的4个轴的末端,为整个飞行器提供动力,它包括螺旋桨(正、反桨)、电机以及一些固定部件;飞行控制部分固定在机架的中心,用于飞行器姿态信息的处理及姿态控制,其中包括主控模块、遥控接收模块、传感器模块等;机架是飞行器的基础平台,旋翼模块、飞行控制模、电源等都要安装在机架上面。机架的大小直接决定了飞行器的大小,作为微型四轴飞行器,为了减小飞行器的体积及重量,一般采用一体化设计。
2 硬件設计
四轴飞行器通过改变其4个螺旋桨的拉力的大小及方向可以实现前进、后退等简单动作,要想实现飞行器的稳定多姿态控制,则需通过姿态传感器获取信息,经主控制器进一步运算处理实现。基于以上设计思路,该设计系统框图如图2所示。
如图2所示,该控制系统主要包括STM32主控制器、电源模块、空心杯电机、通信模块及传感器模块5部分。
2.1 主控电路
主控制器,作为四轴飞行控制系统的核心,主要功能是接收遥控控制信号,将当前飞行姿态信息与目标姿态信息进行比较,通过控制算法,计算出各电机PWM脉冲占空比值输出至电机,实现飞行控制。考虑到STM32学习的方便,该设计选用STM32F103作为主控芯片,最小系统电路如图3所示[3]。
2.2 传感器模块
传感器模块选用MPU6050传感器作为姿态传感器,用于测量飞行器的空间加速度与角速度信息,测量数据经主控制器预算后,通过PWM控制各电机转速,进而实现运动控制。
2.3 通信模块
要实现四轴飞行器的飞行远程控制,需要四轴飞行器和遥控端进行无线通信,考虑成本及设计的简化,该设计采用NRF24L01作为无线通信模块,设计制作四轴飞行器遥控终端。
2.4 电源模块
电源模块为整个系统供电,该设计的电源模块采用较为轻便的5 V小型锂电池作为电源,经LM1117-3.3V稳压电路实现微控制器、无线通讯模块、传感器模块的供电。
3 软件设计
软件设计作为四轴飞行器设计的重要组成部分,直接影响到飞行器飞行控制的稳定与可靠。四轴飞行器的软件设计主要由STM32主控制器的程序设计及遥控终端的程序设计两部分组成。
STM32主控制器主要功能是接收无线信号、处理传感器信息及控制电机转速,其处理流程首先是初始化无线通信模块、传感器模块和电机,然后获取姿态信息并对整个系统进行校准,随后进入待机状态等待解锁控制信号的传入。主控制器采用定时器中断的方式,在中断中进行对时间的处理,每次中断计次标志就会自增,根据不同的中断积累分别处理优先级不同的任务。主控制器工作时每0.5 ms中断一次,每次中断都会检查一次无线模块数据的接收,确保飞控系统控制信息的实时性;每两次中断读取一次传感器模块数据,获取的数据通过卡尔曼滤波算法获得较为准确的飞行器姿态数据;每4次中断(即2 ms)通过滤波算法获取的姿态数据计算四轴飞行器的姿态,然后结合遥控终端的目标姿态,根据两者的差值通过PID控制算法计算出各电机PWM值,对各个电机进行调速控制[1]。
该设计设计的遥控器,主要用于飞行器的简单控制,遥控板将操作人员的操作动作转化成信号传给飞行控制板,实现飞行器的远程控制。
4 结语
该文设计实现一种微型四轴飞行器系统,该四轴飞行器采用STM32芯片作为控制芯片,以运动传感器MPU6050作为姿态采集传感器,通过2.4G无线模块与遥控终端通信,并通过PID控制算法得出电机PWM驱动值来实现飞行控制。系统结构简单,易于实现,可用于初学者及爱好者入门体验学习。
参考文献
[1]常国权,戴国强.基于STM32的四轴飞行器飞控系统设计[J]. 单片机与嵌入式系统应用,2015(2):29-32.
[2]鲍凯.玩转四轴飞行器[M].北京:清华大学出社,2015.
[3]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.
关键词:四轴飞行器 STM32 MPU6050 飞行控制
中图分类号:TH112 文献标识码:A 文章编号:1672-3791(2016)11(b)-0052-02
近年来,伴随着无人技术的发展,多旋翼飞行器技术日益成熟,多旋翼飞行器不受起飞着陆场地限制,能垂直起降、空中悬停,能向任何一个方向灵活飞行等特点,使其被广泛应用于各个领域。大疆等航拍飞行器的出现以及植保无人机的应用更是将四轴飞行器技术带入千家万户,越来越多的人接触并应用四轴飞行器。四轴飞行器技术的快速发展及应用普及,使得无人飞行器飞手及维修维护人员的匮乏问题日益显现。该文提出了一种微型四轴飞行器设计方案,该微型四轴飞行器采用STM32芯片作为主控芯片,以运动传感器MPU6050作为姿态传感器采集飞行器状态信息,并通过2.4G无线通信模块与遥控板进行通信,飞行器结合飞行状态信息及接收的遙控信号,使用PID控制算法通过PWM方式驱动空心杯电机实现遥控控制。通过该微型四轴飞行器的设计制作,可以深入了解四轴飞行器的飞行控制原理,为四轴飞行器的应用与开发奠定基础。
1 四轴飞行器的结构与原理
四轴飞行器属于多旋翼飞行器,与直升机不同,它由4个旋翼组成,而且4个旋翼都是电机直连的简单机构,通过控制这4个旋翼的转速,来实现飞行器的前进、后退、转向和旋转等动作。其结构图如图1所示。
如图1,四轴飞行器主要包括:旋翼部分、飞行控制部分及机身3部分,其中旋翼固定在机架的4个轴的末端,为整个飞行器提供动力,它包括螺旋桨(正、反桨)、电机以及一些固定部件;飞行控制部分固定在机架的中心,用于飞行器姿态信息的处理及姿态控制,其中包括主控模块、遥控接收模块、传感器模块等;机架是飞行器的基础平台,旋翼模块、飞行控制模、电源等都要安装在机架上面。机架的大小直接决定了飞行器的大小,作为微型四轴飞行器,为了减小飞行器的体积及重量,一般采用一体化设计。
2 硬件設计
四轴飞行器通过改变其4个螺旋桨的拉力的大小及方向可以实现前进、后退等简单动作,要想实现飞行器的稳定多姿态控制,则需通过姿态传感器获取信息,经主控制器进一步运算处理实现。基于以上设计思路,该设计系统框图如图2所示。
如图2所示,该控制系统主要包括STM32主控制器、电源模块、空心杯电机、通信模块及传感器模块5部分。
2.1 主控电路
主控制器,作为四轴飞行控制系统的核心,主要功能是接收遥控控制信号,将当前飞行姿态信息与目标姿态信息进行比较,通过控制算法,计算出各电机PWM脉冲占空比值输出至电机,实现飞行控制。考虑到STM32学习的方便,该设计选用STM32F103作为主控芯片,最小系统电路如图3所示[3]。
2.2 传感器模块
传感器模块选用MPU6050传感器作为姿态传感器,用于测量飞行器的空间加速度与角速度信息,测量数据经主控制器预算后,通过PWM控制各电机转速,进而实现运动控制。
2.3 通信模块
要实现四轴飞行器的飞行远程控制,需要四轴飞行器和遥控端进行无线通信,考虑成本及设计的简化,该设计采用NRF24L01作为无线通信模块,设计制作四轴飞行器遥控终端。
2.4 电源模块
电源模块为整个系统供电,该设计的电源模块采用较为轻便的5 V小型锂电池作为电源,经LM1117-3.3V稳压电路实现微控制器、无线通讯模块、传感器模块的供电。
3 软件设计
软件设计作为四轴飞行器设计的重要组成部分,直接影响到飞行器飞行控制的稳定与可靠。四轴飞行器的软件设计主要由STM32主控制器的程序设计及遥控终端的程序设计两部分组成。
STM32主控制器主要功能是接收无线信号、处理传感器信息及控制电机转速,其处理流程首先是初始化无线通信模块、传感器模块和电机,然后获取姿态信息并对整个系统进行校准,随后进入待机状态等待解锁控制信号的传入。主控制器采用定时器中断的方式,在中断中进行对时间的处理,每次中断计次标志就会自增,根据不同的中断积累分别处理优先级不同的任务。主控制器工作时每0.5 ms中断一次,每次中断都会检查一次无线模块数据的接收,确保飞控系统控制信息的实时性;每两次中断读取一次传感器模块数据,获取的数据通过卡尔曼滤波算法获得较为准确的飞行器姿态数据;每4次中断(即2 ms)通过滤波算法获取的姿态数据计算四轴飞行器的姿态,然后结合遥控终端的目标姿态,根据两者的差值通过PID控制算法计算出各电机PWM值,对各个电机进行调速控制[1]。
该设计设计的遥控器,主要用于飞行器的简单控制,遥控板将操作人员的操作动作转化成信号传给飞行控制板,实现飞行器的远程控制。
4 结语
该文设计实现一种微型四轴飞行器系统,该四轴飞行器采用STM32芯片作为控制芯片,以运动传感器MPU6050作为姿态采集传感器,通过2.4G无线模块与遥控终端通信,并通过PID控制算法得出电机PWM驱动值来实现飞行控制。系统结构简单,易于实现,可用于初学者及爱好者入门体验学习。
参考文献
[1]常国权,戴国强.基于STM32的四轴飞行器飞控系统设计[J]. 单片机与嵌入式系统应用,2015(2):29-32.
[2]鲍凯.玩转四轴飞行器[M].北京:清华大学出社,2015.
[3]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.