小型四旋翼飞行器状态显示仪表设计.docx
《小型四旋翼飞行器状态显示仪表设计.docx》由会员分享,可在线阅读,更多相关《小型四旋翼飞行器状态显示仪表设计.docx(7页珍藏版)》请在冰豆网上搜索。
小型四旋翼飞行器状态显示仪表设计
小型四旋翼飞行器状态显示仪表设计
摘要
本文设计了一种基于STM32微处理器的小型四旋翼飞行器飞行状态的显示仪表系统,它以动态图的形式实时更新显示四旋翼的俯仰、横滚、航行角等姿态及基本飞行参数,该系统达到了良好的显示效果,也实现了良好的人机交互协作。
关键词:
机器人,四旋翼飞行器,飞行控制系统,状态显示仪表系统
小型四旋翼飞行器由于体积小,执行任务时隐蔽性强,操作实施简便,能够帮助士兵在战场上侦察近距离、小范围、复杂地形环境下的敌情,还可以用作靶机或是特殊情况下部队之间的通信联系工具,甚至还能装上弹药直接用作攻击性武器,因此,它具有较好的军事应用价值[1]。
为了更好地操纵小型四旋翼飞行,发挥其更加优良的性能,必要的检测和参数监控就显得尤为重要,所以本文设计了小型四旋翼飞行器飞行状态的显示仪表系统,可以用来显示四旋翼飞行中各参数的变化情况,以便随时掌握四旋翼主要飞行参数和重要的状态参数,确保能安全稳定地操作四旋翼,及时发现故障和不安全因素,减少飞行事故,保证四旋翼飞行器安全而可靠地飞行。
1状态显示仪表系统
状态显示仪表系统是四旋翼飞行器的重要组成部分,它的性能将直接影响整个四旋翼飞行器系统的飞行控制性能。
该系统具有数据实时采集、控制指令实时发送以及对飞行航迹实时显示的功能,包括导航显示软件和地面站设备。
其中,导航软件系统主要进行电子地图配准、航线的规划、飞行状态的监视、任务设备的控制与状态的回送、系统自我检测和地面通信;地面站设备包括电台、PC等。
一套功能良好的无人机状态显示仪表系统软件,能够很好地帮助地面操作人员对飞行器进行飞行状况监视和实时控制。
状态显示仪表系统是通过串口通信和无线数传电台接收来自飞行器的遥测数据包,并且通过通信协议对遥测数据包进行解析,然后进行实时显示,能实时采集分析遥测数据、定时发送遥控指令以及显示飞机位置数据的地面监控平台[2]。
综合考虑状态显示仪表系统监控平台的功能要求,可以把监控平台分为四大块,第一大模块是数据的通讯控制与数据接收模块,第二大模块是数据处理模块,第三大模块是数据显示模块,第四大模块是数据存储模块。
状态显示仪表系统监控平台结构图见图1。
图1状态显示仪表系统监控平台结构图
2系统硬件设计
小型四旋翼飞行器飞行状态显示仪表的任务是监测飞机的飞行状态和机载有效载荷的工作状态,使地面操作人员能够有效地对飞行器有效载荷实施控制。
基于这一目的,综合考虑四旋翼地面显示仪表的功能要求,可以把地面显示仪表分为数据通信、数据解析和数据显示三个模块。
2.1数据通信模块
通过无线链路对四旋翼下传的遥测数据包进行实时接收,然后通过既定的串口通信协议对遥测数据进行解析并进行实时的显示,因此,在通信过程中选取无线链路和既定串口通信协议并实现其功能非常关键。
2.1.1无线数传模块
本课题选用433MHz无线数传模块,采用高性能单片机加低功耗射频芯片CC1101,无需二次开发即可使用。
该模块性能稳定,支持“无线唤醒”;体积小巧,尺寸仅为1.45cm×2.8cm;在直线空旷地带传输距离可达200m,且433MHz频段的穿透能力较强;相比NRF24L01模块,该模块通信距离更远,穿透性更好;相比Si4432模块;其通信速率更高,功耗更低。
2.1.2数据通信
通信协议要对四旋翼下传的遥测数据包和四旋翼发送任务载荷的主要参数进行全方位的解析,包括标识符、飞行状态、姿态、高度、速度、航向、航迹、卫星信号、各舵机的工作状态等。
本文从飞行环境、距离和功能角度出发,采用无线数传电台来实现四旋翼与地面显示仪表之间遥测数据包的传输。
无线数传电台是指借助DSP技术和无线电技术实现的高性能专业数据传输电台。
数传电台的环境适应性非常强,并且采用数字通信的方式进行无线数据传输,通过对传输信号的调制解调进行信息的接收和发送,无线数传电台具有抗干扰性、稳定性以及纠错能力强等特点,适合高质量的通信[3]。
对四旋翼通信系统最基本的要求是需提供显示仪表与四旋翼之间的数据链路(上行和下行)。
本实验的传输媒介是无线电波,数据链路的主要功能是下行,即从四旋翼到显示仪表,它用于发送有关四旋翼飞行状态的参数到显示仪表,比如俯仰、偏航、横滚等。
数传电台和显示仪表之间的通信采用RS-232串行通信协议,以此完成四旋翼与显示仪表之间的数据通信任务。
2.2数据处理模块
本实验选择STM32F103ZETT6作为MCU,该芯片拥有的资源包括:
64KBSRAM、512KBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口、1个FSMC接口以及112个通用IO口,并且还带外部总线(FSMC),可以用来外扩SRAM和连接LCD等。
通过FSMC驱动LCD,可以显著提高LCD的刷屏速度[4]。
该模块通过串口协议将无线数传模块下传的遥测数据包解析为与显示界面匹配的数据格式,然后传给数据显示模块,再由STM32微处理器完成数据读取、处理及逻辑控制、数据传输等一系列的任务。
2.3数据显示模块
该模块的功能包括:
第一,对四旋翼飞行器的姿态实时监控;第二,对四旋翼的飞行状态参数如油门量、电机转速、传感器数据等进行实时监测;第三,确保通信链路做到实时、可靠、高效;第四,使得图形和数据具有直观性。
选择TFT-LCD,将解析后的数据传输给该显示屏,进行飞行状态参数信息的实时显示,以便地面操作人员对四旋翼进行可靠和有效的控制[5]。
数据显示分为图形显示和文本显示。
图形显示具有直观、形象的特点,动态效果明显,本实验主要对飞行姿态信息进行2D图形显示,对电机油门量进行实时柱状图形显示等;文本显示选择了一些相对重要的参数,如高度、电压、PID数值等,这种图形和数字相结合的表示方法非常直观。
2.4开发工具简介
开发工具选用KeilμVision4,它是ARM发布的新一代集成开发环境(IDE),用来在微控制器和智能卡设备上创建、仿真和调试嵌入式应用。
μVision4IDE是为了提高开发人员的工作效率所设计的,它可以更快速、更高效地开发和检验程序。
通过μVision4IDE中引入灵活的窗口管理系统,可以更好地利用屏幕空间,有效地组织多个窗口,为开发应用提供整齐高效的环境。
3系统软件实现
软件的设计与实现是四旋翼飞行器地面控制系统的主体,为确保每个功能的实现,本文对整个软件流程进行了设计,结合功能实现对硬件平台进行统筹安排,保证软件架构能够增强显示仪表的可靠性。
3.1总体程序流程设计
单片机外部中断,不断查询是否有无线信号发射过来,若没有接收到信号,单片机按照原来的预编入内容进行扫描,然后送给显示屏显示,反之,单片机接收到数据,辨认显示方式,接收完毕后,更新显示内容,总体程序如图2所示。
图2系统程序流程
3.2串口通信程序
串口是MCU的重要外部接口,同时也是软件开发重要的调试手段。
STM32F103ZET6板载了1个USB串口和1个RS232串口,该实验通过USB串口与电脑进行通信。
串口设置需要几个与串口基本配置直接相关的固件库函数,这些函数和定义主要分布在stm32f10x_usart.h和stm32f10x_usart.c文件中。
3.3接收程序设计
接收程序主要涉及usart文件夹,其中包含了usart.c和usart.h两个文件,这两个文件用于串口的初始化和中断接收。
voidUSART1_IRQHandler(void)函数是串口1的中断响应函数,当串口1发生相应的中断后,就会跳到该函数执行。
函数体里面通过语句if(USART_GetITStatus(USART1,USART_IT_RXNE)!
=RESET)判断是否接受中断。
如果接受中断,则读取串口接受到的数据Res-USART_ReceiveData(USART1),然后对数据进行分析[6]。
3.4TFT-LCD显示程序
从图3可以看出,TFT-LCD模块采用16位的并方式与外部连接。
该模块的并口有如下一些信号线:
图3TFT-LCD模块接口图
CS:
TFT-LCD片选信号。
WR:
向TFT-LCD写入数据。
RD:
从TFT-LCD读取数据。
D[15:
0]:
16位双向数据线。
RST:
硬复位TFTLCD。
RS:
命令/数据标志(0,读写命令;1,读写数据)。
驱动TFT-LCD模块需要的相关设置步骤如下:
1)设置STM32与TFT-LCD模块相连接的IO。
先将与TFTLCD模块相连的IO口进行初始化,以便驱动LCD。
2)初始化TFT-LCD模块。
通过向TFTLCD写入一系列的设置,来启动TFTLCD的显示,为后续显示字符和数字做准备。
3)通过函数将字符和数字显示到TFT-LCD模块上。
通过以上三步,即可使用TFT-LCD模块来显示字符和数字,还可以显示各种颜色的背景。
4实验验证
显示仪表系统的设计主要包括无线数传模块、串口、TFT-LCD显示屏等,功能主要是对四旋翼飞行器飞行状态参数进行实时显示。
在实验过程中,该系统对四旋翼的遥测数据包接收并分析,并对四旋翼的飞行姿态和油门等参数进行显示,通过显示效果分析状态显示仪表的可行性。
四旋翼显示仪表的调试是通过控制四旋翼飞行,分析四旋翼上相关传感器参数与显示仪表的数据传输显示结果,通过实际数据显示和飞行效果的比较分析进行相关参数的设置和进一步的调试。
本文通过对显示仪表的各项基本功能、飞行数据显示等进行测试,测试内容包括偏航角、俯仰角、滚转角、高度、油门量等,测试方法为在小型无人机各项飞行数据的量程内,通过上位机测试软件和显示仪表同时接收四旋翼数据,观察上位机显示的现实情况,再观察显示仪表的显示情况,对比效果差异,分析情况,做好参数设置,以达到调试的目的。
同时,为了更好地验证显示仪表的可行性,分别测试四旋翼的偏航角、俯仰角和滚转角等参数,在各项数据均显示正常、对比效果在可允许误差范围内时,即可证明四旋翼显示仪表的可行性。
5结束语
本文以STM32微处理器作为主控芯片来设计四旋翼飞行器显示仪表系统,融合了陀螺仪、加速度计、电子罗盘、高度计等传感器的参数显示,还基于PID控制策略的飞行控制律来进行显示仪表的实验验证,并根据实验结果进行改进,使得实验效果大大改善。
其目的在于可以更好地操纵四旋翼,发挥其更加优良的性能,同时保证其安全可靠的飞行。
参考文献
[1]岳基隆,张庆杰,朱华勇.微小型四旋翼无人机研究进展及关键技术浅析[J].电光与控制,2010,17(10):
1033-1039.
[2]马少瑛.小型无人机地面站的研究与设计[J].计算机应用技术,2009(5):
10-15.
[3]杜亚玲,刘建业,姜涌,等.基于DSP的航姿系统多传感器信息融合技术[J].传感器技术,2005,24(9):
1088-1091.
[4]苑艳华,李四海,南江,等.基于卡尔曼滤波器的航姿系统测姿算法研究[J].传感技术学报,2011,24(12):
1278-1282.
[5]张浩,任芊.四旋翼飞行器航姿测量系统的数据融合方法[J].兵工自动化,2013
(1):
28-31+52-55.
[6]张洋.STM32开发指南-库函数版本_V1.3[M].北京:
人民教育出版社,1998:
90-99.