清华大学本科毕设论文.doc

上传人:夺命阿水 文档编号:103238 上传时间:2025-07-10 格式:DOC 页数:55 大小:5.21MB
下载 相关 举报
清华大学本科毕设论文.doc_第1页
第1页 / 共55页
清华大学本科毕设论文.doc_第2页
第2页 / 共55页
清华大学本科毕设论文.doc_第3页
第3页 / 共55页
清华大学本科毕设论文.doc_第4页
第4页 / 共55页
清华大学本科毕设论文.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、清 华 大 学综 合 论 文 训 练题目:基于四旋翼无人机的PM2.5测量系 别:电子工程系专 业:电子信息科学与技术中文摘要近年来,随着无人航空技术发展的日趋完善与成熟,无人机逐渐受到重视并且得到广泛应用。无人机凭借其机动强、经济上较为实惠、方便起飞、降落等方面的优势,越来越受到人们的青睐。同时,无线遥感技术的飞速发展与日趋完善,也在很大程度推动了无人机的应用,无人搭载平台在空气检测、环境监测、恶劣条件侦探、航拍等方面都得到广泛应用。 本课题以无人机作为搭载平台,搭载空气传感器与GPS模块,实现对PM2.5与PM10数据的采集,在PC端通过单片机编程,实现SD卡存储所采集的数据,达到空气质量

2、检测的目的。本文依次介绍系统的硬件部分、软件部分。之后,对传感器的可信度进行评估,介绍如何通过单片机编程实现用SD卡存储PM2.5(PM10)值。最后对采集的数据进行处理,绘制PM2.5(PM10)随着不同的经纬度、高度、风速的变化趋势曲线图,得出结论。关键词: 四旋翼无人机;SDS011激光传感器;STM32单片机;数据储存与显示ABSTRACTWith the rapid development of UAV technology, its application has become more and more widespread together. With its advantag

3、e in mobility, fastness, economy, convenience and so on, the UAV has been used more widespread. With the development of wireless remote sensing technology, the UAV has been used in meteorological monitoring, resource surveys, aerial survey and respond to emergencies widely.This topic uses the UAV as

4、 carrying platform, and equips UAV with air sensor and GPS module, implementation of PM2.5 and PM10 data collection, through the microcontroller programming to achieve the data stored on the SD card, and finally achieve the purpose of air quality testing.This paper firstly introduces the hardware pa

5、rt and software part of the system. And the evaluates the reliability of the sensor, describes how to use the microcontroller to store the value of PM2.5(PM10) in the SD card. Finally deal with the data collected, and then draw the trends and graph of the values of PM2.5(PM10) change with the latitu

6、de and longitude, altitude, wind speed.Keywords: Four-rotor UAV;SDS011 laser sensor;STM32 microcontroller;Data storage and display目 录第1章 引言11.1 课题背景1 1.1.1 无人机概述1 1.1.2 PM2.5(PM10)国内外检测现状概述11.2 课题的研究的目的和意义21.3 项目需求31.4 整体工作介绍6第2章 系统硬件概述与设计72.1 四旋翼无人机搭载平台介绍72.2 SDS011高精度激光传感器82.3 ATK-NEO-6M-V23定位模块10

7、2.4 开发板13 2.4.1 开发板简介13 2.4.2 单片机给电模块14 2.4.3 数据存储模块15第3章 系统软件概述与设计173.1 系统环境与软件开发工具17 3.1.1 Realview MDK介绍17 3.1.2 JLink仿真调试193.2 串口对数据的输入与查看20 3.2.1 数据输入串口20 3.2.2 数据查看串口223.3 系统环境与软件开发工具23 3.3.1 软件设计程序设计整体构架23 3.3.2 系统模块初始化24 3.3.3 对空气传感器数据处理24 3.3.4 对GPS定位信息进行处理25 3.3.5 存储部分代码实现27第4章 系统实现过程294.1

