基于GPS的四旋翼飞行器研究设计

时间:2022-03-26 05:28:18

基于GPS的四旋翼飞行器研究设计

摘 要 自主导航四旋翼飞行器有对特定地区进行日常环境监测等用途。设计并实现了一种基于gps的四旋翼飞行器导航系统,采用Freescale公司的Kinetis K60单片机作为核心控制模块,能接收计算出所需要的GPS定位信息,与给定的定位坐标比较进行简易地自主导航,在LCD显示屏上模拟和显示。

【关键词】GPS K60 单片机 导航飞行器

四旋翼飞行器一般需要人工无线电遥控导航来完成各种任务。人工遥控导航飞行只能在视野范围内进行,如果飞行器要执行视野范围外的任务,就必须自主导航。

常规飞行器一般用惯性导航设备或多普勒测速设备,但由于庞大的体积、昂贵的价格等因素,难以应用于轻巧而廉价的四轴飞行器。而现今的全球定位系统GPS,拥有全天候、全球性、连续的精密三维导航与定位能力,并且重量和体积也非常适合无人四轴飞行器,装载了GPS自主巡航系统后的飞行器大大拓展了其在民用与军用上的泛用性。用于民用型的自主巡航飞行器可执行灾情调查救援任务如水灾、火灾、地震等;喷洒农田、林区农药;监测化工厂等危险场所的危险气体的浓度;巡查输油管线、输电线路;连续监控重要的设施;区域性空-地、空-海通讯中继;当对特定地区进行日常环境监测的时候,用这种飞行器来执行也很方便和高效,自主巡查完后可以自动返回目的地并自动记录下存储的数据,大大减少了人力成本。据报道自2010年9月起,为了提高输电线路的巡检水平,江西省电力公司采用了无人机航巡输电线路,对输电线路本体缺陷、通道隐患进行快速探测,在各种地形复杂、气候恶劣的不利条件下,在第一时间里准确、及时、高效地取得现场资料。

本文讨论了一种简单的基于GPS的无人飞行器自主导航系统的实现。该系统采用飞思卡尔公司的K60单片机作为核心控制模块,能接收并分析出需要的GPS定位信息,与存储的定位坐标进行简易地自主导航,并在显示屏上模拟和显示。

1 系统设计

1.1 系统原理

在机载单片机上输入一系列GPS坐标点,自动生成相应航线,同时从机载GPS系统中读取定位数据,并与存储的定位坐标做实时比对,实时修正航线,并将定位坐标显示在液晶显示屏上,处理并显示当前位置。

1.2 系统框架

系统原理框图如图1所示。系统采用Kinetis K60单片机作为控制器,进行收集经纬度定位坐标和卫星时间,并通过与记录的目的地坐标点进行比较而进行简单的导航。显示界面采用11264点阵液晶显示屏显示GPS芯片接收到的定位数据、时间数据以及单片机发出的导航数据,它是112行64列点阵型液晶显示模块。GPS模块型号为HOLUX M-89,使用联发科技公司(MTK)所设计的低耗电量芯片MT3318。与PC机的通信,采用的是串行异步通信方式,从单片机TXD和RXD端的TTL电平到PC机的标准RS232电平的转换,系统采用美信公司的MAX232芯片。设置两个按键,用以切换不同界面以及设置目的地坐标。

2 硬件设计

2.1 Kinetis主控芯片

主控制芯片采用飞思卡尔公司的基于Cortex-M4处理器的Kinetis K60单片机,具有以下特点:256 KB闪存;快速接入、高可靠性具备四级安全保护; 128 KB SRAM ,多达四种可配置分辨率的高速16位ADC,可采用单路或差分输出模式改善噪声抑制;可编程延迟块触发功能转换时间可达500 ns ;多达两个12位DAC可用于音频应用模拟波形生成 。

2.2 GPS模块

HOLUX M-89 GPS模块是一款采用MTK芯片方案的GPS模块。该模块采用联发科技公司(MTK)所设计的低耗电量芯片MT3318。该模块的优势是对漂移的处理,功耗在30毫安,性价比等多方面都优于SIRF3芯片。该模块通讯方式是RS232(波特率4800),具有并行12通道,可同步跟踪12颗卫星,定位精度高,体积小,功耗低。

