《电子技术应用》

基于双STM32多旋翼无人机控制系统设计

来源:电子技术应用2013年第11期
袁安富, 徐金琦, 王 伟, 马 浩
(南京信息工程大学 信息与控制学院,江苏 南京 210044)
摘要: 提出一种基于双STM32芯片的控制系统设计方法和具体实现方案。控制系统以2个STM32F107VCT6芯片作为主从控制器,通过高速SPI接口进行数据通信,以保证控制阶段的实时性。介绍了系统的硬件布局,并且给出嵌入式系统的软件设计流程。实验结果证明,整个系统性能优良,为后续复杂的控制运算提供可靠的运作平台。
中图分类号: V249
文献标识码: A
文章编号: 0258-7998(2013)11-0136-03

Control system design for multi-rotor unmanned aerial vehicle based on dual STM32

Yuan Anfu, Xu Jinqi, Wang Wei, Ma Hao
(School of Information and Control,Nanjing University of Information Science & Technology, Nanjing 210044,China)
Abstract: A design method that based on double STM32 chips is proposed. The control system uses two STM32F107VCT6 chips to ensure the real-time performance, the communication between the two chips is completed by the high-speed SPI interface. Additionally, the introduction of the system hardware layout and the software design flowchart detail is discussed. The experimental results demonstrate that the high-performance of the system, and provide a reliable operation platform for subsequent complex control arithmetic.

    随着科学技术的进步和时代发展的需求,无人机无论在军事还是民用领域都具有广泛的应用前景。近年来,对无人机领域的研究已得到国内外各大研究机构的重视,特别是微小型多旋翼无人机的研究得到迅猛的发展。微小型多旋翼无人机可广泛应用于军事侦察、高空拍摄、交通监控及自然灾害勘察等领域。因此,实现微小型多旋翼无人机的自主飞行具有重要的现实意义[1]。然而,实现无人机的自主飞行不可避免地要涉及到飞行器姿态、速度、位置这几个大方面的控制运算,因此对于控制器的运算能力有很高的要求。

    现有的飞行控制系统一般采用ARM7、DSP等高速处理器作为控制芯片。对于这类单芯片飞控系统,一个控制周期内要完成数据采集、数据处理、控制运算及指令输出,同时还需将数据输出到监控系统,过重的负荷影响了系统的可靠性[2]。针对这一问题,本文设计了一种双芯片飞行控制系统,采用2个STM32F107VCT6处理器同时分工协作的机制,完成对飞行控制的任务要求。该系统设计结构可靠,运算处理能力强,稳定性高。
1 系统硬件设计
1.1 系统功能划分及硬件布局

    多旋翼无人机自主飞行控制系统较为复杂,一般需要设计3类控制器:位置控制器、速度控制器及姿态控制器。同时还有姿态角推算,导航数据融合等算法[3]。
    为了满足以上控制和算法要求,机载部分的硬件布局就显得尤为重要。若要得到很好的实时控制效果,控制频率是一个重要的考虑因素。因此,为了完成高频的控制运算,本文设计了一种双芯片控制系统,2个处理器同时处理数据,协调工作, 达到自主飞行的目的[4]。协同任务的分配如表1所示。 其双芯片系统结构如图1所示。主控制器部分有IMU模块、GPS模块、遥控器无线接收机及XBEE无线传输模块;从控制器有陀螺仪传感器、三轴加速度传感器、地磁传感器、气压传感器、PWM输出模块及SD卡数据存储器[5]。

1.2 系统硬件选型
    (1)主从控制器:采用ST公司STM32F107VCT6型号的32位微处理器,时钟频率达到72 MHz,其丰富硬件接口资源及功能强大的DMA控制方式,充分保证无人机控制系统的稳定性与实时性。主从CPU之间采用高达18 MHz的SPI接口进行双机通信[6]。针对实际应用, 对通信接口增加硬件握手,主机每次在传输数据前询问从机状态,如准备好,则开始发送数据。这样可以避免主机发送数据时,而从机正处于中断接收配置代码区,无法接收数据,造成数据丢失,无法正确接收数据[7]。
    (2)模拟量传感器:加速度传感器(ADXL335)、陀螺仪传感器(ADXRS610)。采用模拟量传感器的优势在于可以高频率且精确地进行数据采集,满足400 Hz姿态控制频率的要求。
    (3)数字量传感器:地磁计(MAG3110)、气压计(BMP0805)、GPS模块。数字量传感器使用相对简单,且在控制位置和速度时的频率相对较低,数字量传感器可以满足要求。
    (4)无线传输模块:遥控器、遥控器接收机、XBEE无线传输模块。
    (5)扩展模块: IMU模块。可以通过搭载高性能的IMU