8、 空气传感器数据实现304.2 GPS定位模块数据实现31 4.2.1 海拔精确度测量32 4.2.2 地面风速测量33 4.2.3 经纬度测量344.3 PM2.5(PM10)值变化情况研究35 4.3.1 PM2.5(PM10)值随海拔变化情况研究35 4.3.2 PM2.5(PM10)值随风速变化情况研究37 4.3.3 PM值在不同的天气条件下随风速变化情况研究38第5章 结论与展望40插图索引41表格索引43参考文献44致谢45声明46附录A 外文资料的调研阅读报告47第1章 引言1.1 课题背景1.1.1 无人机概述 “无人机(unmanned aerial vehicle,UAV

9、是一种带有动力装置,具有自主导航能力,无人驾驶的不载人航空器。”在特定的地域范围与高度范围内,利用无线电实现通信功能,通过预设的计算机程序实现无人机的飞行、悬停、降落等基本功能。无人机最初主要被用于军事,主要用于军事侦查、监视、通信等,实现一些载人飞机难以实现甚至是无法实现的功能,从投入市场至今都深受各国军方的青睐。最近几年以来,随着各国政府逐步放开对无人机的限制,无人机从军用领域逐渐迈入民用领域,民用无人机在航拍、公共安全、应急搜索、环境监测、交通情况监测等方面的应用都日渐广泛。 无人机在很多方面有载人飞机无法比拟的优点,比如成本低廉、起飞简单、不需要专用的场地进行起飞与降落等。同时,无人

10、机的控制相对较容易,一般可以直接通过遥控器实现起飞、悬停、降落、加速、减速等功能。再者,一般的民用无人机体积相对较小,造价较低廉,实用性也较强。当前国内较受欢迎的无人机公司主要有大疆、零度智控、智能鸟等。1.1.2 PM2.5(PM10)国内外检测现状概述“总悬浮颗粒物包括漂浮在空气中的固体与液体颗粒物,一般以其空气动力学直径作为评判依据,其空气动力学直径在0.1-100um范围内。习惯上人们一般把空气动力学直径小于2.5um的可吸入颗粒物称为PM2.5;相应的,把直径小于10um的颗粒物称为PM10。”最近几年以来,我国的一些城市(北京、上海等)的“雾霾”现象日趋严重,成为威胁人们生活的罪魁

11、祸首,其中最主要的污染源一般就是指PM2.5与PM10。本课题利用无人机搭载平台的组成的系统,主要的构成部分包括空气传感器部分,GPS定位模块,数据存储模块,无人机控制模块,整体控制模块等。“基于无人机平台应急监测关键技术与应用研究”课题是我国首次利用无人机进行环境监测实验,截止到当前该研究已经取得了相对比较完善的研究成就。最近几年以来,随着民用无人机技术的飞速发展与逐步成熟,利用无人机作为搭载平台进行环境监测的应用也逐渐广泛起来。现在一般的测量包括航拍,监控,气体监测等,其应用领域已经涵盖“雾霾”,温室气体,水质好坏等等,而且我们有理由相信,随着技术的进一步发展,无人机在环境监测这一块的应用

12、必将取得更为广阔与成熟的应用。本课题借助零度公司的四旋翼无人机作为搭载平台,SDS018PM2.5激光传感器作为空气传感器模块部分,STM32F103RCT6开发板核心板单片机实现开发功能, Ublox NEO-6M带天线5Hz GPS模块实现GPS定位,直接利用无人机电源供电,采用Mini-360航模降压电源模块对电源降压,获得所需电压。通过单片机编程,对所获取数据进行处理,获得需要的数据部分,把提取好的所需数据存储在存储卡。读取数据,在PC端对数据进行处理,通过数据处理软件例如Excel等对所采数据处理,画出对比趋势曲线,进行对比,得出结论。1.2 课题的研究的目的和意义当前的空气监测方法

13、特别是PM2.5(PM10)的测量存在一定的问题,大部分的城市测量只能在选定的地点,固定的高度进行固定的采样。显然,该测量方法在很大程度上存在样本过于集中,不能较为客观的反应事实的问题。基于该问题,本文企图利用无人机随时悬停,易于控制的优势,更好的、更客观的取得观测数据。本课题通过嵌入开发平台设计空气质量监测系统,通过无人机的遥控器实现无人机的起飞与停止,利用GPS定位模块实现对无人机位置获取,位置信息一般包括经度,纬度,高度,当地风速等参数,通过空气传感器实时获取PM2.5值,PM10值,获得在采样点的数据值之后,经过单片机(STM32)编程,把数据以TXT文件格式存储在SD卡中,返回地面进

14、行处理,绘制曲线趋势图,得出结论。把系统总体构架与功能实现之后,在北京市不同的地方分别进行测量,因为禁飞区的缘故,选择在六环外进行测量。选择不同的天气(改变基值),在不同的地点(经纬度不同)采集数据;在同一的地点(经纬度不变),通过遥控器,改变无人机飞行的高度(不同的海拔)获取相应的点的采样数据。最终把所有获取的数据,拿到地面端的PC机进行处理,分别绘制出在同一地点,PM2.5(PM10)值随着海拔变化的变化曲线图;在不同的地方,相同的海拔情况下,分别采集数据,绘制出PM2.5(PM10)值随着经纬度的变化的曲线图;以及绘制出不同风速条件下的曲线图等。利用无人机的优点,在不同的气候条件下,原则

15、上在任意位置进行实时测量,可以获取相对比较精确且客观的数据,可以在一定程度上,改善当前客气测量的不足,能够优化空气测量研究与探索,能够更好的利用无人机实现为人类服务的目的。1.3 项目需求本课题是基于无人机平台的PM2.5(PM10)测量,空气传感器读取PM2.5(PM10)值,输出16进制数字。GPS模块输出一系列信息,其中都以16进制形式呈现,通过STM32进行编程,把有用的信息提取出来,以TXT文件形式保存下来,测量完所需数据,拿到PC端进行处理,画出趋势对比图,得出结论。课题的总体框图如下:图 0.1 课题总体框架 系统工作过程为:1直接把无人机输出的12.4V电压作为整体电压,通过M

16、ini-360航模降压电源模块实现由12.45V电压转换功能,输出的5V电压分别给单片机供电,从单片机的两个输出端口接出一个5V给空气传感器供电,接出一个3.3V电压给GPS定位模块供电。 2通过两个串口把两个模块输出的十六进制数据分别输入到STM32单片机3编程实现对两组十六进制的数据分别转化为可视性的10进制数,并且把一些不必要的数据进行合理的取舍,获得所提取的数据4通过编程,利用STM32开发板对所获取的数据进行存储,每隔20s分别存储一次PM2.5(PM10)的数据值,一次GPS信息值(经纬度,海拔,地面速度,时间等),交替循环实现数据的存储。为了便于显示与读取的方便,每20s之后,T

17、XT文件自动换行。其中本次课题很重要的部分是编程代码实现对数据的提取,获取实验需要的必要数据,同时,对所获取的数据进行存储。实现过程通过利用Keil uVision实现程序的编写与程序的加载(烧录),采用C语言编写,调试完成之后,把代码烧进开发板。每次上电之后,按下“reset”键,系统开始自动测量数据,此时在地面端,通过串口3可以收到“OK”确认符号,在串口可以直接看出数据存储情况。软件编码模块的主要框架如下:图 0.2 毕业设计总体软件设计框架图 各个部分分别实现的功能如下:1. 启动STM32,运用Keil uVision官方网站自带的启动文件实现,实现单片机的启动功能与中断等基本功能2

18、 因为GPS模块输出的数据较多较杂,而且是以十六进制的形式呈现,通过GPS.C实现对所需信息的提取,对模块输出的数据进行数据处理,包括16进制转10进制,去掉无用信息,提取其中有用信息包括经度、纬度、高度、风速、日期等。3. 通过串口2实现对PM2.5(PM10)数据的输入、处理。把十六进制数转化为十进制,并且去掉帧头与帧尾,留下PM2.5的数值与PM10数值,同时,为了保证准确度,也读取出校验和,对其他无用的数据进行舍去。4. 获得数据之后,需要通过STM32的中断与停止等功能实现对数据的合理输入与处理,因为两组数据都是每20秒发十次,出于显示的方便,每20秒选择分别采十组数据,然后以接收

19、一组定位信息,之后接收一组PM2.5(PM10)的形式进行存储,为了便于后期处理,每读取10组数据之后,TXT文件空一行,一次读取。5. 采集完数据,通过数据处理软件(MATLAB或Excel)绘制表格与趋势变化曲线图,对比得出结论。1.4 整体工作介绍本次毕业设计的总体工作表示如下:图 0.3 整体工作介绍框架图第2章 系统硬件概述与设计完善的软硬件配合是系统能否正常工作的必要条件,硬件作为系统的必要的躯干或框架,是系统可以正常运行的基础。本部分分模块地对系统的硬件部分进行介绍,并且将各个部分有机的结合在一起,用以构建一个完整的空气检测系统。 2.1 四旋翼无人机搭载平台介绍随着各国政府对无

20、人机的管制逐步放松,无人机技术如雨后春笋般飞速发展,无论是国内还是国外,无人机技术都取得了长足的进步,并且得到较好的应有。当前无人机无论是在航拍、紧急情况侦探(地震,火山等)、环境监测等方面都逐步取得比较良好与广泛的应用。“四旋翼飞行器具备4个螺旋桨,四个螺旋桨呈十字形交叉结构分布。相对的螺旋桨具有相同的旋转方向,相反的螺旋桨旋转方向相反。” 吴东国,基于四旋翼飞行器平台的低空遥感技术在公路环境调查中的应用J,2012,12. 本文采用的无人机是“零度智控”捐赠给实验室的小型的无人机,除去本身自带的云台之外,可以额外搭载200g的物体,满足实验所需要求。无人机最高垂直速度为3m/s,最高水平速

21、度为8m/s,其飞行速度基本上可以满足本次实验要求。无人机自带电源,可以外接,单片机与几个传感器所需电压由无人机外接电源直接引出,通过降压模块可以得到所需电压。无人机实物图如下:图 0.1 四旋翼无人机实物图2.2 SDS011高精度激光传感器出于实验方便考虑以及由于实验室条件限制,本次实验只研究比较常见的PM2.5值与PM10的值。实验采用SDS011高精度空气质量传感器,该传感器采用激光散射原理,可以较为精确得测量出空气中0.310um的颗粒物,内置风扇,上电就直接可以输出16进制数据。经过在实验室的观测测量,对其测量精度进行评估,可以验证其稳定度与精确度都比较高。其实物图如下:图 0.2

22、 传感器实物图传感器加上5V电压之后,就会源源不断输出所测的PM2.5与PM10的值,以16进制形式呈现,每一行代表一组输出,通过串口小助手则可以直接查看其输出形式,其数据原始输出如下:图 0.3 空气传感器输出16进制数其串口速率为9600,串口上报通讯周期为1.5s,即是每一分钟可以收到40组数据。其数据定义如下:表 0.1 空气传感器输出位数意义列号12345678910意义报文头指令号PM2.5低字节PM2.5高字节PM10低字节PM10高字节保留位保留位校验和报文尾其中PM2.5值:(PM2.5 高字节*256)+PM 2.5低字节)/10其中PM10值:(PM10 高字节*256)