GPS卫星发射的导航电文是通过两个载波频L1为1575.42MHz,L2为1227MHz向地面发射带宽F=50Hz,传递速率是50bit/s的基带信号,即一组不归零制二进制编码脉冲D(t)。

采用了伪码扩频技术将基带信号的频带从50hz扩展到10.23MHz以将这种低码率的导航文有效地发送给用户。采用正交方式调制,在载波L1上调制了两种码(P码和C/A码),而在载波L2上只调制了一种伪码(P码)。

总之,GPS卫星发射的信号是电文D(t)经过两级调制后的信号。第一级是将D(t),码调制C/A码和P码,实现对D(t)的伪随机码扩频。第二级是将它们的组合码分别调制在L1和L2载波频率上。

2.3 LCD显示

LCD11264是一种图形点阵液晶串口显示屏,点阵数112*64,可以显示4*7行16*16的汉字。

在数字电路中所有的数据都是通过二进制的0和1保存。对于显示ACSII码字符显示的操作,由于ACSII码字符种类很少,只需要8位就可以表示。而对于中文来说,常用就有6000个字以上,于是就有DOS程序员将ASCII表里很少用到的的高128位以两个为一组来表示汉字,这就是所说的汉字内码。而剩下的低128位用来显示英文字符,即英文内码。当然,只得到汉字和英文字符的内码还不能将这些字符显示在液晶屏幕上,这涉及到字符字模的建立,字模虽然也是一组数字,但是它的意义却与数字的意义有根本的不同,它是用数字的各个位的信息来表示英文字符或中文字符的形状。

3 系统软件设计

GPS接收机只要上电并处于工作状态,就会循环不停地把接收并计算GPS导航定位信息,并由串行接口传送给单片机。GPS模块处理后并发送的数据主要由帧头,帧尾以及帧内数据组成。根据帧头不同,采集需要的帧数据,帧头主要有$GPGGA、$GPGSA、$GPGSV以及$GPRMC,这些帧头表示后续帧内数据的内容,每一帧数据都用回车符和换行符作为帧尾来表示一帧数据内容的结束。可以通过SWITCH(CASE)语句按次序将各个帧数据信息从提取出来存入建立的数组中,将其转换成有需要的、并可使用的定位信息数据。一般来说,我们常用的定位数据如经纬度、速度以及时间等都可以从$GPGGA帧中获得。而对于时间信息,因为从GPS接收机中获得的时间信息为格林威治时间,还要在获取时间上加上8小时才能得到准确的北京时间。导航软件流程图如图2所示。

4 结束语

在室外开阔的地方,系统启动约10秒左右能够很好地接收到卫星信号,若有建筑物遮挡则反应不是很快甚至无法得到经纬度数据。在阴雨天,系统的信号接收较晴天差。经过实测,系统的导航精度在1到3米之间,并且具有较强的抗干扰能力。

本次设计采用了K60单片机作为控制核心,GPS模块与点阵液晶模块采用串口方式与单片机进行通讯,大大减少了对端口的占用。利用本系统,能够根据需要采集GPS卫星数据,如经纬度信息,卫星时间,也可记录当前经纬度坐标作为目的地进行导航或测量飞行器飞行距离,以及当前卫星时间,并显示在液晶显示屏上。

参考文献

[1]古月徐,杨忠,龚华军.基于DSP的飞行控制器的设计[J].自动化技术与应用,2005,24(2):28-32.

[2]梁秋憧,程维明,潘志浩.超小型飞行器自主导航系统地面站设计[J].机电一体化,2002(06):23-26.

[3]肖永力,张琛.微型飞行器的研究现状与关键技术[J].宇航学报,2001,22(7):22-32.

[4]朱加强,郭锁凤,朱纪洪,.战斗机非线性控制技术的研究与发展[J].航空学报,2005,26(6):720-725.

[5]童诗白,华成英.模拟电子技术基础(4版)[M].北京:高等教育出版社,2011.

作者简介

马力(1994-),男,现为江苏师范大学物理与电子工程学院本科生在读。主要研究方向为嵌入式系统应用。

通讯作者

杨增汪(1972-),男,硕士学位。现为江苏师范大学物理与电子工程学院讲师。主要研究方向为嵌入式系统应用、电器设备的控制与检测。

作者单位

江苏师范大学物理与电子工程学院 江苏省徐州市 221116

上一篇:基于FPGA的加减计时器设计 下一篇:采用蓄能器的液压电梯变频节能控制系统设计研...