基于多旋翼无人机的GPS模块研究
2019-09-10张杰刘洋杨晓宇
张杰 刘洋 杨晓宇
摘要:本文基于新型STM32F4系列为核心,所述ARM STM32F405R被用作芯微控制器开发和设计所述多旋翼UAV GPS模块的硬件平台。硬件平台集成的最低系统电路,串行通信电路,网线接口电路,传感器电路和电源电路。传感器电路包括传感器电路。磁航向传感器电路,GPS电路。它由一个高精度的GPS接收模块和无线通信模块的。无线通信模块是负责与雄蜂通信。之后,无人机可以飞行稳定和接收地面目标的GPS坐标,根据基于GPS的无人机导航设计,可以使得无人机能够朝着目标GPS位置飞行。
关键词:多旋翼无人机;GPS;导航系统
一、无人机简介
UAV(unmanned aerial vehicle)即无人机。无人机是无人驾驶飞行器的一种泛称,相对于有人驾驶飞行器而言,无人机实现了无人控制,在飞行时依飞行器的动力装置所获得的升力来抵消飞行器自身的重量,可通过遥控设备或自主飞行来实现复杂的空中飞行任务。在众多的无人机类型中,四旋翼飞行器具有出色的性能,相较于固定翼无人机而言,四旋翼无人机对于起飞条件的要求更低,可实现垂直起降,其机械架构十分加单,具有负载能力强,可实现垂直起飞和降落等优点。由于四旋翼飞行器在飞行控制、结构设计、安装调试等方面的要求较高,因此当前四旋翼飞行器的研究已成为学术界专家学者研究的热点问题之一。世界上首架真正意义上的无人机由美国学者所研发并试飞成功。在上世纪中期,随着自动控制技术和导航技术的逐渐发展,为无人机的出现和研发奠定了基础,同时,多领域的应用需求使其有着无与伦比的发展优势。无人机在当前生产生活中有着较为广泛的应用:从军事层面上而言,可利用无人机完成复杂作战环境下的战场勘查以及现代反恐作战之中;从民用层面上而言,无人机可用于航拍和交通巡逻和救灾等诸多领域。
二、传感器和GPS接收机板
(一)、GPS 传感器
GPS传感器是主要负责采集纬度和多转子UAV的经度信息,并通过GPS由主控制器发送的数据,并求解多转子UAV 的位置的信息。
(二)、GPS 接收机板
GPS接收器的主要功能是实现GPS卫星信号的接受,可同时接受4个以上的信号,并自动完成当前三维坐标和速度的计算。该GPS高度显示了无人机控制的高度。当GPS接收器板的同时接收多个卫星信号,它可确定GPS接收机的当前高度。在飞行控制监控,应监测由GPS接收器和所述信号质量接收到的卫星信号的数目。由此可以得出结论的是,GPS接收器板的功能是负责提供飞行稳定性控制和与飞机,当前GPS地面速度和GPS的当前纬度和经度基板的导航。身高,可以由飞机的当前位置接收的GPS卫星信号信息和信号质量的量。
(三)、GPS 协议
GPS的定位原理是基于在高速运行卫星的瞬时位置,并且要被测量的点的位置由空间距离切除的方法计算。全球定位系统提供全球,全天候,高精度连续,实时的三维坐标。对于卫星定位导航接收器,不同的厂商有自己的信息处理格式。下面就对常见的U-BLOX协议类型进行简单介绍U-Blox 协议 :UBX 协议的数据包格式如图 2-1所示,数据的每个分组包括三个部分:头部,数据部,和校验部。标题的头两个字节是:0xB5执行和0X62,通过该两个字节可以被用于确定由该分组所使用的协议是否为UBX;CLASS占一个字节,表示消息的类别;ID占一个字节,表示CLASS参数下的特定参数的项目的输出;LENGTH指示由数据部分所占用的字节数;CK-A和CK-B是用来验证报文的完整性两个校验字节。
GPS导航系统是由三个子系统共同组成的,它们分别是:卫星星座(空间部分),地面监控系统(控制系统)以及信号接收机(用户部分),它们三者之间的关系如图2-2。
(一)、底层驱动软件的设计与开发
1.系统的启动过程
系统的启动过程可分为两步,分别为内部时钟和外部时钟的启动。其中前者是在后者势能时间超过规定标准的情况下使用的。系统复位之后等待系统时钟就绪,随后完成启动过程并调用 main()主函数。
2.串口驱动的设计
串行端口实控制器和外部设备通信的重要接口。无人机为实现自动控制需要连接大量的外部设备,例如电源模块和无线通信模块等等,并且所述软件开发和调试进程也将被频繁使用。串口,这样的串口驱动程序设计的重要性是不言而喻的。该STM32F405R有很多的串口资源,所有的串口通信功能较为全面。该STM32F405R本身是相对简单的设计,由于强大的串行通讯能力。只要打开时钟,初始化串口,然后判断串行端口是否打开。也就是说,无论是串口可以在此时应用,串行端口,用于发送和接收数据。所述STM32F405R串行端口的发送数据设定处理是相同的串行端口接收数据的设定处理,然后将数据位的特定长度被配置,并且所述奇偶校验位被设置。最后,你可以添加一个验证的设计,以确定数据是否已发送或已成功接受。
3.CAN 总线驱动设计
对于体型较小的飞行器航行设备来说,信息的快捷输送是其一开始就需要具备的本领。CAN总线的串行通信功能强且可靠,所以可以轻易地使信息输送得速度增加,而且能够进行多主操纵,能够适应传播速度过大和路程过长的问题,且可以帮助技术人员对过程中的问题进行校正、提醒及修护。在与总线对接之际,可以避免重复检查位置数据,而且也能够完成统承的目标。CAN总线通信协议包含两部分,其一为数据帧;其二为遥控帧,前者包含包含7个字符段构成,控制段的主要功能是表示传输信号长度、符号位;数据段用来告知输送的数据每帧都能够传输9 bit信息;CRC段可以核实每一帧输送的数据会不会有误,ACK段可以表示被输送的数据有没有正常存储。采用CAN总线通信时需要对系统总线进行初始化,为总线配置复位功能,并启用AN时钟时,CAN_RX销需要被用作上拉输入和CAN_TX销被用作复位输出。其次,要設置正确的工作模式,通过CAN_MCR的位设置完成相关控制位功能的直线。最后执CAN_FMR的FINIT位在完成设置和激活后可实现总线初始化,在完成总线初始化流程之后可执行正常的数据发送和接收功能。CAN总线传输首先要按成标识符设置,选择空邮箱发送数据,在完成数据发送空出邮箱。CAN总线可将接收到的数据储存于邮箱的FIFO中,CAN总线接收报文信息时要设置邮箱为空,并逐层访问邮箱,并判断报文信息是否有效,随后退出。
4.传感器驱动设计
传感器是是本文所设计的四旋翼无人机的重要组成部分,也是实现自动驾驶的关键所在,航空传感器可完成当前无人机飞行姿态、位置、速度以及高度等信号的实时采集,并将数据发送到单片机中进行处理,随后单片机得到当前无人机的位置姿态,并通过与设定的姿态信息进行比较,随后输出控制参量对无人机的姿态进行调整,实现稳定飞行[27]。通过串口连接的GPS模块可获取当前无人机的准确位置。通过IIC总线连接的HMC5983磁航向传感器可以测量小型无人机的三个轴。磁航向角。IIC(Inter IC Bus)总线是PHILIPS以同步通信的特殊形式引入的新总线标准,具有接口少、控制方式简单易行等诸多优势。IIC总线包含两条不同的通信线路,其一为SDA通信线路;其二为SCL通信线路。
是公司东一的外接设备接口形式,可支持多种不同的通信功能。包含四条通信线路,其中MISO为数据输入和设备输出线路,SCLK为时钟信号线,CS为片选信号线。
(二)、系统初始化
通信初始化主要是对串口、SPI、IIC 总线的初始化和中断函数配置。传感器初始化主要是对 IO 使能和采样周期的配置。其结构图如图3-3 所示。飞控系统将单片机主时钟设置成 180MHz,配置 IO 口使能和中断函数。使能串口中断用于 GPS、数传电台通信,分别配置 SPI、IIC 总线时钟频率为 10.05MHz 和 100k Hz。
GPS 模块 GPS 模块采用串口与主芯片通信,采用 Ublox 专有的 UBX 协议读取 GPS 信息。UBX 协议采用二进制数输出减少了传输数据;灵活运用了低开销的校验算法;同时采用双层的消息标志位。一个基本的 UBX 包结构如图3-4所示。
(2)消息类型位占用一个字节,定义了消息的基本子集。
(3)消息 ID 位占用一个字节。
(4)长度位占用 2 字节,长度位是指有效长度,不包括包头字节数、类型信息、消息ID 和校验位。长度用 16 位无符号整型表示。
(5)消息数据位是根据消息长度变化,包含需要的 GPS 有效数据。
(6)校验位:CK_A、CK_B 是采用 16 位校验和。 协议使用的校验和方法如下,其中 Buffer[I]表示校验数据。
CK_A = 0,CK_B = 0 For(I=0;I<N;I++)
{
CK_A = CK_A + Buffer[I]
CK_B = CK_B + CK_A
}
(四)、GPS 模块软件调试
首先初始化CPU,然后初始化GPS模块,然后确定是否存在的命令。如果不是,则清除读/写标准GPS为0,停止接收数据,并且如果是,确定所述命令是哪一种格式。该GPRMC格式也是在GPGGA格式。如果使用GPRMC格式,使用RMC语句。在GPGGA格式中,GGA格式被使用和所获得的数据进行解析,并保存。
参考文献
[1]张芮嘉,朱海霞,姚翼荣.适应多旋翼无人机倾斜摄影的高效旋转云台系统[J].江苏科技信息,2019,36(18):57-59.
[2]曲行达. 多旋翼无人机在山地场景应用中的关键技术研究[D].贵州大学,2018.
[3]明志舒,黄鹏,刘志强,李乐蒙,高凯.多旋翼无人机飞行控制系统设计与实现研究[J].科技资讯,2017,15(29):57+59.
[4]朱明勋. 多旋翼無人机传感器系统的研究与设计[D].南京信息工程大学,2017.
[5]王辰熙. 多旋翼无人机组合导航技术研究[D].南京航空航天大学,2017.
[6]詹丕显. 多旋翼无人机智能控制芯片的关键模块设计与验证[D].哈尔滨工业大学,2015.