23、PM 10低字节)/10比如,上述给出的样例中,第二行的PM2.5值为:(0*256+55)/10=5.5;PM10的值为:(0*256+124)/10=12.4。2.3 ATK-NEO-6M-V23定位模块ATK-NEO-6M-V2.3是一款高性能GPS定位模块,采用U-BLOX NEO-6M模组。该模块使用方便,模块支持多种波特率传输,在使用之前,可以通过串口设置各种参数,并且可以把各类参数保存在EEPROM中,模块自带充电电池,支持冷启动与热启动两种各种模式。其实物图如下:图 0.4 定位模块实物图其基本特性如下:图 0.5 ATK-NEO-6M-V23基本特性其电器特性为:图 0.6

24、 ATK-NEO-6M-V23电器特性该模块具备串口输出,加上3.3V或5V的电压之后,即可以通过串口进行数据读取,其格式如下:图 0.7 ATK-NEO-6M-V23原始数据输出 由上图可以知,输出的数据是一组星历值,其中的很多数据对本次课题无用,甚至对本次实验而已是冗杂的。为了实验研究方便,需要把需要的数据比如:时间、日期、经纬度、高度、风速等信息提取出来,把不需要的数据直接舍去,供本次实验使用。2.4 开发板为了实验研究方便,本次实验采用正点原子STM32F103RCT6开发板核心板。该开发板功能较强大,应用较广,常见的单片机开发功能都具备。其中,本次实验需要的主要功能为:外接电源,数据

