目录
1 无人机简介 5
1.1 背景与意义 5
1.2 国内外研究现状 5
1.3论文主要工作 6
2 GPS 模块硬件设计 7
2.1 GPS 模块选择 7
2.2 接口 7
2.2.1 UART 7
2.2.2 USB 7
2.2.3 显示数据通道(DDC) 8
2.2.4 SPI 8
2.3硬件主要器件选型 8
2.3.1 主控制器 8
2.3.2 传感器 9
2.3.3 磁强计数据采集 9
2.3.4 CAN总线通信硬件 10
2.3.5 GPS 电路设计 11
2.4 PCB布线 12
3 传感器和GPS接收机板 12
3.1 GPS 传感器 12
3.2 GPS 接收机板 13
3.3 GPS 协议 13
3.4 GPS 导航的组成 13
4 GPS 模块软件编程 14
4.1 软件开发环境介绍 14
4.2 软件结构 14
4.3 底层驱动软件的设计与开发 15
4.3.1 系统的启动过程 15
4.3.2 串口驱动的设计 16
4.3.3 CAN 总线驱动设计 17
4.3.4 传感器驱动设计 19
4.4 系统初始化 20
4.5 GPS模块数据采集 21
4.6 GPS 模块软件调试 21
5 总结 23
参考文献 24
致谢 26
1无人机简介
1.1 背景与意义
UAV(unmanned aerial vehicle)即无人机。无人机是无人驾驶飞行器的一种泛称,相对于有人驾驶飞行器而言,无人机实现了无人控制,在飞行时依飞行器的动力装置所获得的升力来抵消飞行器自身的重量,可通过遥控设备或自主飞行来实现复杂的空中飞行任务。在众多的无人机类型中,四旋翼飞行器具有出色的性能,相较于固定翼无人机而言,四旋翼无人机对于起飞条件的要求更低,可实现垂直起降,其机械架构十分加单,具有负载能力强,可实现垂直起飞和降落等优点。由于四旋翼飞行器在飞行控制、结构设计、安装调试等方面的要求较高,因此当前四旋翼飞行器的研究已成为学术界专家学者研究的热点问题之一。世界上首架真正意义上的无人机由美国学者所研发并试飞成功。在上世纪中期,随着自动控制技术和导航技术的逐渐发展,为无人机的出现和研发奠定了基础,同时,多领域的应用需求使其有着无与伦比的发展优势。无人机在当前生产生活中有着较为广泛的应用:从军事层面上而言,可利用无人机完成复杂作战环境下的战场勘查以及现代反恐作战之中;从民用层面上而言,无人机可用于航拍和交通巡逻和救灾等诸多领域[1]。
相较于固定翼无人机而言,多旋翼无人机的优势体现在下述方面:
(1)操作简单。多旋翼UAV可以起飞和垂直降落,和起飞时所用的空气保持稳定的悬停。遥控器的四个通道可以直接控制无人机的前,后,左,右,偏航和升降运动,一般人可以很容易地学会开车。然而,固定翼UAV飞行手需经过系统培训;
(2)高的可靠性。多旋翼无人机机械结构简单,其可靠性仅与电机有关。与固定翼和直升机,部件可以移动,长期工作部件可靠;
(3)容易维修。结构简单,部件具有良好的互换性,因此在部件受损后可快速更换[2]。
对多旋翼无人机市场持续增长,由于他自己的精确导航系统,多旋翼无人机可以安全航行。导航系统作为核心部件之一对于无人机的飞行可靠性和性能产生重要影响。导航参数包含飞行姿态、GPS位置等信息。近年来,随着市场的发展,无人机的运行变得越来越简单,多转子无人机不具有固定翼无人机的静态稳定性,也没有单旋翼直升机旋转特性。多转子无人驾驶飞机的飞行稳定完全取决于由设计者设计的飞行控制系统上。近年来,出现了为工业应用和多任务多旋翼无人机的飞行控制系统。但这些飞行控制系统大多不稳定,安全可靠。不同的飞行任务,多旋翼无人机会有不同的负载要求,他的飞行控制性能也不同。通常,传统结构的多旋翼无人机,转子数量越多,负载能力越强。无人机飞行控制系统简称无人机飞控系统,这是整个航程过程的核心系统,该系统可以完成整个航程过程中,如起飞,空中飞行,任务执行,并返回到现场恢复。事实上,它类似于谁控制了飞机的专业级的驱动程序。对于无人驾驶飞行器,飞行控制系统无疑是一个核心技术[3]。飞行控制系统的关键主要集中在传感器的三个模块,车载电脑,伺服驱动装置,并完成了姿态控制。。在四轴飞行器的结构相对简单,体积可以小,操作简单,起飞和降落都方便,而且应用程序的性能在许多方面是良好的。随着科技的飞速发展,微机电系统在最近几年尤其是发展迅速。再加上高速低功耗处理器技术的发展,这是一种多旋翼无人机的发展提供了重要的技术基础。此外,该功能的应用空间非常广阔,因此它已被许多人在最近几年的广泛关注,并在四轴无人飞行器的研究文献也得到了[4]增加。
1.2 国内外研究现状
国外四旋翼无人机研究相对较早,始于上世纪初期,法国Breguet兄弟在上世纪初开始研发并制造当时世界上第一架四旋翼直升机,并进行了模型的试飞,为以后的四旋翼直升机的发展奠定了一定的理论基础。但是受制于当时技术条件的限制,尤其是当时自动控制相关理论体系尚未形成,因此最早的四旋翼直升机中大多采取机械操作装置进行飞行姿态的调控和操作,因此首次试飞也仅局限于可短时间离开地面飞行[11]。虽然这次试飞并没有取得较为理想的效果,但是它是直升机方面的一个重大创新,为四旋翼无人机的发展定下了一个开端,可以说这款四旋翼直升机是四旋翼无人机研究的起点。到1921年,美国空军研制出另一款大型的四旋翼直升机,该无人机由一个单发动机驱动,这款无人机先后一共进行了100多次试飞,但是始终没有获得一个良好的飞行控制,最终被美国空军放弃该项目。在随后的几十年内四旋翼无人机几乎没有取得什么发展,直到在近十年来四旋翼无人机的研究才取得了较大进展,在科研开发方面斯坦福大学、麻省理工学院、瑞士洛桑联邦科技学院的研究具有较为典型的代表意义。
当前,大多数四旋翼飞行器从属性上来说应归类于微型无人机系统,还有部分四旋翼飞行器归属于各大院校和科研机构,除此之外,还有部分应用于军事和商业领域中发挥作用。在四旋翼无人机的研究中很多项目的研究方向都在无人机的建模和控制系统的仿真测试上。还有一部分项目则是对无人机在现实环境下能否完成各种各样的飞行动作,实现自主飞行的研究上。例如,瑞士洛桑联邦工学院EPFL的OS4项目,机载电子设备包含飞行高度传感器、倾角传感器、照相机以及嵌入式计算机等等。该试验项目所研究的重点是实现对机架结构和自主飞行算法的研究设计,进而实现在室外和室内两种不同条件下的自主飞行。除了世界知名高校对四旋翼无人机进行了广泛研究外,还有一些科研机构和企业也对无人机进行了研制。例如德国Microdrones公司所研发并投入量产的MD-200 系列无人机,该型无人机推出后在欧美民用无人机市场中获得了空前成功。美国Draganflyer Innovations 公司所研发的Draganflyer、德国的Mikro Kopter等,这些不同类型的四旋翼无人机各自具有不同的特点[16]。当前,国内外各相关行业都对普遍关注旋翼无人机的研究和发展进程,希望在未来的几年内,该领域内能够出现性能优异、经济性好的四旋翼无人机。
相较于世界上其他一些发达国家而言,我国对四旋翼无人机的研究起步较晚,在技术上也较为落后,我国对于无人机的研制仍停留在传感器等电子部件的研究工作上,但是我国的某些大学和科研单位在研究四旋翼无人机的工作上也取得了较大的突破,例如国防科技学、哈尔滨工业大学、中南大学以及上海交通大学等[5][6][7][8][9]。
南京理工大学基于UAV控制方法对无人机进行了研制和开发。其研究成果中包含基于传统控制算法和智能PID算法等多种算法的分析比较。从我国当前对四旋翼无人机的研究现状来看,大多数专家学者对此的研究主要集中于数学建模和控制算法仿真等问题上,只有少部分研究者进行了实际飞行试验。虽然相较于其他发达国家而言,我国的飞行器研制相对较晚,取得的理论成果也大多集中于数学建模和控制方法仿真计算上,现有通过飞行试验来综合论述四旋翼无人机的实际飞行状态和控制算法的。但总体而言我国在该领域的研究也取得了一定进展。例如,北京航空航天大学完成了高负载动态环境下无人机捷联式惯性导航的研究,通过该算法的研究有线克服了无人机在飞行过程中存在的划船效应,补偿无人机在飞行中的不均匀受力[5]。GPS整个发展计划分为个3阶段:
第一阶段,1973年到1979年;第二阶段,1979年到1984年;第三阶段,1989年至1993年;1989年2月4日,第一颗GPS卫星发射成功并进入军事应用阶段。在设计GPS系统时,设计人员调试了两个伪随机代码,即C / A码和P码,提供两级定位服务(标准定位服务和精度定位服务)。粗测量范围位于C / A代码中,精度约为100米。服务目标是普通的民用用户。精密测量代码位于P代码,精度可达10米。
GPS在建成之处应用于军事领域。近年来,GPS硬件和软件不断改进,正在扩展称为战斗力的"倍增器"的应用空间。目前,它已经渗透为三种导航,精确定位和导弹。实现遥控拍摄、动态观察等,当前在军事和民用领域应用十分广泛。
1.3论文主要工作
本文分析了国内外无人机GPS模块的研究现状和发展趋势,
本设计内容包含:
一:论文的研究背景及发展现状等。
二:详细论述了本文的设计方案,GPS模块为NEO系列,以STM32F405R单片机作为主控芯片,运用Altium Designer18画出原理图,及PCB布线
三:硬件原理与机械结构,各功能模块设计。
四:软件设计与开发及各部分驱动设计
2 GPS 模块硬件设计
2.1 GPS 模块选择
UBLOX_NEO-6M(GPS模块)是一款高性能,的GPS模块,灵敏度也很高,优良的性能可以应用于手持机定位。具有灵活性好、定位精度高等诸多优势,在狭窄都市天空下、密集的丛林环境这些普通GPS接收模块不能定位的地方,模块的高灵敏度、小静态漂移、低功耗及小体积,非常适用于车载、手持设备如PDA,车辆监控、手机、摄像机等移动定位系统的应用[6]。NEO-6M系列芯片集成整合了高水平设计和鲁棒灵活的连接方式,NEO-6M 内部有一个 Flash 闪存,GPS 内部闪存可以允许通过固件更新来使得系统支持传统的 GNSS。这些特性使得 NEO-6M 很适合作为地面端 GPS 设备。GPS 选用u-blox 公司的 NEO-6M 天线模组,,该模块也同样适用,即使在具有差的GPS信号(如森林峡谷)的环境中,要求的可用性和准确性的最高水平。的NEO-6M模块具有低功耗,快速冷启动速度,和0.5-1米定位精度,符合使用要求[7]。根据官方解决方案设计电路如图 2–1
图 2–1 NEO原理图
2.2 接口
2.2.1 UART
具有接口,持波特率,信号电平是,需要有电平转换IC,如。
2.2.2 USB
的接口可以以的速率实现传输数据。接口需要通过其他元件才能满足数据传输特性要求,为了满足规范,必须通过将5V的降为3.3V并连接到脚。若模块自带供电设备,则可向USB Host输出信号,但是这种状况在实际中效率较低,数据传输精度不理想,因此应通过VCC-LDO使能信号禁止。按照的特性,可在输出端外接下拉电阻保证不会浮空。若模块采用总线供电方式则无需进行使能控制。
2.2.3 显示数据通道(DDC)
在NEO-6模块中,存在被用于作为一个现实数据信道接口(DDC)的串行通信的I2C接口。接收器以I2C运行。仅当外部用作存储配置时才支持主模式。此时,接收器尝试写入特定地址。以及用于检测这种非断电易失性存储器组件的存在的读取操作。为了u-blox 6,读DDC内部寄存器地址为0xFF(信息发送缓冲区)的情况下,主机不能访问每个字节之前设置的读出地址,因为这将导致错误的行为。由于内部寄存器的地址是由1从寄存器读取为0xFF每个字节,然后在饱和后为0xFF递增,读出可以连续地进行。仅用于连接外部EEPROM,内置的上拉电阻足够大。
2.2.4 SPI
模块有接口,可以连接外部设备,如存储器、A/D转换器或与连接。
2.3硬件主要器件选型
2.3.1 主控制器
控制系统中最重要的就是主控制器,它控制所有的模块正常运转,同时也承担信号处理等任务,如信号采集和处理、无人机姿态控制等,一次你主控制器需要具备良好的计算能力。因此本文选择微控制器[9]。采用了 90nm 的 NVM 工艺和 ART,工作频率高,运算速度快,此外,其通信接口也十分丰富,当CPU 在允许频率范围内工作时具有良好的零等待周期性能。除此之外接口十分丰富。由此可知选择可满足本文需求[10]。如图2-2所示
图 2-2 主控制器原理图
2.3.2 传感器
微型UAV系统中的传感器的选择必须考虑多种因素,例如尺寸,重量,功耗和成本。在设计中,GPS接收器选择NEO-7M。 的NEO-7M GPS模块是一种低功耗,高灵敏度,全功能的超小型外部GPS接收器模块。该模块性能示于图2-3。
图 2-3 GPS模块性能
2.3.3 磁强计数据采集
HMC5983 是一个温度补偿的三轴集成电子罗盘,内置高分辨的系列的磁阻传感器,除此之外还有放大器等,该磁强计数据采集设备航向角为1-2度[11]。 I2C 个SPI串行通信总线,表面有多个引脚贴片封装。利用了AMR技术,在地磁场传感器中具有良好的林敏度和可靠性。如图2-4所示。
它的主要特性包括:
(1)3轴磁传感器和ASIC都被封装在3.03.00.9LCC表面装配中与地干扰传感器,分辨率高[12];
(2)带温度补偿的数据输出;
(3)自动偏置补偿;
(4)I2C或者SPI数字接口;
(5)最大220Hz输出速率;
(6)内置有自检测功能;
(7)低电源,低功耗;
(8)内置有驱动电路;
(9)无铅封装;
(10)宽范围磁场量程;
图 2-4 强磁传感器
2.3.4 CAN总线通信硬件
所述TJA1050设计有先进的硅绝缘体上SOI技术和最新的EMC技术,所以TJA1050具有优异的EMC性能[13]。该TJA1050不提供待机模式。应特别注意在非用电环境将支付给设备的被动性。该TJA1050T具有用于选择,高速模式和静音模式的两种操作模式。对于CAN收发器而言,正常(高速)模式是用于正常的CAN通讯。从输入的数字位流,可转换为相应的模拟总线信号,与此同时,监控总线可将模拟总线信号转换为对应的数字位流,并在引脚完成输出[14]。TJA1050T正常工作在高速模式,TJA1050 提供一个专用的静音模式,这个模式中发送器完全禁能。这样就保证了没有信号能够从TXD引脚发送到CAN总线上,像TJA1040在待机模式一样,这个静音模式可以建立一个Babbling Idiot 保护。在无声模式中,使得能够进行[15]只接收功能的接收器保持激活。可用于防止因出CAN控制器的控制的网络拥塞。所述TJA1050电压范围为4.45V - 5.25V,总线管脚的最大电压是-27V - + 40V,和输入电平与3.3V设备兼容。
图 2-5 CAN总线原理图
2.3.5 GPS 电路设计
设计的GPS电路使用ATK-NEO-6M模块。 ATK-NEO-6M是一款高性能ALLENTEK GPS模块。其核心使用U-BLOX的NEO-6M模块[16]。 GPS模块可以通过串口连接到外部设备。它支持38400的默认串行通信波特率。该接口具有兼容5V和3.3V嵌入式微处理器系统的TTL 电平。其定位精度可高达3.6m CEP,最大更新速率为6Hz,最大捕获跟踪灵敏度可达-159d Bm [17]。它还支持三种不同的启动模式:冷启动,热启动和热启动。冷启动意味着GPS接收的所有历史信息都将丢失。热启动意味着GPS接受的历史数据不会丢失,但在启动后与当前连接。卫星信息不符;热启动意味着GPS接收的所有历史数据都不会丢失,但它也可以匹配启动后连接的卫星。内部核心结构图如图2-6所示。
图 2-6 GPS 内部核心结构图
GPS电路的设计采用外部EEPROM的设计。由于GPS通常需要在每次电源接通时,为了避免这个时间被接通,当操作模式被每次设定,外部EEPROM(U10)通过设计用于测试的GPS电路使用。在模式,使得当需要供电源接通GPS操作的GPS模式被写入EEPROM,在EEPROM已经设置模式下操作的GPS可直接读取[18],并与工作需要模式是复位。省去了繁琐的初始化过程。此外,电路设计专门使用发光二极管(D2),以指示在任何时间该GPS的工作状态。在这种情况下,还提出,在硬件设计和布线中,GPS的外部天线的布线不能以直角弯曲,并且直接连接是优选的。为了保证GPS工作的稳定性。实物图如图2-7。
图2-7 GPS模块实物图
2.4 PCB布线
GPS模块PCB布线图如图 2-8
8
图 2–8 GPS模块PCB布线图
3 传感器和GPS接收机板
3.1 GPS 传感器
GPS传感器是主要负责采集纬度和多转子UAV的经度信息,并通过GPS由主控制器发送的数据,并求解多转子UAV [19]的位置的信息。
3.2 GPS 接收机板
GPS接收器的主要功能是实现GPS卫星信号的接受,可同时接受4个以上的信号,并自动完成当前三维坐标和速度的计算。该GPS高度显示了无人机控制的高度。当GPS接收器板的同时接收多个卫星信号,它可确定GPS接收机的当前高度。在飞行控制监控,应监测由GPS接收器和所述信号质量接收到的卫星信号的数目。由此可以得出结论的是,GPS接收器板的功能是负责提供飞行稳定性控制和与飞机,当前GPS地面速度和GPS的当前纬度和经度基板的导航。身高,可以由飞机的当前位置接收的GPS卫星信号信息和信号质量的量。
3.3 GPS 协议
GPS的定位原理是基于在高速运行卫星的瞬时位置,并且要被测量的点的位置由空间距离切除[20]的方法计算。全球定位系统提供全球,全天候,高精度连续,实时的三维坐标。对于卫星定位导航接收器,不同的厂商有自己的信息处理格式。下面就对常见的U-BLOX协议类型进行简单介绍
U-Blox 协议 :UBX 协议的数据包格式如图 3-1所示,数据的每个分组包括三个部分:头部,数据部,和校验部。标题的头两个字节是:0xB5执行和0X62,通过该两个字节可以被用于确定由该分组所使用的协议是否为UBX;CLASS占一个字节,表示消息的类别;ID占一个字节,表示CLASS参数下的特定参数的项目的输出;LENGTH指示由数据部分所占用的字节数;CK-A和CK-B是用来验证报文[21]的完整性两个校验字节。
图 3-1 UBX 协议的数据包格式
3.4 GPS 导航的组成
GPS 导航系统是由三个子系统共同组成的[22],它们分别是:卫星星座(空间部分),地面监控系统(控制系统)以及信号接收机(用户部分),它们三者之间的关系如 图3-2
图 3-2 GPS 导航系统是由三个子系统关系
4 GPS 模块软件编程
4.1 软件开发环境介绍
在硬件设计,主芯片采用意法半导体的芯片STM32F405R,并在软件编码调试软件采用嵌入式IAR7.2集成开发环境。该系统是用C语言开发。集成环境支持嵌入式C编译器,并给出了大量的由ST,Atmel和其他公司的ARM芯片编程实例[23]。支持的J-Link硬件仿真的实时在线调试。源代码可以通过IAR Embedded Workbench 实现编译、链接、产生最终目标文件这样一个完整流程的管理。IAR 集成开发环境拥有集成环境代码编辑,支持 C 语言中关键字的识别和匹配、搜索置换文本、书签以及从错误列表跳转到代码等功能。IAR 软件集成的 C/C++编译器提供的 IAR DLIB 包含丰富的库函数;提供灵活的变量分配能力支持 C 语言的中断函数[24]。编译器运行速度快,可移植性好。可以提出显而易见的错误和警告信息,同时支持多种输出格式包括重定位的二进制文件以及汇编源码等。链接器通过将编译器产生的一个或者多个目标文件连在一起,生成所需要的机器码。开发者在开发与调试之间因为开发环境与内置的调试器集成在一起来回切换。
4.2 软件结构