新型无人机操纵电子飞控系统飞行状态显示终端子系统的设计与实现.docx
《新型无人机操纵电子飞控系统飞行状态显示终端子系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《新型无人机操纵电子飞控系统飞行状态显示终端子系统的设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。
新型无人机操纵电子飞控系统飞行状态显示终端子系统的设计与实现
中文摘要
在全球科技争先恐后发展的前提下,无人机成为时代发展下诞生的一大科技产物。
而无人机始终是要在天上飞的,地面的人要如何才能获取到无人机的飞行的速度和高度呢?
所以本文要介绍的就是无人机飞行状态的显示终端。
此终端是基于STM32单片机运行,并运用NRF24L01模块作为通信设备,通过模块自带的收发模式,完成数据之间的传输,同时通信模块的传输协议生产商已经设置好了,然后把接受到的数据在TFT2.8寸LCD显示屏上显示出来,实现实时获取无人机的飞行状态。
经测验,此终端实时性、准确性都比较好。
关键词:
无人机控制STM32103FRCT6TFTLCDNRF24L01串口通信
Abstact
IntheGlobalScientificandtechnologicaldevelopmentofthepremise,UAVhasbecometheeraofthebirthofamajorscientificandtechnologicalproducts.Anddronesarealwaysgoingtoflyinthesky,howcanthegroundtoobtainthespeedandaltitudeofthedroneflight?
SothisarticleistointroducetheUAVflightstatusdisplayterminal.ThisterminalisbasedonStm32single-chipoperation,andtheuseofNRF24L01moduleascommunicationequipment,throughthemodule'sowntransceivermode,tocompletethetransmissionofdata,andcommunicationmoduletransmission
protocolmanufacturershavesetup,thereceiveddataisthendisplayedontheTFT2.8-INCHLCDscreentoobtaintheflightstatusoftheUAVinrealtime.Thetestshowsthattheterminalhasgoodreal-timeperformanceandaccuracy.
Keywords:
UavscontrolSTM32103FRCT6TFTLCDNRF24L01serialcommunication
第一章绪言
1.1选题目的与意义
在21世纪中,人们逐渐将科技发展放在了首要位置,并通过努力使到科技水平达到了一个新天地,因此,人们生活的质量也得到了大大的提高,也因为科技不断地发展,发明了许多民用的高新科技产品,并逐渐地走进人们的日常生活中,为人们带来了各种方便,无人机就是这些产品之一。
自无人机诞生之后,不断地投入到各种各样得到的行业之中,例如在影视行业、灾难救援、国防等等。
只要是符合无人机使用的条件,有要求的,都可以见到无人机的身影。
而且因为无人机可以进行无人远距离操控,在一些重大灾难搜索条件艰难的情况下,搜救员无法进入现场,这时就可以利用无人机进行搜救任务和实时观测灾难情况并进行评估。
但是,目前的无人机遥控器基本上只有操控上下左右飞行和遥控器开关这些基本的功能,在现在无人机普遍应用在民间各种各样的事务中,如果在执行特殊任务时需要了解到无人机的飞行状态或者收集信息的时候,这样基础的操控界面明显是显得太过粗糙,所以,如果我们能在这个遥控器上再加上无人机飞行状态的界面,时时刻刻地了解到飞机的一个运行状态,在飞机接通电量时,操控器就会把无人机的各种飞行数据和电量反馈到给我们,这样就可以随时基于无人机的飞行状态做出相应的措施,可以很大幅度的保证无人机的安全性能还有飞行寿命,减少后期无人机的维修费用,所以,研究无人机的飞行状态显示终端子系统就有所必要了。
1.2研究现状
现在市场上的无人机各种各样,但是飞行状态显示终端暂时还是没有很好的利用起来,在飞行的时候,空中的很多因素都会影响到无人机的飞行状态,我们也要随时了解到无人机的飞行高度、飞行距离还有电量,所以基于单片机STM32的终端设计,就很有必要,再利用现学的电路知识把显示终端电路在单片机上连接起来,根据飞行状态显示终端子系统的整体结构进行电路设计与功能仿真分析、电路制作和调试实验;特别要注意与其它子系统设计保持密切联系与技术上的相互沟通和相互配合,保证飞行状态显示终端子系统的接口与各子系统能够匹配和顺畅。
在服从整体结构的逻辑关系和信号流功能匹配的要求下,飞行状态显示终端子系统的设计应该在整体结构设计的框架下充分考虑与其它模块之间的接口(主要解决与遥控终端数据通信接口)、功能扩展性、系统的可升级性。
第二章基于STM32的电路设计
2.1STM32的单片机介绍
通俗意义来讲,单片机就如同电脑一样,也有一套功能相似的基于芯片的计算机系统。
而组成大多数计算机系统功能的CPU、内存、内外部总线这些硬件都可以在单片机上找到,不同情况下需要不同的功能也在单片机的搭载的芯片上。
无论从功能来看,还是硬件搭配,单片机都可以说是一台微型电脑。
大多数的单片机上还具备有通讯接口、普通按键、DSO指示灯、实时时钟等等一些资源。
甚至有些单片机在工作条件都达到理想状态时,可以将多种不同格式的数据同时通过芯片处理,性能非常强大。
单片机一开始的时候,芯片上就只有一个CPU,是一个只有单一功能的专用处理器。
后来在使用的过程中,发现功能太过单一,所以产生了将诸多的外围设备和CPU都集中在一个芯片上的想法,带来更多的功能,并且让单片机的计算机系统变得更微型化。
现在人们使用的单片机就时这样改造过来的。
单片机现在也被人们称为微控制器。
时代在发展,单一功能的专用处理器逐渐被单片机取代,由于单片机在多方领域都能够实现价值,也证明了单片机更适合应用在嵌入式设计。
在生活中,大大小小的电子产品都能够找到单片机的身影例如:
电话机、遥控器、电子玩具、手机等等。
单片机逐渐地走入了人们的生活中,事实上投入应用的单片机基本上是世界上存在最多的微计算机。
从单片机的结构来看,属于微型处理器的一个分支,因为其将组成计算机系统的CPU、储存器、总线路都搭载在一块小芯片上。
而其功能也与计算相差无几,所以也可以说单片机芯片就是一台电脑。
从单片机的结构来看,属于微型处理器的一个分支,因为其将组成计算机系统的CPU、储存器、总线路都搭载在一块小芯片上。
而其功能也与计算相差无几,所以也可以说单片机芯片就是一台电脑。
2.1.1单片机的组成:
单片机内部有着许许多多的总线,并将各个部件连接在一起,其中总线如下:
(1)地址总线的作用可以说是最重要的,因为其担当着提供地址的功能,数据在内部电路不同设备之间相互交换,地址总线为会根据情况提供相对应的地址,CPU通过它们将地址输出到存储器或I/O接口;
(2)数据总线是数据传输功能需要的主要硬件,令到数据可以在CPU、储存器和外设之间相互传输;
(3)控制总线担当着主要的控制功能,控制CPU的控制和应答信号线;
2.1.2单片机的特点
单片机的结构微小,功能齐全,而且还可以根据要求去改变单片机的形式,采用的也是如今广泛应用的半导体技术,应用范围广,所以令其具备显著特点,所以在很多的领域上都可以看到它的身影。
本次的显示终端设计经过多重考虑,最后因为系统的需要和简便性,选择的是ALIENTEKMiniSTM32开发板。
因为这款开发板不仅功能齐全,而且设计的造型也比较符合论文的设计要求。
开发板因为设计的造型比较小,内部线路虽然不多也足以够开发的使用,而且线路已经连接好了,也方便研究开发。
ALIENTEKMiniSTM32体型比较小,长度10cm,宽度8cm。
STM32F103RCT6就是这个单片机的芯片,同时该芯片的容量是同类型单片机中最大的,芯片SARM,48K64引脚,256KFALSH。
板子上的IO口除了晶振外都在生产时引出来了,方便应用和开发。
设计所需要的单片机硬件有:
状态指示灯、2.4G无线通信接口、2.8寸LCD模块接口、USB串口接口、复位按钮和功能按钮,还有电源开光。
单片机上的芯片为STM32F103RCT6,有着51个通用IO口,可以加入更多的外设,带来更多的功能,该芯片性价比极高。
STM32F103RCT6板子上直接配有LCD模块的液晶模块接口,该排接口也可以连接OLED模块,只不过LCD模块要靠着排针的右边连接,OLED靠左边对插。
同时LCD的接口不仅可以插入2.8寸的模块,还可以插入其他尺寸的LCD模块,提供更多的选择。
而且,这个接口也可以插入电阻、电容触摸屏。
2.2子系统设计
STM32F103RCT6的内部电路图如图2.1所示
图2.1
图2.1勾画出STM32F103RCT6内部的电路图。
在STM32F103RCT6上,我们要用到的有两个接口:
OLED和LCD共用接口、NRF24L01模块接口。
通过这两个接口,我们将实现模块连接单片机后的功能。
在功能的实现过程中,因为我们选择的是LCD显示模块,所以在连接STM32的时候,在OLED和LCD共用接口要靠着接口右侧进行对插,这样LCD才能正常使用。
而NRF24L01属于通信模块,引脚是连接串口的,STM32F103RCT6上配有一个SPI(串口通信),所以NRF24L01无线模块直接与SPI口进行对插。
任何的设备终端想要实现功能,一个子系统是必不可缺的。
系统担当着承上启下的功能,既要保证模块的正常运行,又要完成模块与其他模块之间通过STM32达到数据的相互转换,从而达到目的。
而无人机飞行状态显示终端毫不例外,也需要一个子系统。
系统包括3个部分:
显示系统、通信系统和按键的运用。
2.2.1显示系统设计
显示系统主要搭配TFTLCD2.8寸液晶显示屏,并且要进行模块的初始化。
在这个系统的设计中,要保证显示模块能够正常地显示出内容。
一个模块想要运行其功能,对模块进行初始化是必不可少。
需要将该模块用来显示字符和数字,所以子系统中的显示系统运行步骤如下:
(1)初始化LCD模块的IO口。
LCD模块想要与与STM32进行数据交换,就必须要通过IO口,但就算你直接插上去,LCD还是不能交换数据,所以才需要对相连接IO口进行初始化。
这样的IO口才能传输数据。
而且要根据LCD的实际连接情况,以及电路完成。
(2)初始化TFTLCD模块。
在初始化的过程中,不用加入硬复位LCD,因为在STM32F103RCT6上有一个硬复位键,按键的操作功能是完成复位。
通过上面的步骤完成后,LCD初始化序列就可以进行了,主端需要不断地向LCD写入设置值。
通过了初始化的步骤,LCD才可以成功驱动。
(3)建立显示函数
在这个步骤中,首先要通过函数去完成显示一个点的步骤,然后操作函数建立坐标,根据不同的要求,找出GRAM的指令,并且写出来,同时在指令下去写入颜色数据,这样就在屏幕上显示出一个带有颜色的点。
单单一个点是满足不了设计的需求,想要在屏幕上显示出画面和字符,就要以点画线,不断地重复画一个点的步骤,勾画出画面和字符,在液晶屏上显示,这样才可以完成设计的初衷。
具体流程可以参照图2来完成。
通过上面的步骤,令到LCD模块能够正常驱动并使用,将液晶屏上一个点的设置改为以线组成的字符和数字,从而显示出来,达到了设计的初衷。
作为一个显示终端的设计,显示部分显得尤其重要,无论是从功能还是应用上,系统设计都达到了