25、提取,16进制转换为10进制,基本的中断与停止,数据存储等,该开发板都可以比较好的满足。2.4.1 开发板简介开发板重约50g,面积较小,满足本次实验中无人机搭载物体重量与面积的需求。单片机的整体实物图与管脚定义图如下:图 0.8 开发板实物图与管脚定义本次课题主要应用的模块部分有三个串口,串口1(PA10)用于PM2.5(PM10)的数据输入,串口2(PC11)用于定位信息输入,串口3(PC10)用于直接实时的在PC端查看数据的采集情况。单片机的给电,通过5V电源输出/输入进程给电。金士顿64G的存储卡固定在SD卡接口,即可以进行数据存储。2.4.2 单片机给电模块本课题设计的系统需要给电的

26、部分包括STM32单片机部分,SDS011高精度激光传感器,ATK-NEO-6M-V23定位模块三部分。无人机给出的是12.4V的输出电压,为了实现实验的要求,选择采用降压模块,考虑到实验方便与实验的功率要求,实验采用Mini-360航模降压电源模块进行,该模块参数如下:图 0.9 降压模块技术参数该降压模块的正反面实物图如下:图 0.10 降压模块技术参数通过降压模块之后,得到5V的输出电压,把5V的稳定电压给到单片机的5V电源输出/输入接口,即实现对单片机的供电。同时,从单片机的3.3V电源输出/输入口接出电源,给定位模块供电,从5V电源输出/输入口接出电源,把5V电压加到SDS011高精