模块来验证控制板上各种传感器的性能及估算的姿态角的准确性[8]。
2 嵌入式系统软件设计
    系统软件的设计是基于IAR软件平台下开发,采用汇编语言和C语言混合编程实现。主要分为主控制器和从控制器两部分的软件设计。 
2.1 主控制器软件设计
    主控制器软件流程图如图2所示。遥控器的数据接收、上位机的数据接收、GPS数据读取、高度计和地磁计的数据读取、主循环控制频率等利用中断程序完成。为了减轻CPU负载,对地面站的数据输出采用DMA功能,无需CPU干预。

2.2 从控制器软件设计
    从控制器需要完成400 Hz的控制运算,同样需要分别配置STM32的USART接口、SPI接口及定时器中断。采集频率设定为2 000 Hz,并对采集到的数据进行巴特沃斯数字低通滤波。巴特沃斯数字滤波器相比其他数字滤波器而言,通带内具有最大平坦幅度、阻带频率响应逐渐下降为零的特点。滤波器的性能指标如下:通带截止频率20 Hz,阻带截止频率100 Hz,阻带最小衰减20 dB,通带最大衰减3 dB[9]。对于SD卡的数据写入同样采用SPI的DMA功能,实现数据的快速写入,节约CPU时间。
    从控制软件流程图如图3所示,接收与发送主机数据、主循环频率都利用中断程序完成[5]。同时为了节约CPU对外围设备的读写的时间,采用ADC的DMA功能实现对模拟量传感器的数据读取,并将数据采集和存储交由DMA控制器。
3 实验结果
    为验证系统方案的可行性,将含有速度控制和姿态控制的飞行控制系统搭载四旋翼飞行器进行室外飞行实验[10],如图4所示。

    图5和图6的实验结果表明,控制器能够很好地跟踪速度目标值,实现飞行器按预定速度飞行。由此可知,整个系统具有良好的目标追踪性及稳定性。

 

 

    本文提出了一种新型的采用双芯片结构的多旋翼无人飞行器控制系统的设计方案。从硬件设计和软件设计两方面详细介绍了设计与实现的过程,并在主机、从机上设计不同的控制器。实验结果表明,该系统稳定性高,可以完成各种方式的数据传输,处理速度快,能够有效地完成自主飞行所需各种运算要求,为实现该类无人机的自主飞行奠定了良好的基础。
参考文献
[1] 李科杰, 宋萍. 微小型无人系统技术在未来战争中的重要意义及发展动向[J]. 传感器世界, 2004(1):6-11.
[2] 李侦, 田梦君, 赵菲菲. 基于 DSP 的无人飞行器飞行控制系统设计[J]. 微处理机, 2010,31(4):125-128.
[3] NONAMI K, KENDOULG F,SUZUKI S,et al. Autonomous  flying robots-unmanned aerial vehicles and micro aerial vehicles[M]. Springer,2010.
[4] 范卫刚, 袁冬莉, 王化会. 基于双 DSP 的无人机导航系统设计[J].计算机测量与控制, 2011,19(1):152-154.
[5] 刘晓杰, 赵晓晖, 顾海军,等.微小型四旋翼无人机实时嵌入式控制系统设计与实现[J]. 电子技术应用, 2009,35(5):35-38.
[6] 王志,王文廉,张志杰. SPI及USB双通信接口的设计与实现[J].自动化仪表,2010(1):72-75.
[7] 高振,罗秋凤. SPI 接口与 CRC算法在双 DSP数据通信中的应用[J]. 电子产品世界, 2011(1):46-48.
[8] 陈杰, 陈超, 周建军,等. 基于 RTOS 的小型无人机飞行控制系统[J]. 电子技术应用, 2009,35(4):27-29.
[9] 王志,王文廉,张志杰. SPI 及 USB 双通信接口的设计实现[J]. 自动化仪表,2010,36(1):72-75.
[10] WANG W,SUZUKI S,NONAMI K,et al. Fully autonomous quad-rotor MAV and flying performance with complete embedded system[C].Proceedings of the 9th International Conference on Motion and Vibration Control, Japan, 2008.

继续阅读>>