27、度激光传感器,即实现本次课题的供电情况。2.4.3 数据存储模块考虑到实验采集数据的量的需要,本次实验采用金士顿64G的micro SD卡作为存储器,其实物图如下:图 0.11 存储卡实物图本模块比较简单,当需要的实验的时候,直接把卡插到单片机的SD卡槽即可,当需要读取数据的时候,用手机或打卡器对数据进行直接读取即可。 第3章 系统软件概述与设计如果硬件是系统的躯干或者是主体构架,软件则是系统的血与肉,只有硬件的系统显然是不完善的,只有配备较完善的软件方能较为完善的工作。因此,软件部分是本系统的核心的部分,只有完善的软件,才能保证本次课题的最终完成。本课题的软件部分采用最常见的C语言作为编程语

28、言,应用Keil uVision n 5作为编程软件,主要涉及串口通信,中断与停止,数据存储等功能。3.1 系统环境与软件开发工具本次毕业设计课题系统选用ST(意式半导体)公司生产的STM32F103RCT6核心芯片作为核心微处理器,该微处理器具有较大的优势与便利,核心芯片的处理器选用当前主流的CortexM3作为内核,同时,CortexM3采用目前最为主流的ARM V7M构架。采用的主要开发工具为Realview MDK,其功能强大,包括uVision IDE,ARM编译器,中间库,调试跟踪支持,ARM处理器支持,操作系统等,一般而言,该系统支持C语言,汇编语言等,可以满足大部分用户的工程需

29、要。系统支持多种程序下载方式,串口下载、Ulink下载、J-link下载等,考虑到方便等因素,本次实验通过J-link下载,通过J-link线连接PC机与单片机即可,一次下载之后,程序不会消失,之后只要上电就可以直接运行,给实验与课题的研究都带来一定的方便。3.1.1 Realview MDK介绍“Realview MDK是ARM公司目前推出的最新的针对各种嵌入式处理器的一种实用性很强的软件开发工具,ARM公司的前身是德国的一家软件开发公司。MDK主要由uVision IDE,ARM编译器,中间库,调试跟踪支持等部分组成。”本课题采用最新的Uvision 5作为开发工具,最新的开发工具具有很多

30、优点,延续其前身的各种优点,同时也额外增加很多额外的功能。其中,Cortex芯片结构如下:图 0.1 CortexM3芯片结构基于CortexM3有一套标准,一般命名为CMSIS(Cortex Microcontroller Software Interface Standard),其应用程序的一般结构如下:图 0.2 CMSIS程序基本结构使用MDK开发的一般流程如下:1、 新建工程(项目)2、 编写目标文件,当前一般采用较为流行的C语言或较为基础的汇编语言3、 编译程序4、 若有问题,对问题修改5、 链接设备,下载程序,运行一般软件开发的流程如下:图 0.3 Uvision 开发一般流程图

31、3.1.2 JLink仿真调试为了支持ARM仿真,并且使其拥有通用的仿真器,SEGGER公司推出了一款名为Jlink的通用仿真器,该仿真器支持所有ARM内核芯片的仿真,通过专有接口与IAR EWAR,ADS,KEIL, RealView等连接,支持ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4等内核芯片的仿真,操作简便,易学易懂,是ARM芯片开发最实用的开发工具。其主要特性如下:图 0.4 Jlink功能特性本次实验采用20管脚的Jlink连接器,采用USB口直接供电,也即是采用5V供电,通过USB转接实现PC机与的Jlink的通信、调试、控制等工作,当用作Jlink时,

32、其管脚定义如下所示:图 0.5 Jlink管脚功能图3.2 串口对数据的输入与查看本次课题,数据的输入主要采用的是单片机的两个串口。其中,为了地面端验证系统与程序的正确性,增加了在地面端通过串口查看数据的功能,该功能实现在地面端直接通过串口3查看的功能,当系统的SD卡连接成功并且初始化成功,数据的输入都正确实现的情况下,可以在串口每隔20s收到一组数据。若要在地面端通过PC机实时查看结果,则也可以通过串口直接进行查看,其中的串口定义如下:表 0.1 系统串口对应功能图串口代码123对应端口号PA10PC11PC10功能实现PM2.4(PM10)数据输入端口GPS定位信息输入端口地面端通过PC机

33、查看系统运行情况3.2.1 数据输入串口数据的输入主要是借助单片机的两个串口实现,其中串口1用于对PM2.5(PM10)进行输入,接收到的信息主要是以1.5s为周期的16进制字符串,我们需要对其进行处理。串口2主要接收的是GPS定位信息,显然,收到的也是一些16进制呈现的字符串,我们需要做的后续工作是对其进行解析与提取,并且把一些不需要的数据进行合理的取舍。在该过程中,因为涉及到两个串口的输入,则会有时序问题。本次实验考虑到数据读取与显示方便,时序逻辑如下:图 0.6 接收串口时序图具体到代码实现过程中,用两个时间来计数,TM1,作为每次轮换的时间,其阈值为1.5S,当低于1.5的时候,则继续

34、读取,否则转换为另外一组数据的读取。为了使读取数据可读性更好,定义TM2,TM2作为是否空行的时间点,其阈值为20s,若从开始到当前时间小于TM2,则选择一直读下去,否则空行,进行下一组测量。考虑到无人机上天之后,无法进行控制,本次课题中也就没有增设其他的控制信号。以上的部分的关键代码如下:图 0.7 接收串口关键代码3.2.2数据查看串口 为了在无人机起飞之前对系统的正确性与准确性有一个比较直观的认识与保证,在地面对通过串口3直接查看数据存储情况,其查看的原理为:当地面端的加电,并且初始化成功,所谓初始化成功指的是,两个传感器可以正确的获取数据,并且SD卡初始化没有问题,当按下单片机的“re

35、set”键之后,在串口3看到返回一个“OK”的提示符,提示系统初始化成功,并且准备下一期的数据读取与存储。其关键部分代码为:图 0.8 查看串口关键代码3.3 系统环境与软件开发工具3.3.1 软件设计程序设计整体构架空气监测系统的主要工作是完成对空气中的PM2.5与PM10的数据的获取与采集,并且实时的获得当地的定位信息,包括经纬度、高度、当地风速、时间等。获得数据之后,把数据传给单片机的串口,通过编程实现对数据提取,并且对所采数据进行十六进制转化,通过FATS文件格式进程存储,其总体构架如下:图 0.9 程序设计总体框架 3.3.2 系统模块初始化系统模块初始化作为实验的根本条件,完善的并

36、且正确的初始化,才能保证系统准确的运行。该系统因为应用STM32F103RCT6,如果涉及用PC机观测数据的则需要三个串口,不需要直接观测则需要应用两个串口,STM32系列核心芯片有5个串口,则系统在开始运行的时候的首要工作就是对串口数据进行初始化,如果系统初始化成功,那么久可以直接通过串口空气质量数据与GPS定位信息进行数据传输。再者,因为涉及到上电与下电问题,当系统初始话,发现SD卡没有数据的时候,会重新自动创建一个data.txt,并且把所读取数据依次保存下来,当然,当遇到突发情况,中途意外断电有上电的时候,则可以直接把数据存储到SD里。3.3.3 对空气传感器数据处理加电之后,空气传感

37、器输出的数据是一组10位的16进制数,然而本次实验并不都需要,我们可以应该考虑用10进制的进行表示,这些部分我们都通过编程实现。采用一个数组pm25buf10用于保存PM2.5(PM10)值,并且通过截断,保留其中的五组值,五组值分别为PM2.5的高字节与低字节,PM10的高字节与低字节,以及其中的校验和。直接通过printf(%s,p),把数据转换为10进制并且保存,其主要代码如下:图 0.10 程序设计总体框架3.3.4 对GPS定位信息进行处理由前面的介绍可以知道,GPS输出的数据是一组很不完善的以16进制显示的数据,本次实验只需要经纬度,高度,地面风速等,故在实际的过程中,需要设计适当

38、的程序对数据进行适当去提取。该算法参考战舰给的例程进行,主要的代码如下:图 0.11 定位信息获取关键代码图 0.12 单个卫星信息图图 0.13 卫星精度分析部分这样最后输出的输出结果就是理想的需要的结果,亦即是最终获取的是经纬度,海拔,地面速度,时间。3.3.5 存储部分代码实现获取数据之后,剩下的重点工作是如何实现对数据的存储,本次课题采用的是基于FATFS的文档存储。其中FATFS是一个完全开源的基于C语言编写的FAT文件系统,对大部分的单片机开发系统都具有较强的实用性,具有良好的硬件平台独立性与可移植性,对51系列单片机,ARM系列单片机等都有很强的适用性与较好的精确度。本次实验,在

39、参照战舰提供的实验基础上进行。以下为主要存储部分的代码名称与其实现的主要功能:图 0.14 FATFS 代码功能对应图其中主要的关键代码如下:图 0.15 FATFS 关键代码第4章 系统实现过程对整体系统而言,涉及到对元器件的拆卸与装载,以及把系统部件安装到无人机进行数据采集,不适合用PCB板子把所有器件都焊接到固定在一起,出于方便与重量限制的考虑,用较轻的转接板搭载所需的元器件。同时,为了验证器件的正确性,在进行测量之前,对传感器与定位模块都进行校准。在所有系统搭建完成之后,为了验证可行性,先在地面端进行数据采集,并且得出一定的结论,之后在把平台搭建到无人机进行空中采集数据。总体实物图为:

40、图 0.1 系统整体实物图4.1 空气传感器数据实现当前市面上的空气传感器较多,一般也空气动力学直径作为衡量标准,出于实验方便与实验精确度的考虑,本次实验选择以光学散射原理的传感器。为了准确的验证其精确度,在拿到传感器之后,选择在实验室首先对传感器的精确度进行验证,如果误差范围较大,则不予采用;若误差在可以忍受的范围内,则对其精度进行校准,直到获得较为客观与准确的测量精度为止。拿到传感器,在实验室营造一个环境,在适当改变传感器周围的空气状况的情况下,通过串口获取每时每刻的测量值,并且与当时所给的官方的PM值进行对比,得出结论。可以得出如下的走势图:图 0.2 改变室内环境所得的PM曲线图在上述

41、曲线图中,系列1代表PM2.5值,系列2代表PM10值,与当时(2016/4/18/10)北京市天气预报中心所给数据基本一致。通过多次实验数据的采集,以及最后的仿真数据的查看,我们可以知道,该传感器基本上满足本次课题的需求,无论从其实验精度,实验数据的可读性,实验数据的发送的频率等方面都比较符合要求。故,最终选择SDS011吃传感器作为最终的数据收集模块。4.2 GPS定位模块数据实现该GPS模块为战舰开发板的一个小模块,精确度很高,同时也与所买的单片机可以完美的结合,获取数据简单,在室内通过外接天线就可以实现定位,在室外测量直接上电,当指示灯指示正确工作之后,就可以读取数据。以下是单片机与G

42、PS定位模块一般的连接示意图:图 0.3 单片机与定位模块的典型连接示意图为了评估测量精度与保证课题的准确性,在选定该定位模块之前,采用软件u-center对模块进行测量。数据的接入主要采用实验所给的串口调试助手进行,可以看出打开的u-center效果如下:图 0.4 u-center测量GPS定位模块的输出界面效果4.2.1 海拔精确度测量为了验证测量的可靠性,首先在实验室进行测量,因为实验在9楼,可以北京市的平均海拔大概在43.5m,可以算出实验室的高度大概为(43+3*9)=(70)m左右,在实验室采集数据十分钟,对数据进行描图如下:图 0.5 实验室测量海拔对时间变化曲线图由上图可知,

43、模块在初始化的时候,其误差比较大,当随着模块逐渐稳定之后,其总体海拔大概在70m左右细微飘动,与预期相符。当然,上图只是当模块的地理位置没有发生变化时的曲线图,本次实验是在动态情况下进行,为了验证该要求,用自行车载着模块在校园测量了一圈,得出曲线图如下:图 0.6 校园海拔监测数据变化趋势图由上图可以看出,在校园用自行车采集的半小时的数据,虽然过程中也出现一些误差较大的数据,整体大致在45m左右,符合实际情况,而且也没有急剧变化这些恶性数据,去掉一些特殊点之后,发现模块的海拔测量无论在动态还是在静态测量都是比较精确的,满足课题要求。4.2.2 地面风速测量我们知道,PM2.5(PM10)值与观

44、测点的风速或者观测点本身的运动速度有关,为了更客观的研究,我们需要研究无人机的飞行过程甚至是悬停过程中观测点的实时速度。该GPS模块刚好自带速度测量仪,在采用其数据之前,需要对其精度进行评估,我们可以用骑车在校园里,或者是把模块本身搭载到无人机上,通过改变自行车车速或者无人机的飞行速度,以取代比较客观数据,如果在采集到的数据与实际情况比较接近,则模块的评估可靠,该模块的速度数据也可以直接采用。以下是2016/5/11日在校园采集的数据:图 0.7 校园速度监测数据变化趋势图由上图可以看出,因为是在校园骑车,一开始上路的时候,速度较慢,中途遇到行人,遇到其他的货车等原因,可以看出:前进速度大致为

45、5km/h=5/3.6m/s=1.38m/s,与实际情况比较符合。同时,由上图可以看出,在逐渐改变速度的过程中,速度的读取值的变化范围较小,是可以接受的,故本次实验可以采用本模块进行。4.2.3经纬度测量课题的最初目的是想测量在不同的区域,通过改变不同的经纬度进行测量,比如在清华校园内改变不同的地点,把中央主楼与五道口测得的数据进行对比,得出结论。可惜的是,北京市六环以内是禁飞区,所给无人机并不能实现起飞的目的,故选择在北京市郊区进行测量,测得点1:昌平区的居民区,南邵镇(北纬N401227.23 东经E1161633.36),测量点2:西山农场(北纬N400630.18 东经E1160554

46、08),测量点3:定福庄乡(北纬N39369.45 东经E1161630.56),测量点4:甘棠镇(北纬N395114.89 东经E1164853.14)。分别在四个测量点,分别改变其经纬度,在不同的天气情况下,进行测量,得出结论,并且绘制表格。在本次实验中,因为GPS模块本身自带经纬度测量,我们可以看出,分别在四个点甚至是更多的点读取数据,与当前主流的APP给出的经纬度是吻合的,故我们可以采用其经纬度的数据直接进行数据测量。4.3 PM2.5(PM10)值变化情况研究通过上面的分析可以获知,最终存储在SD卡的数据主要以10进制形式呈现,每20s读取一次数据,读取一次GPS定位信息,之后读取一次PM2.5值与PM10值,依次进行,其形式如下:图 0.8 SD卡数据存储形式同时,为了便于观察,我们可以通过串口3在地面端对数据进行读取,其形式如下:图 0.9 串口3数据读取形式4.3.1 PM2.5(PM10)值随海拔变化情况研究我们知道,在海拔比较低的情况下,随着海拔(高度)的变化,PM2.5(PM10)会随着高度的增加而减少。在本次课题中,考虑到不同天气情况下,PM2.5(PM10)的值会有差异,可能会使其变化曲线图也不准确,故在两个不同的天气分别在不同的区域进行测量。选择在201

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 论文 > 毕业论文

宁ICP备18001539号-1